【问题标题】:HL7 ADT Message parsing: date rangesHL7 ADT 消息解析:日期范围
【发布时间】:2023-03-30 16:19:01
【问题描述】:

注意:

这个问题不是询问使用哪个库的建议;我自己动手。


我正在阅读 HL7 v2.5.1 规范,以便为 iOS 和 Windows 制作解析引擎。

我的问题与 Patient Name 字段 (PID-5) 中的 Name Validity Range 组件有关。但我认为它通常适用于所有 DR(日期范围)组件。

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

组件:{...省略...} ^ ^ {...省略...}

名称有效性范围 (DR) 的子组件: &

范围开始日期/时间 (TS) 的子组件: &

范围结束日期/时间 (TS) 的子组件: &

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

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

当然,这里的问题是,将子组件嵌入到子组件中会让您不确定如何解析数据以及哪些数据去往何处。

我确实查看了 第 2 章:控制,附录 A,并在第 160 页找到了以下文字:

注意:当嵌入到另一种数据类型中时,DR 不能合法地表达。它的使用仅限于段字段。

因此,为 PID-5 列出的标准似乎无效。我没有看到来自我的系统的任何消息甚至生成此信息,因此对于我的特定情况可能是一个有争议的问题,但我不喜欢开发具有已知漏洞的解决方案。有没有人在“野外”遇到过这种情况?

【问题讨论】:

    标签: parsing hl7 hl7-v2


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答。听起来你告诉了我我已经怀疑的事情。那么,HL7 v2.5.1 规范对于 PID/5 字段似乎是错误的?
    • 由于子组件不能再有子组件,所以这可能是对数据类型DR的定义描述的一些复制,没有进一步思考
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-29
      • 1970-01-01
      • 1970-01-01
      • 2017-10-10
      • 2012-09-04
      相关资源
      最近更新 更多