首页 文章

HAPI在HL7 Z段上窒息

提问于
浏览
3

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

MSH
Z
EVN
...

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

我试过了:

  • 没有,只需用开箱即用的HAPI解析消息,并忽略此段

  • 通过在Z段中创建我自己的ADT消息类(扩展默认类)来扩展HAPI:

  • addNonstandardSegment()

  • add()与AbstractSegment的自定义实现

我目前的解决方法是在HAPI获取之前预先解析消息并删除此段,但这绝对是错误的方法 . 有没有人对我应该做什么有想法?

1 回答

  • 2

    得到它了 . 事实证明,由于不合适的Z段(下面有更多内容),EVN对象在内部编目为“EVN2”,并且正在添加第二个空白EVN . 我不太确定为什么代码以这种方式表现,但我会在HAPI项目的问题报告中加以说明 .

    解决方法是更改ADT消息的扩展名 . 我不得不在我的子类构造函数中扩展它并使用this.add()添加Z段,而是必须复制原始的ADT_A *类并修改其init()方法,以正确的顺序添加Z段类作为预期信息 .

    顺便说一句,我之前提到的解决方法可以使用subclassed parser来完成,这对于修复损坏的消息是有效的 - 不是这个,因为它本身不是"broken" .

相关问题