張振勇,張曉勤,李海琳,管曉福,段 桐 (貴州省人民醫院信息科,貴州貴陽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系統集成框架圖