0

我们正在创建一个 HL7 XML 结构并使用 HAPI 库将其输出为 HL7 V2 文件。但不幸的是,HAPI 正在重新排序(排序)这些段。

因为我有 MFE 和 ZBP 总是重复:

MSH|...
MFI|...
MFE|...
ZBP|...
MFE|...
ZBP|...
MFE|...
ZBP|...

但是 HAPI 将它们重新排序为

MSH|...
MFI|...
MFE|...
MFE|...
MFE|...
ZBP|...
ZBP|...
ZBP|...

它也与HAPI TestPanel 一起发生。例子:

MSH|^~\&|||||20121011140541.133+0200||MFN^M01|1|T|2.6
MFI|Partners|^Sap|UIZ|||NE
MFE|MUP|||0000040001
ZBP|0000040001|100|Something||||3000|Bern||||
MFE|MUP|||0000040002
ZBP|0000040002|100|Otherthing||||8000|Zurich||||

如何使用 HAPI 禁用重新排序?

4

2 回答 2

0

嗯,你有一些事情发生在这里......

首先,您构建细分的方式不符合 HL7 标准。将 Z-Segments 引入消息后,所有后续段都需要是 Z-Segments。因此,您有交替的 MFE 和 ZBP 段这一事实不是一个有效的结构。至少,我建议将 MFE 段更改为自定义段,例如 ZMF 或类似的段。

其次,您拥有的消息结构不是 ADT^A01 消息的结构。您缺少一些必需的段,例如 PID,它们需要在消息中。不遵循消息结构会给您的贸易伙伴带来麻烦,最终也会给您带来麻烦。如果您不确定消息结构是什么,您将需要访问HL7 站点并购买实施指南。

因此,如果您决定不关心标准或您的贸易伙伴不关心,您可以在 hapi 工具中禁用验证。虽然修改 HL7 消息标准是很常见的地方,但请不要忽略它。制作自定义消息并大胆地忽略标准给整个领域的集成商带来了巨大的痛苦,并且常常导致脆弱的集成。请记住,这些是医疗保健提供者使用的医疗保健消息,而不是 Twitter API 调用。我们在这里所做的可能会对患者的结果产生影响。

HAPI 站点上有一个消息验证页面。

这基本上是您正在寻找的代码:

NoValidation noValidation = new NoValidation();
parser.setValidationContext(noValidation);

在 HAPI TestPanel 中,您可以通过从下拉列表中禁用验证来查看相同的功能。 在此处输入图像描述

于 2012-10-12T13:39:44.610 回答
0

将 ADT^01 更改为正确的MFN^M01并使用它工作的版本2.3(也在测试仪中):

MSH|^~\&|||||20121011140541.133+0200||MFN^M01|1|T|2.3
MFI|Partners|^Sap|UIZ|||NE
MFE|MUP|||0000040001
ZBP|0000040001|100|Something||||3000|Bern||||
MFE|MUP|||0000040002
ZBP|0000040002|100|Otherthing||||8000|Zurich||||

奇怪,但任何其他版本都不起作用。

于 2012-10-16T13:27:12.937 回答