沈宮建,張偉威,孫贇,王婷
南京中醫藥大學附屬醫院 信息工程部,江蘇 南京 210000
據CHIMA中國醫院信息化狀況統計報告2008~2013白皮書數據表明,到2012年,三甲醫院的信息化應用,門急診醫師工作站系統、病區醫師工作站和電子病歷應用率分別為51.55%、59.14%、46.67%[1-2]。隨著醫院信息化建設的不斷深入,醫院信息系統、電子病歷系統、護理系統、檢驗信息系統、影像信息系統、手術麻醉系統、醫院運營管理系統、急診系統、重癥監護系統、移動醫療系統等逐漸普及[3-7]。
為了實現在各個信息系統之間的數據交互,以前通常在各個異構系統之間開發信息接口。這種傳統的點對點通信模式使得醫院各異構系統間的關系如蛛網般復雜,數據難以互聯互通,影響系統整體的穩定和安全[8-11]。
為解決上述問題,數據交換平臺應運而生。它的出現克服了點對點接口通信模式的不足,降低系統集成的難度和管理的復雜度,實現了全院數據交換與共享。
Ensemble是InterSystems公司開發的一個無縫的集成平臺,用于新型可連接應用的快速開發和聯網。Ensemble在一個統一的“單堆?!奔軜嬛心依巳我怄溄尤蝿账璧娜婕夹g范圍,簡單易用,并可快速完成,非常適用于創建企業服務總線(ESB)或部署面向服務的架構(SOA)。通過解決方案提供基礎系統、應用和服務的統一視圖,從而大大降低了集成項目的復雜性[12]。Ensemble的內部技術構成及關系如圖1。
Ensemble內置了一個預先定制的豐富的適配器庫,同時也是強大的、能自定義現有應用的工具。它提供開箱即用的連接和數據轉換功能,可適用于各種封裝的應用、數據庫、行業標準、協議和技術,包括 SQL、HL7、SOAP、HTTP、FTP、SAP、TCP、LDAP、Pipe、Telnet 和電子郵件。和其他集成解決方案相比,Ensemble具有更快速地連接任何已有信息系統,更快捷地整合跨平臺和跨網絡協議的數據資源的能力。

圖1 Ensemble的內部技術構成圖
Ensemble消息引擎提供可靠的消息交付、基于內容的路由、高效的消息轉換以及同步和異步交互的支持功能。通過獨有的事務位圖索引技術,Ensemble的消息倉庫既可以實時訪問也可以訪問已處理的消息,方便業務行為監控、審計和管理。
Ensemble能夠輕松地構建儀表盤,并將其嵌入集成解決方案。通過儀表盤可以進行業務活動監控和報警,或者分析通過 Ensemble的流量,以實現實時的商業智能和事件處理。
江蘇省中醫院在2015年建立了基于電子病歷的醫院信息平臺,該平臺軟件架構在功能上,由5個層面組成,從下往上依次是醫院基礎應用層、醫院信息平臺信息交換層、醫院信息平臺信息資源層、醫院信息平臺服務層、醫院信息平臺應用層。如圖2。其中,信息交換層由專業的集成平臺工具Ensemble實現,主要實現醫院各應用系統基于數據標準的實體信息交換,同時為醫院信息平臺數據標準化提供技術實現,保障各業務系統的協作和醫院信息資源層的資源標準化獲得。
該集成平臺是基于SOA架構、ESB總線、以Ensemble集成中間件為核心構建的面向數字化醫院集成的應用整合平臺。Ensemble 是唯一的在一個單一、構架一致的產品內將集成服務器、應用服務器、高性能對象數據庫和開發管理環境集為一身的應用整合平臺。在這個集成平臺上,構建了消息數據庫、元數據數據庫、病人主索引數據庫、標準術語數據庫、交換數據數據庫以及相關的應用 。ESB總線可支持HL7、SOAP、EMAI、FTP等主流的開放標準和規范, 建立服務之間的通信、連接、組合和集成的服務動態松耦合機制,具備可插拔的服務協調、傳輸協議轉換、消息轉換和路由的能力,如圖3。

圖2 基于電子病歷的醫院信息平臺架構圖

