APP下载

一种基于Web Service技术的医学信息整合平台构建方案实现

2011-01-26孟建侯琳琳薛卫京王海洋

中国医疗器械杂志 2011年4期
关键词:调用代理信息系统

【作 者】孟建,侯琳琳,薛卫京,王海洋

1 泰山医学院,山东泰安,271016;

2 泰安市中心医院,山东泰安,271000

随着信息技术和网络技术的发展,各种医院信息管理系统,如电子病历(EMR)、医学检验系统(LIS)和医学影像存档与传输系统(PACS)在医院得到广泛的应用。但大多数医院的信息系统并不是在同一时期、统一规划的情况下构建的,各信息系统也往往不是同一个开发者开发的,采用的操作系统和数据库管理系统也往往不一样。这样就造成了一个个的信息孤岛,阻碍了信息共享,不能充分发挥各信息管理系统的作用[1]。由此,可以整合各种医学信息的信息系统的平台应运而生。

在传统理念上,信息整合体系建设是基于“数据交换”理念的。如基于XML的数据交换,基于Spring、Hibernate的数据整合[2]。这些理念都要求各个信息系统的数据库是开放的,即在构建信息整合平台时,要熟知各信息系统数据库的结构,数据库中表的各个属性。这对数据库来说是相当不安全的。另外,由于不同的信息系统可能采用的数据库管理软件不同(如有的信息系统可能是Oracle,有的可能是SQL Server),数据库之间存在较大的异构性,因此在进行数据交换前,必须预先定义好双方认可的交换规则和

1 SOA原理及Web Service技术介绍

1.1 SOA原理简介[4]

SOA即面向服务的体系结构,是一种架构模型和一套设计方法学,其目的是最大限度地重用应用程序中立型的服务,以提高IT适应性和效率。它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA的关键是“服务”的概念。因此它的基本由一组服务体系组成[4],如图(1)所示

SOA服务按类别,可划分为服务发布者、服务代理以及服务使用者三种。服务提供者将服务部署到设计不同的接口,否则交换过来的数据将无法使用。因此,采用传统理念的“数据交换”的方式,既存在较大的安全隐患,在技术上实现医院各信息系统的数据有效共享也非常复杂。

本文采用基于SOA理念(service-oriented architecture,面向服务的体系结构)的Web Service技术构建信息整合平台,可以方便地实现医院所有信息系统之间的数据共享和信息交互。而且,采用该技术构建的信息整合平台还具有组件化、松耦合和扩展性良好的特点[3]。web上,服务使用者使用API向服务代理请求需要的服务,当服务代理返回结果后,服务请求者使用这些结果实现应用需求。其中服务代理屏蔽了服务提供者和服务使用者,不必考虑是谁提供服务和为谁服务,为构建大规模、资源重用和松散耦合的分布式系统提供了一个开放的体系结构。

图1 SOA框架Fig.1 Frame of SOA

1.2 Web Service简介[5]

Web Service作为广泛应用的SOA实现技术,是在分布式计算、XML等技术相互融合的基础上,利用HTTP 和 SOAP 协议使数据在 Web 上传输。SOAP通过 HTTP 调用对象执行远程功能调用,Web 用户能够使用 SOAP 和 HTTP通过 Web 调用的方法来调用远程对象,远程对象的差异由Web Service来屏蔽,不需要用户考虑,充分实现了SOA的思想。

2 利用Web Service技术实现医学信息的整合

下面以笔者为某医院开发的医学信息整合平台为例,来介绍一种利用Web Service实现医学信息整合的方案[6],望能为同类开发者提供一种思路。

2.1 平台体系架构及说明

平台体系结构如图2所示:

1)首先发布服务提供者(如PACS、HIS、LIS)的服务接口。

2)建立医学信息整合平台数据库,数据库中存放服务接口的地址。

3)利用Web Service为服务接口创建服务代理。

4)当服务请求者向平台请求服务时,平台的服务器对其进行响应。查询数据库,调用相应的代理。代理调用相应的信息系统服务接口,访问相应信息系统的数据。再将结果返回给服务请求者。

2.2 基于Web Service技术的医学信息整合的实现

图2 基于Web Service技术的医学信息整合平台Fig 2 Medical Data Integration Platform based on Web Service

目前,Web Service技术已是非常成熟的技术,许多开发平台,如.net,JaveEE等均包含Web Service功能[7]。本研究是基于JavaEE平台,开发工具为MyEclipse。

