单个 HL7 文件可以包含多条消息还是仅包含一条消息?

问题描述 投票:0回答:3

我正在尝试读取和解析 HL7 消息,并对它们如何物理存储在文件中有疑问。

一个文件可以包含多个 HL7 消息还是一个文件仅包含单个消息?

hl7
3个回答
1
投票

HL7 消息文件的扩展名大多为 *.hl7。

FHS(文件头)、FTS(文件尾部)和 BHS(批处理头)、BTS(批处理尾部)段,可将多个 HL7 消息封装在一个消息文件中。

我建议在 Google 中搜索“hl7 fhs bhs”。

来自 HL7eu 2.3.6 HL7 批量协议

[FHS] (file header segment)
  { [BHS] (batch header segment)
   { MSH (one or more HL7 messages)
     ....
     ....
     ....
    }
   [BTS] (batch trailer segment)
  }
  [FTS] (file trailer segment)

0
投票

HL7协议中没有“文件”这样的概念。

  • 选择是将消息存储在文件中还是将其保存在数据库或其他地方。
  • 如果需要,您创建一个文件。
  • 选择其扩展名为“.hl7”或“.txt”或其他。
  • 选择文件中是单条消息还是多条消息。

在套接字上传输时,HL7 消息需要包含在 MLLP 块中。您可以在此处此处了解更多信息。当然,在这里,将 each 消息单独包含在 MLLP 块中很重要。

请注意,即使您将消息存储在文件中,也没有“文件头”。所以,总结一下——“这取决于你”。


我不知道 HL7 中的

FHS
(文件头)和
BHS
(批处理头)功能 (2.3.6 HL7 批处理协议)。我从@sqlab关于这个问题的其他答案中学到了它。
是的;这是批量消息的功能。
但我仍然不认为
FHS
BHS
是“文件头”,就像我们拥有 JPEG 或许多其他文件类型的头一样,我们可以在其中读取头并验证文件类型。
如果消息文件中没有
FHS
段,我们不能说它不是HL7消息。
但不确定,一个文件中可能有多个“批次”。
IMO,这更像是“批处理消息”而不是“文件头”。

关于扩展名“.hl7”;是的,许多组织通常将此扩展名用于 HL7 文件。
但这不是标准或强制性或强制的(规范中未提及)。
仅将扩展名设置为“.txt”并不会使HL7文件无效;虽然某些第三方应用程序可能无法使用它,但这是不同的问题。


0
投票

以下是包含多条消息的单个 HL7 文件的示例:

MSH|^~\&|SendingApp|SendingFacility|ReceivingApp|ReceivingFacility|20220206114016||ADT^A08|987654321|P|2.3||||||
PID|1||123456789|^^^MY_HOSPITAL_A^MR||Doe^John^^^Mr.||19700101|M|||123 Some Street^Somewhere^IL^60606^USA||(312)555-1212|||M|NON|400003403~112233444
PV1|1|I|^^^MY_HOSPITAL_A^23^^^Consulting|^^^Dept of Something^23^^^Consulting|^^^^^^^^^^ConsultCode|||SUR|||||||ConsultServiceCode||99999999|OP
OBX|1|NM|GLU^Glucose Lvl|85|mg/dL|70-100|N|||F
NTE|1||Additional Information|||
MSH|^~\&|SendingApp|SendingFacility|ReceivingApp|ReceivingFacility|20220206114016||ADT^A08|987654322|P|2.3||||||
PID|1||987654321||Doe^Jane^^^Mrs.||19750101|F|||123 Some Other Street^Somewhere^IL^60606^USA||(312)555-1212|||M|NON|400003403~112233445
PV1|1|I|^^^MY_HOSPITAL_A^23^^^Consulting|^^^Dept of Something^23^^^Consulting|^^^^^^^^^^ConsultCode|||SUR|||||||ConsultServiceCode||99999999|OP
OBX|1|NM|GLU^Glucose Lvl|90|mg/dL|70-100|N|||F
NTE|1||Additional Information|||

在此示例中,有两条 HL7 消息,由 MSH|^~& 段分隔。每条消息均以 MSH(消息头)段开始,并以适当的段终止符结束。

处理 HL7 文件时,单独解析每条消息非常重要,并考虑段终止符以将一条消息与另一条消息分开。许多 HL7 解析库和工具都内置支持处理单个 HL7 文件中的多个消息。

© www.soinside.com 2019 - 2024. All rights reserved.