宋莉莉,郭雪清,李 進,黃正東
(廣州軍區武漢總醫院信息科 湖北 武漢 430070)
電子病歷系統[1-3]是由貫穿完整診療過程(包括門急診、住院、體檢等)的一系列以支持臨床醫師診療為基礎的業務系統組成的有機整體或綜合性系統。它是建立在醫院基礎臨床信息系統(如放射、超聲、檢驗、醫囑、病程以及護理等)之上的綜合應用系統,是對病人在院所有醫療活動的完整記錄。電子病歷系統要求在任何時間任何地點都能夠為授權醫療服務人員提供所需的有關病人的診療信息,以支持高質量的醫療服務。
近年來,隨著醫療改革的不斷深入,建立支持電子病歷全面共享的區域醫療衛生信息系統或平臺已成為當前我國衛生信息化建設的一項重要內容。但由于我國衛生信息化發展不平衡,存在大量的孤立系統、煙囪系統,以及采用不同平臺實現的臨床信息系統,嚴重阻礙了電子病歷的全面共享。平臺無關的Web Service技術使得異構系統的集成成為可能[4-6],本文結合我院電子病歷系統的實施與應用情況,探討基于Web Service的電子病歷系統的體系結構的設計。
Web服務是一種新型的Web應用模式,是Web技術與分布式組件技術融合的產物。在傳統的分布式組件技術中,服務是一個可以通過編程接口訪問的軟件組件,用戶通過使用相應的分布式組件協議 (如DCOM、CORBA和RMI等)訪問這些服務,由于這些協議大都與具體的編程語言(如C++、Java和JavaBeans)或平臺(如DCOM只能在Windows系統中使用)相關,因此應用程序與服務是一種緊耦合的關系,而Web服務技術的出現改變了這一狀況。使用不同平臺和編程語言實現的應用程序與服務通過標準的Web協議 (如HTTP,FTP等)和XML進行通信,為跨領域的異構應用集成提供了全面的技術支持。
W3C組織對Web服務的定義為:“Web服務是由統一資源標識符標識的軟件應用,通過XML實現接口和綁定的定義、描述和發現,同時支持通過基于Interact的協議 (如SOAP)直接與其他使用XML信息的軟件應用程序進行交互"。因此,可以說Web服務是能夠通過使用一系列標準的網絡協議描述、發布、定位和調用的組件,通過標準的接口對軟件組件進行包裝,實現了組件實現與組件描述的分離,服務之間通過調用這些接口來進行交互,從而屏蔽了不同軟件組件之間的具體實現細節。目前有關Web服務技術標準化的研究正在Web服務描述、服務發現和服務組合等各個層次展開,并且已經在工業界和學術界形成了一套廣為接受的基本協議棧,其基本構成如圖1所示。

圖1 Web Service協議棧Fig.1 Web Service protocol stacks
Web Service技術是面向業務的應用集成技術,因此既可以支持醫院內部臨床信息系統的集成也可以支持醫院與其他醫療機構之間的異構集成。目前,醫院內部的集成一般采用基于數據庫和接口的數據集成方式進行集成,很少考慮各臨床信息系統與整個醫院信息系統之間的業務邏輯,甚至存在原有系統與新系統業務之間存在矛盾的情況,給系統部署升級工作帶來了很大麻煩,對工作人員要求也比較高(需要了解所有的業務邏輯)。對于外部集成,采用醫院內部集成方式顯然是不可取的,一方面不利于保護醫院的電子病歷及相關資源的私有性,另一方面也存在較大的安全隱患。
Web Service強調將業務封裝成服務進行發布,并支持跨平臺的服務調用,給出一個基于Web Service的電子病歷系統體系結構如圖2所示。基于Web Service的電子病歷系統邏輯上可以分為3個層次:基礎業務層、服務層和集成應用層。

