Hapi HL7如何获取段或字段重复的次数

时间:2019-04-26 19:19:58

标签: field hl7 segment repeat hapi

我正在使用HAPI HL7库,并且试图找出如何获得段或字段在原始消息中重复多少次的计数。

如果字段/段重复且未给出索引,则terser路径假定为0,但是我看不到任何简单的消息询问方法或terser来获取重复次数的计数。

是否有某种方法可以使用Hapi库找出一个字段/段重复多少次?

2 个答案:

答案 0 :(得分:0)

我认为此功能可以满足您的要求:

ca.uhn.hl7v2.model.v25.group.ORU_R01_ORDER_OBSERVATION public int getOBSERVATIONReps()

答案 1 :(得分:0)

是的,每种类型都有显式的getXXXReps方法,但是我正在处理各种各样的消息,我不知道它们可能是或可能不是...写东西的通用计数,而不管类型是什么消息。

我最终通过以下方式获得所需的信息,其中S是消息:

try {
  AbstractGroup m2 = (AbstractGroup) s;
  result = m2.currentReps(part);

} catch (HL7Exception | ClassCastException e) {
  if (s.getClass().getSuperclass().getName().matches("ca.uhn.hl7v2.model.AbstractSegment")) {
    AbstractSegment m3 = (AbstractSegment) s;
    Type[] t = m3.getField(Integer.parseInt(part));
    result = t.length;
  } else {
    result = 1;  // Should NEVER be able to be reached, BUT, adding it just to be safe
  }