我从各个供应商处收到ORM_O01消息。以前,我们仅使用2.3和2.6版本。现在,我们收到版本2.5的订单。而且我不能同时支持3个复制粘贴的代码。
是否可以使用ca.uhn.hl7v2.model.v26.
包来处理所有消息?所有HL7版本都向后兼容,因此按逻辑,我可以使用v26解析旧版本的订单。目前,我能够将其解析为通用消息,但是我不知道如何处理它。乍一看,编写自己的解析器比使用通用消息API更容易。
答案 0 :(得分:0)
我在HAPI网站上找到了解决方案- https://hapifhir.github.io/hapi-hl7v2/xref/ca/uhn/hl7v2/examples/HandlingMultipleVersions.html
String v23Message = "hl7 message with version 2.3";
HapiContext context = new DefaultHapiContext();
CanonicalModelClassFactory mcf = new CanonicalModelClassFactory("2.5");
context.setModelClassFactory(mcf);
PipeParser parser = context.getPipeParser();
ca.uhn.hl7v2.model.v25.message.ORU_R01 msg = (ca.uhn.hl7v2.model.v25.message.ORU_R01) parser.parse(v23message);