消息如何通过 BTAHL7
在 MicrosoftBizTalk Server 上安装 Microsoft BizTalk Accelerator for HL7 (BTAHL7) 时,会将 BTAHL7 组件添加到BizTalk Server体系结构。 下图显示了组合系统,该系统提供了 BTAHL7 的体系结构概述。
消息处理流
当业务线应用程序向 BTAHL7 系统发送消息时,会发生以下情况:
如果消息是 HL7 消息,BTAHL7 通过适配器 (通常是 MLLP 适配器) 接收它。 如果是 XML 消息,BTAHL7 通过适配器 (通常是 HTTP 适配器) 接收它。
注意
可以通过任何适配器传输 2.X 和 2.XML 消息;但是,通常会传输 V2。X 消息通过 MLLP 适配器,通常通过 HTTP 适配器传输 2.XML 消息。
消息通过接收管道路由,供反汇编程序分析和验证。
如果传入消息是 HL7 消息,则平面文件反汇编程序 (DASM) 将其反汇编为 XML。 如果传入消息是 XML 消息,则 XML DASM 会反汇编它。
如果传入消息是批处理消息,则反汇编程序将反汇编到各个消息中。 (有关详细信息,请参阅 Batch Message Processing 和 Message Batching.)
然后,DASM 会验证消息。
如果使用双向 MLLP 接收适配器,并且反汇编程序已验证消息,BTAHL7 将通过接收原始消息的同一适配器向邮件的原始发送方发送确认 (ACK) 。 否则,BTAHL7 (NAK) 发送否定确认。 (完成此步骤的方式取决于 ACK 配置。有关详细信息,请参阅 ACK 消息模式。)
如果不使用双向 MLLP 接收适配器,BTAHL7 会) 生成 ACK 或 ACK (、NAK 或 NAK 并将其放入 MessageBox 数据库。 然后,BTAHL7 会根据发送端口配置将其路由到适当的各方,后者可以使用除 MLLP) 以外的任何其他适配器 (。
有关平面文件和 XML 反汇编器中执行的进程的更完整列表,请参阅 BizTalk Accelerator for HL7 Components。
消息通过适配器和接收管道后,BTAHL7 会将消息传递到 MessageBox 数据库。 然后,BizTalk Server确定下一步将消息发送到何处。 如果消息是业务流程的一部分,则会将消息发送到业务流程引擎。
业务流程引擎处理消息。
如果映射影响消息,则映射会根据其规则转换消息。
如果已设置业务规则,BizTalk Server在管道外部(可能在业务流程引擎中)调用业务规则引擎 (BRE) 。
业务流程引擎将消息发送回 MessageBox 数据库,然后继续处理业务流程。
根据订阅,BizTalk Server将消息路由到发送端口。
BTAHL7 通过发送管道路由消息,用于以下处理 ((如果适用)) :程序集和验证。
如果消息将是 HL7 2.X 消息,BTAHL7 将通过 ASM) 平面文件汇编程序 (XML 将消息汇编成 HL7。 如果传入消息将是 XML 消息,则 XML DASM 将对其进行组合。
如果消息将成为批处理消息的一部分,BTAHL7 会将每条消息组合到批处理消息中。 (有关详细信息,请参阅 Batch Message Processing 和 Message Batching.)
如果通过发送方配置设置) 启用,ASM 将验证消息 (。
有关在平面文件和 XML 汇编程序中执行的进程的更完整列表,请参阅 BizTalk Accelerator for HL7 Components。
BTAHL7 通过适配器发送消息。
注意
可以通过多个适配器传输 2.X 消息和 2.XML 消息;但是,大多数系统通过 MLLP 适配器传输 2.X 消息,并通过 HTTP 适配器 2.XML 消息。