漫談應用集成的現在與未來(上)
關注FHIR的大俠們估計都注意到了,FHIR更新了它支持的互操作范式,除了消息、文檔、服務、API這4種,增加了2個:資源倉庫、訂閱。前面4個好理解,為什么資源倉庫和訂閱會成為FHIR的新的互操作范式?互操作與應用集成是什么關系?
這里借FHIR的新互操作范式,聊聊應用集成,看看集成平臺是什么?有什么樣的集成方案?以及怎么評價不同的方案。
1 什么是應用集成?
集成的概念應用廣泛,往往被濫用和誤用。例如數據集成,傳統意義上是指通過ETL(數據抽取、轉換和加載)實現的數據集中;界面集成是指通過單點登錄解決人工用戶跨應用訪問的問題。它們都和我們講的應用集成是兩碼事。
那什么是應用集成?
應用是一系列業務功能的組合。傳統應用基本都是單體架構應用,無論是哪種軟件架構開發的。單體架構應用的特點是獨立運行、業務功能邊界清晰。正因為不依賴于其它應用就可以完成業務邊界內的功能,通常單體架構應用并不具有完善的應用交互能力,例如完善的接口。當單體應用間在特定業務流程上需要協同工作時,例如醫生站下達的檢驗醫囑需要立刻通知到檢驗科信息系統,就需要把這2個或多個應用集成在一起自動實現業務流程協同工作,這就是應用集成。
既然集成的是應用,應用集成架構是隨開發應用的軟件架構發展而發展的 - 這就是上一篇《從軟件架構發展談業務集成技術演進與展望》的主題(點擊查看上篇、下篇)。
要實現應用集成,雙方應用必須解決接口問題、采用同步還是異步通訊問題、數據格式互相理解問題、術語統一問題、出現數據與業務異常如何表達異常問題、互相調用接口出現網絡等錯誤時是否重試以及如何重試問題......所以完善的應用集成并非易事。
早期解決這些問題是通過點對點的方式,從《2019-2020年度中國醫院信息化狀況調查報告》來看,即便在互聯互通成熟度標準化評測已經開展了8年的今天,在經濟發達地區,點對點集成的方式仍占比高達55.81%(34.6%+21.21%)。
《2018-2019年度中國醫院信息化狀況調查報告》揭示了更詳細的應用集成方式統計:
由于沒有中間層,點對點集成的雙方必須事先同意接口方式、同步/異步通訊方式、數據格式、術語、響應異常代碼等,同時要處理包括通訊異常在內的各種連接故障和異常。而且對于復雜的業務流程,一個應用可能需要同時與多個應用對接以交換數據、調用接口,開發變得非常復雜。在應用數量不多的情況下還能勉強支撐,對于動輒數十甚至上百個業務系統的行業環境,點對點的開發成本、運行風險、排故難度都非常高,而靈活性很低。這也是集成平臺誕生的原因。
2 如何做應用集成?
無論什么應用集成方式,重要的都是梳理和實現應用集成的三個要素:事件、上下文、流程。
2.1 集成三要素
2.1.1 事件
事件是數字化表達的業務行為記錄,是應用間業務流程的觸發點。它在業務節點上,觸發應用之間集成的流程。通常事件是由上游業務系統的操作觸發的,例如醫生在醫生站下達藥囑,即藥囑事件。
僅由這些基礎業務系統的事件驅動業務,往往是不夠的。例如如果這個藥囑有用藥風險,是不是要提示,這個提示其實是一個臨床決策事件。靈活的應用集成方案應具有事件生成能力:基于基礎業務事件產生決策事件的能力。
基礎業務事件需要梳理,要具有足夠的業務覆蓋度,且應該與被集成的應用無關。也就是業務決定了業務事件,更換任何一家廠商的應用,都不會影響醫院有這個業務和相應的業務事件。行業集成標準通常都梳理了基礎業務事件,例如HL7 V2、 HL7 V3消息里都定義了業務事件。
在項目方案中,集成平臺如何實時捕獲這些業務事件?這些事件通常是業務變化時在應用中可以捕獲的信息變化,集成平臺通常可以通過這些方式得到這些信息變化:
● 應用主動通知,例如應用調用集成平臺發布的SOAP服務。這種方式說明被集成的應用具有基于標準的接口能力,或需要在項目現場改造。
● 被動由集成平臺發現,例如平臺通過SQL適配器發現應用后臺數據庫的數據變更。
2.1.2 上下文
被集成應用間,需要傳遞的不僅僅是數據,而是能表達業務行為的完整信息,我們稱之為上下文,或者語義。就像只給一個值為39的數據是沒有意義的,需要完整表達患者的額溫是39攝氏度這樣的信息。這僅僅是數據項,還需要通過數據模型表達數據項之前的關系和完整度,例如表達體征記錄事件的數據模型,不僅要包含體征的信息,還要表達是哪個患者的、是發生在哪次就診過程的。
能完整表達這些信息的數據模型才是我們說的上下文。
這個數據模型應該具有業務場景的普適性,即這個模型應該能普遍表達業務場景里業務實體的數據,而不是特定應用要求的那些數據。例如在醫療行業,共享和交換患者的基本信息,它的模型應該能滿足大部分業務場景對患者的數據需求,而且應該盡可能只通過一個患者模型就可以滿足多數場景的需求。原則是不能僅根據項目需求去談數據需求,否則模型大概率會隨業務需求的輕微變化而發生重大變化,從而影響整個集成環境的穩定。
2.1.3 流程
流程是被集成的應用邊界之間的信息流程。梳理流程是做應用集成的基礎。例如,醫生站下達的藥囑,要先給藥品知識庫系統判斷風險,在沒有用藥風險后再發給發藥系統,這就是典型的應用間集成的流程。隨著越來越多決策支持系統的應用、流程閉環需求的增加,跨應用流程建模與管理越來越重要。
流程可以通過改造各個應用,由各個應用實現,但這樣流程被割裂在各個應用中,難于理解和再造。因此流程通常會由集成平臺實現,從而實現:
● 流程的統一建模與管理
● 圖形化、直觀
● 靈活的流程調整和再造
流程如何建模?可能完全通過代碼實現、可能通過設置消息路由規則、也可能通過圖形化的業務流程建模。建立流程,還要考慮調用是同步還是異步?使用什么流程架構,例如通過事件驅動架構(EDA),來實現更靈活、松耦合的應用集成流程?
另外,在應用系統邊界之間,特定的流程節點可能需要人工干預,例如新冠大流行期間,門診分診時對沒有24小時核酸的患者,護士需對其進行抗原檢測,這個流程并不在HIS系統中存在,是當前應用之外的人工工作節點。這些人工工作,也應該被流程建模實現。
2.2 應用集成的級別
業務集成,可以做得非常簡單、也可以做得更完善,取決于集成的目標——要做到什么級別的應用集成。
HIMSS 將應用集成定義為4個不同的級別。
基礎級別,僅僅打通了系統間進行數據通訊的通道,也就是接口。
結構級別,在基礎級別上,定義了數據交換的格式和語法;在這個級別上,通常這些交換的格式和語法是集成的雙方坐一起討論出來的,換一家應用集成,大概率格式語法就不同了。
語義級別,建立在行業通用的基礎模型和數據編碼上,使用標準化的行業語義來定義數據元素、使用標準的值集。語義級別的信息集成是全行業可以理解,并有確定行業意義的信息集成級別。或者說語義級別的信息集成才是基于標準的信息集成。
在應用集成領域還經常說“互操作”這個詞,語義級別的應用集成就是互操作。這也是互操作和應用集成的差異,后面我們會更多使用互操作這個詞,表達語義級的集成。
組織級別,通常都是由國家、國際行業協會和行業標準開發組織開發的。它加入了政策、社會、法律等方面的考慮,分析了通用的業務流程和工作流,在此基礎上設定了參與信息集成各方的角色、權限和知情同意策略等。我們的互聯互通成熟度標準,就是組織級別的互操作。
2.3 行業互操作標準在集成中的價值和作用
在醫療行業,通常需要的信息集成要達到語義級別,才能保障醫療信息準確和醫療行為安全。
要達到語義級和以上級別的信息集成,需要基于或參考標準。這些標準應該是行業級的、五位一體的標準:
● 詞匯/術語標準,相互通信的健康信息系統依靠結構化的詞匯、術語、代碼集和分類系統來表示健康概念。詞匯/術語標準就是表達健康概念的標準,例如世界衛生組織國際疾病分類標準:ICD-10,ICD-11。
● 內容標準,描述信息交換中,數據內容的結構和組織。它還包括通用數據集的定義。CDA、HL7 V2消息都是內容標準。
● 傳輸標準定義了計算機系統、文檔架構、臨床模板、用戶界面和患者數據鏈接之間交換的信息格式和傳輸方式。傳輸方式確定了健康信息交換的“推”和“拉”方式。DICOM、IHE等規定了傳輸標準。
● 隱私和安全標準是確定誰、何時、出于何種目的、使用哪種個人健康信息的權利,以及如何維護健康信息的機密性、可用性和完整性的標準。美國的HIPAA和歐洲的GDPR都是關于隱私和安全的標準。
● 標識符標準是用來唯一標識患者、機構、醫護、設備等實體的方法。例如咱們互聯互通里用到的OID。
行業互操作標準由行業標準化組織發布,是基于對行業業務的梳理與分析,構建用于行業集成的標準。因此這些標準在表達業務上下文的完整程度、業務事件的歸納、業務流程的梳理與適配、可擴展能力通常都比較好,也就是對集成三要素的抽象更加完整和適用。由于行業采納度上較高,通過這些標準的推行可以達到更一致的建設效果和通用性。
醫療行業的互操作標準還不少,例如DICOM的影像學互操作標準、HL7 V2、V3的臨床消息標準、HL7 CDA的共享文檔標準、HL7最新的FHIR、IHE的服務標準,還有我們自己的互聯互通成熟度標準。
圖 醫療行業常見標準出現的歷史
未完待續
來源:InterSystems公眾號
作者簡介
喬鵬,InterSystems技術總監。自2004年加入InterSystems(系聯軟件),歷任售前工程師、技術經理、技術總監等職務,精通公司旗下Caché數據庫,Ensemble集成平臺,HealthShare統一健康檔案,IRIS數據平臺等明星產品,對于數據庫、互操作性平臺、數據中臺、醫療相關標準以及集成平臺解決方案,有著深刻的理解和十多年的行業經驗,參與主導過百余家醫院或者區域平臺的信息化建設;同時他能夠對CDR、臨床決策支持、商業智能、機器學習等數據利用產品和方案有廣泛的認識和豐富的實踐經驗。
上一篇: 喬鵬:漫談應用集成的現在與未來(下)
下一篇: 趙韡:堅決守住網絡安全底線