XML在醫療保健行業的應用
?大學、政府和行業組織使用 XML 進行文檔存儲和數據集成已經有十年時間了。包括 IBM 在內的數據庫和軟件廠商很早就認識到了 XML 的潛力,因此他們幫助制訂基于 XML 的標準和行業專用的標記語言,同時致力于在他們的數據庫平臺中集成 XML 和 SQL。IBM 和 Informix 首先發布了 IBM DB2 XML Extender、Informix Web DataBlade 和 Informix XSLT DataBlade,然后把 XML 支持更深入地集成到 RDBMS 服務器中,從而大大推進了 XML 和 SQL 數據庫處理的集成。
XML 對于許多行業都很重要,尤其是那些具有復雜的集成、存檔和遵從性需求的行業。醫療保健行業可以使用面向服務體系結構 (SOA) 和支持 SQL/XML 的數據庫構建新的應用程序,同時解決遵從性和標準問題,支持電子醫療記錄系統。
XML 在醫療保健行業中的興起
XML 在醫療保健行業中興起的一部分原因是,Health Insurance Portability and Accountability Act (HIPAA) 等法律要求保護患者的安全和隱私。美國議會為保護保險覆蓋范圍頒布了 HIPAA,它包含電子事務標準以及對數據私密性和安全性的要求,應用于索賠、付款、利益調查、索賠狀態和其他事務。HIPAA 還要求美國衛生和福利部為醫療保健信息的分發制訂規則。
把這些法律規定轉換為可應用的標準常常是標準開發組織的工作;醫療保健行業中最重要的標準開發組織之一是 Health Level Seven (HL7)。HL7 為醫療保健領域中管理數據和臨床數據的交換制訂標準,包括索賠處理、醫療影像和制藥(見本文底部的邊欄 “HIPAA 和 HL7”)。醫療保健行業還為操作性數據模型和研究數據表格化模型開發了規范(Clinical Data Interchange Standards Consortium)。這些標準應用于內部系統和外部實體(比如美國食品與藥品安全管理局)之間的通信。
包括醫療保健在內的各種行業中的新標準推進了支持 XML 的應用程序的開發。這種新的技術潮流意味著,我們可以構建應用程序(常常是使用 SOA 的復合應用程序),通過可互操作服務的組合和豐富的數據庫支持訪問醫療數據。
但是,高效地管理大量 XML 數據是一種挑戰。IBM 在 DB2 9 中引入了 pureXML 技術,允許以原生 XML 格式存儲、索引和查詢文檔。一些醫療機構已經使用 IBM DB2 的原生 XML 功能構建了系統,這些系統不僅符合醫療保健行業標準,而且改進了數據訪問和性能。
電子醫療記錄的難點
由于醫療數據常常進行頻繁的修改,大型醫療保健組織非常依賴于 XML。UCLA Health System 就是這樣的組織:它是一個包含多家醫院的醫療保健供應商,提供各種臨床和醫療保健服務。它包含 Ronald Reagan UCLA Medical Center、Santa Monica UCLA Medical Center and Orthopaedic Hospital、Mattel Children's Hospital UCLA、Resnick Neuropsychiatric Hospital at UCLA 以及 UCLA Medical Group(包括初級護理和特別護理部門)。2,000 多位醫生每年處理超過 1 百萬次門診和 80,000 個住院病例。
? 這種規模的醫療保健系統每天必須處理大量數據,包括醫療記錄更新、化驗結果、MRI/CT/電子束 CT 血管造影圖像、入院/出院/轉院數據和藥房訂單。所有數據必須安全可靠地存儲(以及最終適當地存檔),同時必須能夠根據需要訪問它們。另外,多個地點的各類職員必須可以輕松地搜索、傳輸和組織這些數據。還需要輕松快速地輸入和更新信息,因此所需的 IT 基礎結構非常復雜。
UCLA Health System 用面向患者的文檔系統 (PODS) 滿足這些需求,這是一個電子醫療記錄 (EMR) 存儲庫,能夠存儲和檢索超過 2000 萬份文檔。PODS 是 UCLA 文檔管理系統 extended SOA (xSOA) 的患者信息源。通過與 PODS 協作,xSOA 為 GE BDM 藥品信息系統、CliniComp Essentris 急診系統、Orion Soprano 門診數據系統和表單門戶提供查看界面。xSOA Central Document Bus 連接到 GE 圖像存檔和通信系統 (PACS)、門診應用程序和圖像以及 PODS 存儲庫。Image Bus 支持訪問患者診斷圖像,Forms Bus 處理 UCLA Health Services 使用的各種電子表單。HL7 Message Bus 提供符合 HL7 要求的通信。
通過結合使用 SOA 和 DB2 數據庫,PODS 支持 2,000 名醫生和 3,000 名護士訪問患者記錄。這個系統支持超過 400 種電子表單;這些表單替代以前使用的 1,000 頁紙制表格,有助于消除手寫導致的誤解和遺漏。數據庫存儲大約 200 萬位患者的信息,每天增加 12,000 份文檔,包括新的化驗結果、醫生處方和與患者相關的其他數據。PODS 包含一個文檔存儲庫和元數據存儲庫,可以把醫療記錄文件與 DB2 數據庫關聯起來。PODS 在文件服務器上存儲醫療記錄圖像文件;它使用 IBM DB2 數據庫存儲相應的元數據,用網絡附屬存儲陣列存儲圖像文件,包括 PDF 和文本。
當一個文檔進入系統時,它存儲在文件服務器上并在 DB2 數據庫中編制索引。文檔并不會被刪除,因為 PODS 存儲庫還作為患者數據的存檔。為了確保可服務性和 24x7 高可用性,PODS 體系結構包含冗余服務器和數據庫,通過數據復制在數據庫服務器之間進行同步。
DB2 數據庫元數據存儲當前包含 3000 萬行信息。元數據使用 DB2 9 原生 XML 引擎存儲為 XML 格式。UCLA Medical Center Computing Services 體系結構經理 Charles Wang 博士指出,PODS 使用超過 400 個模式,這些模式都符合 W3C XML Schema 語言。PODS 軟件把這些模式映射為一個虛擬模式,供整個系統使用。系統使用四個鍵的組合為文檔及相關元數據創建惟一標識符。
為了保護患者隱私,PODS 的設計采用一個多級安全模型。除了 DB2 內置的安全功能之外,軟件體系結構還包含文檔和元數據處理器,它與安全服務集成。還提供基于角色的安全性和單點登錄功能。在使用文件系統管理 XML 文檔和模式時,必須專門處理安全性、并發控制、并行處理和版本化等問題,而使用 DB2 存儲 XML 模式和文檔可以方便地解決這些問題。
UCLA Health System 基于 SOA
? PODS 實現展示了 SOA 如何幫助應用程序使用基礎服務;在這里,是用于訪問患者信息的服務。文檔通過文檔服務接口進入系統并放在隊列中。PODS 體系結構使用 IBM WebSphere MQ 實現異步消息傳遞和隊列。對于 HL7 消息傳遞,UCLA Health System 使用 Sun SeeBeyond eGate Integrator,據 Wang 博士說,這是 “所有應用程序接口使用的企業范圍標準”。
PODS 隊列管理器控制輸入隊列、異常隊列和復制隊列。管理元數據和圖像文件的標準服務提供用于上傳、下載、查詢和更新文檔的應用程序編程接口 (API)。系統支持審計,可以為除上傳之外的所有數據庫活動生成報告。
PODS 的演進
UCLA Health System PODS 實現使用 DB2 pureXML 功能支持對患者文檔的訪問,包括裝載、查詢和更新數據。它提供一組 Web 服務接口,支持門診系統上傳和查詢數據。
這個系統的最新版本是 PODS3 和 PODS4。這兩個版本都基于 SOA,但是使用不同的 DB2 功能進行 XML 處理。對于以基于 SOAP 的 Web 服務形式處理 XML 消息,PODS3 和 PODS4 都使用 Systinet 和 IBM WebSphere 軟件的組合。但是,PODS4 實現標志著從 DB2 XML Extender 過渡到 DB2 9 的 pureXML 功能。例如,DB2 9 引入了對 SQL:2003 標準定義的一個特性的支持,允許 XML 列類型作為一等數據類型。可以在 Data Definition Language (DDL) 語句、函數和存儲過程中使用 XML 類型。
遷移到 DB2 9 的另一個好處是,混合型存儲引擎和查詢優化器 “理解” XML,可以把涉及 XML 的查詢映射為關系語法。遷移到 PODS4 并沒有改變 PODS 的功能性需求,但是 pureXML 技術簡化了元數據處理,有助于滿足系統的響應時間和可伸縮性目標。
????? 上傳過程展示 PODS3 和 PODS4 之間的差異。例如,在上傳 PDF 文檔時,PODS3 上傳過程把文檔和 XML 元數據文件存儲在 EMC 文件服務器上。它把 DB2 SQL 存儲引擎使用的元數據分解為 XCollection,XCollection 是 DB2 XML Extender 實現的一個類型。上傳過程還使用 IBM WebSphere Application Server 解析器檢驗模式,在 DB2 數據庫中為 PDF 和 XML 文件的路徑編制索引。與上傳相關聯的 DB2 事務包括生成惟一的文檔 ID、在活動歷史表中記錄這次上傳以及對 18 個表執行 SQL INSERT。PODS4 上傳過程以另一種方式處理 XML 文檔元數據。PODS4 上傳過程并不在 18 個表中存儲元數據,而是使用 XML 類型的 DB2 列保存元數據,只需對四個表執行 INSERT。
簡化的處理和標準遵從性
? 從 PODS3 遷移到 PODS4 和 DB2 9 大大簡化了 UCLA Health System 的數據庫管理和復制任務。PODS3 體系結構使用 DB2 8 和 XML Extender,數據庫包含 28 個表。PODS4 數據庫設計使用 XML 列,只需要 10 個表并取消了 PODS3 使用的 20 個存儲過程。
因為 UCLA Health System 使用 XML 存儲患者元數據,所以在 PODS 集合中支持新的電子表單需要為表單內容創建數據定義或模式。經常處理新表單的 DBA 希望能夠高效地定義新的數據類型,比如化驗結果。遷移到 DB2 9 可以減少在系統中添加新表單和模式所需的時間:在 PODS4 中支持一個新表單通常只需要兩小時,而在 PODS3 中需要兩周。
在任何行業中,標準對于互操作性和高效數據交換都非常重要。 XML 是一種有效的標記工具,可以定義數據交換和存檔所需的詞匯表,因此 XML 已經成為醫療保健供應商的重要工具。但是,健壯的應用程序需要可靠的數據管理基礎結構。PODS 展示了醫療保健供應商如何解決創建、存儲和交換電子醫療記錄的難題。通過 PODS,UCLA Health System 和其他醫療保健機構已經開始利用 XML 技術處理復雜的電子醫療記錄,滿足 HIPAA 和 HL7 標準的要求并提高生產力。
HIPAA 和 HL7
1996 年,HL7 成立了 Claims Attachment 工作組,它的任務是對處理保險索賠所需的信息進行標準化,此后開發了用來滿足 HIPAA 要求的一系列標準。在同一年,HL7 開始通過它的 SGML/XML 特別興趣小組積極研究 XML。最初的成果是用于索賠處理的六個推薦附件。
在此之后,HL7 開發了消息傳遞規范 Clinical Document Architecture (CDA) 和 Reference Information Model (RIM)。HL7 還為向州和地方公共醫療部門提交 CDA Public Health Case Reporting (PHCR) 制訂了電子提交標準。隨著標準的成熟,XML 已經成為越來越重要的技術。例如,CDA 的第一版定義了一個 XML 體系結構,它用于交換基于規范中包含的 XML Document Type Definition (DTD) 的門診文檔,使用 HL7 RIM 和 HL7 注冊的編碼詞匯表定義其語義。即將發布的 CDA 第三版只使用 XML 編碼。
IBM 負責軟件標準的副總裁 Karla Norsworthy 說,“IBM DB2 對 XML 的原生支持允許以醫療保健行業標準 HL7 CDA 格式存儲內容。IBM 承諾通過開放標準促進醫療保健行業的互操作性和創新。我們已經看到了廣泛采用開放標準(比如 Java 和 XML)和 HL7 等組織開發的醫療保健標準對靈活性、投入市場的時間和創新的積極影響?!?/P>
評論
查看更多