江蘇省中醫院基于電子病歷的醫療信息平臺項目于2015年7月啟動,歷時一年正式上線,有效地將數據通過信息平臺集成,做到了院內系統的互聯互通,包括基本信息同步、首次病程和大病歷的數據同步、檢驗、檢查、手術麻醉等結果共享,消除了信息孤島,使得醫療流程更規范合理高效,權責更明確,嚴格質控,提高了臨床醫護人員的工作效率。
醫院集成平臺的服務總線ESB支持主流的開放標準和規范,提供可靠的基于事件驅動的消息傳輸機制,建立服務之間的通信、連接、組合和集成的服務動態松耦合機制,為集成異構系統和新建基于SOA的應用系統的服務集成提供了支撐。并在此基礎上,開發面向應用的業務適配器組件,實現了各集成應用之間可管理的接口透明,提供了便捷、一致、安全并符合標準的豐富接口,保證服務之間信息的可靠傳送,實現不同操作系統,不同數據庫、中間件運行平臺及其基于這些平臺之上開發的應用軟件的服務集成。
江蘇省中醫院集成平臺集成了超過14個第三方廠商22個系統的200套接口服務,如表1?;贓nsemble集成平臺的技術構架、標準化消息轉換機制和追溯機制,通過WebService+XML的模式,每天有約600萬條消息通過集成平臺有條不紊地與多個廠商進行數據交互,保障醫院業務正常運行。通過標準服務的發布極大地降低了接口重復性和多廠商接口標準不一致問題,提高醫院數據交互的準確性。
基于Ensemble的集成平臺分為三個層次:數據接口層、業務核心層和數據存儲層。數據接口層包括業務服務(Business Service,BS)和業務操作(Business Operation,BO);業務核心層包括業務流程(Business Process,BP);數據存儲層主要負責元數據的存儲以及各種消息定義等。
Ensemble的集成平臺的消息傳送機制如下:BS負責接收消息對象并將其轉換成請求發送給BP;BP接收到請求消息后,負責消息的內部邏輯處理;BO屬于平臺對外的交互窗口,負責接收BP的消息,并將其映射到指定外部應用。

表1 集成平臺接口服務列表
集成平臺自帶的消息跟蹤視圖能夠實時追蹤每一條消息的流轉過程。如圖4所示,系統可視化的追蹤了在中午11點高峰期的HIS傳送給集成平臺的某條消息,從消息發出到消息響應經過了BS、BP、BO三個過程,總計時間47 ms[13-14]。

圖4 消息跟蹤視圖
江蘇省中醫院日均門診量高達1.8萬人次,位列江蘇省第一?;贓nsemble 的集成平臺在高峰期仍能保持毫秒級的消息響應,顯著提高了門診的工作效率。
此外,通過Ensemble 2016核心組件對醫院各項業務交互進行分離和邏輯校驗、對交互日志進行詳細保存追蹤,同時具備消息自動補發、自動重發、編輯重發等多類型業務,滿足醫院特殊情況下批量消息重發條件。
作為大型三甲醫院,集成平臺不僅需要能夠高效處理海量數據,而且更重要的是能夠提供強力的安全保障,保證系統不宕機。采用Ensemble 2016的Mirror功能進行容災,可以做到真正意義的容災。傳統的雙機軟件只能保證數據庫啟動正常,并不能處理數據庫內部接口Production的起停,需要手工啟動Production,業務并非全連續狀態。但是,Ensemble 2016的Mirror功能采用了2個Mirror服務器和1個仲裁服務器。兩個Mirror服務器實現實時同步,當Primary出現宕機情況時,Backup直接自動接管業務。在做Primary和Backup之間切換同時也會對Production進行錯誤恢復,并在Primary節點重新啟動,從而保證業務的全連續,見圖5。

圖5 Mirror容災
基于Ensemble的醫院信息系統集成平臺實現了醫院內部信息系統與第三方信息系統集成,以及醫院內部信息系統同外部系統集成,使得各信息系統之間能夠互聯互通,并能清晰監督系統之間信息交互過程。從而構建全院級的病人主索引和電子病歷,打破信息壁壘,實現不同信息系統、機構部門間信息資源以及業務流程的整合;能夠實現與外部系統互聯互通,滿足區域的信息共享與協同及醫療衛生監督管理要求?;贓nsemble的醫院信息系統集成平臺能夠以毫秒級的速度處理海量的醫療數據,其高效性、兼容性、穩定性可滿足大型三甲醫院的信息需求。