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 . 我不认为这是正确的行为?任何支持指导赞赏?
1 回答
如果其他人偶然发现这一点,最直接的答案是2.5还有一个PV1.7段,所以最明智的做法是解析器将版本2.31中的PV1.7数据映射到版本2.5中的相同段而不是(正如我所假设的)映射到ROL段......而这正是它的作用 .