我正在寻找可以解析 v2.7 消息的 HL7 解析器。我已经尝试过 Hapi,但它只支持 v2.6。
任何人都可以在解析 v2.7 消息时提供任何建议吗?
除了允许未知版本(如 nradov 指出的那样)之外,您还需要将正确的模型类工厂(例如 GenericModelClassFactory)注入解析器,否则您可能会遇到异常:
ca.uhn.hl7v2.HL7Exception: No map found for version null. Only the following are available: [V22, V25, V21, V23, V24]
所以完整的解决方案是
它看起来像这样:
final ModelClassFactory modelClassFactory = new GenericModelClassFactory();
final PipeParser parser = new PipeParser(modelClassFactory);
parser.getParserConfiguration()
.setAllowUnknownVersions(true);
final Message message = parser.parse(message);
就像 nradov 说的,你可以使用 HAPI 来解析 V2.7。但是您需要调用它来防止“2.7 无法识别”异常:
parser.getParserConfiguration().setAllowUnknownVersions(true);
您仍然可以使用 HAPI 来解析 HL7 V2.7。它只是没有方便的方法来轻松访问 V2.6 之后添加的新字段。