4

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

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

4

3 回答 3

6

除了允许未知版本(如 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);
于 2016-08-31T13:51:58.263 回答
1

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

parser.getParserConfiguration().setAllowUnknownVersions(true);
于 2014-08-18T15:51:00.047 回答
0

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

于 2014-04-07T03:38:21.437 回答