醫學衛生機構之間共用臨床與醫學健康資訊的能力是當今醫學行業內面臨的主要挑戰之一,現有的醫學機構應用系統由於採用了不同標準、資料模型或者實現平台,在需要資料共用時候,常常根據某些特定需求實現了特定方式的串連,由於系統的異構性以及整合需求的變化和增加,這種點對點的資訊交換模式越來越複雜而且難以維護,逐漸不能滿足日益複雜的資料共用和交換要求,現有的系統整合和整合需要一種統一的應用架構來解決上述挑戰,從而形成一個互聯互連的醫學衛生業務協作網路,實現市民在各醫學機構間(例如醫院與醫院之間,醫院與社區中心之間,社區中心與社區中心之間)的診療資料的共用和交換。
企業服務匯流排的概念:
在面向服務的體系架構(SOA)中,企業服務匯流排(Enterprise Service Bus, ESB)是一個實現系統間整合和互聯互連的重要技術架構,它提供一個基於企業匯流排的先進應用整合理念,最大限度地減少應用系統互聯所面臨的複雜性,降低整合和維護成本。在地區醫學衛生資訊整合環境下,構建統一的企業服務匯流排是實現地區醫學資訊網路內多系統整合的重要實現手段,在這裡,我們把企業服務匯流排在醫學衛生行業內特定的實現稱之為健康服務匯流排(Health Service Bus,HSB)。健康服務匯流排在實現企業服務匯流排基本特點的同時,例如訊息轉換、路由、協議接入等,還需要滿足醫學衛生行業內的特定需求,例如病人隱私保護、醫學衛生行業標準支援等。
健康服務匯流排總體架構:
結合 ESB 的技術特定、IBM 相關的軟體支援以及醫學衛生行業的業務需求,給出了健康服務匯流排 HSB 的參考架構圖,中間部分是以 IBM WebSphere Message Broker 為核心的匯流排實現平台,在該架構圖中,在 HSB 上面的部分包括
醫學衛生提供者應用:也稱之為商務資訊系統 POS(Point Of Service),包括 HIS, EMR,CIS,LIS 等,這些應用可以直接接入到 HSB,也可以在適配器的協助下接入到 HSB。
訪問渠道整合:醫學從業者、患者、管理員等可以多種渠道訪問後台系統,例如 Portal、移動裝置等。
應用平台:醫學業務應用平台,例如雙向轉診、遠程會診、流程和協作應用等,都可以接入到 HSB。
在 HSB 下面的部分包括居民主索引,EHR 資料服務,和 EHR 分析服務,在該系列的文章中有詳細解釋,在此不做解釋。
IBM WebSphere Message Broker (WMB)產品提供了實現企業服務匯流排的平台,結合 WMB 提供的強大整合功能,HSB 可以提供
路由:請求的訊息可以根據訊息內容自動路由到相應的後台服務,而不需要專門指定端點地址,通過整合 WSRR(WebSphere Service Registry and Repository)可以實現 WMB 的動態路由功能。
轉換:訊息的轉換功能是 HSB 提供的重要能力,如果請求訊息不符合目標服務的格式要求,HSB 可以使用 WMB 提供的內建節點例如 Compute、XSLTransform、Mapping 實現訊息的格式轉換;醫學衛生行業常見的訊息交換標準是 HL7 訊息,通過整合轉換引擎 WTX (WebSphere Transformation Extender)和 WTX HL7 Pack,HSB 可以實現對 HL7 的解析和轉換的支援,特別是 HL7 V2.X 格式的訊息。
協議綁定:HL7 通常是以 MLLP(Minimal Lower Layer Protocol) 協議進行傳輸的,HSB 通過內建的 TCPIP 進行配置可以支援 MLLP 協議的接入,同時也支援常見的傳輸協議和資料協議如 SOAP,XML,HTTP 等。
發布 / 訂閱功能:發布 / 訂閱是一種非同步訊息傳輸機制,它定義的應用程式模型以松耦合的方式把訊息的發行者(Publisher)與訊息的訂閱者(Subscriber)聯絡在一起。參與發布訂閱模式的醫學衛生機構可以定義主題(Topic),把患者的醫學事件發布到 HSB,而 HSB 可以將醫學事件發布給訂閱了該主題的訂閱者。例如,患者在醫院出院後,出院事件發行就緒到 HSB,而訂閱了該事件的社區中心在接受到該事件後,可以安排社區醫生對病人進行隨訪。
服務組合:服務的請求可能會涉及到多個服務提供者,HSB 可以將多個服務提供者進行組合,實現一個短流程,從而滿足一些更複雜的需求。
安全網關:使用 SSL 等技術保證通道的安全性傳輸,通過整合 TDS(Tivoli Directory Server)和 TSPM(Tivoli Security Policy Manager)實現了對請求使用者的身份認證和隱私保護。
在下面的章節中,將詳細介紹對其他產品的整合來實現 HSB 的一些特定功能。
整合 WTX 轉換 HL7 訊息
HL7 是醫學衛生行業內常用的交換標準,包括 HL7 V2.X 和 V3 幾個版本,由於 HL7 V.2X 推出較早,在目前應用更加廣泛。HL7 V3 是標準的 XML 格式,WMB 可以非常容易地支援。在 2.X 版本中,HL7 的資料以訊息(Message)為基本構成單位,一個訊息由多個段(Segments)組成,一個段由多個欄位(Fields)組成,欄位是由一個或多個資料元組成的字串。
由於 HL7 V2.X 是一種特殊的線性格式,對於其解析和轉換不像 XML 一樣方便。而 IBM 的 WebSphere Transformation Extender(WTX)以及 HL7 Pack 提供了 HL7 訊息處理的全面支援,WMB 也提供了內建的 WTX Map 節點和 WTX 進行直接的整合,這樣使得 HSB 對 HL7 訊息的處理變得非常容易。
整合 TDS 和 TSPM 提供安全網關
IBM Tivoli Directory Server (TDS) 提供了一個功能強大的輕量級目錄訪問協議(Lightweight Directory Access Protocol,LDAP)身份基礎設施,接入到 HSB 的應用系統可以將患者和醫生的使用者身份註冊到 TDS 進行統一管理,在運行時候 WMB 和 TDS 進行整合實現對請求使用者的身分識別驗證,認證方式可以採用簡單的使用者名稱 / 密碼方式,也可以採用更安全的基於數位憑證的身分識別驗證結構,具體的驗證過程可以由 WMB 自己執行,而 HSB 開發人員僅僅需要在 WMB 配置一下串連參數即可。圖 2 給出了如何在 WMB Toolkit 中配置與 TDS 串連的一個樣本。
圖 2. 在 WMB 配置 Security Profile 整合 TDS
對請求使用者的認證的典型例子是,醫生使用醫院的應用系統訪問某個病人的病曆文檔,應用系統使用 IHE 定義的標準訊息 XDS QueryDocument (SOAP 格式) 通過 HSB 請求 EHR 資料服務,WMB 在接受到 SOAP 請求後,將 SOAP 頭部的請求使用者名稱和密碼取出,並使用 LDAP 進行驗證,只有驗證通過才允許調用 EHR 提供的服務。
HSB 驗證使用者的身份僅僅是安全網關的第一步,在使用者身分識別驗證之後,還需要確定該使用者是否有許可權調用該服務以及訪問某些特定的資源。對於診療文檔的瀏覽、提交或者修改需要支援更複雜的授權規則,例如授權某使用者僅僅有許可權查看病人的某個文檔甚至是某個文檔的某部分特定內容,從而更好地保護病人隱私。
XACML(Extensible Access Control Markup Language)是 OASIS 組織制定的基於 XML 的開放標準語言,它提出了一種通用存取控制策略語言和執行授權策略的架構。IBM 的 TSPM(Tivoli Security Policy Manager)產品支援 XACML 語言來定義授權策略模型,實現對不同角色的許可權管理。在 HSB 中,我們通過 WMB 整合 TSPM 實現運行時決策許可權的支援,從而保證在共用病人電子健康資訊的同時維護病人的隱私權。具體請參考該系列的基於 Tivoli Security Policy Manager 開發許可權管理服務一文。
使用適配器整合醫學服務提供者應用
醫學服務提供者應用由各個供應商開發,不同的供應商的開發平台、採用的技術和介面都不盡相同。為了方便醫學服務提供者應用接入到 HSB 而盡量地減少改造現有系統的代價,開發相應的適配器並部署到各醫學機構是一個較好的實現方式,適配器可以傳入提供者應用傳入的特定請求而將其轉換為 HSB 要求的訊息類型,例如 HL7、IHE XDS 等,適配器根據要適配的原資料和目標資料可以有多種類型:
MLLP(Minimal Lower Layer Protocol)是傳輸 HL7 訊息最常用的傳輸訊息,MLLP 適配器可以將應用傳入的訊息封裝成 MLLP 報文並以 MLLP 傳輸通道接入到 HSB。
File 適配器支援 CDA 檔案的提交,CDA 檔案可以放在檔案夾下,由 File 適配器進行定時偵測並構造成 IHE Provider&RegisterDocument 請求通過 HSB 發送到 EHR 資料服務。
IHE 適配器是以開源工具 OHT(Open Health Tooling)IHE 為基礎開發的適配器,它提供 API 和 Web Service 介面兩種方式,協助提供者應用系統以 IHE 用戶端的方式構造 IHE 請求訊息。例如,如果調用 EMPI 系統,IHE 適配器可以將應用系統的請求資料構造成符合 IHE PIX/PDQ 的標準訊息格式;如果調用 EHR 資料服務,IHE 適配器可以將應用系統的請求資料構造成符合 IHE XDS 的標準訊息格式。
使用適配器可以降低因開發架構不同導致的業務應用側編程複雜性,允許醫學服務提供者應用快速接入 HSB,實現訊息的安全、可靠傳遞,並可以支援流量控制、日誌紀錄、本地化定製等功能。
整合 WSRR 提供服務管理
在地區醫學衛生解決方案中,接入 HSB 實現電子健康資訊共用的系統有各醫學機構的應用系統、EHR 系統、EMPI 等,這些系統都是以服務的方式提供對外介面,最常見的 WSDL 方式的描述介面。作為服務中繼資料的註冊中心和存放庫,WSRR(WebSphere Service Registry and Repository)建立了一個中心位置,用於尋找和管理從多種來源擷取的服務中繼資料,例如服務端點地址、服務描述、策略生命等。WSRR 可以協助業務分析人員、解決方案架構師和開發人員更好地管理維護這些服務,充分挖掘 SOA 的業務價值,實現 SOA 治理功能。
在 HSB 的運行過程中,WMB 可以和 WSRR 進行整合,根據服務的中繼資料動態選擇服務端點地址,從而提高了企業服務匯流排整合的應用靈活性。如果目標服務端點地址發生變化,WSRR 允許管理員更新服務中繼資料來動態控制 WMB 訊息流程的路由和轉換。WMB 從 V6.1 起提供了兩個與 WSRR 整合的新節點 Registry Lookup 和 Endpoint Lookup 來支援服務端點地址的檢索。
總結
本文首先介紹了地區醫學資訊網路內系統整合的需求,並給出了健康服務匯流排 HSB 的介紹,然後具體地介紹了健康服務匯流排的總體參考架構以及各功能組件,並重點描述了 WMB 與其他產品的整合來實現健康服務匯流排的相關