基于Message Queue技术的医疗信息交换与共享集成平台研究
覃永胜①
①中山大学附属第一医院院办信息网络科,510080,广东省广州市中山二路58号
摘 要 本文首先对目前医院信息系统集成方式进行了分析,然后简单介绍了IBM的Message Queue的技术特点,最后通过介绍重症监护系统(ICU系统)和HIS系统之间的集成方案,阐述了基于消息机制构建医疗信息交换与共享集成平台的思路和方法。
关键词 Message Queue 医院信息系统 集成平台
1 背景
随着我国经济建设和医疗卫生事业的快速发展,我国医院信息化建设的水平有了飞速的发展和提高。已经有越来越多的信息系统在医院里发挥着越来越重要的作用,但是随着信息系统的不断增加,这些系统之间缺乏有效信息交换和共享的方法,形成一个个信息孤岛,成为困扰医院信息化进一步深入发展的难题。
中山大学附属第一医院是华南地区最富盛名的大型综合性医院,医院的信息系统经过多年的建设发展,已经相继建立了医院信息系统(HIS系统)、医学影像系统(PACS系统)、检验系统(LIS系统)、电子病历系统(EMR系统)、手术视频转播系统、手术麻醉系统、重症监护系统等信息系统,这些系统不仅程序复杂、数据量大,而且使用的用户非常多。目前这些信息系统之间的信息交换和共享仍然采用传统的点对点(point-to-point)的方式(如图1所示)。这种方式虽然开发和实施简单,但是存在着明显的缺点:首先系统负担过重,某些系统(如HIS系统)数据连接数过大,高峰时期有超过1100个用户直接连接到HIS数据库,连接数过多造成系统负担过大,阻碍了正常业务的进行;其次由于采用了紧耦合的集成方式,不利于系统的维护,当一个系统需要升级或者更换时,不同的系统都要进行相应的更改。
图1目前医院point-to-point的集成方式
Message Queue(MQ)是IBM公司的推出的系统集成的中间件产品,其核心思想是系统和系统之间不是直接建立连接,而是通过向队列发送消息和从队列中接收消息的机制是实现信息的交换和共享。其中消息是系统之间彼此传递数据的媒介,Queue队列是消息的容器,应用程序通过访问队列发送和获取消息。首先,MQ可以位于不同的系统平台,为多种编程语言提供了API,可以真正实现跨平台的信息共享。其次,应用程序只需要向相应的消息队列中发送消息,消息存放在队列里,目标程序可以在任何时候读取消息进行处理,从而实现异步和同步的通讯。最后,对于系统的升级或者变更,只要更改的应用程序可以处理相应的消息,其他的应用程序就不用修改,实现了系统之间的松耦合的集成(图2显示了应用程序通过MQ进行通讯的原理)。本文将结合重症监护系统与HIS系统之间的集成的实例对MQ的应用进行详细的阐述。
图2应用程序通过MQ进行通讯
2 MQ的概述
2.1 消息(Message) 在MQ中消息包含消息描述符和数据两部分。消息描述符主要是对消息的属性进行定义,比较重要的有MessageID、CorrelationID等,MessageID用来唯一标识消息,CorrelationID是在request-reply模式下确定返回消息的标识符,一般就是发送消息的MessageID。消息可以分为四种类别:数据消息是指不需要回应的消息;请求消息是指需要回应的消息;答复消息是指回应请求消息的消息;报告消息是对某些发生事件描述的消息。消息可以根 |
|