冉梅梅,王曉華,何 焱,楊 敏
1(遵義醫(yī)藥高等??茖W(xué)校 信息技術(shù)網(wǎng)絡(luò)管理中心,遵義 563006)
2(遵義醫(yī)科大學(xué) 醫(yī)學(xué)信息工程學(xué)院,遵義 563006)
工作流異常是指通過一定的技術(shù)手段,根據(jù)某種處理機(jī)制與相關(guān)的處理方法來解決工作流中的異常情況,使得工作流程能夠恢復(fù)到正常狀態(tài),正確的執(zhí)行[1].
異常事件有數(shù)據(jù)異常事件、時(shí)態(tài)異常事件、WF異常事件、外部異常事件、不一致異常事件、系統(tǒng)/應(yīng)用程序異常事件[2].劉瓊昕在文獻(xiàn)[3]中提出了一種基于ECA和案例推理的工作流異常處理模型,該模型既保持了ECA規(guī)則的高效性,又具有案例推理的靈活性和自學(xué)習(xí)性.王全峰在文獻(xiàn)[4]中對異常進(jìn)行了分類,并且利用工具實(shí)現(xiàn)了可預(yù)見異常處理模塊.麻亞翰文獻(xiàn)[5]主要是針對數(shù)據(jù)異常進(jìn)行了定義與分類,并提出了系統(tǒng)遍歷圖算法.張婷等在文獻(xiàn)[6]中采用著色Petri網(wǎng)的建模工具CPN Tools建立了層次化的工作流異常處理機(jī)制模型.于萬鈞等在文獻(xiàn)[7]中基于OWL建立了任務(wù)異常與處理模式之間的映射關(guān)系.張春輝在文獻(xiàn)[8]中闡述了案例推理技術(shù)的自學(xué)習(xí)能力可以使案例庫隨著異常次數(shù)的增加而增大,擴(kuò)大異常處理的范圍.馮復(fù)劍在文獻(xiàn)[9]中從工作流時(shí)間角度提出了一種工作流時(shí)間異常處理方法.白紅梅在文獻(xiàn)[10]中擴(kuò)展了UML活動(dòng)圖,提出了T型工作流恢復(fù)算法.崔磊在文獻(xiàn)[11]中提出基于事務(wù)的異常處理優(yōu)化策略.文獻(xiàn)[12]中提出了一種支持異常處理的靈活工作流模型和相應(yīng)的QoS性能分析方法.文獻(xiàn)[13]中基于異常效率的考慮而重構(gòu)流程模型可以提高業(yè)務(wù)流程的整體生產(chǎn)率.
目前,由于醫(yī)院異常工作流較為復(fù)雜,異常大部分是不可預(yù)見的,多色集合理論主要是用于對產(chǎn)品概念設(shè)計(jì)[14]、立體車庫分區(qū)管理[15]、數(shù)控機(jī)床故障[16]等進(jìn)行建模研究,還未有相關(guān)學(xué)者采用多色集合對醫(yī)院工作流異常進(jìn)行建模處理,只有利用Petri Nets 對工作流異常進(jìn)行了建模,采用Petri-net、謂詞表達(dá)式等描述工作流雖然較為嚴(yán)密,但是對于形式多樣的工作流進(jìn)行異常處理的描述過于復(fù)雜、缺乏智能性等方面的缺點(diǎn)[17].
醫(yī)院異常工作流種類較多、不可預(yù)測,多色集合理論建模優(yōu)勢是能夠?qū)?fù)雜對象建立統(tǒng)一的數(shù)學(xué)模型,并且多色集合的圍道矩陣可以從橫、縱兩個(gè)維度進(jìn)行擴(kuò)展來描述異常工作流.因此本文提出了基于多色集合理論的醫(yī)院異常工作流處理建模,主要是在課題組前期基于多色集合理論的醫(yī)院工作流建模的基礎(chǔ)上[18,19],擴(kuò)展多色集合理論對醫(yī)院異常工作流建模.根據(jù)異常事件與異常類型以及活動(dòng)節(jié)點(diǎn)之間的關(guān)系,建立圍道推理矩陣,最終根據(jù)異常工作流推理規(guī)則推理出多色圖模型,該模型具有統(tǒng)一性、可擴(kuò)展性、智能性,根據(jù)推理規(guī)則能夠推理出異常流程處理方法.
多色集合(polychromatic sets)是在傳統(tǒng)集合的基礎(chǔ)上結(jié)合模糊數(shù)學(xué)、數(shù)理邏輯以及矩陣知識(shí)形成的,其特點(diǎn)是能夠采用統(tǒng)一的數(shù)學(xué)模型來對復(fù)雜對象建模.典型的多色集合主要包含6種成分[20],如下式(1)所示.
其中,A表示研究對象的集合,F(A)是對象的統(tǒng)一著色,F(a)表示集合中元素的個(gè)人顏色.
多色圖的邊與節(jié)點(diǎn)都是由多色集合構(gòu)成的,豐富了節(jié)點(diǎn)與邊的表達(dá)能力.主要由3部分組成[21],如下式(2)所示.
醫(yī)院異常工作流可以分為可預(yù)見與不可預(yù)見異常,其中可預(yù)見異常是結(jié)構(gòu)化的異常,是能夠預(yù)先知道哪個(gè)活動(dòng)會(huì)發(fā)生異常;不可預(yù)見異常是在活動(dòng)運(yùn)行過程中產(chǎn)生的異常,是不可預(yù)見性的.利用多色集合理論的圍道矩陣與多色圖對醫(yī)院異常工作流進(jìn)行建模,圍道矩陣能夠清楚地描述異常與類型之間的關(guān)系,多色圖模型能夠清楚地表示出流程活動(dòng)之間異常的處理方法.醫(yī)院工作流出現(xiàn)異常節(jié)點(diǎn)之間都存在共同事件,例如:局域網(wǎng)異常、操作異常等.因此,在用對象集合的個(gè)人顏色表示事件時(shí),可以將共同的異常事件抽象為公共異常事件fp,個(gè)人顏色f可以分割為
原子活動(dòng):是指不能夠再被分為子活動(dòng)的活動(dòng)ai,用節(jié)點(diǎn)集合A表示工作流中活動(dòng)節(jié)點(diǎn),?ai∈A;F(ai)→F(at):活動(dòng)ai在活動(dòng)at之前執(zhí)行.
起始活動(dòng):無前驅(qū)活動(dòng),只有后繼活動(dòng)的活動(dòng)節(jié)點(diǎn),用符號a1表示,可形式化為式(3).
終止活動(dòng):只有前驅(qū)活動(dòng),而無后繼活動(dòng),可以形式化為式(4).
與分關(guān)系:一個(gè)活動(dòng)執(zhí)行后并行執(zhí)行兩個(gè)活動(dòng),可以形式化為式(5).
與合關(guān)系:兩個(gè)活動(dòng)同時(shí)執(zhí)行完成后再執(zhí)行后續(xù)活動(dòng),可以形式化為式(6).
或分關(guān)系:一個(gè)活動(dòng)執(zhí)行完成后再執(zhí)行一個(gè)或多個(gè)活動(dòng),可形式化為式(7).
或合關(guān)系:一個(gè)活動(dòng)或多個(gè)活動(dòng)執(zhí)行完后再執(zhí)行后續(xù)活動(dòng),可形式化為式(8).
若定義a1,a2,···,an是某系統(tǒng)的某項(xiàng)業(yè)務(wù)流程,則a1是起始節(jié)點(diǎn),an是結(jié)束節(jié)點(diǎn),假設(shè)該業(yè)務(wù)流程只存在順序結(jié)構(gòu),其多色圖模型可以描述為圖1.
圖1 醫(yī)院工作流的多色圖模型
[A×A]表示活動(dòng)節(jié)點(diǎn)之間的順序關(guān)系,如活動(dòng)關(guān)系圍道矩陣所示:
工作流異常類型用對象的體A(F)來表示,異常事件用對象的個(gè)人顏色F(a)表示,[F(a)×A(F)]圍道矩陣表示異常事件與異常類型之間的關(guān)系,如下矩陣(工作流異常類型圍道矩陣)所示.
如果afij=1,第i行表示異常事件是哪些異常類型的組成部分,第j列表示某異常類型是由哪些異常事件導(dǎo)致的,即這些異常事件的其中某一個(gè)發(fā)生都會(huì)導(dǎo)致該種異常類型.
2.4.1 無外部節(jié)點(diǎn)的異常處理
(1)掛起
掛起是指當(dāng)運(yùn)行某個(gè)工作流節(jié)點(diǎn)時(shí),相關(guān)的資源不能滿足活動(dòng)節(jié)點(diǎn)的需要,活動(dòng)節(jié)點(diǎn)就不能繼續(xù)運(yùn)行,只能處于停滯狀態(tài),即為掛起.
定義G(xa).在滿足x條件下活動(dòng)a能夠繼續(xù)運(yùn)行,用邏輯表達(dá)式形式化為式(9),用多色圖可以描述為圖2.
圖2 掛起多色圖模型
圖2中工作流節(jié)點(diǎn)運(yùn)行至a3時(shí),由于某種條件不能滿足,就不能繼續(xù)向后運(yùn)行a4活動(dòng)節(jié)點(diǎn)了,所以擴(kuò)展多色圖的邊,用來表示掛起狀態(tài).直到活動(dòng)節(jié)點(diǎn)的條件滿足后,才能取消掛起狀態(tài).
(2)向后回滾
ai,aj∈A,i>j,H(xi)f?→H(xj)
定義 且表示在條件f不能滿足的情況下,使得活動(dòng)節(jié)點(diǎn)從xi遷移至活動(dòng)節(jié)點(diǎn)xj.
向后回滾又分為向后直接回滾與向后間接回滾.
① 直接回滾
是指由后一個(gè)活動(dòng)節(jié)點(diǎn)回滾至前一個(gè)活動(dòng)節(jié)點(diǎn),可以用邏輯表達(dá)式形式化為式(10),用多色圖可以描述為圖3.
圖3 直接回滾多色圖模型
② 間接回滾
是指工作流運(yùn)行至某個(gè)節(jié)點(diǎn)時(shí),由于某種操作錯(cuò)誤而需要回滾兩個(gè)或兩個(gè)以上的活動(dòng)節(jié)點(diǎn).可以用邏輯表達(dá)式形式化為式(11),用多色圖表示為圖4.
圖4 間接回滾多色圖模型
(3)向前跳躍
向前跳躍也可以分為向前直接跳躍與向前間接跳躍.
① 向前順序跳躍
是指在當(dāng)活動(dòng)節(jié)點(diǎn)運(yùn)行至ai時(shí),ai不能夠繼續(xù)運(yùn)行,但是與后一個(gè)活動(dòng)無數(shù)據(jù)交互時(shí),可以直接跳躍至ai+1的活動(dòng),可以邏輯形式化為式(12),用多色圖表示為圖5.
圖5 向后直接跳躍多色圖模型
② 向前跨越
是指當(dāng)活動(dòng)節(jié)點(diǎn)運(yùn)行至ai時(shí),ai不能夠繼續(xù)運(yùn)行,后面第i+k活動(dòng)節(jié)點(diǎn)不與前繼活動(dòng)發(fā)生數(shù)據(jù)交互,則可以由活動(dòng)ai跳躍至活動(dòng)ai+k(k>0),可以邏輯形式化為式(13)用多色圖表示為圖6.
圖6 向前間接跳躍多色圖模型
異常關(guān)系圍道矩陣可描述為如下異常關(guān)系圍道矩陣:
2.4.2 有外部節(jié)點(diǎn)的異常處理
當(dāng)系統(tǒng)出現(xiàn)異常時(shí),不是立即產(chǎn)生回滾操作或者向前跳躍操作,需要外部事件參與處理異常,滿足節(jié)點(diǎn)運(yùn)行條件后,才能執(zhí)行回滾、向前跳躍、節(jié)點(diǎn)重復(fù)等三類操作.在描述回滾、向前跳躍、節(jié)點(diǎn)重復(fù)的多色圖和圍道矩陣時(shí),要加入外部節(jié)點(diǎn)aw.受篇幅所限,本小節(jié)僅以回滾操作為例(圖7、外部事件圍道矩陣),當(dāng)節(jié)點(diǎn)ak+1出現(xiàn)異常后,需要外部節(jié)點(diǎn)aw處理后,再回滾到上一節(jié)點(diǎn)ak.
外部事件圍道矩陣如下所示,其中wij表示具體外部處理事件的活動(dòng)節(jié)點(diǎn).
圖7 調(diào)用外部事件的多色圖模型
用多色集合中對象的統(tǒng)一著色F(A)來表示工作流異常狀態(tài),F1表示掛起狀態(tài),F2表示向前直接回滾狀態(tài),F3表示向前間接回滾狀態(tài),F4表示向后直接跳躍狀態(tài),F5表示向后間接跳躍狀態(tài).因此F(A)表示為式(14):
異常事件處理圍道矩陣可用如下矩陣表示:
活動(dòng)間異?;〉绹谰仃嚾缦滤?
上式中,如果faij=1,表示邊
異常工作流用多色集合理論可以形式化為式(15).
醫(yī)院工作流可能由于某個(gè)資源缺乏或病人不了解流程而導(dǎo)致流程不能按照預(yù)期運(yùn)行,以病人在門診就診為例,流程可以用形式化為如下矩陣:
活動(dòng)節(jié)點(diǎn)名稱、異常事件與異常事件類型用表分別用表1、表2、表3表示.
表1 活動(dòng)節(jié)點(diǎn)名稱表
表2 異常事件名稱表
表3 異常事件類型表
由于醫(yī)院信息化已經(jīng)普及,大部分活動(dòng)節(jié)點(diǎn)可能都會(huì)出現(xiàn)與系統(tǒng)相關(guān)的問題后,從而導(dǎo)致異常.因此,異常事件可以分為共有事件與其他事件,事件描述為式(16).
利用圍道矩陣(17)來描述活動(dòng)節(jié)點(diǎn)間異常事件的類型,圍道矩陣(19)描述異常事件與異常事件類型之間的關(guān)系.在工作流中,根據(jù)圍道矩陣(17)與圍道矩陣(19)能夠知道活動(dòng)節(jié)點(diǎn)間發(fā)生了哪些異常,以及是什么導(dǎo)致異常的.例如,掛號活動(dòng)a2與分診活動(dòng)a3之間的異常事件類型是A(F1),在對應(yīng)的圍道矩陣(19)中可以識(shí)別出導(dǎo)致此次異常的事件有:fp、fr7、fr8、fr9、fr10、f15、f17.
根據(jù)矩陣(18)[F(a)×A(F)]、矩陣(19)[F(A)×F(a)]、矩陣(17)[×A(F)]可以推理醫(yī)院異常工作流多色圖模型.
基于多色圖的異常工作流模型推理規(guī)則:
(1)根據(jù)活動(dòng)圍道矩陣[A×A]形式化出工作流正常運(yùn)行流程多色圖模型.
(2)活動(dòng)組
(3)異常事件類型A(Fi) 根據(jù)圍道矩陣[F(a)×A(F)]能夠推理出異常事件fi;
(4)根據(jù)圍道矩陣[×A]可以推理出活動(dòng)之間異常處理為弧道;
(5)最后,異常事件再根據(jù)圍道矩陣[F(A)×F(a)]就能夠推理出異常事件的操作行為Fi.
圖8就是根據(jù)以上推理規(guī)則得出的醫(yī)院工作流異常多色圖模型,用集合的形式可以表示為式(21).
圖8 基于多色圖的門診異常處理模型
本文采用多色集合理論對醫(yī)院異常工作流進(jìn)行建模,利用多色集合圍道矩陣描述出活動(dòng)節(jié)點(diǎn)、異常事件、異常事件類型之間的關(guān)系,然后根據(jù)矩陣以及推理規(guī)則自動(dòng)生成醫(yī)院異常工作流多色圖模型,通過擴(kuò)展典型多色集合與多色圖的成分來形式化醫(yī)院異常工作流,對多色圖的邊進(jìn)行擴(kuò)展,能夠豐富多色圖的表達(dá)能力,使正常工作流的邊與異常處理的邊一目了然.利用多色集合描述異常圍道矩陣的優(yōu)勢是圍道矩陣的橫向與縱向能夠根據(jù)活動(dòng)節(jié)點(diǎn)的增加而增加,根據(jù)多色圖的推理規(guī)則自動(dòng)生成多色圖模型.
本文推理出的異常工作流推理模型是根據(jù)前面建立的圍道矩陣進(jìn)行推理的,由于推理矩陣可以根據(jù)各醫(yī)院的實(shí)際情況建立,并且后期可以在圍道矩陣的橫向與縱向增加相應(yīng)的異常事件與異常類型.因此,建立的異常工作流多色圖模型具有可靠性、統(tǒng)一性、可擴(kuò)展性、智能型,根據(jù)多色圖異常工作流模型可以推理處對特定異常事件作出的具體處理方法.后期通過算法實(shí)現(xiàn)推理規(guī)則后,能夠提高醫(yī)院異常事件處理效率.