[英]Does the order of segments in HL7 V2 matter?
我知道字段和組件的順序很重要,但是HL7消息中段的順序又如何呢? 他們顯然都必須在開始時使用MSH,但是HL7指南中是否有任何內容明確指出hl7細分必須按特定順序排列。 當然,文檔在描述消息類型時按特定順序列出了各段,但不僅僅是記錄下來的順序嗎? 您是否需要按照相同的順序發送郵件(除了分組的郵件以外)? 我本以為,如果訂單是由消息中的訂單設置的,則PID-1將是無關緊要的。
我很想聽聽任何意見,但是我特別希望聽到可以引用一些指定此內容的文檔的人的意見。
是的,這很重要-
有一個特定的要求,即所需的段必須在兩個相同的段之間。
從2.5.1版第2章開始:
在抽象消息語法中,命名段X可能會出現多次。 這不同於本節前面所述的重復。
發生這種情況時,必須遵守以下規則:如果在抽象消息語法中,命名的段X出現在兩個單獨的位置或組中,並且a)外觀是可選的或在單個位置中重復; b)或者,外觀是可選的還是重復的,則在一個組位置中,段X的出現必須用至少一個不同名稱的必需段分開,以使在任何位置的單個或組位置不存在歧義在消息實例中出現段X。
一個真實的例子是ADT ^ A02中的ROL段,一個跟隨PD1,一個跟隨PV2,但是在兩者之間需要PV1。
如果您正在編寫某種解析器,那么我會警惕任何真正遵守此規則的人。
絕對。 段的順序在HL7標准中定義。
例如(我使用的是2.4國際版本)第4.4.1 ORM ‑ general order message (event O01)
節4.4.1 ORM ‑ general order message (event O01)
有關訂單輸入的4.4.1 ORM ‑ general order message (event O01)
將以下內容顯示為ORM訂單消息的結構(格式不理想)
ORM^O01^ORM_O01
MSH
[{NTE}]
[
PID
[PD1]
[{NTE}]
[
PV1
[PV2]]
[{IN1
[IN2]
[IN3]
}]
[GT1]
[{AL1}]
]
{
ORC
[
<OBR|RQD|RQ1| RXO|ODS|ODT>
[{NTE}]
[CTD]
[{DG1}]
[{
OBX
[{NTE}]
}]
]
[{FT1}]
[{CTI}]
[BLG]
}
方括號表示可能的重復,而大括號表示各段是可選的(例如,在MSH之后,您可能有0、1或n個NTE段。)
為了成為有效的ORM消息,OBR段應位於ORC段之后,而ORC段本身應位於PID等之后。因此,例如,不允許在OID段之前發送PID段(請參見層結構,觀察請求屬於“訂購共通”部分,該部分本身與特定於患者的患者就診相關。)
您提到的PID-1字段不是一個很好的例子,因為大多數消息將只有一個PID段,因此PID-1為1
。 (我不知道消息包含多個PID段,如果有人知道HL7規范的具體示例,請添加到注釋中)。 但是,如果您查看例如OBR-1,則同一Order消息中可能有多個Observvation Request,例如Kalium和Natrium的訂單,因此OBR-1中將發送一個序列號以確保來自不同的訂單沒有混淆,例如:
ORC|...
OBR|1|12345||KA^Kalium|...
OBR|2|12346||NA^Natrium|...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.