圖2 基于Web Service的電子病歷系統體系結構Fig.2 Architecture of Web Service-based electronic medical records system
基礎業務層由數據層和醫院內部應用系統兩個層次,這樣區分的原因是在對遺留系統的集成中,對于采用基于數據庫進行集成的子系統,封裝的服務一般直接操作數據庫來實現數據集成(沒有達到業務集成水平),而對于原來采用基于接口方式進行集成的子系統可直接將接口封裝成服務進行發布,而不是直接訪問數據庫。
服務層是整個體系結構中最關鍵的部分,是整個系統的核心。從理論上來說,存在集成應用的系統(如門急診醫生站、住院醫生站、體檢信息系統等)都通過服務層提供的服務接口來實現各臨床子系統數據的集成。服務層是Web Service技術應用的集中體現,包括服務的定義、發布、注冊、發現、綁定、協作、事務協調,以及服務質量管理等,還需要保證XML文檔的高效解析、SOAP消息的可靠傳輸、網絡負載均衡,以及服務狀態持久等關鍵技術問題。內部集成服務主要面向醫院內部各個子臨床信息系統的集成應用,外部集成服務主要是各種對外業務服務接口,如網上預約掛號、跨院轉診,以及數據上報等。
集成應用系統層主要關注數據的一體化表現和業務邏輯的實現,比如醫院內部醫生站中對病人所有診療信息的一體化表現,醫生不需要登陸專門的業務子系統進行察看;還可以在門戶網站中提供預約掛號、跨院轉診,以及數據上報等對外服務連接。
電子病歷系統運行支撐框架的主要功能是處理基于Web Service的服務和數據調用的相關問題,如SOAP消息的封裝與解析,消息的傳輸等,將其進行封裝提供給用戶使用,從而使Web Service的調用像調用本地接口程序一樣簡單。基于Web Service的電子病歷系統采用三層架構進行設計,因此運行支撐框架主要由3個部分組成:
1)數據庫訪問模塊:數據庫訪問模塊實現對數據庫的直接操作,以消除其他應用系統和模塊對數據庫的直接依賴性和耦合性。該模塊以DLL動態庫形式實現,且支持以集群服務器的模式對外提供服務),能夠被任何需要直接訪問數據的應用程序使用。
2)數據庫訪問服務模塊:數據訪問服務模塊通過數據庫訪問模塊為一體化醫護工作站提供面向業務的數據訪問服務。該模塊以Web Service的形式實現,且支持以集群服務器的模式對外提供服務,主要部署在Web Service服務器上。
3)數據訪問服務調用模塊:數據訪問服務調用模塊對數據訪問服務模塊進行封裝,以動態庫的形式部署在客戶端供一體化醫護工作站調用。該模塊主要實現對Web Service形式的數據訪問服務的訪問以及相關的安全控制機制,模塊的接口與數據訪問服務模塊提供的接口一致。
為了順應醫療改革需求,2011年我院組織實施了基于Web Service的電子病歷系統,該系統組織結構如圖3所示。該組織結構從邏輯上可分為4個部分:客戶端、中間層服務器、電子病歷服務器和數據庫系統,其中中間層服務器、電子病歷服務器和數據庫可分開部署也可部署在同一臺計算機上。客戶端對數據庫的訪問均通過中間層服務器提供的Web Service標準接口實現。在具體實施過程中,為了保證我院1 200多臺客戶端對服務層和數據層的訪問效率,一共部署了4臺中間層服務器、一臺電子病歷服務器和一臺HIS數據庫服務器。

圖3 電子病歷系統組織結構Fig.3 Structure of electronic medical records system
目前,基于Web Service的電子病歷系統已實現了與我院多個臨床信息系統的集成 (如圖4所示),如合理用藥系統、檢驗系統、PACS影像系統,以及移動醫護系統等。

圖4 基于Web Service的電子病歷系統應用Fig.4 Application of Web Service-based electronic medical records system
電子病歷系統是醫療過程和活動的全面信息化,不僅僅是病歷的電子化,更重要的價值是能夠為醫護人員提供滿足臨床診療的信息需求,并能夠及時有效的輔助和改善醫護人員的臨床決策。采用平臺無關Web Service技術能夠為電子病歷的跨平臺區域共享提供技術支持,有利于電子病歷的深度利用(科學研究)和基于電子病歷的居民健康檔案的信息化管理。目前,Web Service相關技術在醫院信息系統集成和區域醫療信息化中的運用還處于起步階段[5-7],其應用潛力還需要進一步深化,比如當前使用Web Service技術主要用于數據共享,很少利用其業務層次的共享和協同優勢。從技術角度來看,要在衛生信息化領域充分利用其優勢,一方面需要標準化,建立醫療業務規范和數據標準,并采用平臺無關的WSDL技術進行描述,另一方面還需要進一步提高安全性,減少醫患糾紛,保護病人隱私。
[1]電子病歷基礎架構與數據標準(試行)[S].北京:中華人民共和國衛生部國家中醫藥管理局,2009.
[2]薛望國,李包羅.臨床信息系統與電子病歷[J].中國護理管理,2009,9(2):77-80.XUE Wang-guo,LI Bao-luo.Clinical information system and electronic medical record[J].Chinesf Nursing Management,2009,9(2):77-80.
[3]陳金雄.電子病歷與電子病歷系統[J].醫學衛生裝備,2010,31(10):1-4.CHEN Jin-xiong.Electronic medical record and electronic medical record system[J].Chinese Medical Equipment Joural,2010,31(10):1-4.
[4]Anzbock R,Dustdar S.Modeling and implementing medical web service[J].Data&Knowledge Engineering,2005(55):203-206.
[5]Carlson B.Implementing SOA at the Duke University Health System-The Journeys and How it Enabled Big Wins[C]//Chicago, USA:SOA in Healthcare workshop,2008:15-17.
[6]李玉杰,熊文舉,姜浩娜.基于SOA架構的醫院信息系統集成[J].中國數字醫學,2008,3(8):54-56.LI Yu-jie,XIONG Wen-ju,JIANG Hao-na.Hospital Information System Integration Based on SOA Architecture[J].China Digital Medicine,2008,3(8):54-56.
[7]W3C.Web Service Architecture[EB/OL].(2004-11) http://www.w3c.org/TR/ws-arch.