إدارة السجلات السريرية بكفاءة باستخدام IRIS for Health.
// إدارة السجلات السريرية
Class Hospital.Health.ClinicalRecords
{
ClassMethod AddObservation(patientId As %String, code As %String, value As %Numeric, unit As %String)
{
Set obs = ##class(Hospital.Models.Observation).%New()
Set obs.PatientId = patientId
Set obs.Code = code
Set obs.Value = value
Set obs.Unit = unit
Set obs.RecordedAt = $HOROLOG
Do obs.%Save()
}
ClassMethod GetPatientSummary(patientId As %String)
{
Write "ملخص المريض: ", patientId, !
// آخر الملاحظات
&sql(SELECT TOP 5 Code, Value, Unit, RecordedAt INTO :code, :val, :unit, :date
FROM Hospital.Models.Observation
WHERE PatientId = :patientId
ORDER BY RecordedAt DESC)
While SQLCODE = 0 {
Write code, ": ", val, " ", unit, " (", $ZDATE(date), ")", !
&sql(FETCH)
}
// التشخيصات النشطة
&sql(SELECT ICDCode, Description INTO :icd, :desc
FROM Hospital.Models.Diagnosis
WHERE PatientId = :patientId AND Status = 'نشطة')
While SQLCODE = 0 {
Write "تشخيص: ", icd, " - ", desc, !
&sql(FETCH)
}
}
}