01 مقدمة في HL7
HL7 (Health Level Seven) هو المعيار الأكثر استخداماً لتبادل المعلومات الصحية. يدعم IRIS HL7v2 و HL7v3 و FHIR.
هيكل رسالة HL7v2
تتكون رسالة HL7v2 من.segments (أجزاء)، كل segment يبدأ بـ 3 أحرف مميزة:
// MSH - Message Header
// PID - Patient Identification
// PV1 - Patient Visit
// OBR - Observation Request
// OBX - Observation Result
// مثال: رسالة ADT^A01 (Admission)
Set msg = "MSH|^~\&|MyApp|Hospital|HIS|Receiver|20260626||ADT^A01|MSG001|P|2.5"
Set msg = msg _ "|PID||12345||محمد^أحمد||19900115|M|||الرياض^^|||966|||"
Set msg = msg _ "|PV1||I|ICU^01^01||||||||||||||||||||||||||||||||||||||||||"
قراءة رسالة HL7 في IRIS
ClassMethod ParseHL7(msgString As %String) {
Set hl7 = ##class(EnsLib.HL7.Message).%New()
Do hl7.ImportFromString(msgString)
Write "نوع الرسالة: ", hl7.GetValueAt("MSH:9.1"), !
Write "اسم المريض: ", hl7.GetValueAt("PID:5.1"), !
Write "رقم المريض: ", hl7.GetValueAt("PID:3.1"), !
Write "تاريخ الميلاد: ", hl7.GetValueAt("PID:7"), !
Write "الجنس: ", hl7.GetValueAt("PID:8"), !
Return hl7
}