我正在使用HAPI HL7库,并且试图找出如何获得段或字段在原始消息中重复多少次的计数。
如果字段/段重复且未给出索引,则terser路径假定为0,但是我看不到任何简单的消息询问方法或terser来获取重复次数的计数。
是否有某种方法可以使用Hapi库找出一个字段/段重复多少次?
答案 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
}