專利名稱:醫(yī)療信息系統(tǒng)集成引擎的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及醫(yī)學(xué)信息領(lǐng)域,尤其是指一種醫(yī)療信息系統(tǒng)集成引擎。
背景技術(shù):
醫(yī)療機(jī)構(gòu)是一個包含多科室的復(fù)雜機(jī)構(gòu),各科室業(yè)務(wù)具有很強的特異性,沒有一個單獨的醫(yī)療信息系統(tǒng)能滿足整個醫(yī)院所有科室信息管理的需求,為實現(xiàn)各異構(gòu)醫(yī)療信息系統(tǒng)的信息共享和綜合利用,醫(yī)療信息系統(tǒng)間的集成是關(guān)鍵。
國內(nèi)在醫(yī)療信息系統(tǒng)集成的研究和應(yīng)用上發(fā)展較慢,通常采用數(shù)據(jù)庫共享或者中間數(shù)據(jù)庫等方式。這些集成方式導(dǎo)致系統(tǒng)間耦合度較高,獨立性較差,在實施過程中往往需要系統(tǒng)定制,難以推廣。
在國外,基于HL7(Health Level Seven)、DICOM(Digital ImagingCommunication in Medicine)等標(biāo)準(zhǔn)通訊協(xié)議的集成技術(shù)已經(jīng)研究并應(yīng)用多年,但由于標(biāo)準(zhǔn)通訊協(xié)議定義上比較靈活,系統(tǒng)集成時仍需要定制,因而近幾年發(fā)展起來的IHE(Integrating Healthcare Enterprise)技術(shù)框架(規(guī)范了如何應(yīng)用HL7、DICOM等標(biāo)準(zhǔn)通訊協(xié)議進(jìn)行集成)得到了各大系統(tǒng)廠商的廣泛支持。由于醫(yī)院存在大量的異構(gòu)醫(yī)療信息系統(tǒng),僅有標(biāo)準(zhǔn)通訊協(xié)議和IHE技術(shù)框架尚不能實現(xiàn)“即插即用”式的系統(tǒng)集成,一個新系統(tǒng)的加入需要和現(xiàn)有的系統(tǒng)逐一集成,隨著系統(tǒng)數(shù)量的增加,接口數(shù)量成幾何級數(shù)上升,集成代價很高,并且任一個系統(tǒng)的升級和更換需要與所有相關(guān)系統(tǒng)重新進(jìn)行集成測試,維護(hù)成本很高,同時工作流的調(diào)整需要關(guān)聯(lián)系統(tǒng)修改程序。另外,由于醫(yī)療數(shù)據(jù)在各信息系統(tǒng)內(nèi)部分散存放,各系統(tǒng)提供Web頁面或客戶端軟件的方式讓用戶瀏覽數(shù)據(jù),用戶需要學(xué)會操作各系統(tǒng)的客戶端界面,并且需要在各系統(tǒng)客戶端間不斷地切換,操作復(fù)雜、學(xué)習(xí)難度較大,這種操作模式很大程度上制約了醫(yī)療數(shù)據(jù)的價值。
發(fā)明內(nèi)容
本發(fā)明的提供了一種醫(yī)療信息系統(tǒng)集成引擎,以一種新的集成模式實現(xiàn)各異構(gòu)醫(yī)療信息系統(tǒng)的集成,解決現(xiàn)有系統(tǒng)集成中存在的問題。
一種醫(yī)療信息系統(tǒng)集成引擎,通過HL7、DICOM標(biāo)準(zhǔn)通訊協(xié)議消息的接收、處理和發(fā)送來實現(xiàn)醫(yī)療信息系統(tǒng)之間的集成,其特征在于包括消息接收解析組件,用于接收、解析來自各醫(yī)療信息系統(tǒng)的消息,解析過程中,通過各醫(yī)療信息系統(tǒng)對應(yīng)的字段映射機(jī)制和腳本程序,實現(xiàn)消息的字段映射和消息字段中數(shù)據(jù)元素的代碼轉(zhuǎn)換,屏蔽各醫(yī)療信息系統(tǒng)的差異,解析消息后對應(yīng)產(chǎn)生一條待處理事件;工作流驅(qū)動組件,以待處理事件的事件來源、事件類型等相關(guān)事件屬性作為輸入條件,根據(jù)工作流驅(qū)動配置,將事件信息保存到醫(yī)療數(shù)據(jù)中心,并觸發(fā)產(chǎn)生若干條待發(fā)送消息;消息組織發(fā)送組件,用于組織待發(fā)送消息,將待發(fā)送消息發(fā)送給對應(yīng)的醫(yī)療信息系統(tǒng),組織待發(fā)送消息過程中,通過各醫(yī)療信息系統(tǒng)對應(yīng)的字段映射機(jī)制和腳本程序,實現(xiàn)待發(fā)送消息的字段映射和消息字段中數(shù)據(jù)元素的代碼轉(zhuǎn)換,屏蔽各醫(yī)療信息系統(tǒng)的差異;消息解析組件接收來自各醫(yī)療信息系統(tǒng)的消息,對消息進(jìn)行解析后產(chǎn)生對應(yīng)的待處理事件,工作流驅(qū)動組件根據(jù)工作流驅(qū)動配置處理待處理事件,將待處理事件數(shù)據(jù)歸檔于醫(yī)療數(shù)據(jù)中心并產(chǎn)生待發(fā)送消息,消息組織發(fā)送組件組織待發(fā)送消息,并將待發(fā)送消息發(fā)送給對應(yīng)的醫(yī)療信息系統(tǒng)。
所述的消息為符合HL7標(biāo)準(zhǔn)通訊協(xié)議的HL7消息或符合DICOM標(biāo)準(zhǔn)通訊協(xié)議的DICOM消息。HL7消息包括病人入院、出院、轉(zhuǎn)院、檢查申請、預(yù)約安排、檢查狀態(tài)變更通知、報告發(fā)布和收費通知等業(yè)務(wù)工作流信息。DICOM消息包括放射、超聲、內(nèi)窺鏡及病理顯微鏡等影像設(shè)備類型的靜態(tài)和動態(tài)DICOM圖像的存儲消息。
集成引擎基于HL7、DICOM消息方式與醫(yī)療信息系統(tǒng)集成,實現(xiàn)醫(yī)療信息系統(tǒng)的業(yè)務(wù)流程集成,并將所有醫(yī)療數(shù)據(jù)在數(shù)據(jù)中心集中歸檔,實現(xiàn)醫(yī)療數(shù)據(jù)集成。
所述的工作流驅(qū)動配置以XML文件形式表達(dá)。通過工作流驅(qū)動組件驅(qū)動業(yè)務(wù)流程,通過XML方式配置業(yè)務(wù)流程,通過修改工作流驅(qū)動配置XML文件實現(xiàn)工作流的動態(tài)調(diào)整。
通過本發(fā)明醫(yī)療信息系統(tǒng)集成引擎,各醫(yī)療信息系統(tǒng)間不再需要兩兩集成,只需要與系統(tǒng)集成引擎實現(xiàn)集成,單一系統(tǒng)的升級和更換不會影響其他系統(tǒng);通過工作流驅(qū)動組件可實現(xiàn)業(yè)務(wù)流程的動態(tài)調(diào)整;所有醫(yī)療數(shù)據(jù)在醫(yī)療數(shù)據(jù)中心集中歸檔,可以基于此實現(xiàn)醫(yī)療數(shù)據(jù)的集成瀏覽。
圖1為本發(fā)明醫(yī)療信息系統(tǒng)集成引擎邏輯結(jié)構(gòu)圖;圖2為消息接收解析組件處理HL7消息的工作流程圖;圖3為消息組織發(fā)送組件的工作流程圖。
具體實施例方式
如圖1所示,一種醫(yī)療信息系統(tǒng)集成引擎,通過HL7、DICOM標(biāo)準(zhǔn)通訊協(xié)議消息的接收、處理和發(fā)送來實現(xiàn)醫(yī)療信息系統(tǒng)之間的集成,包括消息接收解析組件,用于接收、解析來自各醫(yī)療信息系統(tǒng)的消息,解析過程中,通過各醫(yī)療信息系統(tǒng)對應(yīng)的字段映射機(jī)制和腳本程序,實現(xiàn)消息的字段映射和消息字段中數(shù)據(jù)元素的代碼轉(zhuǎn)換,屏蔽各醫(yī)療信息系統(tǒng)的差異,解析消息后對應(yīng)產(chǎn)生一條待處理事件;工作流驅(qū)動組件,以待處理事件的事件來源、事件類型等相關(guān)事件屬性作為輸入條件,根據(jù)工作流驅(qū)動配置,將事件信息保存到醫(yī)療數(shù)據(jù)中心,并觸發(fā)產(chǎn)生若干條待發(fā)送消息;消息組織發(fā)送組件,用于組織待發(fā)送消息,將待發(fā)送消息發(fā)送給對應(yīng)的醫(yī)療信息系統(tǒng),組織待發(fā)送消息過程中,通過各醫(yī)療信息系統(tǒng)對應(yīng)的字段映射機(jī)制和腳本程序,實現(xiàn)待發(fā)送消息的字段映射和消息字段中數(shù)據(jù)元素的代碼轉(zhuǎn)換,屏蔽各醫(yī)療信息系統(tǒng)的差異;消息解析組件接收來自各醫(yī)療信息系統(tǒng)的消息,對消息進(jìn)行解析后產(chǎn)生對應(yīng)的待處理事件,工作流驅(qū)動組件根據(jù)工作流驅(qū)動配置處理待處理事件,將待處理事件數(shù)據(jù)歸檔于醫(yī)療數(shù)據(jù)中心并產(chǎn)生待發(fā)送消息,消息組織發(fā)送組件組織待發(fā)送消息,并將待發(fā)送消息發(fā)送給對應(yīng)的醫(yī)療信息系統(tǒng)。
消息為符合HL7標(biāo)準(zhǔn)通訊協(xié)議的HL7消息或符合DICOM標(biāo)準(zhǔn)通訊協(xié)議的DICOM消息,DICOM消息包括放射、超聲、內(nèi)窺鏡及病理顯微鏡等影像設(shè)備類型的靜態(tài)和動態(tài)DICOM圖像的存儲消息。
HL7消息包括病人入院、出院、轉(zhuǎn)院、檢查申請、預(yù)約安排、檢查狀態(tài)變更通知、報告發(fā)布和收費通知等業(yè)務(wù)工作流信息。HL7標(biāo)準(zhǔn)通訊協(xié)議定義比較靈活,消息接收解析組件處理HL7消息的工作流程如圖2所示,包含如下步驟(1)消息接收捕獲網(wǎng)絡(luò)上的HL7消息,以文本方式存放在本機(jī)內(nèi)存中;(2)消息解析解析本機(jī)內(nèi)存中的HL7文本信息,按照信息段(Segment)、數(shù)據(jù)域(Data field)、數(shù)據(jù)元素(Component及Sub-component)的層次結(jié)構(gòu)組織數(shù)據(jù);(3)字段映射同一數(shù)據(jù)在不同系統(tǒng)的HL7消息中可能存在于不同信息段的不同數(shù)據(jù)域中,通過字段映射表實現(xiàn)字段映射,屏蔽系統(tǒng)差異;(4)代碼轉(zhuǎn)換HL7標(biāo)準(zhǔn)中有很多數(shù)據(jù)元素沒有提供現(xiàn)成的數(shù)據(jù)定義表,因此不同系統(tǒng)中同一個數(shù)據(jù)可能用不同的代碼表示(比如性別的代碼有的系統(tǒng)用M、F、O代表男、女、未知,有的系統(tǒng)用0、1、2代表男、女、未知),通過加入Python腳本程序?qū)崿F(xiàn)對不同系統(tǒng)代碼的正確轉(zhuǎn)換,最后將經(jīng)過代碼轉(zhuǎn)換后的消息保存為XML文件;(5)解碼有些HL7消息中包含二進(jìn)制文件,比如報告發(fā)布的消息,由于HL7通訊協(xié)議規(guī)定傳輸?shù)谋仨毷茿SCII中的可見字符,因此二進(jìn)制文件在發(fā)送前作了編碼轉(zhuǎn)換,則需通過解碼將轉(zhuǎn)換成原始的二進(jìn)制文件。
(6)將HL7消息以XML文件附加二進(jìn)制文件方式存放在本地的代處理事件緩沖區(qū)中,作為一個待處理事件等待工作流驅(qū)動組件處理。
工作流驅(qū)動組件以待處理事件中的參數(shù)作為輸入,根據(jù)工作流驅(qū)動配置,生成一條或多條待發(fā)送消息。工作流驅(qū)動配置以XML文件形式表達(dá)。
下面舉個實例來說明工作流驅(qū)動配置文件的組織形式和工作流驅(qū)動過程,假設(shè)現(xiàn)在需要處理HIS(醫(yī)院管理信息系統(tǒng))系統(tǒng)的病人入院、病人姓名變更和檢查申請消息,關(guān)聯(lián)系統(tǒng)包括放射科RIS/PACS系統(tǒng)(RadSystem)、超聲科信息系統(tǒng)(USSystem),相應(yīng)業(yè)務(wù)規(guī)則要求如下1)病人入院信息(A01)保存到醫(yī)療數(shù)據(jù)中心,不需要發(fā)送給其他系統(tǒng);2)病人姓名變更信息(A08)保存到醫(yī)療數(shù)據(jù)中心,并發(fā)送給放射科RIS/PACS系統(tǒng)(RadSystem)和超聲科信息系統(tǒng)(USSystem);3)檢查申請(O01)保存到醫(yī)療數(shù)據(jù)中心,當(dāng)發(fā)往科室是放射科時,檢查申請發(fā)送給放射科RIS/PACS系統(tǒng)(RadSystem),當(dāng)發(fā)往科室是超聲科時,檢查申請發(fā)送給超聲科信息系統(tǒng)(USSystem)。
工作流驅(qū)動配置文件示例采用XML語言編寫,具體語句為<pre listing-type="program-listing"> ?。糆ventSource Name=″HIS″> ?。糆ventType Name=″A01″> ?。糀ctivity Name=″A01EventSave″ErrorAbort=″True″/> </EventType> ?。糆ventType Name=″A08″> <Activity Name=″A08EventSave″ErrorAbort=″True″/> <Activity Name=″HL7Message″Destination=″RadSystem″Type=″A08″/> <Activity Name=″HL7Message″Destination=″USSystem″Type=″A08″/> </EventType> ?。糆ventType Name=″O01″> <Activity Name=″O01EventSave″ErrorAbort=″True″/> <RelatedDepartment Name=″放射科″> <Activity Name=″HL7Message″Destination=″RadSystem″Type=″A01″/> <Activity Name=″HL7Message″Destination=″RadSystem″Type=″O01″/> ?。?RelatedDepartment> <RelatedDepartment Name=″超聲科″> <Activity Name=″HL7Message″Destination=″USSystem″Type=″A01″/> <Activity Name=″HL7Message″Destination=″USSystem″Type=″O01″/> ?。?RelatedDepartment> </EventType> ?。?EventSource></pre>其對應(yīng)的工作流驅(qū)動組件處理過程如下1)接收到HIS系統(tǒng)的A01消息(病人入院信息),在工作流XML配置文件中找到對應(yīng)的操作為A01EventSave,這是系統(tǒng)內(nèi)部預(yù)定義的操作,將A01消息中的相關(guān)信息保存到醫(yī)療數(shù)據(jù)中心。
2)接收到HIS系統(tǒng)的A08消息(病人姓名變更信息),對應(yīng)的第一個操作是A08EventSave,將A08消息中的相關(guān)信息保存到醫(yī)療數(shù)據(jù)中心,第二個操作是向RadSystem發(fā)送HL7A08消息,第三個操作是向USSystem發(fā)送HL7 A08消息。第一個操作的ErrorAbort屬性是True,代表如果此操作失敗,后續(xù)操作也取消。
3)接收到HIS系統(tǒng)的O01消息(檢查申請),對應(yīng)的第一個操作是O01EventSave,將O01消息中的相關(guān)信息保存到醫(yī)療數(shù)據(jù)中心,接著再判斷發(fā)往科室(RelatedDepartment)條件,如果是“放射科”,第二個和第三個操作分別是發(fā)送HL7 A01和HL7 O01消息給RadSystem,如果是“超聲科”,第二個和第三個操作分別是發(fā)送HL7 A01和HL7 O01消息給USSystem。
消息組織發(fā)送組件負(fù)責(zé)組織待發(fā)送HL7消息并發(fā)送給對應(yīng)的醫(yī)療信息系統(tǒng)。HL7消息的發(fā)送功能支持發(fā)送病人ADT(入院、出院和轉(zhuǎn)院)、檢查申請、預(yù)約安排、檢查狀態(tài)變更通知、報告發(fā)布和收費通知等業(yè)務(wù)工作流信息,HL7標(biāo)準(zhǔn)通訊協(xié)議定義比較靈活,處理HL7消息的工作流程如圖3所示,包含獲取消息相關(guān)數(shù)據(jù)、代碼轉(zhuǎn)換、字段映射、編碼、消息組織和發(fā)送五個過程。
(1)獲取消息相關(guān)數(shù)據(jù)從醫(yī)療數(shù)據(jù)庫中獲取消息相關(guān)數(shù)據(jù);(2)代碼轉(zhuǎn)換HL7標(biāo)準(zhǔn)中有很多數(shù)據(jù)元素沒有提供現(xiàn)成的數(shù)據(jù)定義表,因此不同系統(tǒng)中同一個數(shù)據(jù)可能用不同的代碼表示(比如性別的代碼有的系統(tǒng)用M、F、O代表男、女、未知,有的系統(tǒng)用0、1、2代表男、女、未知),通過加入Python腳本程序?qū)崿F(xiàn)代碼轉(zhuǎn)換,使不同系統(tǒng)都能識別代碼的含義;(3)字段映射不同系統(tǒng)可能要求同一數(shù)據(jù)出現(xiàn)在HL7消息中不同信息段的不同數(shù)據(jù)域中,通過字段映射表實現(xiàn)字段映射,屏蔽系統(tǒng)差異;(4)編碼有些HL7消息中包含二進(jìn)制文件,比如報告發(fā)布的消息,由于HL7通訊協(xié)議規(guī)定傳輸?shù)谋仨毷茿SCII中的可見字符,因此二進(jìn)制文件在發(fā)送前需要進(jìn)行編碼轉(zhuǎn)換;(5)消息組織和發(fā)送最后生成HL7消息,將經(jīng)過代碼轉(zhuǎn)換、字段映射和編碼的數(shù)據(jù)填入信息段的各數(shù)據(jù)域中,并發(fā)送給各信息系統(tǒng)。
集成引擎的DICOM消息處理包括接收放射、超聲等科室系統(tǒng)的影像存儲消息(DICOM Storage),并提供DICOM影像查詢和獲取服務(wù)(DICOMQuery/Retrieve),相關(guān)技術(shù)和產(chǎn)品已經(jīng)非常成熟,因此不在本專利說明中詳述。
權(quán)利要求
1.一種醫(yī)療信息系統(tǒng)集成引擎,通過對消息的接收、處理和發(fā)送實現(xiàn)醫(yī)療信息系統(tǒng)之間的集成,其特征在于包括消息接收解析組件,用于接收、解析來自各醫(yī)療信息系統(tǒng)的消息,解析過程中,通過各醫(yī)療信息系統(tǒng)對應(yīng)的字段映射機(jī)制和腳本程序,實現(xiàn)消息的字段映射和消息字段中數(shù)據(jù)元素的代碼轉(zhuǎn)換,屏蔽各醫(yī)療信息系統(tǒng)的差異,解析消息后對應(yīng)產(chǎn)生一條待處理事件;工作流驅(qū)動組件,以待處理事件的事件來源、事件類型等相關(guān)事件屬性作為輸入條件,根據(jù)工作流驅(qū)動配置,將事件信息保存到醫(yī)療數(shù)據(jù)中心,并觸發(fā)產(chǎn)生若干條待發(fā)送消息;消息組織發(fā)送組件,用于組織待發(fā)送消息,將待發(fā)送消息發(fā)送給對應(yīng)的醫(yī)療信息系統(tǒng),組織待發(fā)送消息過程中,通過各醫(yī)療信息系統(tǒng)對應(yīng)的字段映射機(jī)制和腳本程序,實現(xiàn)待發(fā)送消息的字段映射和消息字段中數(shù)據(jù)元素的代碼轉(zhuǎn)換,屏蔽各醫(yī)療信息系統(tǒng)的差異;消息解析組件接收來自各醫(yī)療信息系統(tǒng)的消息,對消息進(jìn)行解析后產(chǎn)生對應(yīng)的待處理事件,工作流驅(qū)動組件根據(jù)工作流驅(qū)動配置處理待處理事件,將待處理事件數(shù)據(jù)歸檔于醫(yī)療數(shù)據(jù)中心并產(chǎn)生待發(fā)送消息,消息組織發(fā)送組件組織待發(fā)送消息,并將待發(fā)送消息發(fā)送給對應(yīng)的醫(yī)療信息系統(tǒng)。
2.如權(quán)利要求1所述的醫(yī)療信息系統(tǒng)集成引擎,其特征在于集成引擎基于HL7、DICOM消息方式與醫(yī)療信息系統(tǒng)集成,實現(xiàn)醫(yī)療信息系統(tǒng)的業(yè)務(wù)流程集成,并將所有醫(yī)療數(shù)據(jù)在數(shù)據(jù)中心集中歸檔,實現(xiàn)醫(yī)療數(shù)據(jù)集成。
3.如權(quán)利要求1所述的醫(yī)療信息系統(tǒng)集成引擎,其特征在于通過工作流驅(qū)動組件驅(qū)動業(yè)務(wù)流程,通過XML方式配置業(yè)務(wù)流程,通過修改工作流驅(qū)動配置XML文件實現(xiàn)工作流的動態(tài)調(diào)整。
全文摘要
本發(fā)明公開了一種醫(yī)療信息系統(tǒng)集成引擎,用于解決醫(yī)療機(jī)構(gòu)中各異構(gòu)醫(yī)療信息系統(tǒng)的集成互連問題,包括消息接收解析組件、工作流驅(qū)動組件和消息組織發(fā)送組件,消息解析組件接收來自各醫(yī)療信息系統(tǒng)的消息,對消息進(jìn)行解析后產(chǎn)生對應(yīng)的待處理事件,工作流驅(qū)動組件根據(jù)工作流驅(qū)動配置處理待處理事件,將待處理事件數(shù)據(jù)歸檔于醫(yī)療數(shù)據(jù)中心并產(chǎn)生待發(fā)送消息,消息組織發(fā)送組件組織待發(fā)送消息,并將待發(fā)送消息發(fā)送給對應(yīng)的醫(yī)療信息系統(tǒng)。使用本發(fā)明醫(yī)療信息系統(tǒng)引擎,各異構(gòu)醫(yī)療信息系統(tǒng)兩兩之間的集成問題變成了醫(yī)療信息系統(tǒng)與集成引擎的集成問題,減少了集成復(fù)雜度。
文檔編號H04L29/06GK101052041SQ20071006847
公開日2007年10月10日 申請日期2007年5月10日 優(yōu)先權(quán)日2007年5月10日
發(fā)明者段會龍, 呂旭東, 趙晨暉, 劉濟(jì)全, 陳照丹 申請人:浙江大學(xué)