基于HL7标准的负载均衡网关池_第1页
基于HL7标准的负载均衡网关池_第2页
基于HL7标准的负载均衡网关池_第3页
基于HL7标准的负载均衡网关池_第4页
基于HL7标准的负载均衡网关池_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于HL7标准的负载均衡网关池蒲立新 曲建明 童振摘 要 随着医院信息化程度的提高,实现各医疗系统的互联已成为紧迫的任务。要实现医疗系统的互联就要用到HL7标准,因为它是医疗领域中实现通讯的国际标准。本文首先介绍了HL7标准中的相关内容,然后根据HL7标准设计了支持负载均衡和动态配置的网关池以整合医院中各个系统的通讯框架,并且提出了相应的实现方法。关键词 HL7 HIS PACS RIS 网关 负载均衡 动态配置Load Balance Gateway Pool based on HL7 Standard /PU Li-xin, QU Jian-ming,TONG Zhen/China Dig

2、ital Medicine.Abstract Along with the development of the information processing in the hospitals, the interconnection of different healthcare systems has become an urgent target. To realize the interconnection, HL7(Health Level Seven)Standard must be used, because its an international standard for c

3、ommunication between healthcare systems. Firstly this thesis shows the correlative concepts of HL7 Standard. Secondly, the thesis designs the frame of a communication system that unifies the information transaction in hospital and is based on HL7 Standard. The core is a gateway pool which supports l

4、oad balanced technology and dynamic configuration. Also, it narrates the corresponding methods and steps to realize the fame.Keywords HL7, HIS, PACS, RIS, gateway, Load Balance, Dynamic Allocation1 引言实现各个医疗系统互连,达到资源共享,提高医院工作效率,节约医院成本的目的,这是不可阻挡的历史潮流。HL7标准是实现医疗系统互联的国际标准。中国医院的信息化建设也必定以HL7标准为基础。本文试图按照HL

5、7标准,设计出整合医院各个信息系统的结构以及实现方法。2 HL7标准简介2.1 HL7标准的目的与背景 HL7是医疗领域不同应用系统之间电子数据传输的协议,是由HL7组织制定并由ANSI批准实施的一个行业标准。它主要的目的是要发展各类医疗信息系统之间,如临床、保险、管理、行政及检验等,各项电子资料的标准。2.2 HL7消息 消息是HL7标准传递数据的单位,它由一组按序排列的段组成,每一个消息都有消息类型表明它的目的。消息类型由一个三字符长的代码表示。HL7标准采用消息触发机制,即由触发事件来触发消息的产生。触发事件(trigger events):当现实世界中发生的事件产生系统间数据流动的需求

6、,则称其为触发事件。HL7标准包含256个事件、116个消息类型,消息类型与触发事件之间有一对多的关系。HL7标准从功能上将消息分为两大类:(1)未请求更新与确认电子科技大学自动化工程学院,成都市高新西区西源大道2006号成都金盘电子科大多媒体技术有限公司,成都市高新西区天辰路88号未请求更新: 当处理触发事件的应用系统启动了信息传递,这样的信息传递就叫做未请求更新。收到未请求更新的系统要对收到的消息做出确认,进行确认的原因有两点:a) 低层的通信系统不能保证完成消息的投递;b) 有必要知道接收方在本地应用层成功完成了数据处理。确认分为原始确认和增强确认。增强确认又进一步细分成接收确认和应用确

7、认。采用原始确认还是增强确认是由消息头MSH段中的接收确认类型和应用确认类型两个字段来决定。(2)查询与回复请求的处理过程叫做查询。系统间传递的消息包含在回复中。回复本身不需要第三个消息来确认。3 利用HL7标准整合医院各信息系统3.1设计构思 按照HL7标准实现的基本原理,基于HL7的数据交换也存在两种方式。第一种方式是开发外挂通用的中间件,提供一定的接口,使得现有的异构医疗信息系统通过中间件能够很方便的实现消息的构建,传输和解析,实现系统之间的数据交换。它的主要目的是使得用户原有正在运行的不能替换的系统具有HL7的通讯能力。这种方式主要应用于系统之间较为简单的数据交换,参与数据交换的系统明

