2

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

我的消息有大约 120 个 OBX 段,我只使用 OBX 3 和 OBX 5 字段。我在 OBX 5 之后测试了手动删除字段,发现性能有所提高。有没有办法告诉 HAPI 在 OBX 5 之后不要解析任何字段?

4

1 回答 1

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 个 OBSERVATIONS。

于 2016-02-06T00:35:40.453 回答