医疗卫生机构之间共享临床与医疗健康信息的能力是当今医疗行业内面临的主要挑战之一,现有的医疗机构应用系统由于采用了不同标准、数据模型或者实现平台,在需要数据共享时候,常常根据某些特定需求实现了特定方式的连接,由于系统的异构性以及集成需求的变化和增加,这种点对点的信息交换模式越来越复杂而且难以维护,逐渐不能满足日益复杂的数据共享和交换要求,现有的系统整合和集成需要一种统一的应用架构来解决上述挑战,从而形成一个互联互通的医疗卫生业务协作网络,实现市民在各医疗机构间(例如医院与医院之间,医院与社区中心之间,社区中心与社区中心之间)的诊疗资料的共享和交换。
企业服务总线的概念:
在面向服务的体系架构(SOA)中,企业服务总线(Enterprise Service Bus, ESB)是一个实现系统间集成和互联互通的重要技术架构,它提供一个基于企业总线的先进应用整合理念,最大限度地减少应用系统互联所面临的复杂性,降低集成和维护成本。在区域医疗卫生信息整合环境下,构建统一的企业服务总线是实现区域医疗信息网络内多系统整合的重要实现手段,在这里,我们把企业服务总线在医疗卫生行业内特定的实现称之为健康服务总线(Health Service Bus,HSB)。健康服务总线在实现企业服务总线基本特点的同时,例如消息转换、路由、协议接入等,还需要满足医疗卫生行业内的特定需求,例如病人隐私保护、医疗卫生行业标准支持等。
健康服务总线总体架构:
结合 ESB 的技术特定、IBM 相关的软件
医疗卫生提供者应用:也称之为业务信息系统 POS(Point Of Service),包括 HIS, EMR,CIS,LIS 等,这些应用可以直接接入到 HSB,也可以在适配器的帮助下接入到 HSB。
访问渠道整合:医疗从业者、患者、管理人员等可以多种渠道访问后台系统,例如 Portal、移动
应用平台:医疗业务应用平台,例如双向转诊、远程会诊、流程和协作应用等,都可以接入到 HSB。
在 HSB 下面的部分包括居民主索引,EHR 数据服务,和 EHR 分析服务,在该系列的文章中有详细解释,在此不做解释。
IBM WebSphere Message Broker (WMB)产品提供了实现企业服务总线的平台,结合 WMB 提供的强大集成功能,HSB 可以提供
路由:请求的消息可以根据消息内容自动路由到相应的后台服务,而不需要专门指定端点地址,通过集成 WSRR(WebSphere Service Registry and Repository)可以实现 WMB 的动态路由功能。
转换:消息的转换功能是 HSB 提供的重要能力,如果请求消息不符合目标服务的格式要求,HSB 可以使用 WMB 提供的内置节点例如 Compute、XSLTransform、Mapping 实现消息的格式转换;医疗卫生行业常见的消息交换标准是 HL7 消息,通过集成转换引擎 WTX (WebSphere Transformation Extender)和 WTX HL7 Pack,HSB 可以实现对 HL7 的解析和转换的支持,特别是 HL7 V2.X 格式的消息。
协议绑定:HL7 通常是以 MLLP(Minimal Lower Layer Protocol) 协议进行传输的,HSB 通过内置的 TCPIP 进行配置可以支持 MLLP 协议的接入,同时也支持常见的传输协议和数据协议如 SOAP,XML,HTTP 等。
发布 / 订阅功能:发布 / 订阅是一种异步消息传输机制,它定义的应用程序模型以松耦合的方式把消息的发布者(Publisher)与消息的订阅者(Subscriber)联系在一起。参与发布订阅模式的医疗卫生机构可以定义主题(Topic),把患者的医疗事件发布到 HSB,而 HSB 可以将医疗事件发布给订阅了该主题的订阅者。例如,患者在医院出院后,出院事件可以发布到 HSB,而订阅了该事件的社区中心在接受到该事件后,可以安排社区医生对病人进行随访。
服务组合:服务的请求可能会涉及到多个服务提供者,HSB 可以将多个服务提供者进行组合,实现一个短流程,从而满足一些更复杂的需求。
安全网关:使用 SSL 等技术保证通道的安全性传输,通过集成 TDS(Tivoli Directory Server)和 TSPM(Tivoli Security Policy Manager)实现了对请求用户的身份认证和隐私保护。
在下面的章节中,将详细介绍对其他产品的集成来实现 HSB 的一些特定功能。
集成 WTX 转换 HL7 消息
HL7 是医疗卫生行业内常用的交换标准,包括 HL7 V2.X 和 V3 几个版本,由于 HL7 V.2X 推出较早,在目前应用更加广泛。HL7 V3 是标准的 XML 格式,WMB 可以非常容易地支持。在 2.X 版本中,HL7 的数据以消息(Message)为基本构成单位,一个消息由多个段(Segments)组成,一个段由多个字段(Fields)组成,字段是由一个或多个数据元组成的字符串。
由于 HL7 V2.X 是一种特殊的线性格式,对于其解析和转换不像 XML 一样方便。而 IBM 的 WebSphere Transformation Extender(WTX)以及 HL7 Pack 提供了 HL7 消息处理的全面支持,WMB 也提供了内置的 WTX Map 节点和 WTX 进行直接的集成,这样使得 HSB 对 HL7 消息的处理变得非常容易。
集成 TDS 和 TSPM 提供安全网关
IBM Tivoli Directory Server (TDS) 提供了一个功能强大的轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)身份基础设施,接入到 HSB 的应用系统可以将患者和医生的用户身份注册到 TDS 进行统一管理,在运行时候 WMB 和 TDS 进行集成实现对请求用户的身份验证,认证方式可以采用简单的用户名 / 密码方式,也可以采用更安全的基于数字证书的身份验证结构,具体的验证过程可以由 WMB 自己执行,而 HSB 开发者仅仅需要在 WMB 配置一下连接参数即可。图 2 给出了如何在 WMB Toolkit 中配置与 TDS 连接的一个示例。
图 2. 在 WMB 配置 Security Profile 集成 TDS
对请求用户的认证的典型例子是,医生使用医院的应用系统访问某个病人的病历文档,应用系统使用 IHE 定义的标准消息 XDS QueryDocument (SOAP 格式) 通过 HSB 请求 EHR 数据服务,WMB 在接受到 SOAP 请求后,将 SOAP 头部的请求用户名和密码取出,并使用 LDAP 进行验证,只有验证通过才允许调用 EHR 提供的服务。
HSB 验证用户的身份仅仅是安全网关的第一步,在用户身份验证之后,还需要确定该用户是否有权限调用该服务以及访问某些特定的资源。对于诊疗文档的浏览、提交或者修改需要支持更复杂的授权规则,例如授权某用户仅仅有权限查看病人的某个文档甚至是某个文档的某部分特定内容,从而更好地保护病人隐私。
XACML(Extensible Access Control Markup Language)是 OASIS 组织制定的基于 XML 的开放标准语言,它提出了一种通用访问控制策略语言和执行授权策略的框架。IBM 的 TSPM(Tivoli Security Policy Manager)产品支持 XACML 语言来定义授权策略模型,实现对不同角色的权限管理。在 HSB 中,我们通过 WMB 集成 TSPM 实现运行时决策权限的支持,从而保证在共享病人电子健康信息的同时维护病人的隐私权。具体请参考该系列的基于 Tivoli Security Policy Manager 开发权限管理服务一文。
使用适配器集成医疗服务提供者应用
医疗服务提供者应用由各个供应商开发,不同的供应商的开发平台、采用的技术和接口都不尽相同。为了方便医疗服务提供者应用接入到 HSB 而尽量地减少改造现有系统的代价,开发相应的适配器并部署到各医疗机构是一个较好的实现方式,适配器可以传入提供者应用传入的特定请求而将其转换为 HSB 要求的消息类型,例如 HL7、IHE XDS 等,适配器根据要适配的原数据和目标数据可以有多种类型:
MLLP(Minimal Lower Layer Protocol)是传输 HL7 消息最常用的传输消息,MLLP 适配器可以将应用传入的消息封装成 MLLP 报文并以 MLLP 传输通道接入到 HSB。
File 适配器支持 CDA 文件的提交,CDA 文件可以放在文件夹下,由 File 适配器进行定时侦测并构造成 IHE Provider&RegisterDocument 请求通过 HSB 发送到 EHR 数据服务。
IHE 适配器是以开源工具 OHT(Open Health Tooling)IHE 为基础开发的适配器,它提供 API 和 Web Service 接口两种方式,帮助提供者应用系统以 IHE 客户端的方式构造 IHE 请求消息。例如,如果调用 EMPI 系统,IHE 适配器可以将应用系统的请求数据构造成符合 IHE PIX/PDQ 的标准消息格式;如果调用 EHR 数据服务,IHE 适配器可以将应用系统的请求数据构造成符合 IHE XDS 的标准消息格式。
使用适配器可以降低因开发架构不同导致的业务应用侧编程
集成 WSRR 提供服务管理
在区域医疗卫生解决方案中,接入 HSB 实现电子健康信息共享的系统有各医疗机构的应用系统、EHR 系统、EMPI 等,这些系统都是以服务的方式提供对外接口,最常见的 WSDL 方式的描述接口。作为服务元数据的注册中心和存储库,WSRR(WebSphere Service Registry and Repository)建立了一个中心位置,用于查找和管理从多种来源获取的服务元数据,例如服务端点地址、服务描述、策略生命等。WSRR 可以帮助业务分析人员、解决方案架构师和开发人员更好地管理维护这些服务,充分挖掘 SOA 的业务价值,实现 SOA 治理功能。
在 HSB 的运行过程中,WMB 可以和 WSRR 进行集成,根据服务的元数据动态选择服务端点地址,从而提高了企业服务总线整合的应用灵活性。如果目标服务端点地址发生变化,WSRR 允许管理人员更新服务元数据来动态控制 WMB 消息流的路由和转换。WMB 从 V6.1 起提供了两个与 WSRR 集成的新节点 Registry Lookup 和 Endpoint Lookup 来支持服务端点地址的检索。
总结
本文首先介绍了区域医疗信息网络内系统集成的需求,并给出了健康服务总线 HSB 的介绍,然后具体地介绍了健康服务总线的总体参考架构以及各功能组件,并重点描述了 WMB 与其他产品的集成来实现健康服务总线的相关