8、确,交换的数据信息量少。这种方式可以不对原有系统的各个应用终端,如各种工作站等进行HL7改造,而只是相当于在整个系统中增加了一个新的通讯处理模块来支持HL7的处理。第二种方式是基于HL7标准重新开发整个医疗信息交换系统,从医院各个子信息系统的设计到数据库的设计再到信息的交换,系统内,外部的信息流都遵循HL7标准。在整个系统中,在各个应用终端已经对HL7的接口协议进行了设计和处理,各个终端都应当可以处理HL7消息。这两种方法都能实现医疗信息的交换,但也各有利弊。第一种方法对现有医院信息系统的改动非常小,投入人力、财力、时间成本相对低,对那些产品已经较成熟并且拥有广泛客户群的厂商比较合适。事实上,

9、在美国,德国等国家地区主要应用的是这一类产品。第二种方法工作量比较大,需要重新设计整个医院信息系统,以及信息交换流程。但从另一个角度看,这也真是它的优势所在。HL7标准对医疗活动进行了分类定义,按照它的分类方法划分软件的功能模块,具有操作灵活,模块易拆分易整合的优势。我们的设计采用第一种方法来实现系统通讯,本设计是依照HL7标准的2.3.1版本进行的。设计思路如下:分别在HIS、PACS、LIS等医院信息系统中的应用终端安装支持HL7通讯的软件客户端模块,并把各系统的应用终端接到一个支持HL7通讯的网关池。网关池是多个服务器的集群,服务器上安装有软件的服务器模块,由网关池负责协调各系统间和系统

10、内部的通讯。如下图所示:图1 系统结构框图网关池采用了负载均衡工作原理。负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过检查网关池中各服务器的服务线程数目来判断出负载较轻或空闲的服务器,将外部发送来的消息均匀分配到对称结构中的某一台服务器上,而接收到消息的服务器独立地回应客户端。网关池各服务器的连接信息,异地数据库的连接信息以及格式信息,所支持的HL7消息格式等都采用配置文件的形式,在程序运行中动态读取。可以根据医院的需要自由添加配置文件内容,而不会影响网关池的正常工作。实现连接客户端数目以及网关池功能的动态扩

11、展,通过修改HL7消息配置文件,可以升级网关池所支持的HL7标准的版本。3.2 支持HL7通讯的模块设计 在各系统的应用终端和网关池里的服务器上都需要能支持HL7通讯的组件,该组件由以下几个模块组成:网络接口模块 实现网络监听,接收消息,发送消息。采用基于套接字的网络编程技术,不用直接访问发送和接收的网络接口设备而是建立一个中间文件描述符来处理编程接口到网络。网络监听采用多线程结构,对每一个连接请求都分配一个新线程来进行接收以及随后的相应处理;网络发送采用单线程结构,由管理线程在消息构建模块完成构建后直接发送。加密和解密模块 根据算法加密要发送的消息,并且解密接收的消息。在实际应用中,消息本身

12、用DES对称加密,而对对称加密的密钥采用RSA非对称加密,这样既保证了数据的安全,还能保证效率。验证模块 根据HL7标准验证发送或收到的消息是否符合标准格式。依据HL7的应用层处理规则(分为基本处理和增强处理)发送应用层的确认消息(ACK)。消息解析模块 解析收到的消息中的元数据,将收到的消息按是否需要人工处理分为两类:需要人工处理的则按要求写入数据库,不需要人工处理的则提供一个触发机制,传送到消息构建模块。消息构建模块 按照HL7 标准构建消息,它主要接收两个方面的触发:一是来自于消息解析模块的触发机制,自动按对方需求访问数据库生成相应的消息;另一个是来自于系统定时的主动更新。数据库操作模块