下面以整合平台调用HIS中的病人基本信息(如姓名、性别、家庭住址、联系方式等)及PACS中的病人的图像信息功能,来说明医学信息整合平台的实现过程。

2.2.1 发布服务接口

一般将整合平台的各子系统中的业务逻辑层发布为服务接口。在笔者开发的HIS中,有业务类接口HISBussService,其相关代码如下:

其中,HisBuss为服务接口的名字。同样,可以将PACS中的业务类接口PACSBussService类及其实现类PACSBussSerivceImpl类发布为服务接口,其接口名为PACSBuss。

2.2.2 注册服务器接口

创建医学信息整合平台数据库,在数据库中创建服务接口地址表,内容如下所示。

2.2.3 平台调用服务接口,完成信息整合

做了以上的基础工作后,便可以开发医学信息整合平台的业务接口类及业务实现类,其业务接口类相关代码如下:

其实现整合病人信息的业务逻辑如图3所示。

图3 整合病人信息的业务逻辑Fig.3 The Business logic of the Integrating information of the patients

其工作流程如下:当输入病人的ID号后,程序根据查询数据库,根据服务名(如baseinfo,pimginfo等)查出服务地址(如http://www.his.com/services/HisBuss,http://www.pacs.com/services/PACSBuss等);利用MyEclipse提供的Web Service相关类,构建服务代理;调用代理查询相关信息;整合信息形成所需要的信息[7]。

其代码如下:

其中srvc实例即为HIS系统中的业务类HISBussService的代理,即可完成查询病人基本信息的任务。

3 讨论

综上所述,基于Web Service技术的信息整合平台的优点:

1) 整合开发简单

只要向外发布服务接口,利用Web Service即可实现共享。

2)各类医学信息数据是分布式存放,互不干扰

Web Service并没有在物理上将各个医学信息系统整合在一起,只是构建一个平台对各信息系统进行统一调配,保证了各个信息系统的完整性。因此,实现了医学信息的分布式存储,既满足了各信息系统的具体业务需求,也大大减少了存储介质的压力。

3)建设成本低廉,可方便地融入平台和退出平台

各信息系统只要提供服务接口,并在平台数据库中进行注册,即可融入平台,实现数据的共享,避免了重复开发。如果想退出平台,只要从平台数据库中删除该服务接口记录即可。

4 结束语

本研究只是利用MyEclipse做开发工具,整合了两个Java开发的系统,并没有讨论其他诸如用.net开发工具进行开发,以及如何整合不同语言的系统。但是利用本研究提供的思路,利用各种成熟的开发工具(如Microsoft Visual Studio,JBuilder,Eclipse)等,一定可以方便地整合各种医学信息管理系统,为建立医院全局化的信息管理平台提供了实用的信息平台支撑,进一步提高了医院的管理和服务水平[8]。

[1] 薛卫京, 王海洋, 鲁文, 等. 基于Hibernate的医学信息异构数据库整合的研究[J]. 中国医学装备, 2008, 5(4): 11-13.

[2] 陈功, 于洁, 余泰兰, 等. 医疗数据集成平台的扩展功能和设计[J] . 医疗卫生装备, 2009. 7(39): 59-61.

[3] 王伟, 程文芳, 李四海, 等. SOA理念在“数字海洋”数据体系构建中的应用[J]. 海洋通报2008, 28(4): 36-39.

[4] 李初民, 张萍, 孟建萍. 基于三层结构的医疗综合信息查询系统设计与实现[J]. 中国医学装备, 2006, 11 (3): 36-37.

[5] 吕希艳, 张润彤. 基于SOA的企业信息资源整合[J]. 中国科技论坛, 2006(2) : 104- 105.

[6] 薛卫京, 孟建, 王海洋. 基于SOA理念的医学信息整合平台构建方案[J]. 中国医学装备, 2010, 7(5): 16-18.

[7] 梁爱虎. 精通SOA: 基于服务总线的Struts+EJB+Web Service整合应用开发[M]. 北京: 电子工业出版社, 2007: 119-188.

[8] 黄文灿. ST-SISOA在医保系统的应用[J]. 科技信息, 2007, 11(1):43-45.

猜你喜欢

调用代理信息系统
企业信息系统安全防护
核电项目物项调用管理的应用研究
系统虚拟化环境下客户机系统调用信息捕获与分析①
代理圣诞老人
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
基于ADC法的指挥信息系统效能评估
108名特困生有了“代理妈妈”
胜似妈妈的代理家长
利用RFC技术实现SAP系统接口通信