Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HL7 Z段上的HAPI扼流圈_Java_Hl7_Hapi - Fatal编程技术网

Java HL7 Z段上的HAPI扼流圈

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的自定义实现添

我试图使用解析由外部系统生成的HL7(v2.3)消息。这些消息包括自定义Z段,包括消息的第二段(MSH和EVN之间)

问题是,对于遇到第一个Z段后解析的任何段,HAPI将生成消息结构,但该结构中的所有数据都为空。所以,我仍然会有一个EVN段对象,但其中没有任何数据

我试过:

  • 没什么,只是用现成的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
...