张振勇,张晓勤,李海琳,管晓福,段 桐 (贵州省人民医院信息科,贵州贵阳550002)
临床路径 (Clinical pathway)[1]是指针对某一疾病建立一套标准化治疗模式与治疗程序,是一个有关临床治疗的综合模式,以循证医学证据和指南为指导来促进治疗组织和疾病管理的方法,最终起到规范医疗行为,减少变异,降低成本,提高质量的作用。
ExtJS技术架构是一种具有代表性的RIA技术,充分完善了UI层,丰富了客户端用户体验,更为重要的是使得B/S的负担得到平衡,减轻了服务器的压力。Web Service是一种具有交互操作性的分布式应用系统架构模式,对外部异构应用系统提供一些能够通过Web服务进行调用的数据交互服务接口。Web Service是目前主要解决异构应用系统集成及数据交换的重要中间件技术之一。下面将详细介绍基于ExtJS技术搭建的临床路径系统架构及Web Service技术解决与医院HIS系统的数据交互问题,实现了电子临床路径信息系统与HIS系统的无缝集成。
RIA是目前较流行的一种Web客户端技术,能较好的完善客户端UI层,改善用户体验,又称富客户端技术。ExtJS技术架构是RIA技术的典型代表,使用JavaScript语言编写,基于事件驱动的与后台无关的Ajax技术架构。ExtJS架构在Web中的应用模型如图1所示。
图1 基于ExtJS的Web应用模型
Web Service是一种面向网络应用的Web服务系统架构。它定义了一系列各异构应用系统如何在Internet上实现互操作的规范化、标准化的Web服务调用接口,极大地提高了应用系统的可扩展性和灵活度,实现了应用软件接口的动态调用。Web Service服务体系架构的目的就是使基于网络开发的异构应用系统之间能够进行数据交换和互操作[2],大大降低开发成本,达到软件的可重用性,开发人员也无需与多种开发平台进行交互。
Web Services系统架构的详细工作模式如图2所示。在图2中,Web Service系统首先通过UDDI服务器进行注册,并发布WSDL所描述的服务接口,供客户端进行调用完成数据交互,这里的客户端可以是Web Client,也可以是异构应用系统接口组件。客户端通过HTTP、SSL等网络协议与Web Service系统进行通信,获取服务接口,并将访问请求以SOAP消息或者HL7消息协议进行封装,传给 Web Service系统。Web Service系统根据客户端所发过来的消息,读取数据库服务器中的数据,然后以XML格式或者基于HL7的XML格式进行编码,将应答消息返回给客户端;客户端通过解析SOAP协议,从XML信息中提取所需要的数据,最终完成异构应用系统间的数据交换。
图2 Web Service的工作模式
HL7是一种医疗行业中应用系统间数据传输协议,也是一种医疗异构信息系统间数据交换的标准。它是由美国HL7[3](Health Level Seven)标准委员会制定的,工作在OSI网络七层模型中的最高层,即应用层[4]。
目前,HL7作为异构信息系统间数据交换标准,被广泛应用在医疗行业中。HL7协议是用XML语言进行表述,因此,它具有XML语言的所有优点。比如它能够支持各种系统环境下的数据交换,具有可扩展性等等。
本医院电子临床路径系统是一款在.NET开发平台上进行开发的,采用了三层架构体系的应用软件系统,结合本医院各系统分布的实际情况,为了让电子临床路径系统能更好的与医院其他系统间业务数据流畅通和有效集成,采用ExtJS技术架构和Web Service技术进行设计和开发,提供服务接口,以便被其他系统调用服务进行数据交换。下文将详细介绍ExtJS架构如何在电子临床路径系统中的应用和与HIS系统之间进行无缝集成。
基于ExtJS的电子临床路径系统的UI层由一系列的ASPX和JS文件组成,以支气管哮喘临床路径执行情况管理为例,分三部分进行详细阐述。
2.1.1 电子临床路径系统的UI层 通过引用3个文件即可将开源的ExtJS技术框架应用到Web开发设计中,分别为CSS文件ext-all、JS文件ext-base和ext-all。CSS文件主要是定义ExtJS框架的显示样式,JS文件ext-base是ExtJS框架的基础库,JS文件ext-all是ExtJS框架的核心库,也称ExtJS内核引擎。在临床路径管理页面PathDefDetails.aspx中加入以下代码实现对ExtJS框架的应用:
为了使ExtJS框架以中文方式呈现为客户还需加入下面的代码:
另外,出于安全考虑和代码可维护性将UI层PathDefDetails.aspx文件的数据显示处理放在Path-DefDetails.js文件中,只需调用该文件即可,也需引入该文件。代码如下:
ExtJS通过自身的UI库FormPanel、GridPanel、Button、Tabs、ToolBar和Tree等主要组件将数据显示出来。临床路径执行情况管理由PathDefDetails.aspx文件进行显示,主要分为基础信息、纳入准则和疗程安排三大模块,对应的数据处理文件为PathDefDetails.js。
临床路径执行情况管理中的每个模块儿都有各自独立的子模块进行数据处理。例如,疗程安排的子模块为PathTreatArrange.aspx,对应的数据处理文件为PathTreatArrange.js。
2.1.2 电子临床路径系统的Model层 业务逻辑层是整个电子临床路径系统的核心,涵盖了所有病种临床路径业务逻辑处理过程。系统在该层中从数据访问模型层获得的数据,以统一的接口向UI层提供服务,将业务和数据实现彻底分离,实现了数据的高可靠性、系统的可移植性,大大提高了开发效率。在上文的UI层中,将用户提交数据请求传给业务逻辑层的PathDefDetails.ashx文件进行数据处理。
2.1.3 电子临床路径系统的Data Access层 数据访问层可将业务逻辑和数据处理分离开来,使系统更加灵活,增强其可移植能力,主要负责封装对数据库进行一系列的数据操作语句,为业务逻辑层提供查询及数据处理的接口。该层主要包括连接数据库层、数据处理层及数据处理接口层三层。通过配置连接数据库层,可以灵活的访问SQL Server、Oracle和MySql等数据库。通过配置数据处理层可以有效的处理电子临床路径系统相关的数据表。通过配置数据处理接口层,可以很方便的为业务逻辑层提供服务,更为重要的是使系统数据安全性增强。实现界面如图3所示。
图3 支气管哮喘路径指向情况管理界面
本院住院区各科室和门诊部都已基本实现医疗业务电子化。本院的HIS系统功能模块比较多,业务比较庞大、复杂。另外,考虑到客户端用户的使用习惯及操作界面,电子临床路径系统的搭建,需要结合目前本院HIS系统的运行情况。因此,电子临床路径系统应具有可扩展性、可集成性、数据可重用性等,易于与其他系统进行集成的特点。本院电子临床路径系统与HIS系统集成框架如图4所示。
本院其他系统 (如HIS系统)可以通过调用Web服务 (HIS_Web_Interface)与CP系统进行数据交互。首先系统会读取电子临床路径系统配置信息,获得Web Service服务接口地址,地址格式为http://[发布 Web Service服务接口的IP地址][:端口号]/ [Web目录]/Web Service.asmx,然后调用Web Service服务接口函数,获得临床路径系统数据,并与之进行数据交换。其中,端口号若为80,则可以省略不写。
采用ExtJS技术架构的电子临床路径系统,不但丰富了客户端用户体验,而且使客户端和服务器之间的负载得到了平衡,与传统的Web服务技术相比,降低了服务器的负载压力。同时引入Web Service技术,实现了电子临床系统与医院HIS系统的无缝集成,解决了医院在信息化建设过程中所遇到信息不流畅、数据孤立的问题,使医院各系统间能更好的相互通信,大大节省了医院系统开发成本,提高信息资源的利用率,也降低了医疗风险,提高了患者的满意度。因此,医院电子临床路径系统的开发采用基于ExtJS和 Web Service技术的临床路径系统解决方案成为首选方案。
图4 电子临床路径系统与HIS系统集成框架图