APP下载

HIS系统Web Services接口设计与实现

2011-10-09保鹏飞

中国医疗设备 2011年4期
关键词:系统集成调用应用程序

余 浩,保鹏飞

解放军总医院 医学保障部计算应用与管理科,北京 100853

HIS系统Web Services接口设计与实现

余 浩,保鹏飞

解放军总医院 医学保障部计算应用与管理科,北京 100853

使用Web Services技术实现LIS、PACS等业务子系统与HIS系统信息集成,消除信息孤岛。对HIS中常用的、需对外公开的功能和服务最小子集进行了总结和梳理,并按照“按需定制”的方式对接口进行扩展,以适应新接入的系统。该接口既保证HIS系统的独立性,又实现了HIS系统的开放性,使军卫一号HIS系统成为一个可与第三方系统互联互通,而且又是安全、可控的系统。

HIS;军卫一号;Web Services接口;信息集成;系统集成

1 背景

在大型医院运行的众多信息系统中,除HIS外,还有许多与辅助业务相关的信息系统,如LIS系统、PACS系统及各个医学专科系统等。各专科系统需要从HIS中获取病人的基本信息,同时各专科系统又需要把结果信息回传至HIS中。如何实现各个系统之间的信息交互、信息共享,需要找到一个较为合适的方式、方法来解决此类应用。

Web Services接口是实现系统间信息集成的主要技术手段之一,各个系统以松耦合方式连接,实现信息传递,Web Services方式是一种被动的数据交互方式,数据交互的时机取决于调用方。除Web Services方式外,还有中间表方式和HL7消息传递方式。

在中间表方式中,各系统要连接到中间表所在的数据库,系统间是一种紧密连接关系。中间表方式的另外一个关键技术就是数据库触发器,其触发机制与数据的变化紧密相关,而应用程序对后台数据的处理过程及方式发生变化时,相关联的触发器,有可能失效或出现意外的触发,同时也不能处理相对复杂的逻辑过程。

在消息传递方式中,如使用自定义的消息格式,那么进行互联的系统间,需要对消息格式进行协商和调整。当使用国际标准HL7协议[1],开发的接口引擎,需要实现完善的应用层通讯机制,以保证消息准确达到目的方,另外,还要确保互联各方系统对HL7格式理解高度一致,使HL7消息中所承载的净荷,能够被获取和正确解析。

在实际开发中使用Web Services方式来完成信息交互,此方法简单、可靠、实用,且开发的接口可复用。

2 关键名词与Web Services概述

2.1 关键名词

根据我们使用和研发经验,结合相关文献[2-3],对信息集成、系统集成做如下定义:

信息集成:亦即数据集成,通过解决数据分布性和异构性问题,使各系统中的信息一致,实现全系统信息共享,进而可保障相关应用软件间的交互和有序工作。

系统集成:是指将不同的业务系统,根据应用需要,有机地组合成一体化、可互操作、功能更加强大的新系统的过程和方法。系统集成包括设备系统集成和应用系统集成。本文中所说的系统集成主要还是应用软件系统集成。

信息集成是系统集成的基础,系统集成中往往包含信息集成的内容。

Web Services是Web应用程序的一个分支,他们是自包含、自描述、模块化的应用,可以发布、定位、供外部系统以Web方式调用[4-5],已成为一种重要的信息或系统集成方法。

2.2 Web Services主要使用的两种技术

(1)XML,XML是在Web上传送结构化数据的方式,XML是Web Services平台中表示数据的基本格式,使Web Services能十分方便的处理数据。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。

(2)SOAP(Simple Object Access Protocol),即简单对象访问协议,它是用于交换XML编码信息的轻量级协议,用于在分散的分布式环境下交换信息的轻量级协议。

另外,Web Services还有两种辅助、但不可缺少的技术:

(1)WSDL,Web Services描述语言。就是用机器能阅读的方式提供一个正式描述,基于XML的文档,用于描述Web Services及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。规定了对服务的描述方式,通过对服务的完整描述,服务请求者可以知道服务的访问方式和具体位置,服务开发者也可以以此接口为标准,开发相兼容的服务。

(2)UDDI,是统一描述、发现和集成(Universal Description, Discovery, and Integration)的缩写。它是一个基于XML的跨平台的描述规范,可以使世界范围内的企业在互联网上发布自己所提供的服务。

3 接口体系结构

