Hapi包含一个解析器函数,可以将特定的HL7版本解析为备用版本:
HapiContext context = new DefaultHapiContext();
CanonicalModelClassFactory mcf = new CanonicalModelClassFactory("2.5");
context.setModelClassFactory(mcf);
PipeParser parser = context.getPipeParser();
parser.getParserConfiguration().setIdGenerator(new InMemoryIDGenerator());
context.getParserConfiguration().setValidating(false);
ADT_AXX axx = null;
try {
axx = (ADT_AXX) parser.parse(message.toString());
}
catch (HL7Exception e) {
log.warn("Exception parsing to AXX");
e.printStackTrace();
}
在版本2.31中,主治医生在PV1.7-9中发出消息。在2.5中有一个ROL段保存这些信息。我的问题是Hapi解析器似乎没有将PV1.7.9解析为ROL。我不认为这是正确的行为吗?任何支持指导表示赞赏?
答案 0 :(得分:1)
如果其他人偶然发现这一点,最直接的答案是2.5还有一个PV1.7段,所以最明智的做法是解析器将版本2.31中的PV1.7数据映射到版本中的同一段2.5而不是(正如我所假设的)映射到ROL段......这正是它所做的。