适用于:Azure 逻辑应用(标准)
重要
此功能为预览版,受 Azure 预览版补充使用条款约束。
若要为医疗保健系统生成自动化集成或从 BizTalk Server 迁移到 Azure 逻辑应用,请在标准逻辑应用工作流中使用 HL7 内置连接器作。 此连接器使医疗保健组织能够继续使用其现有的医疗保健解决方案,并在 Azure 逻辑应用中创建新的医疗保健集成。
本指南演示如何在标准工作流中使用 HL7 连接器操作。 在本指南中,这些示例使用 Azure 门户,但你可以使用 Visual Studio Code 中的这些作创建标准工作流。
医疗保健与 Azure 逻辑应用的集成
医疗保健组织是具有不同部门合作的复杂业务。 例如,医院有住院、医生、护理站、实验室和计费等区域。 每个区域生成和使用各种类型的数据。 例如,此信息包括患者、医疗程序、药物和计费费用,多个部门通常必须共享这些费用。 医疗保健系统在为部门提供相互交换这些数据的有效方式方面面临重大挑战。
健康级别 7 (HL7) 协议 v2.x 系列定义了跨临床系统(如 EHR、LIS、RIS 和 HIS)广泛采用的消息传送标准。 该协议通过跨医疗保健应用提供数据交换标准来促进通信。 这些标准消除了或减少自定义接口编程和程序维护。
尽管有现代标准(例如快速医疗保健互操作性资源(FHIR)),但 HL7 v2.x 仍然在实时临床工作流中占据主导地位,例如入院、出院和转移(ADT),实验室结果处理和计费处理。其主要原因如下:
| 原因 | Description |
|---|---|
| 互作性主干 | HL7 v2.x 深入嵌入现有临床系统。 |
| 确认支持 | ACK/NACK 模式有助于确保交付确认对于患者安全和可审核性至关重要。 |
| 复杂性低 | 基于文本的可预测段简化了开发和维护,而不是更复杂的基于服务的协议。 |
常见的 HL7 消息类型包括:
- ADT:入院、出院和转床
- EPR:电子患者记录
- ORM:常规订单消息
- ORU:未经请求的观察结果
- DFT:详细的财务交易
连接器技术参考
所有标准工作流都提供 HL7 连接器操作。
Operations
| 操作 | 类型 | Description | 参数 |
|---|---|---|---|
| 编码 HL7 | Action | 将 XML 转换为平面文件。 |
-
要编码的消息:要编码的 HL7 消息。 必填项,字符串 - 要编码的标头:要编码的 HL7 标头。 必填项,字符串 |
| 解码 HL7 | Action | 将平面文件转换为 XML。 | 要解码的消息:要解码的 HL7 消息。 必填项,字符串 |
支持和不支持的行为
| 支持级别 | 行为 |
|---|---|
| 已支持 | - v2.X 消息处理,包括验证到 v2.6 和 BizTalk 架构版本到 v2.6。 - 单个消息处理。 - 对版本 2.4、2.5 和 2.6 的确认分析。 - 只需上传消息架构。 - Z 段支持需要通过使用 Z 段节点来更新数据架构。 |
| 不支持 | - 批处理消息处理。 - 对低于 2.4 的版本进行 ACK 生成和 ACK 支持。 - MSH 替代和合作伙伴特定的配置。 - 支持 Z 段而无需架构更新。 不支持动态发现。 |
先决条件
一个 Azure 帐户和订阅。 获取 Azure 帐户。
访问要集成的医疗保健系统。
用于定义和存储工件以供企业集成和 B2B 工作流使用的 集成帐户资源。
集成帐户和逻辑应用资源必须存在于同一 Azure 订阅和 Azure 区域中。
在开始使用 HL7 或 MLLP 操作之前,必须将 标准逻辑应用链接到集成帐户。
HL7 平面文件格式以及 HL7 架构所引用的所有 BizTalk 架构。
必须将 所有这些架构上传到集成帐户。 但是,与 BizTalk Server 不同,无需上传以下常见架构:
- 消息标头: MSH_25_GLO_DEF.xsd
- 确认: ACK_24_GLO_DEF.xsd 和 ACK_25_GLO_DEF.xsd
以下示例显示了 ADT_A01_231_GLO_DEF.xsd 架构和以下依赖项:
- datatypes_21.xsd
- segments_21.xsd
- tablevalues_21.xsd
用于医疗保健集成的标准逻辑应用资源和工作流。 请参阅 在 Azure 逻辑应用中创建标准逻辑应用工作流。
HL7 连接器没有触发器,因此可以使用适用于方案的任何触发器。
本指南使用名为“请求”的触发器收到 HTTP 请求时。 然后,可以添加 HL7 连接器操作。
局限性
在此版本中,存在以下限制:
HL7 连接器要求将架构上传到集成帐户。
此实现仅支持单个消息处理。
添加编码 HL7动作
按照以下步骤添加 编码 HL7 操作并且设置必要的参数:
在 Azure 门户中,打开你的标准逻辑应用资源。 在设计器中打开工作流。
如果工作流没有触发器,请按照 常规步骤 添加最适合方案的触发器。
此示例继续使用名为“收到 HTTP 请求时”的请求触发器,例如:
按照常规步骤添加名为Encode HL7的HL7 内置连接器动作。
在设计器中,选择添加的操作(如果未选中)。 在操作窗格中,填写以下信息:
参数 必选 价值 Description 要编码的消息 是的 < 待编码消息> 要编码的 HL7 消息内容。 要编码的标头 是的 < header-to-encode> 要编码的 HL7 消息标头。 例如:
保存工作流。 在设计器工具栏上选择“保存”。
添加解码 HL7 操作
按照以下步骤添加 解码 HL7 操作并设置必要的参数:
在 Azure 门户中,打开你的标准逻辑应用资源。 在设计器中打开工作流。
如果工作流没有触发器,请按照 常规步骤 添加最适合方案的触发器。
此示例继续使用名为“收到 HTTP 请求时”的请求触发器,例如:
按照常规步骤添加HL7内置连接器操作,操作名称为Decode HL7。
在设计器中,选择添加的操作(如果未选中)。 在操作窗格中,填写以下信息:
参数 必选 价值 Description 要解码的消息 是的 < 要解码的消息> 要解码的 HL7 消息内容。 例如:
保存工作流。 在设计器工具栏上选择“保存”。
BizTalk 迁移说明
自第一个 BizTalk Server 版本以来,Microsoft为医疗保健方案提供支持。 BizTalk Server 通过使用 Microsoft BizTalk Accelerator for HL7(BTAHL7)、HL7 标准以及用于消息传递的最小下层协议(MLLP)来帮助组织跨医疗保健计算机系统开发业务流程。
BizTalk Server 使用反汇编程序管道将 HL7 消息拆分为标头、正文和自定义段。 Azure 逻辑应用将这些消息公开为固定输出。 此行为通过避免多部分消息复杂性来简化 HL7 消息处理,除非部分数有所不同。
下表将 BizTalk Server 与单租户 Azure 逻辑应用中的标准逻辑应用工作流进行比较:
| 方面 | BizTalk Server | 标准工作流 |
|---|---|---|
| 管道拆卸 | 分隔标头、正文和自定义段。 | 操作输出直接提供结构化值。 |
| Schemas | 上传的 HL7 架构 + 全局标头或 ACK 架构。 | 上传 HL7 消息架构和依赖项。 不需要标头或 ACK 通用架构。 |
| ACK 处理 | 通过管道组件生成和分析。 | 分析 HL7 ACK/NACK (2.4–2.6)。 不支持生成。 |
| Z 段 | 通过架构自定义支持。 | 在上传的架构中存在 Z 段时支持,但没有动态发现。 |