13、 负责将解析消息后得到的数据生成结构化查询语句,利用解析消息得到的数据表中的键值从配置文件中获得消息服务类型(表明消息目的服务端)、消息字段内容对应的数据库表名、列名、数据库操作类型等信息,再将获取的信息添入结构化查询语句的模版中,特点是能根据消息内容自动生成任意长度的SQL语句。进行数据库的刷新、查询、插入、修改和删除。目前在网关池的服务器上以Access文件存放各系统数据库的配置信息,以识别数据库的结构用于数据库的操作。未来还可以考虑以XML文件形式存放配置信息。 组件结构图如下:图2 HL7通讯模块框图对于服务器来说,数据库是各个应用终端的远程数据库。对于各应用终端来说,数据库则是本地数

14、据库。3.3 通讯过程说明 下面以HIS-PACS通讯为例子,说明基于以上结构的通讯过程如何按照HL7的规定运作。HIS向PACS发送HL7未请求更新消息:HIS系统向PACS系统发送病人的资料信息,如病人姓名、性别、年龄、ID号、住址、电话等;以及病人的检查申请和医嘱信息,如检查项目,检查部位等。HIS端数据库操作模块定时检查数据库中添加的新信息,由消息构建模块生成HL7未请求更新消息,通过验证,加密以后,由网络接口模块发送到网关池。网关池的客户端程序能够在各服务器之间进行负载均衡,把收到的消息分配给空闲或负载相对较轻的服务器。服务器对收到的消息解密,验证之后,交给消息解析模块解析消息,并且

15、触发消息构建模块生成一条ACK消息返回给发送方,说明消息是否通过了验证。由于收到的是未请求更新消息,所以进一步把解析得到的数据传递给数据库操作模块。该模块判断出这是给PACS系统中某一个终端的消息,然后从Access文件获取目的数据库的连接信息和数据库的结构。根据消息数据内容自动生成SQL语句,把信息写入目的数据库中。PACS系统依据收到的请求消息,对病人进行相应的检查并把结果信息写入本地数据库中。本地系统会检查数据库的更新,由消息构建模块生成另一条ACK消息把结果返回给HIS系统,过程与上面类似。HIS向PACS发送HL7查询消息:HIS端消息构建模块根据系统要求生成HL7查询消息,通过验证

16、,加密以后,由网络接口模块发送到网关池。网关池的客户端程序能够在各服务器之间进行负载均衡,把收到的消息分配给空闲或负载相对较轻的服务器。服务器对收到的消息解密,验证之后,交给消息解析模块解析消息。由于收到的是查询消息,解析模块会调用数据库操作模块从Access文件获取目的数据库的连接信息和数据库的结构以后,根据消息数据内容自动生成SQL语句,访问目的数据库获得被查询的数据。然后由消息构建模块生成HL7的回复消息返回给HIS端。HIS端对收到的回复进行解密、验证、解析之后把数据写入本地数据库中完成查询操作。4 结语HL7作为目前应用最广泛、最有发展前景的国际医学电子信息交换标准,是医疗机构之间以

17、及医疗机构内部各子系统之间数据交换遵循的数据结构标准。本文通过对HL7标准的学习结合中国医院的实际提出了一套整合各个信息系统的解决方案,其核心是以支持负载均衡和动态配置的网关池作为整合各个信息系统的中枢,目前已完成Beta 1.0版本。希望本文能起到抛砖引玉的作用,为推动中国医院的信息化建设起到有益的作用。参考文献1HL7 Organization. Health Level 7.HL7 Version 2.3.1,1999.2金霞. 医疗信息交换中HL7消息的构建/解析和传输关键技术研究D. 大连理工大学,2003.3何雨生,李月东. HL7应用与医院信息系统集成J. 世界医疗器械,2002,(1).4齐国隆,孔令人,邹宗峰. 医院信息系统的HL7本地化改造J. 湖北预防医学杂志, 2003 ,14(3) :63-65.5李桂祥,王放. PACS和HIS的融合方法J. 北京生物医学工程, 2004, (03) .6薛以锋. PACS与HIS融合方法的研究J. 医疗卫生装备,2009,(4)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论