开发的HIS的Web Services服务最后部署在IIS 6.0安装包中,安装在一个独立的PC服务器上,形成了对HIS的一个封装,以供第三方系统调用,实现HIS系统与外部系统之间的信息交换。整个接口系统的结构简单、清晰,也就是在HIS系统的边界,增加了一个系统接口层(也可叫接口服务层),与第三方系统进行信息交换,实现信息整合。在对接口参数及形式进行约定和定义后,HIS系统内部及第三方系统内部如何变化,均不会对接口造成影响。接口体系结构如图1所示。

图1 Web Services接口体系结构

接口层是HIS子系统之一,同时也是HIS的功能延伸,形成了与外界系统信息交互的通道,使HIS成为一个开放的系统。

4 接口功能集

按照最终数据流向,接口中信息交互功能最小集主要分为两类:

(1)数据提供类。即对外部系统提供信息,信息的流向是从HIS到外部系统。

(2)数据回写类。给外部系统写入数据用,信息流向是从外部系统到HIS。

这两大类接口功能集构成了HIS系统的API(应用程序编程接口),以Web Services方式供外部系统调用,实现了系统间信息交互和集成。

4.1 数据提供类功能

通过对外部系统对信息交互的汇总和分析,结合我们多年的开发、使用经验,交互内容涉及病人就医过程的各个关键环节的信息。我们对HIS系统对外服务功能进行抽象和汇聚,开发了8项服务功能:① 病人自然信息获取;② 病人住院信息获取;③ 病人医嘱信息获取;④ 病人体征信息获取;⑤ 病历文件获取;⑥ 检验信息获取;⑦ 检查信息;⑧ 手术相关信息获取。

在病历文件获取中,为了保持病历文件的原始样式,HIS中对医生书写的病历文件是以图片保存的,为了使系统能够这类文件数据进行传输,服务首先需要将这类文件数据转换为BASE64格式,然后进行传输,第三方系统接收到这些BASE64数据后,需要把这些数据还原为文件的形式,然后进行后续的内容展现。

以上这些服务基本满足第三方系统接入HIS时,信息集成在业务数据方面的需要。

除了业务数据外,HIS系统还需要提供字典数据同步的服务,同步的主要数据最关键的是经常维护的字典数据,如价表、检查检验申请项目等。其他的字典数据维护,则需要各个系统各自进行维护。

4.2 数据回写功能

开发供外部系统调用的Web Services接口服务,主要是用于将外部系统产生的一些业务结果数据,及发生的费用信息反馈给HIS系统(主系统)中。这是一种被动的数据写入方式,其主动性完全在接口服务的调用方。虽然通过Web Services接口通常只是从接口提供处获取信息,但这种方式工作,也可实现外部系统传入数据的写入功能。

外部系统要成功地实现信息的反馈,需要按照接口的参数结构,对数据进行组织,即遵从Web Services调用规范,并对调用结果进行判断,以实现反馈信息的正常写入。

已经开发的功能包括:费用信息回写、检验结果回写功能(以供第三方LIS系统结果回写操作)。

以上所有接口服务功能是根据现有的应用需求确定的,对于后续的扩展性需求,我们还将采用需求定制、逐步扩增的方式进行。

4.3 接口安全策略

接口的应用环境主要限于局域网环境,而非互联网下,但既是在局域网环境中,也会面临病毒、恶意代码之类的威胁,所以,Web Services的安全性也是一个不得不考虑的问题。

业界对于Web应用程序的安全性,有3个层面的解决策略[6]:① 传输级安全解决方案,即点到点的解决方案;② 应用程序级安全解决方案,可以采用自定义的方案;③消息级解决方案,是端到端的解决方案。

我们主要使用应用程序级,采用自定义方案来解决其安全性,其策略主要4种方案:

(1)IP地址限制。IP地址限制是主要安全保证策略,也就是说,只有处于白名单上的IP地址信息的机器,才可以对Web Services进行访问,其他的IP地址的计算机则没有访问权限。该策略通过在IIS中进行相关的配置即可。

(2)用户身份验证。对每次调用服务时,调用方需要提供身份信息(如用户名+口令的形式),只有通过身份校验的用户,才可以访问相关的信息服务。

(3)SOAP扩展。即在SOAP头加入身份认证信息(称为Passport)。Passport在SOAP头是个报文数据,包含执行身份验证需要的信息。Passport使用事务标识来防止重放攻击,即由服务端发出事务标识供客户端使用,客户端发出请求时必须包括该事务标识,当服务端响应后,服务端注销原来的事务标识并生成新的事务标识。该策略可以阻止重放攻击、数据拦截和篡改等恶意行为。另外可以使用定制的SOAP 头来实现其安全性。

