分布式医疗信息系统互联技术

2012-11-16 03:42刘芳
中国医疗设备 2012年5期
关键词:调用病案网关

刘芳

南通市通州区人民医院 信息科,江苏南通 226300

分布式医疗信息系统互联技术

刘芳

南通市通州区人民医院 信息科,江苏南通 226300

本文对目前医疗信息系统的各种互连技术进行了较为深入的讨论,分析了各种互联技术的优缺点,指出基于Web Services的互联技术是目前最理想的技术。Web Services对于异步回调的支持非常简单易用,其性能和安全性也非常出色。

医疗信息系统集成;Web Services;异步回调;HIS

0 前言

某医院目前已经有了HIS系统、病案管理系统、LIS系统、PACS系统、知识管理系统、行政OA系统等多个子系统,信息化应用到了一个比较好的水平,但是各个系统之间信息交流不畅,系统之间的集成成为目前信息化工作的主要任务。

1 目前子系统之间的互联方式

1.1 数据库之间的互联

两个子系统数据库服务器之间,相互开放一些数据库表,按照双方的约定,让对方查询和填写。优点是:使用的技术最简单,直接方便,信息传输的性能最好。缺点也很明显:① 直接暴露了子系统内部的数据结构,数据不安全;② 分布式环境下,ODBC可能因为不同网络和防火墙的阻碍而根本无法互联。③ 接口程序和数据库结构直接相关,无法通用,为互联不同厂家的子系统就要重写一套接口。数据库之间直接互联的示意图,见图1。

互联的实例:HIS系统与病案系统的互联就采用2个系统的数据库直接连接的方法。HIS系统通过定时执行存储过程将出院病人信息发布到病案系统的数据库中。

1.2 编写专用网关

通过1个专用网关作为两个系统的连接点,2个系统在同1台机器上各自运行一个应用程序,每一方都既作为数据的提供者也作为数据的请求者,相互传递的数据格式一般是双方协商好的,也可以采用一些国家标准和行业标准的数据格式。

数据交换的方式可以有多种:

(1)可以通过操作系统两个进程之间的Windows Message 传递数据;

(2)通过文件或者共享内存来传递数据;

(3)直接通过TCP IP来传输数据。如果通过TCP/IP的话,可以不要求2个程序一定要运行在1台机器上,可以运行在物理上不同的计算机上,只要两台计算机的TCP协议能够连通即可。

用专用网管互联的优点是:接口不直接依赖于数据库,安全性加强了;接口程序比较通用,将来可以复用。缺点是:子系统之间的集成只能依靠网关程序交换数据。非常死板。各子系统的服务器或者客户端之间无法直接相互通信,在一些场合下,子系统间的实时通信和异步调用是必须的,但是单独的网关程序很难胜任这种集成要求。采用网关互联的示意图,见图2。

互联实例:HIS系统和PACS系统之间的互联。HIS与PACS工作在不同的子网中,设置1台专用PC,这台PC既可以连接HIS也可以连接PACS,在这台PC上运行HIS网关程序和PACS网关程序,这两个程序通过Windows Message消息通信以及共享内存区来相互提供数据。步骤是:首先一方有了新数据后先放到共享内存区,然后通过发送Windows Message通知另一方有新的数据要取,另一方在接收到消息后立即在共享内存区取这些数据并保存到数据库中。

1.3 基于Web Services的互联

每个子系统提供一组Web Services接口,提供者一般是1台Application Server。就目前的编程技术和网络技术而言,笔者认为这是最理想的系统之间的互联方式。是今后系统之间互联的主要方法,Web Services正是时下流行的企业级信息系统SOA架构的基础。集成示意图,见图3。

从图3可以看到,系统A的任何一台工作站都可以访问系统B的Web Services接口。用Web Services互联的优点:

(1)就Web Services数据传输和调用访问的网络协议基于HTTP协议,本身数据的编码协议是基于XML的SOAP协议,SOAP协议已经被纳入了国际标准,因此Web Services可以跨越不同的操作系统、各种子网和防火墙而进行互操作。

(2)Web Services本身就是分布式的组件模型架构,彻底脱离对数据库结构的依赖。

(3)调用Web Services 接口非常方便,其他子系统中的任何客户端只要通过安全认证即可无障碍地调用本系统的所有授权Web Services 接口,扩展性极佳。

(4)Web Services 2.0支持异步回调,这是非常重要的特性,对于提高系统性能和降低网络流量有非常重要的意义。

(5)数据格式采用XML格式,XML格式是自描述的语言,可以描述复杂的数据结构。

(6)通过长时间不懈的优化,目前Web Services在性能上也毫不逊色于COM+和CORBA等传统的分布式编程框架。

