一種基于消息自動路由的多醫療信息系統集成方法
【專利摘要】本發明公開了一種基于消息自動路由的多醫療信息系統集成方法,各個醫療信息系統的接口行為和數據語義通過接口語義建模進行了明確的表達,通過如下步驟進行集成:識別需要進行消息交互的醫療信息系統的接口行為差異得到相應的行為異構模式;根據識別出的行為異構模式確定相應的路由解決方案,并添加到消息流對應的消息通道上;根據接收接口的接口行為和數據語義,按照路由設計規則中的參數設置規則配置路由器的路由參數即完成集成,所述路由參數包括路由目標和輸出消息。本發明根據相交互的醫療信息系統的異構模型種類確定路由解決方案,要將EIP中路由器的選擇和配置與其針對的協作場景特征建立起計算機化的對應關系,大大提升路由設計效率。
【專利說明】
一種基于消息自動路由的多醫療信息系統集成方法
技術領域
[0001] 本發明涉及信息系統集成技術領域,特別涉及醫療信息系統流程協作技術,具體 為一種基于消息自動路由的多醫療信息系統集成方法。
【背景技術】
[0002] 現代醫療信息密集,醫療活動復雜多樣,且具有專業性,因此醫療IT環境涌現了大 量信息系統。為了支持醫院的整體業務運行,需要將醫療過程中不同環節的醫療活動所使 用的醫療信息系統集成。而對于醫療信息系統來說,集成的主要目的包括信息共享和業務 協同。系統間業務協同的需求,包括功能整合和流程協同。醫療信息系統的功能體現為從外 部接收數據,處理后返回結果。這些功能可能是自動的計算和處理過程,也可能包含復雜人 工操作的工作流。
[0003] 為了實現更復雜、跨越系統邊界的業務功能,往往需要將分布于多個信息系統中 的功能按照需要的業務流程進行整合。同時,在多個系統內部運行的復雜工作流之間,不僅 需要交換業務處理結果,還需要協調他們之間的業務依賴關系,從而實現流程之間的協同。 由于醫療信息系統的多樣性和復雜性,它們之間在技術、數據和行為方面存在大量的異構 情況。其中,技術異構阻礙了系統間的技術互操作,數據異構阻礙了語義互操作,而行為異 構阻礙了流程互操作。
[0004] 當系統異構性無法避免時,由一個中間系統來在不同的接口間進行轉換,這種方 法通常稱為協調。通過協調來解決異構性問題為集成提供了更經濟、更靈活的途徑。為了解 決企業級信息系統(EIS)間的異構性問題,企業應用集成(EAI)-直是企業級IT技術發展的 核心關注點之一。實現EAI的主要技術是利用EAI中間件。對于醫療信息系統集成問題,主要 使用的技術手段是醫療集成引擎。醫療集成引擎是在通用EAI中間件的基礎上,提供了一系 列醫療領域特定的連接適配器來連接到多樣的醫療信息系統接口上,并在系統接口之間建 立消息通道,實現數據的傳遞,并通過消息路由協調異構流程的消息交換行為,以及通過消 息轉換在異構數據之間進行翻譯。
[0005] 不同集成場景的需求不同,系統接口本身的互操作特征也不同,所以需要針對具 體的集成需求和接口特征,設計并開發出具體的集成解決方案。EAI中間件將通用的集成功 能如消息轉換和消息路由等封裝成可復用、可配置的組件,使集成技術人員可以直接利用 這些組件進行組合和配置,從而構建出集成方案,無需從頭開始進編碼開發。而在利用集成 引擎的配置組件來設計并開發出集成解決方案時,消息的路由邏輯設計是非常重要的一個 環節。路由(routing)指將消息送到特定的目標系統。在根據業務需求確定了接口之間的連 接關系后,需要通過設計消息路由邏輯使數據在接口之間以符合集成需求的方式流動。
[0006] BPMN(business process modeling notation)是一種標準化建模語言,支持以協 作圖和編舞圖來分別面向連接的方式和面向交互的方式表達協作場景。BPMN流程模型通過 控制流(contro 1 -f 1 ow)元素連接流程中的多個活動(activi ty)。與外部進行消息交互的通 訊活動(communication activity)包括接受消息、發送消息、調用外部服務等。BPMN協作圖 使用消息流(message flow)連接多個流程模型中的通訊活動,描述這些流程之間的協作關 系。BPMN編舞圖使用編舞活動(choreographyactivity)代表交互單元,通過控制流表達交 互之間的依賴關系,并與協作圖中的消息流關聯。作為標準的流程建模語言,BPMN旨在為業 務專家和技術人員之間的溝通鴻溝提供一個標準化的橋梁。BPMN提供了容易被業務專家理 解的圖形化標記,也具備明確定義的具有規范語義的元模型,而且具備足夠的針對復雜流 程協作場景的表達能力。
[0007] BPMN協作圖表達系統間的連接關系,然而,由于業務流程的差異,接口之間的行為 方式可能存在差異,這體現為行為模型之間并不是完全匹配的。因此,要在具備不匹配行為 的接口之間實現流程互操作,需要由集成引擎進行行為協調,將消息按照系統對消息交換 順序和時機的要求進行路由。
[0008] 企業集成模式(EIPs)總結了集成設計中的一些常見的路由問題,并設計了添加了 特定類型的消息路由器(message router)如將一個整體的消息拆分為若干個部分的拆分 器(splitter),用于為路由設計提供可復用的解決方案。這些路由器可以通過參數配置呈 現出不同的數據接收、處理和發送特征。EIP表達了基本EAI功能,包括通過消息通道傳輸消 息、添加消息轉換和路由等中間處理步驟。基于EIP的集成設計將一個復雜的集成問題分解 為若干個子問題,并采用"分而治之"(divide-and-conquer)的策略針對每個子問題找出合 適的解決方案,并組合為針對原始問題的解決方案。
[0009] 雖然BPMN可以很好描述系統間的協作關系,基于EIP來設計集成解決方案,但是集 成配置過程安全依賴于集成人員的人工理解,這就要求集成人員一方面需要理解對協作場 景中不同系統行為提出的路由需求,另一方面需要準確掌握不同類型的路由器功能特征和 配置方式。要提升路由設計效率,需要將EIP中路由器的選擇和配置與其針對的協作場景特 征建立起計算機化的對應關系,從而使醫學信息系統集成更加容易。
【發明內容】
[0010] 本發明提供了一種基于消息自動路由的醫療信息系統集成方法,解決了進行交互 的醫療信息系統之間存在行為異構,開發人員需要人工識別行為不匹配案例并設計相應的 協調,以及為集成引擎設計路由效率低等問題。
[0011] -種基于消息自動路由的多醫療信息系統集成方法,各個醫療信息系統的接口行 為和數據語義通過接口語義建模進行了明確的表達,通過如下步驟進行集成:
[0012] (1)識別需要進行消息交互的醫療信息系統的接口行為差異得到相應的行為異構 模式;
[0013] (2)根據識別出的行為異構模式確定相應的路由解決方案,并添加到消息流對應 的消息通道上;
[0014] (3)根據接收接口的接口行為和數據語義,按照路由設計規則中的參數設置規則 配置路由器的路由參數即完成集成,所述路由參數包括路由目標和輸出消息。
[0015] 本發明中要交互的醫療信息系統之間存在行為異構,并使用BPMN協作圖來表述系 統的連接關系。本發明中要交互的醫療信息系統已經將接口的行為和數據語義都已經通過 接口語義建模進行了明確的表達,使計算機能夠對集成場景中的行為差異特征進行分析, 識別出路由需求,自動應用相應的解決方案,并將解決方案組合起來,以滿足整個集成場景 對集成引擎行為的要求。
[0016] 步驟(1)中識別行為異構模式時由計算機對一個接口連接模型進行檢測,識別出 兩個系統之間存在的行為異構模式實例。
[0017] 本發明中路由器參數,根據接收接口的行為模型(即接口行為)和消息語義,按照 路由設計規則中的參數設置規則,配置路由器參數,包括路由目標和輸出消息的構建方法。
[0018] 本發明的方法當構建出的路由模型(即路由解決方案)仍然無法解決行為間的異 構時,由集成技術人員手工對模型進行調整和補充。比如,當消息發送方并沒有提供消息接 收方期望的交互時,需要設計特定的消息構建方法用于交互。
[0019] 本發明的基于消息自動路由的醫療信息系統集成方法對每個BPMN協作圖進行分 析,識別其中的行為不匹配模式,選擇相應的路由器,其中行為異構模式為BPMN協作圖形式 表達的系統連接關系中反復出現的行為異構場景。
[0020] 所述接口行為差異包括發送者和接收者之間的消息基數和順序的差異。
[0021 ]所述的行為異構模式包括一對多異構模式、多對一異構模式和多對多異構模式; 其中,一對多異構模式包括循環接收者模式、順序接收者模式、互斥接收者模式和多接收者 模式;多對一異構模式包括循環發送者模式和多發送者模式,多對多異構模式包括順序差 異模式。
[0022]異構模式主要關注于發送者和接收者之間消息基數和順序的差異,并將這些差異 分為一對多、多對一和多對多三種類型。針對每個模式,本發明定義了行為異構模式描述和 特征檢測方法;行為異構模式主要包括:
[0023] 1)、行為模型的一對多異構模式:
[0024] A、循環接收者(loop-receiver)模式:交互中的發送端采用單個操作來發送包含 多個部分的消息,而接收端分多次來接收這個消息的局部內容。在BPMN中,該模式表現為一 個發送任務通過消息流連接到一個具備循環(loop)屬性的接收任務上。該模式的檢測特征 定義為:
[0025] LoopReceiver^{mf | loop (target (mf)) = true A InNum( target (mf))
[0026] = 1 八 loop (source (mf) )= false}
[0027 ]其中mf指連接發送方和接收方的消息流。
[0028] B、順序接收者(sequence-receiver)模式:交互中發送消息的一方發送單次消息, 而接收一方多次、順序地接受該消息的若干部分。在協作模型中,該模式表現為一個接口發 出的消息流連接到另一個接口的若干個具備順序關系的接收任務上。該模式的檢測特征定 義為:
[0029] SequenceReceivers^- {:m/},where: SequenceReceivers,
[0030] Source(mfi) = Source(mfj) Asequence(target(mfi) ,target(mfj))
[0031]其中,sequence函數判斷兩個task之間是否存在先后關系。
[0032] C、互斥接收者(exclusive-receivers)模式:一個接口發出的消息需要按一個的 條件發送到另一個系統的不同接口上。在BPMN模型中,體現為一個發送任務通過消息流連 接到由一個互斥網關(exclusive gateway)連接的多個receive task上。此模式的檢測特 征定義為:
[0033] ExchisveReceivers^ \rtif where: ExclusveReceivers,
[0034] Source(mfi) = Source(mfj) Aexclusive(target(mfi) ,target(mfj))
[0035]其中,exclusive函數判斷同一個流程模型中的兩個任務之間是否存在互斥關系。 [0036]該模式可以細分為基于事件的互斥和基于數據的互斥:
[0037] ?基于事件的互斥:指目標系統無法預知將實際接收到哪種消息,而同時使用兩 個接口操作來接收,當一種消息類型先到達時,另一種類型的消息將不再被接收。在BPMN行 為模型中,這種行為方式采用基于事件的互斥網關(event-basedexclusive gateway)連接 兩個接收操作
[0038] ?基于數據的互斥:指目標系統可以根據已有消息的特征在多個互斥操作中選擇 了一個來接收下一個消息。在BPMN中,目標系統的這種行為方式表現為一個基于數據的互 斥網關(data-basedexclusive gateway)來連接兩個接收操作。
[0039] 0、多接收者模式(1111111:1口16-代〇6;[¥6^):-個參與方發出的消息同時存在多個消 息接收者。這體現了廣播式發送的路由需求。在BPMN協作模型中,體現為一個流程的發送消 息任務通過多個消息流連接到位于多個不同流程中的接收任務上。通過以下特征來檢測該 模式:
[ ] MuItipIeReceivers<-^mf\ l〇0p(so:uree(m/)) =ti uc} here: Ve MuUipleReeeivers,
[0041 ] Source (mfi ) = Source (mfj)八 process (target (mfi))辛process (targe t(mfj))
[0042]該表達式查詢出具備同樣的源節點而連接到不同行為模型中的目標節點上的消 息流。
[0043] 2)、行為模型的多對一異構模式:
[0044] A、循環發送者模式(loop-sender):接收方期待接收一個包含多個項目的整體消 息,而發送方采用循環的方式分多次發送消息的局部。在BPMN模型中,表現為由一個具備循 環屬性的發送任務發出的唯一消息流連接到一個不具備循環屬性的接收任務上。該模式的 檢測特征為:
[0045] LoopSender^{mf | loop(source(mf)) =true A〇utNum(source(mf)) = 1A loop (target(mf))
[0046] =false}
[0047] B、多發送者模式(multiple-senders):來自不同系統的消息被發送到同一個系統 的同一個單次交互上。在BPMN模型中,這體現為不同行為模型中的發送任務同時發送消息 到一個非循環的接收任務上。該模式的檢測特征如下(其中r是一個特定的接收任務):
[0048] MultipleSenders^{mf | target (mf) = r A l〇〇p(r) = false}
[0049] 3)、行為模型的多對多異構模式:
[0050] 該類型的典型異構場景是順序差異(Order-mismatch)。在這種場景中,兩個系統 在一次會話中存在多次相關聯的消息交換,而雙方的消息交互順序不一致。在BPMN模型中, 這表現為兩個消息流的接收任務的順序與相應的發送任務的順序不同。此模式的檢測特征 為:
[0051 ] OrderMismatch<r- {mf\y^here Nmfi ,m.fj E Order Mismatch,
[0052] Seq(source(mfi),source(mfj))八Seq(target(mfi),target(mfj))?〇
[0053] 路由解決方案主要是針對不同的行為異構模式而選擇相應特定類型的路由器。不 同的行為異構模式所需要的路由器分別是:
[0054] #循環接收者模式(loop-receiver):
[0055] 此模式需要將一次消息交換拆分成多次消息交換,在EIP中拆分器(splitter)實 現把一個整體消息拆分為多個局部消息并逐個發送。因此,對符合此模式的行為異構可以 使用拆分器進行路由。
[0056] #順序接收者模式(sequence-receiver):
[0057]此模式將一個接口發出的消息流連接到另一個接口的若干具備順序關系的任務 上。在EIP中,紙條路由器(routing slip)為消息添加一個包含具備順序約束的目標接收者 列表(稱為slip),使消息按照該順序在這些目標之間傳遞。因此,這種異構模式的解決方式 是使用一個routing s 1 ip路由來控制消息發送的順序。
[0058] #互斥接收者模式(exclusive-receivers):
[0059]此模式需要根據輸入消息的特征將其路由到一個特定的目標接口上。在EIP中,基 于內容的路由器(CBR)根據消息的內容在多個可選目標中選擇一個進行路由。因此,使用 CBR來協調該模式中不同的行為方式。
[0060] #多接收者模式(multiple-receivers):
[0061]此模式需要將同一個消息發送給多個接收者。該模式根據目標操作的功能語義有 不同的解決方案。1)當多個接收者的功能語義互斥時,這個模式代表了把一個請求發送到 實現不同類型功能的接收者的需求,因此,采用CBR根據接收者的功能類型進行路由。2)當 多個接收者具備同樣或類似的功能時,該模式代表了將一個系統的消息發布給多個感興趣 的系統的需求。在醫療領域,基于事件的發布-訂閱是這種模式的最典型體現。針對這種需 求,采用EIP中的接收者列表(recipient list)路由器根據預定義的目標列表將一個消息 同時發布到多個接收者。
[0062] ?循環發送者模式(loop-sender)
[0063] 這個模式可以細分為兩種特征。第一種特征考察消息定義間的結構關系:目標接 口的消息結構中包含多個發送接口的消息結構。這種情況表達了把多個局部消息整合為單 一消息的需求。在EIP中,聚合器(aggregator)用于實現多個局部消息的聚合。因此,用聚合 器解決這種需求。第二種情況考察雙方功能語義間的關系,如果源操作的功能語義大于目 標操作的功能語義范圍,意味著接收方會收到并不在自己功能范圍內的消息。因此,需要對 超出目標功能范圍的消息進行過濾。在EIP中,使用過濾器(filter)過濾掉不屬于目標接口 功能范圍的消息。
[0064] # 多發送者模式(multiple-senders)
[0065] 此協作場景體現了對多個消息進行選擇和組合的路由需求,因此使用一個消息過 濾器和一個聚合器的組合來實現該需求,過濾器和聚合器的配置方式與上一模式相同。
[0066] #順序差異模式(Order-mismatch)
[0067]這個異構模式體現了對多個消息的順序關系進行重新排列的路由需求,在EIP中, 使用消息重排器(resequencer)對多個消息進行重新排序。
[0068]接口行為模型和消息語義假設已經通過接口語義建模進行了明確的表達。針對每 個行為異構模式的路由設計,制定了相應的參數設置規則。
[0069] #循環接收者模式(loop-receiver):
[0070] 拆分器通過設置其查詢屬性-queryRef,來查詢源操作輸出的消息中包含目標操 作消息的組成不煩,查詢結果被逐個發送給目標操作。
[0071]假設目標接收操作的定義中已經使用本體表達了數據特征,可以使用SPARQL查詢 (SPARQL Protocol And RDF Query Language)將整體的消息分割定義為面向目標接口的 局部信息。
[0072] #順序接收者模式(sequence-receiver):
[0073] 紙條路由器(routing slip)可以通過設置Slip屬性來保證源消息按照順序在目 標之間傳遞。Slip屬性可以定義多個目標操作的順序,并以逗號分隔。
[0074] #互斥接收者模式(exclusive-receivers):
[0075] CBR的通過一系列分支配置,每個分支的配置屬性包括判斷條件和路由目標。通過 屬性branchList來配置分支,該屬性定義多個條件分支,每個分支的屬性包括判斷條件 (condition)和路由目標(target)組成。Condition 使用0WL 類型表達式(classexpress ion) 定義,target為目標行為模型中的接收任務對應的操作對象。
[0076] #多接收者模式(multiple-receivers):
[0077] 接收者列表的配置屬性是一個列舉目標接收者的列表。由于協作模型明確定義了 連接關系,該屬性的取值由與消息流連接的接收任務對應的操作組成。配置屬性 targetList說明了目標接收者列表,體現為一個或多個體現為一個或多個接收消息的操作 對象,使用逗號分隔。
[0078] ?循環發送者模式(loop-sender)
[0079] 聚合器的配置包括針對發送任務的循環接收屬性和針對目標接收任務的消息構 建屬性。其中屬性completeCondition定義停止接收局部消息并開始執行聚合的條件,屬性 queryRef用SPARQL查詢定義消息聚合的方式。
[0080] 消息過濾器的配置方式是用類表達式判定需要過濾的消息類型,這樣的表達式可 以通過對目標操作的消息類型進行邏輯取反(not)而自動獲得。屬性filterExpression判 定是否將消息過濾的表達式。
[0081 ] # 多發送者模式(multiple-senders)
[0082] 過濾器和聚合器的配置方式與上一模式相同。
[0083] #順序差異模式(Order-mismatch)
[0084] 重排器的配置涉及對消息排序方法的指定,在本發明中,表現為從一個系統接收 消息的順序和向另一個系統發送消息的順序,可以根據發送系統和接收系統的行為模型自 動配置。其中屬性receiveSequence定義接收消息的順序(如"M2,Ml")。取值來自消息發送 端的行為模型順序;屬性sendSequence定義發送消息的順序(如"Ml,M2")。取值來自消息接 收端行為模型的任務順序。重排器具有內部狀態,會按順序查詢發送順序表達式中的每個 接收者所需的數據是否已經就緒。若已經就緒,則發送消息;否則,繼續等待當一個消息流 出現于多個行為異構模式中時,需要考慮不同路由器在消息處理步驟中的順序。
[0085] 綜上所述,本發明針對不同的行為異構模式設置不同的路由解決方案:
[0086] 對于循環接收者模式,利用拆分器進行路由,
[0087]對于順序接收者模式,利用紙條路由器進行路由,
[0088]對于互斥接收者模式,利用基于內容的路由器進行路由,
[0089] 對于循環發送者模式,利用聚合器或過濾器進行路由,
[0090] 對于多發送者模式,利用過濾器配合聚合器進行路由。
[0091] 作為優選,當存在跨越多個行為異構模式的消息流時,按照預設的順序優先級對 路由解決方案進行組合串接,并添加到相應的消息通道上。
[0092] 進一步優選,預設的順序優先級由高至低依次為循環發送者模式、多接收者模式、 順序差異模式、順序接收者模式、多發送者模式和循環接收者模式,且順序接收者和互斥接 收者優先級別相同。
[0093] 本發明根據不同異構模式的特點,基于順序優先級的路由方案組合規則:順序優 先級以數字形式區分了不同路由方案在組合時的順序差異。一個路由方案的優先級越高 (數字越小),它在組合中的位置就越靠前。這個規則按照系統間、系統、任務的級別順序,為 不同的模式解決方案定義不同的順序優先級:
[0094] # loop-sender和loop-receiver均是針對一個具體發送或接收操作的消息處理, 因此應該分別臨近消息發送接口和消息接收接口,即分別具備最高和最低的順序優先級。 [0095] ?Multi-receivers模式將一個系統的消息路由到多個系統,因此,其順序優先級 高于針對單個目標系統的路由模式,而低于針對消息發送動作的loop-sender模式。
[0096] ?Order-mismatch模式獲取多個消息,重新排序后發到一個特定的系統,因此,其 順序優先級應該低于面向多個系統的multi-receiver模式,而高于針對單個目標系統的順 序或互斥模式。
[0097] #5691161106-代06;[¥618和£1(31118;[¥6寸606;[¥618模式針對的都是一個特定系統的 行為,它們具備同樣的順序優先級,并且位于在發送者和接收者之間協調消息順序的 order-mismatch 模式之后。
[0098] #Multi-senders模式將來自多個系統的消息匯聚到一個具體的接收任務上,因 此其順序優先級低于針對同一個行為模型中多個任務間關系的模式。
[0099] 按照順序優先級對路由器進行組合,從而得到了系統交互行為不匹配時消息傳遞 的路由邏輯設計。
[0100]與現有技術相比,本發明根據相交互的醫療信息系統的異構模型種類確定路由解 決方案,要將EIP中路由器的選擇和配置與其針對的協作場景特征建立起計算機化的對應 關系,從而使醫學信息系統集成更加容易,大大提升路由設計效率。
【附圖說明】
[0101 ]圖1(a)和(b)分別為本實施例的循環接收者(loop-receiver)模式的BPMN協作圖 和該模式的路由解決方案;
[0102] 圖2(a)和(b)分別為本實施例的順序接收者(sequence-receiver)模式的BPMN協 作圖以及該模式的路由解決方案;
[0103] 圖3(a)和(b)分別為本實施例的互斥接收者(exclusive-receivers)模式的BPMN 協作圖以及該模式的路由解決方案;
[0104] 圖4(a)和(b)分別為本實施例的多接收者(multiple-receivers)模式的BPMN協作 圖以及該模式的路由解決方案;
[0105]圖5(a)和(b)分別為本實施例的循環發送者(loop-sender)模式的BPMN協作圖以 及該模式的路由解決方案;
[0106] 圖6(a)和(b)分別為本實施例的多發送者(multiple-senders)模式的BPMN協作圖 以及該模式的路由解決方案;
[0107]圖7(a)和(b)分別為本實施例的順序差異(Order-mismatch)模式的BPMN協作圖以 及該模式的路由解決方案;
[0108] 圖8為本實施例的行為異構的集成連接模型示意圖;
[0109] 圖9為圖8所示的行為異構的集成連接模型的路由解決方案示意圖。
【具體實施方式】
[0110] 下面將結合附圖和具體實施例對本發明進行詳細說明。
[0111] -種基于消息自動路由的多醫療信息系統集成方法,各個醫療信息系統的接口行 為和數據語義通過接口語義建模進行了明確的表達,通過如下步驟進行集成:
[0112] (1)識別需要進行消息交互的醫療信息系統的接口行為差異得到相應的行為異構 模式;
[0113] 接口行為差異包括發送者和接收者之間的消息基數和順序的差異。
[0114] (2)根據識別出的行為異構模式確定相應的路由解決方案,并添加到消息流對應 的消息通道上;
[0115] (3)根據接收接口的接口行為和數據語義,按照路由設計規則中的參數設置規則 配置路由器的路由參數即完成集成,所述路由參數包括路由目標和輸出消息。
[0116] 本實施例中行為異構模式包括一對多異構模式、多對一異構模式和多對多異構模 式;其中,一對多異構模式包括循環接收者模式、順序接收者模式、互斥接收者模式和多接 收者模式;多對一異構模式包括循環發送者模式和多發送者模式,多對多異構模式包括順 序差異模式。
[0117] 針對不同的行為異構模式設置不同的路由解決方案:
[0118] 對于循環接收者模式,利用拆分器進行路由,
[0119] 對于順序接收者模式,利用紙條路由器進行路由,
[0120] 對于互斥接收者模式,利用基于內容的路由器進行路由,
[0121] 對于循環發送者模式,利用聚合器或過濾器進行路由,
[0122] 對于多發送者模式,利用過濾器配合聚合器進行路由。
[0123] 圖1(a)為本實施例的循環接收者(loop-receiver)模式的BPMN協作圖。該集成連 接模型(即協作模型)包括醫療消息系統A和醫療消息系統B,其中,醫療消息系統A作為發送 端,醫療消息系統B作為接收端,交互中發送端(即醫療消息系統A)采用單個操作向接收端 (即醫療消息系統B)來發送包含多個部分(即局部消息M')的消息M,而接收端分多次來接收 消息M,每次接收一個局部消息M'。
[0124] 針對循環接收者(loop-receiver)模式,需要將一次消息交換拆分成多次消息交 換,因此針對該模式可以采用如圖1(b)所示的路由解決方案在EIP中拆分器(splitter,即 拆分路由器)實現把醫療消息系統A發送的整體消息M拆分為多個局部消息M'并逐個發送。
[0125]圖2(a)為本實施例的順序接收者(sequence-receiver)模式的BPMN協作圖,該集 成連接模型包括醫療消息系統A和醫療消息系統B,其中,醫療消息系統A作為發送端,醫療 消息系統B作為接收端,交互中發送消息的一方(即發送端)發送單次消息,而接收一方多 次、順序地接受該消息的若干部分,如局部消息Ml,局部消息M2等。在該協作模型中表現醫 療消息系統A的接口發出的消息流連接到醫療消息系統B的接口的若干個具備順序關系的 接收任務上。
[0126]針對順序接收者(sequence-receiver)模式,需要將一個接口發出的消息流連接 到另一個接口的若干具備順序關系的任務上,因此針對該模式可以采用如圖2(b)所示的路 由解決方案使用一個routing slip路由來控制消息發送的順序。在EIP中,紙條路由器 (routing slip)為消息M添加一個包含具備順序約束的目標接收者列表(稱為slip),使接 收方接收到的局部消息Ml、M2按照該順序在這些目標之間傳遞。
[0127] 圖3(a)為本實施例的互斥接收者(exclusive-receivers)模式的BPMN協作圖,該 集成連接模型包括醫療消息系統A和醫療消息系統B,其中,醫療消息系統A作為發送端,醫 療消息系統B作為接收端,交互中發送消息的一方(發送端)發出的消息需要按一個的條件 發送到另一個系統(接收端)的不同接口上,本實施例中對于發送端發送的消息M,接收端需 要根據條件判斷是接收消息Ml還是接收消息M2。在BPMN模型中,體現為一個發送任務通過 消息流連接到由一個互斥網關(exclusive gateway)連接的多個receive task上。
[0128]針對互斥接收者(61〇1118;^6-代〇6;^6^)模式,需要根據輸入消息的特征將其路 由到一個特定的目標接口上,因此針對該模式可以采用如圖3(b)所示的路由解決方案,在 EIP中,基于內容的路由器(CBR)根據消息的內容在多個可選目標中(消息Ml和消息M2)選擇 一個進行路由。因此,使用CBR來協調該模式中不同的行為方式。
[0129] 圖4(a)為本實施例的多接受者(mul tipi e-receivers)模式的BPMN協作圖,該集成 連接模型包括醫療消息系統A、醫療消息系統B和醫療消息系統C,其中系統A為發送端,系統 B和C為接收端,交互中發送消息的一方(發送端)發送的消息同時存在多個消息接收者(接 收端),本實施例中對于發送端發送的消息M,接收端B和接收端都需要接收消息M。在BPMN協 作模型中,體現為一個流程的發送消息任務通過多個消息流連接到位于多個不同流程中的 接收任務上。
[0130] 針對多接受者模式,需要將一個消息廣播到多個接收者接口上,因此針對該模式 可以采用如圖4(b)所示的路由解決方案,在EIP中,接收者列表(recipient list)路由器根 據預定義的目標列表將一個消息(M)同時發布到多個接收者來接收消息(M)。
[0131] 圖5(a)為本實施例的循環發送者(loop-sender)模式的BPMN協作圖,該集成連接 模型包括醫療消息系統A和醫療消息系統B。其中,系統A為發送端,系統B為接收端,交互中 發送端(即醫療消息系統A)采用循環方式多次向接收端(即醫療消息系統B)發送消息的局 部(M'),而接收端需要一次接收包含多個局部消息(M')的整體消息(M)。在BPMN模型中,表 現為由一個具備循環屬性的發送任務發出的唯一消息流連接到一個不具備循環屬性的接 收任務上。
[0132] 針對循環發送者模式,需要將多個局部消息整合為單一消息,因此針對該模式可 以采用如圖5(b)所示的路由解決方案。在EIP中,聚合器(aggregator)用于實現將多個局部 消息(M')聚合為一個整體消息(M)。如果發送端發送的消息功能語義大于接收端的功能語 義范圍,即有些局部消息(M')不是接收者功能范圍內的消息,就需要將這些這些局部消息 (M')過濾掉,在EIP中,使用過濾器(filter)過濾掉不屬于目標接口功能范圍的消息,然后 將過濾后的消息用聚合器(aggregator)整合為單一整體消息(M),針對此情況的循環發送 者模式的路由解決方案采用圖6(b)所示。
[0133] 圖6(a)為本實施例的多發送者(multiple-senders)模式的BPMN協作圖,該集成連 接模型包括醫療消息系統A、醫療消息系統B和醫療消息系統C,其中系統A和B是消息發送 端,系統C為消息接收端,交互中消息發送端A和B分別發送消息Ml和M2給C的同一個單次交 互上,即C要接收一個消息M。在BPMN模型中,這體現為不同行為模型中的發送任務同時發送 消息到一個非循環的接收任務上。
[0134] 針對多發送者模式,需要將多個消息進行選擇和組合,因此針對該模式可以采用 如圖6(b)所示的路由解決方案。在EIP中,使用過濾器(filter)過濾掉不是C所需要的消息, 然后用聚合器(aggregator)將過濾后的消息整合為M。
[0135] 圖7(a)為本實施例的順序差異(Order-mismatch)模式的BPMN協作圖,該集成連接 模型包括醫療消息系統A和醫療消息系統B。其中,系統A為發送端,系統B為接收端,在一次 交互中,發送端系統A先發送消息Ml,然后發送消息M2,而接收端系統B要先接收消息M2,繼 而接收消息Ml。在BPMN模型中,這表現為兩個消息流的接收任務的順序與相應的發送任務 的順序不同。
[0136] 針對順序差異模式,需要對多個消息的順序關系進行重新排列,因此針對該模式 可以采用如圖7(b)所示的路由解決方案。在EIP中,使用消息重排器(resequencer)對多個 消息(消息Ml和消息M2)進行重新排序。
[0137] 本實施例的方法中當存在跨越多個行為異構模式的消息流時,按照預設的順序優 先級對路由解決方案進行組合串接,并添加到相應的消息通道上。預設的順序優先級由高 至低依次為循環發送者模式、多接收者模式、順序差異模式、順序接收者模式、多發送者模 式和循環接收者模式,且順序接收者和互斥接收者優先級別相同。本實施例中不同行為異 構模式對應的順序優先級以及路由方案(即路由解決方案)如表1所示。
[0138] 表1
[0140]針對圖8中的接口連接模型,首先識別出如下行為異構模式:
[0141] ?在申請單請求的交互中,存在一對多的行為異構:
[0142] _SequenceReceivers= {mfl,mf2,mf3},CIS(Clinical Information System,臨 床信息系統)向RIS(Radiology Information System,放射信息系統)下達(即發送)申請 單,而在RIS中要將該申請單進行三次操作,首先創建檢查申請,然后為該申請添加檢查項 目,最后將該申請提交(即提交申請)。該模型為圖2所示的順序接收者模式的實例。這里的 發送申請單即為發送一個消息M,而RIS中需要用3個功能模塊來接收這個申請單,此次消息 交互即分為3個消息流(即mfl,mf2,mf3)。
[0143] _LoopReceiver= {mf2},CIS是通過單個操作發出了檢查申請單,但RIS循環多次 來接收檢查項目信息。該模型為如圖1所示的循環接收者模式的實例。
[0144] #在報告交互中,存在多對一的行為異構:
[0145] LoopSender= {mf4},RIS向CIS發送檢查報告時,RIS將單個項目的報告循環多次 發送給CIS,而CIS需要獲得的是該檢查整體的報告,即消息流mf4。該模型為如圖5所示的循 環發送者模式的實例。
[0146] 計算機根據行為異構模式確定相應的路由方案(即路由解決方案),自動選用相應 的路由器進彳丁路由:
[0147] 1 ?針對sequence-receivers模式,生成Routing Slip路由器,用于指定消息被路 由的順序。根據幾個操作在行為模型中的順序,該路由器的si ip屬性自動設置為: "addOrderRequest,add0rderltem,closeRequest"。
[0148] 2 ?針對loop-receiver模式,生成Spl itter路由器,用于將一個整體的申請單拆分 為多個檢查申請項目,并逐個發送到接收端口上。然后,利用路由設計規則中預定義的查詢 模板,Splitter的queryRef屬性自動設置為面向目標操作消息本體的查詢("select?item where?item rdfs :Type0rderItem"),用于將一個整體消息拆分為使用目標系統的消息本 體(Or der 11 em)表達的局部消息。
[0149] 3.針對loop-sender模式,生成Aggregator路由器,等待多個消息后整合為同一個 消息進行發送。其中,聚合器的queryRef屬性自動設置為面向目標操作消息本體的查詢 ("construct?r where?r rdfs:Type Report and?rhasItem?item and?item rdfs: TypeReportltem"),用于聚合多個報告項目(Reportltem)構建出一個用目標接口的Report 本體表達的實例。
[0150] 4.按照順序優先級規則,將參與同一消息流的路由器使用通道連接起來,構成整 體的路由邏輯模型,如圖9所示。ClS發送申請單(消息流mf 1)到達紙條路由器(routing slip),然后紙條路由器將該消息按照嚴格的順序發送給RIS的不同功能模塊(即消息流 mfl,mf2,mf3),同時對于RIS循環多次接收檢查項目信息,利用拆分器(splitter)將消息流 mf2的消息進行處理;RIS多次發送單個項目的報告(消息流mf4)到達聚合器(aggregator), 然后將這些單個項目的報告聚合成一份報告(消息流mf4)返回給CIS。
[0151]以上所述的【具體實施方式】對本發明的技術方案和有益效果進行了詳細說明,應理 解的是以上所述僅為本發明的最優選實施例,并不用于限制本發明,凡在本發明的原則范 圍內所做的任何修改、補充和等同替換等,均應包含在本發明的保護范圍之內。
【主權項】
1. 一種基于消息自動路由的多醫療信息系統集成方法,各個醫療信息系統的接口行為 和數據語義通過接口語義建模進行了明確的表達,其特征在于,通過如下步驟進行集成: (1) 識別需要進行消息交互的醫療信息系統的接口行為差異得到相應的行為異構模 式; (2) 根據識別出的行為異構模式確定相應的路由解決方案,并添加到消息流對應的消 息通道上; (3) 根據接收接口的接口行為和數據語義,按照路由設計規則中的參數設置規則配置 路由器的路由參數即完成集成,所述路由參數包括路由目標和輸出消息。2. 如權利要求1所述的基于消息自動路由的多醫療信息系統集成方法,其特征在于,所 述接口行為差異包括發送者和接收者之間的消息基數和順序的差異。3. 如權利要求2所述的基于消息自動路由的多醫療信息系統集成方法,其特征在于,所 述的行為異構模式包括一對多異構模式、多對一異構模式和多對多異構模式;其中,一對多 異構模式包括循環接收者模式、順序接收者模式、互斥接收者模式和多接收者模式;多對一 異構模式包括循環發送者模式和多發送者模式,多對多異構模式包括順序差異模式。4. 如權利要求3所述的基于消息自動路由的多醫療信息系統集成方法,其特征在于,針 對不同的行為異構模式設置不同的路由解決方案: 對于循環接收者模式,利用拆分器進行路由, 對于順序接收者模式,利用紙條路由器進行路由, 對于互斥接收者模式,利用基于內容的路由器進行路由, 對于循環發送者模式,利用聚合器或過濾器進行路由, 對于多發送者模式,利用過濾器配合聚合器進行路由。5. 如權利要求4所述的基于消息自動路由的多醫療信息系統集成方法,其特征在于,當 存在跨越多個行為異構模式的消息流時,按照預設的順序優先級對路由解決方案進行組合 串接,并添加到相應的消息通道上。6. 如權利要求5所述的基于消息自動路由的多醫療信息系統集成方法,其特征在于,預 設的順序優先級由高至低依次為循環發送者模式、多接收者模式、順序差異模式、順序接收 者模式、多發送者模式和循環接收者模式,且順序接收者和互斥接收者優先級別相同。
【文檔編號】G06F9/54GK105893162SQ201610186510
【公開日】2016年8月24日
【申請日】2016年3月29日
【發明人】段會龍, 呂旭東, 聶鴻超, 王菲菲
【申請人】浙江大學