采用SOA搭建“大集成”的卫生信息系统
SOA(Service-Oriented Architecture)是基于标准的、松散耦合的架构,它将应用程序的不同功能单元通过定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、
操作系统和编程语言,这使得各种构建在这样的系统中的服务可以以一种统一和通用的方式进行交互。
传统EAI工具集成的是子系统,这些子系统大多按照功能或者组织结构分工来划分,其划分方法具有同样的优缺点。因此,基于SOA架构的集成中间件与HUB方式的EAI工具不同。SOA需要基于服务的集成中间件——企业服务总线(Enterprise Service Bus ESB),它是一种在松散耦合的服务和应用之间标准的集成方式,可以作用于:①面向服务的架构——分布式的应用由可重用的服务组成;②面向消息的架构——应用之间通过ESB发送和接受消息;③事件
驱动的架构——应用之间异步地产生和接收消息。
目前,Web Service是实现SOA的一套最完整的标准体系,众多公司在该标准基础上开发了大量实现工具,主要用于Web环境下异构系统的集成。当然,EAI和SOA可以共存,目前的大型集成中间件也大多同时支持过程集成和基于Web Service的服务集成。在这样的体系结构基础上,我们可以构建跨平台、跨部门、跨区域的大型集成系统,这是建立区域和国家卫生信息系统的技术基础。

图22. 不同医疗机构数据共享的一种集成结构
然而,Web Service在医院系统集成中的应用还存在一些挑战:例如,HL7是基于消息的医学系统集成标准,Web Service集成则是基于服务的,怎样将两者统一起来?美国HL7组织也在扩展该标准,以适应HL7 3.0对Web Service的支持,但经过反复解释的协议在执行效率上如何还有待考验。另外,Web Service本身就是用于松耦合集成的平台,加上HL7是否有画蛇添足之嫌?这些都需要在理论和实践中进一步摸索。

图23. 基于Web Service的HL7通讯