1.4 Web Services接口的安全问题

为了保证两个子系统的安全,提供Web Services接口的子系统这里简称服务者,使用Web Services接口的子系统这里简称客户。服务者应该为客户提供1个账号,但是密码应该是加密后的字符串。加密算法和密钥都应该保密。由客户先调用1个Web Services得到该帐号和加密后的密码,将帐号信息和密码信息编码到SOAP头中,调用服务者的Web Services接口。凡是SOAP头中没有合法账户和密码信息的Web Services调用都将视为非法,服务者将不予理睬。这样的安全性远高于数据库集成的安全性。

Web Services的传输协议可以配置成HTTPS访问协议,并对传输的XML数据进行加密。

安全也要付出代价,HTTPS协议要慢于HTTP协议,XML数据的加密和解密也要耗费时间和CPU资源。

2 采用Web Services的互联实例

下面通过一些互联实例来分析 Web Services的优势。

2.1 HIS系统与病案管理系统的互联

HIS系统提供一系列Web Services接口,供病案管理系统调用。接口所提供的数据包括:提供出院病人基本信息和病人类型,住院时间、出院时间、疾病信息、费用信息、费用信息明细分类等。数据可以用XML格式编码。

病案管理系统还将调用HIS的Web Services 接口,通知HIS系统哪些病人已经进入了病案管理系统。

2.2 HIS系统与PACS系统的互联

HIS系统向PACS系统提供病人基本信息以及其他相关信息。PACS系统向HIS系统发送图像,2个系统之间相互传递数据。

HIS系统开放1组提供病人基本信息的Web Services接口。

PACS系统向HIS系统开发查询病人医疗图像的Web Services接口。

一般情况下,PACS系统都会提供1个客户端的图像查询和显示的ActiveX组件,该组件可以方便地嵌入到HIS系统中,而且图像查询和显示功能非常专业。笔者认为如果让ActiveX通过Web Services去访问PACS的图像数据,这将是最好的解决方案。

2.3 HIS系统与数据查询和辅助决策系统的互联

数据查询和辅助决策系统(简称DQDAS)是非常重要的子系统,该系统对HIS、LIS、PACS等系统产生的大量数据进行分析和汇总,为医院的管理者提供极有价值的信息。

例如,药品收入和医技收入是医院收入的主要组成部分,这两部分收入的分布和明细以及相互之间的比例是医院管理者高度关注的重要信息。

医疗费用发生的原始数据一般存放在HIS系统内,而DQDAS通过获取原始数据并加载到自己的数据仓库内,并为用户生成相关的数据查询视图。

HIS系统提供的原始数据的粒度越细,DQDAS就能为客户提供更多不同角度的视图并允许用户对数据进行深入的挖掘。

例如,如果HIS提供的药品收入包含以下的分类信息,那么DQDAS将可以从以下视图去观察医院的药品收入:①就诊类别:住院、门诊、急诊;② 病人类型:医保、自费、农保、镇保、离休等;③ 开处方或医嘱医生;④ 就诊科室;⑤ 医保范围或自费药;⑥ 自负比例;⑦ 药品类型:西药、中成药、中药;⑧ 剂型:针剂、片剂、胶囊等。

HIS系统开放1组提供原始数据的接口,DQDAS系统通过调用Web Services接口获取原始数据并装载到数据仓库中,同时这组接口也可以被HIS系统内的报表系统所调用。

2.4 HIS系统与LIS系统的互联

LIS要向HIS系统查询病人信息,HIS系统开放1组查询病人信息的Web Services接口,这些接口和开放给PACS系统的接口是一样的。

医生工作站可以随时查询LIS的报告数据。LIS系统开放1组Web Services接口,供HIS系统的各个模块所使用。门诊医生工作站、护士工作站、住院医生工作站、甚至自助查询都可以使用该接口来查询LIS报告,HIS系统也不用专门存储LIS的报告数据。使用LIS接口就像使用HIS系统的内部模块接口一样方便。Web Services使得2个系统互联得如同1个系统。

2.5 Web Services异步调用的互联和应用

一般情况下,Web Services 接口都是普通的同步接口,在某些场合下,我们必须采用异步回调的Web Services接口,即客户端调用Web Services服务器接口后,继续做别的事情,等待服务器对客户端注册的某个函数进行回调。同步调用和异步回调图,见图4。

本文设计的机器人化端口打磨装备具有易便携、体积小、自动化程度高、适应多种管径的特点[8]。该装备通过机械式夹紧方式使整机沿端口作周向转动,需要具有一定的预紧力。为了验证该打磨机器人的工作可靠性,制作了一台样机并进行现场试验。在施加预紧力的作用下,配合主动轮和从动轮将打磨机器人固定在管道上[9-10],开启驱动电机和伺服电机进行打磨试验[8,11]。

