HL7 ADT消息解析:日期范围

时间:2018-06-26 16:18:35

标签: parsing hl7 hl7-v2

注意:

不是这个问题,询问有关使用哪个库的建议;我自己滚了。


我正在阅读HL7 v2.5.1规范,以便为iOS和Windows创建一个解析引擎。

我的问题与患者姓名字段(PID-5)中的名称有效范围组件有关。但我认为它通常适用于所有 DR (日期范围)组件。

第3章:患者管理,在第75页中,列出了以下信息:

  

组件:{...省略...} ^ <名称有效范围(DR)> ^   {...省略...}

     

名称有效范围(DR)的子组件:       <范围开始日期/时间(TS)>和<范围结束日期/时间(TS)>

     

范围开始日期/时间(TS)的子组件:       <时间(DTM)>和<精度(ID)>

     

范围结束日期/时间(TS)的子组件:       <时间(DTM)>和<精度(ID)>

我了解字段,组件和子组件的结构以及分隔符的使用方式……或者至少我认为是这样。但是,以上信息使我对如何表达数据感到困惑。我已经搜索过,但找不到适合此类数据的消息示例。根据我对HL7数据结构的了解,以下是如何对数据进行编码:

PID|||01234||JONES^SUSIE^Q^^^^^^^199505011201&M&199505011201&M^199505011201&M&199505011201&M

当然,这里的问题是,将子组件嵌入子组件中会使您不确定如何解析数据以及什么数据将流向何处。

我确实查看了第2章:控制,附录A ,并在第160页上找到了此文本:

  

注意:将DR嵌入到另一数据类型中时,不能合法表示DR。它的使用仅限于细分字段。

因此,看来 PID-5 列出的标准无效。我还没有从系统中看到任何消息甚至可以生成此信息,因此这可能是我的特殊情况的争论点,但是我不喜欢开发具有已知漏洞的解决方案。有人在野外遇到过这种情况吗?

2 个答案:

答案 0 :(得分:2)

具有 DR 数据类型的项目可以细分,并且如果该项目的类型为字段,则该项目具有精度子组件。 ARQ / 11请求的开始日期/时间范围

如果具有DR数据类型的项目已经是其他数据类型的一部分(例如您的示例 PID / 5 ),则可以将其细分为数据范围子组件的开始和结束,而不是精度子组件。< / p>

答案 1 :(得分:0)

患者名称是XPN数据类型,它是一种复合数据类型。这基本上意味着它可以具有Primary(例如ST)和其他Composites as shown here

的组合

现在,您正在查看XPN.10,它是DR数据类型的第10个组件,DR再次是2个主要DTM-start and end-或2个子组件的组合。子组件由&分隔。