醫學領域中的SOA
技術迅速的發展及其在醫學領域中的應用導致醫學組織堆積了許多不能彼此互動的系統。但是,從業務上來說,這些系統不僅需要組織內協同工作,而且還要求能從外部存取。在這種狀況下,整合的負擔往往落在了那些為完成一項任務而不得不訪問多個系統的使用者身上。但是,使用面向服務架構(SOA)可以改善重要訊息的交付,而且能在成本、安全和部署風險均可接受的條件下使得資料在整個醫學社區內共用。
管理不斷增長的系統集合是當今醫學組織要面臨的挑戰。建立、整合和維護這些系統的代價越來越大,同時對系統使用者的要求也在提高。組織必須解決不斷髮展的臨床需求,同時還需支援營收迴圈和管理商務功能。另外,為了支援地區性醫學服務的交接,與其他醫學組織進行互操作的需求也在增加。面向服務架構為整個醫學組織的系統資源重用與共用提供了系統設計和管理原則。SOA不要求對現有系統進行再造。通過SOA,現有流程可以與新功能結合構建一個服務庫,其中的每個服務是解決方案的組成部分。使用那些與業務過程一致的共用服務,SOA在加強互通性的同時減少了孤立系統間同步資料的需求。無論服務位於何處,它們都可以被用來建立超越案頭、部門、以及醫學組織的解決方案。
醫學資訊技術中SOA使用介紹
如果某個醫學組織只依賴單個系統支撐企業各部門工作和提供醫學服務,那麼他們往往已經有了一個共用和重用系統資源的解決方案。但是,更典型的是這種組織:它依賴一個或多個企業內部系統,支援部門特定需求的額外系統,裝置有自己的系統,互操作使用複雜的資料介面網路完成。在擁有大量系統集合的組織中應用 SOA更容易顯出它的優勢。一個SOA環境可以使系統資產能被整個組織訪問,並為現有孤立的系統功能提供了共用的可能。例如,SOA無需購置額外系統就能協助滿足那些未被履行的過程需求,並為標準化流程和資料管理提供了機會。這意味著現有系統功能會因為它們打包成可共用服務而獲得升值。圖1顯示了醫學系統功能和相關應用的例子。儘管這個圖表沒有包含一個功能或系統的完整列表,但是它展示了在一個典型醫學環境中系統功能的冗餘。
圖1. 醫學系統和功能
SOA將一個服務定義為一個自包含、定義良好、可理解功能的獨立工作單元。工作單元可以是一個整體流程,一個支援流程的功能,或是一個商務程序的一個步驟。通過SOA,服務可以直接支援商務程序,原因在於它們是作為一個系統解決方案被“發現”和編製的。那些跨系統、部門和組織使用的功能極有可能通過 SOA提高重用性和被標準化。如果系統功能在系統間是冗餘的,那麼相應的商務程序有可能是關聯的並且很可能表明該流程需要作為服務共用。圖1中,大量冗餘的功能有:
患者挂號
入院、出院和轉院
記錄病情和診斷
繳費和記錄費用
建立臨床記錄
每個系統功都可以被分成任務以進一步提高服務的重用性。例如,“患者挂號”功能可能會被分成“尋找和瀏覽病人病曆”、“建立和更新病人病曆”、“核實保險資質”、“曆史建檔”(建立或者更新)以及其它在挂號過程中完成的商務活動。這種劃分使其他服務和應用可以使用“患者挂號”的部分功能。任務“尋找和瀏覽病人病曆”可能會被絕大多數組織使用,而任務“建立和更新病人病曆”可能只會被入院和前台服務人員使用。在某些情況下,其他系統提供的功能可能會比目前流程中使用的要好。例如,另一系統使用的“核實保險資質”功能可能比處理“患者挂號”的系統中相應功能提供了更多功能。在SOA 環境中,功能可以被標準化並被不同系統與流程使用。
圖2顯示了“患者挂號”服務功能的概念視圖:
圖2. “患者挂號”系統功能
隨著SOA在醫學行業進一步的推廣,服務集和其他特殊服務有望得到使用,使用者可能是某個醫學組織的服務採購(Service Procurement)組織功能(詳見第二章)。由於系統提供的服務是位置透明的,這些被購買的服務可能在組織外託管。例如,診斷相關組(Diagnostic Related Group,簡稱DRG)或者其它類似受控藥品詞彙編碼這樣的服務可供整合進一個組織的解決方案。這個服務可能位於一個外部的代理系統,被不同醫學組織使用。SOA提供的一個附加好處就是可以方便地為整個組織以及所有使用該服務的醫學組織維護單獨一份最新的DRG代碼集。圖3顯示了一個醫學行業服務分類的例子。
圖3. 醫學行業服務分類舉例