考虑以下的应用场景:医生想在医生工作站程序中浏览,重症监护室中的每个病人的实时情况。这些实时信息主要是监护仪产生的心电监护数据,网络系统要将监护数据的变化实时通知给HIS系统的医生工作站。

医生工作站查询监护仪中数据的方式有2种:

(1)医生工作站不断轮询重症监护系统得到数据,这种方式非常低效,如果查询数据的程序性能也低的话,这种方式将非常低效。

(2)事件通知方式,医生工作站调用重症监护系统的Web Services接口并要求获得病人的相关数据,同时把医生工作站显示监护数据的函数接口注册进去。当重症监护系统有新的数据后,该接口会自动调用医生工作站所注册的函数接口,并把数据作为参数传进去显示在医生工作站的界面上。

用Visual Studio 2005具体实现异步回调Web Services的步骤是:

(1)创建 数据服务 的Web Services 类, 例如类叫:CardiogramService。

(2) 用WSDL.exe为 CardiogramService 生成2个异步方法:BeginProvideCardiogramData 和 EndProvideCardiogramData.

(3)在客户端程序中创建1个基于 AsyncCallback 的委托函数,委托函数的参数类型是IAsyncResult,在这个委托函数中编写显示数据的逻辑。

(5)服务器端有了新的数据后,会回调客户端传过来的委托,将数据传给委托函数,委托函数将把数据显示在客户端界面上。

总之,Web Services的异步回调的方法很容易理解,也比较容易实现。

3 结束语

本文通过对几种系统互联的方法进行了分析,比较了它们的优缺点,显示出通过Web services进行系统互联的方法的优势,特别是Web Services为我们提供了易于理解和简单易用的异步回调方法,因此,它是系统之间互联的最好方法。

Web services本质上是一种跨平台的分布式软件开发模型,通过Web Services调用,使得系统之间的互联和系统内部的模块调用是一致的,使得互联过程非常自然,也非常容易实现。

在安全性方面,通过用户身份认证,以及对用户帐户和密码加密,采用HTTPS协议等措施,保证集成的安全性。

性能方面,随着各大软件公司对各自的Web Services底层库的不断优化,它的性能越来越好,并不逊色于COM+、CORBA、EJB等这些传统的分布式软件开发架构。

总之基于Web Services的互联方法,是目前子系统间互联的最好方法。

[1] Eric Newcomer,Greg Lomow.Understanding SOA with Web Services中文版[M].徐涵,译.北京:电子工业出版社,2006.

[2] Joseph Bustos,Karli Watson.NET Web服务入门经典——C#编程篇[M].侯彧,译.北京:清华大学出版社,2003.

[3] BRET HARTMAN,DONALD J.FLINN.全面掌握WEB服务安全性[M].杨硕,译.北京:清华大学出版社,2004.

[4] 何龄修,读顾城.基于Web Services XML-RPC的医院HIS/RIS集成研究与实现[J].计算机工程与设计,2006(11):47-50.

[5] 李晓云,张建春,李昌青,等.基于IHE技术构架的医疗信息系统的连接点[J].医疗卫生装备,2011,(4):92-93.

[6] 周庆利,何剑虎,刘军.LIS与HIS集成研究[J].生物医学工程杂志,2008(12):1294-1298.

Distributed Medical Information System Interconnection Technology

LIU Fang
Information Center, Tongzhou District People's Hospital of Nantong, Nantong Jiangsu 226300, China

This paper deeply discusses some methods that integrate with different medical information systems, and analyzes their advantages and disadvantages, then points out that the method based on Web Services is the best among these methods. Web Services support mechanism of Asynchronous Callback is simple and easy to use. The performance and security of Web Services are all very excellent.

integrate with different medical information system; web services; asynchronous callback;HIS

TP311

A

10.3969/j.issn.1674-1633.2012.05.037

1674-1633(2012)05-0108-03

2011-12-08

作者邮箱:tzliufang@yahoo.com.cn

猜你喜欢
调用病案网关
基于FPGA的工业TSN融合网关设计
基于二维码的病案示踪系统开发与应用
试析病案管理中预防病案错位发生的方法
核电项目物项调用管理的应用研究
系统虚拟化环境下客户机系统调用信息捕获与分析①
信号系统网关设备的优化
天地一体化网络地面软网关技术及其应用
基于ETC在线支付网关的停车场收费系统设计
PDCA循环改进对病案首页中主要诊断正确选择的影响分析
医院病案管理与改进策略初探