医院信息系统存在多个应用并存的局面,这些应用由不同的公司开发,使用不同的标准规范、不同的平台、不同的开发技术,相互之间没有联系,如果缺乏有效集成,将严重制约医院信息系统的发展。与此同时,由于“区域协同医疗服务”逐渐深入开展,在考虑系统集成时,不仅要考虑传统意义上的医院内部各应用系统之间的互联互通与信息共享,还要考虑不同的医疗卫生服务机构之间的互联互通与信息共享。无论从医院内部系统的集成考虑,还是为满足医院与外界系统之间的信息交换考虑,医院信息集成都成为医院信息化进一步发展的重要环节。
随着医院信息化的发展,为了方便病人就诊,提高就诊效率和水平,以医院本身的一个个相互独立的信息系统是无法满足这样的需求的。由于缺少不同系统相互集成的技术,导致很多关键的信息被封闭在相互独立的系统中。部门之间重复着冗余的工作,这直接导致了医院工作效率的降低和运营成本的上升。因此,如何将这些不同的信息系统整合集成在一起,是当前医院信息化面临的最紧迫和最重要的问题。
集成设计思想
企业应用集成(enterprise application integration,EAI)被定义为将进程、软件、标准和硬件联合起来,在两个或更多的企业系统之间实现无缝集成,使它们就像一个整体一样。
EAI技术可以实施在不同的层,分别是数据层、应用层和表示层。根据其实施机制分为4种集成模型。
1. 数据级集成 当一个企业开始集成工作的时候,常常把数据级集成作为起点,数据级集成重点解决在应用程序间移动数据的问题,目的是使这些不同的应用程序之间共享相同的数据。如医院信息系统中由财务物价统一管理检查项目的价格,其他应用中只能调用,但应保证各个应用中的价格统一。数据级集成相对简单,不要求对应用程序进行改动。
2. 应用接口级集成 应用接口级集成允许一个应用程序使用其他应用程序中的某些功能。通常是通过应用程序提供的应用编程接口(API)来实现。如在放射科信息系统,病人在检查中可能会临时增加用药划价,实施应用接口级集成后,应允许放射科通过HIS接口调用门诊划价的功能。
3. 方法级集成 是在应用接口集成的基础上共享应用之间的业务逻辑来集成信息系统,通过业务流程控制自动完成不同应用间的功能调用,对客户端是透明的。还用上面的例子,在放射科为病人追加药品收费时,先调用药房系统接口,确认该药库存不为零,再调用划价接口执行划价功能。
4. 应用界面级集成 通过开发一个统一的表示层,可以把正在执行的不同的应用程序的后台细节隐藏起来,不必在现有的应用之间进行切换。
通常,构建一个完整的集成体系以上的4个步骤应该是缺一不可的。当然,可以直接进行较高级别的集成,但是较低级别的工作往往是基础工作,是实施较高级别集成成功的保证。
系统集成实施特点
(一)数据冗余控制
医院信息系统每天要产生大量的数据,应用系统的集成可以较好地控制数据冗余。最理想的控制冗余的方法是建立中心数据库,尽可能地减少冗余数据:当需要调用时,通过消息代理发出请求,然后获得所需数据。当然这会大大增加网络的负载,直接影响应用的反应速度和处理效率,这也是这种做法在实时性要求很强的医院信息系统中应用的障碍。
医院各个信息系统中的冗余数据主要来自两个方面:数据字典和病人就诊信息。数据字典在每个应用中都需要大量调用,但数据量不大,且增长缓慢,如物价字典临床科室的应用都要使用,只有二三千条记录,而一个日门诊量一千人的医院病人就诊信息一天就可达到万条,且各应用间存在大量冗余数据。因此,医院各个信息系统仍应保留与其相关的字典,并通过消息代理保持其数据的一致性。为了减轻各应用服务器的存贮负担,同时提高数据存取的速度,可考虑建立历史数据库。如将3个月中没有再看过病的病人信息迁移到历史数据库,以备以后查询,各个应用中便可不再保留。
(二)数据映射
医院信息系统的集成中,使用国际通用的医疗数据交换标准HL7作为标准,一个应用的数据要转换成HL7标准格式,再经消息代理,将HL7标准格式的数据经过转换写人另一个应用中,这就要用到数据映射,主要是各个应用的数据与HL7标准数据的映射。HL7 标准在国内推广的时间并不长,因此现存的应用系统大多未按HL7标准建立相应的数据模型。分布式数据库中的数据映射主要有两种:语法映射和语义映射。
1. 语法映射 主要包括字段的名称、顺序、长度及类型不同,或字段需要合并、分解等。
2. 语义映射 指数据代表的含义不同,如HL7中的性别分别用“F代表男,M代表女,U代表不详”表示,而应用常常用“1代表男,2代表女,0代表不详”表示。完成数据映射的主要工作是建立数据映射表,它将在系统集成中起到举足轻重的作用。
(三)标准本地化
信息化的基础是标准化。如目前国际上广泛使用HL7标准毕竟是参照西方国家医疗制度制订的,与中国的医疗制度大相径庭。如HL7协议中姓名的字段将姓和名分开来存,而中国人名与姓没有分隔;HL7中PID段有一项社会保险号(SSN number),而中国无此定义;HL7 中每个病人有一账号(account number),而中国则有公费、自费、医保等多种类型。HL7 中为标准的本地化和客户化作了一定的设计,所有以字母“Z”开头的消息类型和触发事件代码都是为定义本地消息而保留的。