是否可以跳过解析HAPI中的某些字段?

时间:2015-10-30 01:57:30

标签: apache-camel hl7 mina hapi hl7-v2

我正在使用Apache Camel,Mina2和HAPI来接收HL7 v2消息。我注意到它需要花费大量时间来解组并创建Message对象。当我有更大的信息时,这个时间会增加。

我的消息大约有120个OBX段,我只使用OBX 3和OBX 5字段。我在OBX 5之后手动删除了字段,并发现性能有所改善。是否有任何方法可以告诉HAPI在OBX 5之后不解析任何字段?

1 个答案:

答案 0 :(得分:0)

您可以扩展ca.uhn.hl7v2.parser.PipeParser并覆盖Segment解析方法。

@Override
public void parse(Segment destination, String segment, EncodingCharacters encodingChars, Integer theRepetition) throws HL7Exception {
    if(!"OBX".equals(destination.getName()) || destination.getParent().getParent().getAll("OBSERVATION").length <= 5) {
        super.parse(destination, segment, encodingChars, theRepetition);
    }
}

使用它来解析您的邮件,它只会解析ORDER_DETAIL中的前5个观察。