Table of Contents

Class ClinicalDocumentService

Namespace
Core.CliniCore.Service
Assembly
Core.CliniCore.dll

Service for managing clinical documents in the system. Provides document storage, retrieval, and search operations. Delegates persistence to IClinicalDocumentRepository.

public class ClinicalDocumentService
Inheritance
ClinicalDocumentService
Inherited Members

Constructors

ClinicalDocumentService(IClinicalDocumentRepository)

Service for managing clinical documents in the system. Provides document storage, retrieval, and search operations. Delegates persistence to IClinicalDocumentRepository.

public ClinicalDocumentService(IClinicalDocumentRepository repository)

Parameters

repository IClinicalDocumentRepository

Methods

AddAssessment(Guid, AssessmentEntry)

Adds an assessment entry to a document and persists it

public void AddAssessment(Guid documentId, AssessmentEntry entry)

Parameters

documentId Guid
entry AssessmentEntry

AddDiagnosis(Guid, DiagnosisEntry)

Adds a diagnosis entry to a document and persists it

public void AddDiagnosis(Guid documentId, DiagnosisEntry entry)

Parameters

documentId Guid
entry DiagnosisEntry

AddDocument(ClinicalDocument)

Adds a document to the repository

public bool AddDocument(ClinicalDocument document)

Parameters

document ClinicalDocument

Returns

bool

AddObservation(Guid, ObservationEntry)

Adds an observation entry to a document and persists it

public void AddObservation(Guid documentId, ObservationEntry entry)

Parameters

documentId Guid
entry ObservationEntry

AddPlan(Guid, PlanEntry)

Adds a plan entry to a document and persists it

public void AddPlan(Guid documentId, PlanEntry entry)

Parameters

documentId Guid
entry PlanEntry

AddPrescription(Guid, PrescriptionEntry)

Adds a prescription entry to a document and persists it

public void AddPrescription(Guid documentId, PrescriptionEntry entry)

Parameters

documentId Guid
entry PrescriptionEntry

AppointmentHasDocument(Guid)

Checks if an appointment already has a document

public bool AppointmentHasDocument(Guid appointmentId)

Parameters

appointmentId Guid

Returns

bool

DocumentExists(Guid)

Checks if a document exists

public bool DocumentExists(Guid documentId)

Parameters

documentId Guid

Returns

bool

GetAllDocuments()

Gets all clinical documents in the system

public IEnumerable<ClinicalDocument> GetAllDocuments()

Returns

IEnumerable<ClinicalDocument>

GetDocumentByAppointment(Guid)

Gets a document by appointment ID

public ClinicalDocument? GetDocumentByAppointment(Guid appointmentId)

Parameters

appointmentId Guid

Returns

ClinicalDocument

GetDocumentById(Guid)

Gets a document by ID

public ClinicalDocument? GetDocumentById(Guid documentId)

Parameters

documentId Guid

Returns

ClinicalDocument

GetDocumentsInDateRange(DateTime, DateTime, Guid?, Guid?)

Gets documents within a date range

public IEnumerable<ClinicalDocument> GetDocumentsInDateRange(DateTime startDate, DateTime endDate, Guid? patientId = null, Guid? physicianId = null)

Parameters

startDate DateTime
endDate DateTime
patientId Guid?
physicianId Guid?

Returns

IEnumerable<ClinicalDocument>

GetIncompleteDocuments(Guid?)

Gets all incomplete documents (not completed)

public IEnumerable<ClinicalDocument> GetIncompleteDocuments(Guid? physicianId = null)

Parameters

physicianId Guid?

Returns

IEnumerable<ClinicalDocument>

GetMostRecentPatientDocument(Guid)

Gets the most recent document for a patient

public ClinicalDocument? GetMostRecentPatientDocument(Guid patientId)

Parameters

patientId Guid

Returns

ClinicalDocument

GetPatientDocuments(Guid)

Gets all documents for a patient

public IEnumerable<ClinicalDocument> GetPatientDocuments(Guid patientId)

Parameters

patientId Guid

Returns

IEnumerable<ClinicalDocument>

GetPhysicianDocuments(Guid)

Gets all documents created by a physician

public IEnumerable<ClinicalDocument> GetPhysicianDocuments(Guid physicianId)

Parameters

physicianId Guid

Returns

IEnumerable<ClinicalDocument>

GetStatistics()

Gets statistics about clinical documents

public ClinicalDocumentStatistics GetStatistics()

Returns

ClinicalDocumentStatistics

RemoveDocument(Guid)

Removes a document from the repository

public bool RemoveDocument(Guid documentId)

Parameters

documentId Guid

Returns

bool

SearchByDiagnosis(string)

Searches documents by diagnosis

public IEnumerable<ClinicalDocument> SearchByDiagnosis(string diagnosisText)

Parameters

diagnosisText string

Returns

IEnumerable<ClinicalDocument>

SearchByMedication(string)

Searches documents by prescription/medication

public IEnumerable<ClinicalDocument> SearchByMedication(string medicationName)

Parameters

medicationName string

Returns

IEnumerable<ClinicalDocument>

UpdateDocument(ClinicalDocument)

Updates a document in the repository

public void UpdateDocument(ClinicalDocument document)

Parameters

document ClinicalDocument