(4)Web Services Security,利用数字证书、安全令牌来实现WS相关的安全性方面的要求,它代表了Web服务安全性的未来[7]。该方案属于消息级安全解决方案,我们的系统当前没有实现,将其作为系统安全性将来努力的方向。

以上4种方案,其安全性能是逐步加强的,但其应用的复杂度也是增加的。另外一方面的问题是,并不是所有的应用都需要同一类安全模式,这需要由实际数据的安全级别来决定。在我们的局域网环境中,主要使用策略(1)和(2)。

5 接口特点

总结以上内容,我们开发的Web Services接口有以下4个特点:

(1)被动的信息集成方式。数据的获取时机取决于数据获取方,故Web Services接口技术主要适用于主动获取信息的方式,即主动性在调用方。

(2)实现了双向的数据流动。通过Web Services方式,不仅实现了从HIS中获取数据,还实现了外部系统向HIS写入数据的功能。

(3)所有的接口形成了HIS的接口层,是HIS功能的扩展,同时也是HIS与外界系统进行信息交互的通道,甚至可以把该层的接口功能当作HIS系统的API,以供第三方系统开发调用。

(4)Web Services有不同层次的安全策略,由不同的环境和应用场景来决定。

6 总结

Web Services接口的实施和应用,已经实现了与第三方系统的信息集成(如血液病科信息系统、输血科信息系统等),接口运行稳定,信息交互流畅。医院新引入的业务系统能够通过这种方式,使用已经开发的Web Services接口实现与HIS连接。

在信息集成的应用场景中,Web Services接口方式是一种较好的选择。而进行系统集成时,相伴而来的首先是信息集成,是系统集成的基础,所以无论是信息集成,还是系统集成,Web Services接口是一种较好的集成方法。

[1]王晔,等.基于HL7 CDA的InfoPath电子病历系统设计[J].中国医疗设备,2009,24(8):66-69.

[2]黄卫平,等.我院排队叫号管理系统与HIS系统数据接口的实现[J].中国医疗设备,2010,25(5):42-43.

[3]彭武良,周丽,等.企业应用集成技术综述[J].计算机应用研究,2007,(9):12-15.

[4]王西龙. ASP.NET应用程序安全性研究[J].西安邮电学院学报, 2010,(1):130-133.

[5]江舢.基于Web的医学图像数据库系统设计[D].广州:第一军医大学, 2007.

[6]柴晓路,梁宇路. Web Services技术、架构和应用[M].电子工业出版社.2003.

[7]Billy Lim, Sri Ram Ajjarapu, Krishna Thummala. Interfacing with Amazon Web Services Using Java and.NET:A Comparative Study. Billy Lim; Sri Ram Ajjarapu; Krishna Thummala[J].Journal of Internet Commerce,2004(11):358-364.

Web Services Interface Design and Implementation in HIS

YU Hao, BAO Peng-fei
Computer Section, General Hospital of PLA, Beijing, 100853, China

TP393.03

A

10.3969/j.issn.1674-1633.2011.04.013

1674-1633(2011)04-0043-03

2011-02-12

作者邮箱:yuhao05@tsinghua.org.cn

Abstract:To archive the information integration of business information system and HIS and eliminates the information island, the Web Services approach is a good choice which has low costs of development and operation. At the same time, Web Services is the commonly used integration technology in the industry.In addition, we collect and summarize the minimal set of interface in HIS, and expand the interface in accordance with the on-demand approach for fitting the new system. This interface not only ensures the independence of HIS, but also realizes the openness of HIS. Thus, the Military No.1 system is a secure and controllable system which is open to the 3rd party system.

Key words:No.1 Military Project; HIS; Web Services interface; information integration; system integration

猜你喜欢

系统集成调用应用程序
加氢站与调压站能源供应系统集成技术及应用
核电项目物项调用管理的应用研究
删除Win10中自带的应用程序
系统虚拟化环境下客户机系统调用信息捕获与分析①
谷歌禁止加密货币应用程序
工业企业系统集成技术 系统集成技术与信息化集成系统(下)
“系统集成”式的改革
车牌识别与视频监控系统集成探讨
利用RFC技术实现SAP系统接口通信
三星电子将开设应用程序下载商店