我对处理HL7非常陌生,我公司最近开始了一个非常大的项目,我们将在HL7 v2.4规范中收到各种ADT消息。我们已经在这里广泛使用BizTalk,计划是利用BizTalk 2010的BTAHL7加速器接受这些消息。
我的问题是,我们从我们的贸易伙伴那里收到的ADT消息与我们收到的几乎所有消息都不符合HL7 v2.4规范(即使MSH段是针对V2.4而且他们是已告诉我们,他们将发送文件的版本。)
例如,他们向我们发送A04消息,在PV1-3字段中,规范要求9个子组件(由标准^分隔符分隔)。他们在该领域发送的是11个子组件。
实施例: F1 F2 ^ ^ ^ F3 F4 F5 ^ ^ ^ F6 F7 F8 ^ ^ ^ F9 F10 F11 ^ 而不是这(这将符合规范): F1 F2 ^ ^ F3 F4 ^ ^ F5 F6 ^ ^ F7 F8 ^ ^ F9
这也发生在PV1-42领域。
在搜索互联网后,我无法找到任何帮助来处理使用加速器的BizTalk中的这种情况。在我看来,人们可以自定义消息中的数据并经常发生(例如发送规范调用int的字符串)但在处理HL7和BizTalk时无法更改实际布局(我上面列出的情况) 。即使我没有设置BizTalk来验证正文段或自定义数据类型,这些消息也会失败(这对我来说很有意义,因为他们没有发送仍然符合规范布局的奇怪数据,但这是预期的,但是而是一个完全不同的布局。)
我的问题是这个。有没有办法利用加速器功能处理这个问题,而不必编写自定义代码来“修复”文件,然后再将它们发送到加速器管道?据我们的贸易伙伴说,这只是他们的产品(Cloverleaf)发送数据的方式,他们已经与这种格式的各种其他贸易伙伴合作。
答案 0 :(得分:1)
是。除非贸易伙伴正在做一些不遵循HL7惯例的事情,否则您可以通过修改HL7消息架构来处理这种自定义,以适应差异。
在这种情况下,只需向PV1添加两个子元素即可接受新数据。
您还必须更改已修改架构的TargetNamespace以将其与此交易伙伴隔离,并在HL7配置中将其设置为......其中一个选项卡(抱歉不记得确切)。