Java HL7 Z段上的HAPI扼流圈
我试图使用解析由外部系统生成的HL7(v2.3)消息。这些消息包括自定义Z段,包括消息的第二段(MSH和EVN之间) 问题是,对于遇到第一个Z段后解析的任何段,HAPI将生成消息结构,但该结构中的所有数据都为空。所以,我仍然会有一个EVN段对象,但其中没有任何数据 我试过:Java HL7 Z段上的HAPI扼流圈,java,hl7,hapi,Java,Hl7,Hapi,我试图使用解析由外部系统生成的HL7(v2.3)消息。这些消息包括自定义Z段,包括消息的第二段(MSH和EVN之间) 问题是,对于遇到第一个Z段后解析的任何段,HAPI将生成消息结构,但该结构中的所有数据都为空。所以,我仍然会有一个EVN段对象,但其中没有任何数据 我试过: 没什么,只是用现成的HAPI解析消息,忽略此段 通过创建我自己的ADT消息类(扩展默认类)来扩展HAPI,并在Z段中连接: addNonstandardSegment() 使用AbstractSegment的自定义实现添
- 没什么,只是用现成的HAPI解析消息,忽略此段
- 通过创建我自己的ADT消息类(扩展默认类)来扩展HAPI,并在Z段中连接:
- addNonstandardSegment()
- 使用AbstractSegment的自定义实现添加()
我目前的解决方法是在HAPI获取消息并删除该段之前对其进行预解析,但这绝对是错误的方法。有人知道我应该做什么吗?知道了。事实证明,由于Z段不合适(下文将对此进行详细介绍),EVN对象在内部被编目为“EVN2”,并添加了第二个空白EVN。我不太清楚为什么代码会这样,但我将在HAPI项目的问题报告中讨论这一点 解决方法是更改ADT消息的扩展名。我不得不复制原始ADT_A*类并修改其init()方法,以按照预期消息的正确顺序添加Z段类,而不是扩展它并在子类构造函数中使用此.add()添加Z段
顺便说一句,我前面提到的解决方法可以用a来完成,它可以有效地修复损坏的消息-但不是这个,因为它本身并不是“损坏的”。这是HAPI v0.6的一个错误,在即将发布的1.0版本中已经解决。(可以通过1.0测试版成功测试)。我需要几分钟的时间来讨论HAPI,你能帮我回复吗
MSH
Z
EVN
...