1

我编写了一个自定义管道组件组装器来修改响应 ACK HL7 消息。

我在interface的实现方法中调用Assemble(pContext)了of 给我的结果 是 HL7,然后我对其进行操作以修复其中一个字段并返回修改后的.Microsoft.Solutions.BTAHL7.Pipelines.HL72fAsmAssemble(pContext)IAssemblerComponentIBaseMessageIBaseMessage

所有这些工作都很好,我尝试了 EvenLogger 来验证它。

但是 Sender 应用程序仍然没有收到修改后的消息,它收到了自动生成的消息。

有什么我遗漏的吗,为什么我不能从 2 路接收端口的 SendPipeline 中获取自定义汇编器结果

注意:BTAHL7 配置浏览器配置为原始模式。RequestResponse 接收端口上的发送管道设置为我的自定义管道

4

1 回答 1

1

我的建议毕竟是更重要的点。

作为雇主或客户,您应该说的第一件事是“不”。那是无效的 HL7,你不能支持它。

但是,如果他们无法不愿意遵守,那么您需要做的下一件事就是通知您的管理层,他们的违规行为将花费您大量额外的时间和金钱来适应。完全支持这种变化可能会比实施业务消息的成本更高,我是认真的。这不是 BizTalk Server 的问题,您的应用程序或您。

根据关系,您的管理层可以合法地询问他们将如何为这种定制付费。打破 HL7 以遵守它们的成本要比他们修复它的成本高得多。

其次,也许是最重要的,由于其消息内容的性质,HL7 有非常严格的完整性要求,他们从根本上打破了这些要求。贸易伙伴需要完整记录此要求才能获得所有权,因为这会产生巨大的后果,他们会破坏对您的跟踪/跟踪。

这意味着为您而不是他们调查和解决消息传递问题将变得更加困难。这可能会引发您需要注意的法律或合规问题。

因此,如果您的技术、医疗和法律团队都满意,我会尝试的第一件事是简单地交换两个值 MSH10 和 MSA02 的管道组件。 这样,他们将收到这两个值。

最后,这是一个新颖的解决方案。由于这是他们的问题,也是他们每个贸易伙伴的问题,如果您提供帮助他们解决问题怎么办?然后需要做的就是我建议的,在收到的消息上交换 MSH10 和 MSA02。

于 2017-02-19T13:55:53.937 回答