【问题标题】:HL7 parser to parse v2.7 messages in javaHL7 解析器在 java 中解析 v2.7 消息
【发布时间】:2014-04-04 09:45:22
【问题描述】:

我正在寻找可以解析 v2.7 消息的 HL7 解析器。我已经尝试过 Hapi,但它只支持 v2.6。

在解析 v2.7 消息方面,任何人都可以提供任何建议吗?

【问题讨论】:

    标签: hl7 hl7-v2


    【解决方案1】:

    除了允许未知版本(如 nradov 指出的那样)之外,您还需要注入正确的模型类工厂,例如GenericModelClassFactory,进入解析器,否则您可能会遇到异常:

    ca.uhn.hl7v2.HL7Exception: No map found for version null. Only the following are available: [V22, V25, V21, V23, V24]
    

    所以完整的解决方案是

    1. 使用 GenericModelClassFactory
    2. 允许未知版本

    它看起来像这样:

    final ModelClassFactory modelClassFactory = new GenericModelClassFactory();
    final PipeParser parser = new PipeParser(modelClassFactory);
    parser.getParserConfiguration()
          .setAllowUnknownVersions(true);
    
    final Message message = parser.parse(message);
    

    【讨论】:

      【解决方案2】:

      就像 nradov 说的,你可以使用 HAPI 来解析 V2.7。但是您需要调用它来防止“2.7 无法识别”异常:

      parser.getParserConfiguration().setAllowUnknownVersions(true);
      

      【讨论】:

        【解决方案3】:

        您仍然可以使用 HAPI 来解析 HL7 V2.7。它只是没有方便的方法来轻松访问 V2.6 之后添加的新字段。

        【讨论】:

        • 通过使用 HAPI,我有以下异常:ca.uhn.hl7v2.HL7Exception:在 ca.uhn.hl7v2.parser.Parser.assertVersionExists(Parser.java:527) 无法识别 HL7 版本 2.7 ) at ca.uhn.hl7v2.parser.Parser.parse(Parser.java:208) at ca.uhn.hl7v2.parser.PipeParser.parse(PipeParser.java:1018) 那么,如何管理它
        猜你喜欢
        • 2012-12-12
        • 1970-01-01
        • 2017-10-10
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2018-07-25
        • 2020-12-29
        • 1970-01-01
        相关资源
        最近更新 更多