專利名稱:基于hl7代理服務(wù)器的異構(gòu)醫(yī)療信息集成系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于醫(yī)療信息技術(shù)領(lǐng)域,具體涉及一種基于HL7代理服務(wù)器的異構(gòu)醫(yī)療信息集成系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的不斷發(fā)展和人們對醫(yī)療保健水平要求的逐步提高,醫(yī)療信息基礎(chǔ)設(shè)施建設(shè)受到業(yè)內(nèi)外人士的普遍關(guān)注,它的發(fā)展?fàn)顩r成為衡量一個(gè)國家醫(yī)療衛(wèi)生工作發(fā)展水平的重要標(biāo)志。
醫(yī)療單位日常運(yùn)營中會(huì)使用到各種醫(yī)療信息系統(tǒng)如HIS(醫(yī)院信息系統(tǒng))、PACS(醫(yī)學(xué)圖像存儲(chǔ)和通訊系統(tǒng))和CIS(臨床信息系統(tǒng))等,這些系統(tǒng)互相協(xié)同實(shí)現(xiàn)了對醫(yī)院日常數(shù)據(jù)管理和信息服務(wù)的支持。但是由于我國醫(yī)療機(jī)構(gòu)采用的醫(yī)療信息系統(tǒng)有著眾多的開發(fā)廠商,在設(shè)計(jì)之初沒有統(tǒng)一的標(biāo)準(zhǔn)作為參考,這些系統(tǒng)在數(shù)據(jù)模型、接口規(guī)范、通信協(xié)議和響應(yīng)機(jī)制等方面存在著很大的異構(gòu)性,給醫(yī)療單位內(nèi)部以及醫(yī)療單位之間的信息共享及數(shù)據(jù)交換造成了很大的困難,限制了一些醫(yī)療服務(wù)的開展,如電子病歷服務(wù)(將病人在不同醫(yī)院的病歷集成為完整的個(gè)人病歷)、醫(yī)院和社會(huì)醫(yī)療保險(xiǎn)單位之間財(cái)務(wù)結(jié)算、醫(yī)院間的轉(zhuǎn)診服務(wù)、醫(yī)院間臨床數(shù)據(jù)共享等的實(shí)現(xiàn)。如何實(shí)現(xiàn)醫(yī)療單位內(nèi)部不同醫(yī)療信息系統(tǒng)之間,以及醫(yī)療相關(guān)單位之間不同信息系統(tǒng)的數(shù)據(jù)共享,實(shí)現(xiàn)跨醫(yī)院、跨地區(qū)的異構(gòu)醫(yī)療信息系統(tǒng)的信息集成,成為醫(yī)療信息技術(shù)領(lǐng)域所面臨的重要挑戰(zhàn)。
HL7(Health Level Seven)協(xié)議作為ANSI(美國國家標(biāo)準(zhǔn)化組織)支持的醫(yī)療信息系統(tǒng)間的通訊協(xié)議已被世界各國廣泛接受,我國在2000年成為HL7組織的正式成員,并著手基于HL7標(biāo)準(zhǔn)制定我國的醫(yī)療信息系統(tǒng)通信標(biāo)準(zhǔn),實(shí)現(xiàn)HL7協(xié)議的本土化。但我國目前很多醫(yī)療信息系統(tǒng)仍然沿用了與HL7不兼容的協(xié)議(EHRcom、openEHR等)或者使用HL7的舊有版本,這種狀況仍將會(huì)持續(xù)一段很長的時(shí)間。HL7的最新版本HL7 v3采用了最新的開發(fā)框架HDF(HL7 Development Framework)和參考信息模型RIM(ReferenceInformation Model),這使得HL7 v3可以被靈活地加以擴(kuò)展和應(yīng)用。此外,HL7 v3還是第一個(gè)采用可擴(kuò)展標(biāo)記語言XML來進(jìn)行醫(yī)療信息描述的HL7版本,并且新增了對SOAP格式的HL7消息和Web Service發(fā)布的支持,這些新特性使得它可以較為容易地實(shí)現(xiàn)與代理技術(shù)與中間件技術(shù)的無縫接合。
當(dāng)前部分廠商為醫(yī)療信息系統(tǒng)所提供的HL7接口如HL7-IE與Chameleon,可以部分實(shí)現(xiàn)遵循HL7標(biāo)準(zhǔn)的信息系統(tǒng)與非HL7系統(tǒng)之間的信息交換,但這種信息共享局限在幾種特定的系統(tǒng)之間,且需要對原有平臺(tái)做出較多改動(dòng),掛接相關(guān)程序或動(dòng)態(tài)鏈接庫(DLL),無法對醫(yī)療單位全局的信息集成做出一個(gè)統(tǒng)籌安排,也無法在一個(gè)廣大地域范圍內(nèi)的醫(yī)療單位之間實(shí)現(xiàn)信息共享。
發(fā)明內(nèi)容
本發(fā)明的目的是針對當(dāng)前醫(yī)療單位內(nèi)部和醫(yī)療單位之間異構(gòu)醫(yī)療信息系統(tǒng)信息集成實(shí)現(xiàn)方法的不足,提出一種基于HL7代理服務(wù)器的異構(gòu)醫(yī)療信息集成系統(tǒng),該系統(tǒng)具有可靠性高、安全保障強(qiáng)、擴(kuò)展性好和效率高的特點(diǎn)。
本發(fā)明提供的基于HL7代理服務(wù)器的異構(gòu)醫(yī)療信息集成系統(tǒng),其特征在于該系統(tǒng)包括域管理中心和HL7代理服務(wù)器;域管理中心接受來自本域內(nèi)HL7代理服務(wù)器的可用資源的注冊,以資源元數(shù)據(jù)的方式對注冊信息加以管理,并響應(yīng)任一HL7代理服務(wù)器對遠(yuǎn)程資源的訪問請求;HL7代理服務(wù)器設(shè)置在各醫(yī)院結(jié)點(diǎn)上,用于管理各醫(yī)院內(nèi)部的醫(yī)療信息系統(tǒng),它定時(shí)從域管理中心下載可用資源視圖,供用戶選擇遠(yuǎn)程集成目標(biāo);并接受來自本地醫(yī)院用戶的醫(yī)療信息集成請求,根據(jù)請求內(nèi)容訪問本地信息系統(tǒng)或通過遠(yuǎn)程HL7代理服務(wù)器訪問遠(yuǎn)程信息系統(tǒng),并對各結(jié)點(diǎn)返回的結(jié)果進(jìn)行集成。
上述基于HL7代理服務(wù)器的異構(gòu)醫(yī)療信息集成系統(tǒng)具有以下效果及優(yōu)點(diǎn)(1)高可靠性本發(fā)明基于代理技術(shù)和中間件技術(shù)實(shí)現(xiàn)了異構(gòu)醫(yī)療信息系統(tǒng)的信息集成。代理服務(wù)器以虛擬客戶端的形式對醫(yī)療信息系統(tǒng)進(jìn)行訪問,格式轉(zhuǎn)化和整合操作完全集中在代理服務(wù)器端完成,無需對原有系統(tǒng)的軟硬件設(shè)施做出任何修改,且所有操作不會(huì)對原有系統(tǒng)的工作模式產(chǎn)生任何影響。
(2)有效的安全保障代理服務(wù)器之間使用運(yùn)行在HTTPS之上的SOAP消息通信保證了傳輸安全;通過在代理服務(wù)器端添加安全和訪問控制模塊可以較容易地實(shí)現(xiàn)對外部數(shù)據(jù)訪問的監(jiān)控。
(3)可擴(kuò)展性本發(fā)明的軟件系統(tǒng)采用中間件技術(shù)實(shí)現(xiàn)了各種醫(yī)療數(shù)據(jù)模型到HL7數(shù)據(jù)格式的轉(zhuǎn)化,當(dāng)有新的數(shù)據(jù)模型或通信協(xié)議需要支持時(shí),只需擴(kuò)展代理服務(wù)器上的中間件增加新的轉(zhuǎn)換策略(XML Schema)就可以實(shí)現(xiàn)。本發(fā)明的軟硬件設(shè)施可以根據(jù)用戶需求加以擴(kuò)展,當(dāng)有新的信息系統(tǒng)需要加入時(shí),只需在元數(shù)據(jù)庫中增加該信息系統(tǒng)的描述信息,就可以支持其它信息系統(tǒng)對該系統(tǒng)的信息集成請求。
(4)高效率本發(fā)明基于HL7代理機(jī)制實(shí)現(xiàn)信息集成的方法在本領(lǐng)域內(nèi)屬于獨(dú)創(chuàng),用戶可以通過增加代理服務(wù)器的數(shù)量來分擔(dān)用戶請求,對訪問流量進(jìn)行合理地分流,由各代理服務(wù)器分別對不同的用戶請求進(jìn)行調(diào)度,提高代理服務(wù)器的響應(yīng)速度。
圖1為基于HL7代理服務(wù)器的異構(gòu)醫(yī)療信息集成系統(tǒng)的信息集成拓?fù)鋱D;圖2為基于HL7代理服務(wù)器實(shí)現(xiàn)醫(yī)療信息系統(tǒng)信息集成的基本框架圖;圖3為HL7代理中間件的結(jié)構(gòu)示意圖;
圖4為HL7代理服務(wù)器元數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)例對本發(fā)明作進(jìn)一步詳細(xì)的說明。
如圖1所示,本發(fā)明基于HL7代理服務(wù)器的異構(gòu)醫(yī)療信息集成系統(tǒng)可以分為兩個(gè)主要部份域管理中心1和HL7代理服務(wù)器2A、2B…、2N。系統(tǒng)通過設(shè)置域管理中心1以實(shí)現(xiàn)對互聯(lián)網(wǎng)自治域內(nèi)部的醫(yī)療信息資源的管理和監(jiān)控;HL7代理服務(wù)器2A、2B…、2N設(shè)置在各醫(yī)院結(jié)點(diǎn)A、B…、N上,用于管理各醫(yī)院內(nèi)部的異構(gòu)、多樣的醫(yī)療信息系統(tǒng),如醫(yī)院信息系統(tǒng)、臨床信息系統(tǒng)、放射線信息系統(tǒng)等,并作為中介實(shí)現(xiàn)待集成醫(yī)療數(shù)據(jù)的數(shù)據(jù)格式的有效轉(zhuǎn)換和傳輸控制。
域管理中心1接受來自本域內(nèi)HL7代理服務(wù)器的可用資源的注冊,包括其自身的描述信息及與其位于同一醫(yī)院內(nèi)可用的醫(yī)療信息系統(tǒng)的描述信息,以資源元數(shù)據(jù)的方式對注冊信息加以管理,并能夠響應(yīng)任意一臺(tái)HL7代理服務(wù)器2X對遠(yuǎn)程資源的訪問請求,X為A、B…或N。HL7代理服務(wù)器2A、2B…、2N定時(shí)從域管理中心1下載可用資源視圖,供用戶選擇遠(yuǎn)程集成目標(biāo);它們主要的工作集中在接受來自本地醫(yī)院用戶的醫(yī)療信息集成請求,根據(jù)請求內(nèi)容訪問本地信息系統(tǒng)或通過遠(yuǎn)程HL7代理服務(wù)器訪問遠(yuǎn)程信息系統(tǒng),并對各結(jié)點(diǎn)返回的結(jié)果進(jìn)行集成。
在下文中,HL7代理服務(wù)器2A、2B…、2N統(tǒng)稱為HL7代理服務(wù)器2。
下面詳細(xì)說明二部分的結(jié)構(gòu)。如圖2所示,域管理中心1包括中心控制模塊11、信息服務(wù)模塊12、認(rèn)證服務(wù)模塊13、資源信息庫14和用戶信息庫15。這些模塊可以根據(jù)需要進(jìn)行分解,部署在一臺(tái)或多臺(tái)服務(wù)器上。
中心控制模塊11接受本域內(nèi)可用資源(包括HL7代理服務(wù)器2及其管理的信息系統(tǒng))及用戶的注冊,通過認(rèn)證服務(wù)模塊13將用戶/認(rèn)證信息存入用戶信息庫15,通過信息服務(wù)模塊12將資源描述信息和資源的開放權(quán)限存入資源信息庫14,以資源元數(shù)據(jù)的方式對信息加以管理。中心控制模塊11能夠解析HL7代理服務(wù)器2的遠(yuǎn)程資源列表更新請求,它向認(rèn)證服務(wù)模塊13發(fā)送遠(yuǎn)程資源列表更新請求中包含的用戶信息,認(rèn)證服務(wù)模塊13向其返回用戶準(zhǔn)入(包括用戶/用戶組信息)或拒絕信息。當(dāng)認(rèn)證服務(wù)模塊13向中心控制模塊11返回的是用戶準(zhǔn)入信息時(shí),中心控制模塊11從信息服務(wù)模塊12獲取可用資源的描述信息和具有時(shí)效性的授權(quán)證書并返回給代理服務(wù)器2。當(dāng)認(rèn)證服務(wù)模塊13向中心控制模塊11返回的是拒絕信息時(shí),中心控制模塊11向HL7代理服務(wù)器2返回權(quán)限不足的信息。
認(rèn)證服務(wù)模塊13對用戶在不同醫(yī)院結(jié)點(diǎn)的HL7代理服務(wù)器2的訪問授權(quán)進(jìn)行管理和控制。當(dāng)HL7代理服務(wù)器2向中心控制模塊11注冊資源時(shí),認(rèn)證服務(wù)模塊13從中心控制模塊11獲取HL7代理服務(wù)器2登錄域管理中心使用的用戶的注冊信息,并將其保存在用戶信息庫15中。當(dāng)HL7代理服務(wù)器2從中心控制模塊11獲取可用的遠(yuǎn)程資源列表時(shí),認(rèn)證服務(wù)模塊13從中心控制模塊11獲取用戶身份信息,并與用戶信息庫15中的用戶信息進(jìn)行匹配,當(dāng)匹配成功時(shí)認(rèn)證服務(wù)模塊13向中心控制模塊11返回用戶準(zhǔn)入信息(包括用戶/用戶組信息);匹配不成功時(shí),認(rèn)證服務(wù)模塊13向中心控制模塊11返回拒絕信息。
信息服務(wù)模塊12對域內(nèi)可用資源進(jìn)行監(jiān)控和管理。當(dāng)HL7代理服務(wù)器2向中心控制模塊11注冊資源時(shí),信息服務(wù)模塊12從中心控制模塊11獲取注冊信息中包含的資源描述信息和資源的開放權(quán)限信息,并將它們存入資源信息庫14。當(dāng)HL7代理服務(wù)器2從中心控制模塊11下載可用的遠(yuǎn)程資源列表時(shí),信息服務(wù)模塊12從中心控制模塊11獲取用戶/用戶組信息,并與資源信息庫14中可用資源的訪問權(quán)限信息進(jìn)行對比匹配產(chǎn)生可用資源的描述信息和具有時(shí)效性的授權(quán)證書,并送往中心控制模塊11。
資源信息庫14用于存儲(chǔ)本域內(nèi)可用資源的描述信息,包括代理服務(wù)器位置、擁有資源類型、授權(quán)用戶組、證書類型等。資源信息庫14為關(guān)系型數(shù)據(jù)庫,由信息服務(wù)模塊12進(jìn)行管理。
用戶信息庫15用于存儲(chǔ)本域內(nèi)HL7代理服務(wù)器2注冊信息時(shí)提交的用戶信息。它是HL7代理服務(wù)器2登錄域管理中心1時(shí)的身份標(biāo)識(shí)信息,用戶信息庫15對用戶進(jìn)行分組管理,以用戶組的形式對用戶訪問本域內(nèi)各HL7代理服務(wù)器2管理的信息系統(tǒng)的權(quán)限進(jìn)行控制。用戶信息庫15也為關(guān)系型數(shù)據(jù)庫,它由認(rèn)證服務(wù)模塊13進(jìn)行管理。
域管理中心1的工作流程為(1)當(dāng)HL7代理服務(wù)器2向域管理中心1注冊資源時(shí),中心控制模塊11通過認(rèn)證服務(wù)模塊13將用戶/認(rèn)證信息存入用戶信息庫15;通過信息服務(wù)模塊12將資源描述信息和資源的開放權(quán)限存入資源信息庫14。(2)當(dāng)HL7代理服務(wù)器2需要從域管理中心1獲取它可以訪問的遠(yuǎn)程資源列表時(shí),域管理中心1接收來自HL7代理服務(wù)器2的遠(yuǎn)程資源列表更新請求,中心控制模塊11解析訪問請求,獲取請求包含的用戶信息;然后向認(rèn)證服務(wù)模塊13發(fā)送用戶信息。認(rèn)證服務(wù)模塊13驗(yàn)證用戶身份,驗(yàn)證成功后向中心控制模塊11返回用戶/用戶組信息;用戶/用戶組信息被中心控制模塊11送往信息服務(wù)模塊12,并由信息服務(wù)模塊12與資源信息庫14中資源的訪問權(quán)限信息進(jìn)行匹配。然后由信息服務(wù)模塊12向中心控制模塊11返回匹配的結(jié)果,即該HL7代理服務(wù)器2可以訪問資源的描述信息和具有時(shí)效性的授權(quán)證書;中心控制模塊11向HL7代理服務(wù)器2返回資源的描述信息和授權(quán)證書;HL7代理服務(wù)器2將這些信息寫入自己的元數(shù)據(jù)庫23。
HL7代理服務(wù)器2包括訪問控制模塊21、作業(yè)解析模塊22、元數(shù)據(jù)庫23、信息集成模塊24、HL7代理中間件25、遠(yuǎn)程訪問模塊26和本地訪問模塊27。
訪問控制模塊21主要完成三個(gè)主要工作流程。(1)在HL7代理服務(wù)器向2域管理中心1注冊本地資源時(shí),訪問控制模塊21從元數(shù)據(jù)庫23中讀出本地資源信息,并發(fā)送給域管理中心1的中心控制模塊11注冊本地資源信息。(2)當(dāng)HL7代理服務(wù)器2更新遠(yuǎn)程資源列表時(shí),訪問控制模塊21通過域管理中心1的中心控制模塊11下載遠(yuǎn)程資源列表信息,并寫入元數(shù)據(jù)庫23。(3)訪問控制模塊21接受來自用戶客戶端的訪問請求時(shí),訪問控制模塊21將請求中包含的用戶信息與元數(shù)據(jù)庫23中的用戶信息匹配,產(chǎn)生用戶準(zhǔn)入或拒絕信息。當(dāng)匹配產(chǎn)生的是用戶準(zhǔn)入信息時(shí),訪問控制模塊21將用戶請求送往作業(yè)解析模塊22。當(dāng)匹配產(chǎn)生的是拒絕信息時(shí),訪問控制模塊21向用戶客戶端返回訪問被拒絕的信息提示。
作業(yè)解析模塊22從訪問控制模塊21獲取通過驗(yàn)證的訪問請求,然后查詢本地元數(shù)據(jù)庫23的資源視圖(如圖4所示),通過將請求包含的關(guān)鍵字與資源描述信息進(jìn)行匹配獲取用戶所要訪問的數(shù)據(jù)資源以及資源的可用信息;作業(yè)解析模塊22然后根據(jù)元數(shù)據(jù)庫23中提供的匹配資源的相關(guān)信息,確定請求訪問的內(nèi)容所在的信息系統(tǒng)的位置(本地或遠(yuǎn)程),并分解操作請求。分解后的操作請求被作業(yè)解析模塊22送往HL7代理中間件25進(jìn)行格式轉(zhuǎn)化。在完成以上操作后,作業(yè)解析模塊22計(jì)算用戶作業(yè)最大等待時(shí)間的上限,并將相關(guān)信息插入元數(shù)據(jù)庫23中用于記錄用戶作業(yè)信息的作業(yè)/子作業(yè)表。
HL7代理中間件25用以響應(yīng)作業(yè)解析模塊22、本地訪問模塊26、信息集成模塊24的異構(gòu)醫(yī)療數(shù)據(jù)模型間的數(shù)據(jù)格式轉(zhuǎn)換請求(包括輸入數(shù)據(jù)和控制信息),它主要完成以下三種信息流程(1)經(jīng)作業(yè)解析模塊22分解后的請求被HL7代理中間件25轉(zhuǎn)化為目標(biāo)信息系統(tǒng)可以識(shí)別的格式,并分別送往本地訪問模塊27和遠(yuǎn)程訪問模塊26。(2)本地訪問模塊27從本地信息系統(tǒng)獲取的數(shù)據(jù)集被送往HL7代理中間件25轉(zhuǎn)化為HL7格式,然后送回本地訪問模塊27進(jìn)行整合形成中間結(jié)果。整合后的中間結(jié)果被本地訪問模塊27送往信息集成模塊24。(3)信息集成模塊24將集成操作的結(jié)果(HL7格式)送往HL7代理中間件25轉(zhuǎn)化為用戶客戶端可以識(shí)別的格式,然后返回給信息集成模塊24,并由信息集成模塊24返回給用戶客戶端。
本地訪問模塊26能夠?qū)Ρ镜馗餍畔⑾到y(tǒng)進(jìn)行訪問,獲取請求的醫(yī)療信息。它將經(jīng)HL7代理服務(wù)器25進(jìn)行格式轉(zhuǎn)化后的請求送往本地醫(yī)院內(nèi)部醫(yī)療信息系統(tǒng)。醫(yī)療信息信息系統(tǒng)將本地代理服務(wù)器2視作它的一個(gè)虛擬的客戶端(區(qū)別于真實(shí)的物理客戶端,但與物理客戶端具有相同的接入控制和響應(yīng)方式),按照用戶請求中所包含的用戶信息的權(quán)限響應(yīng)用戶請求。本地訪問模塊26接受從各信息系統(tǒng)返回的結(jié)果,并送住HL7代理中間件25轉(zhuǎn)化為HL7數(shù)據(jù)格式。本地訪問模塊26整合經(jīng)HL7代理中間件25進(jìn)行格式轉(zhuǎn)化后的各信息系統(tǒng)的返回結(jié)果并形成中間結(jié)果,然后將該中間結(jié)果送往信息集成模塊24。
遠(yuǎn)程訪問模塊27將HL7代理中間件25轉(zhuǎn)化為HL7格式的請求并封裝為SOAP消息,然后發(fā)往需要訪問的遠(yuǎn)程HL7代理服務(wù)器的訪問控制模塊21;在SOAP消息中封裝了用戶識(shí)別信息、授權(quán)證書和用戶請求,使遠(yuǎn)程HL7代理服務(wù)器可以如同響應(yīng)其本地用戶客戶端的請求一樣執(zhí)行對應(yīng)的用戶請求。請求在各遠(yuǎn)程HL7服務(wù)器上執(zhí)行完成后,遠(yuǎn)程訪問模塊27接收來自不同遠(yuǎn)程HL7代理服務(wù)器的信息集成模塊24的返回結(jié)果并進(jìn)行整合;并在整合完成后將結(jié)果送往本地的信息集成模塊24。
信息集成模塊24完成對用戶請求執(zhí)行結(jié)果的集成。它從本地訪問模塊27和遠(yuǎn)程訪問模塊26獲取轉(zhuǎn)化為HL7格式的中間結(jié)果,通過合并中間結(jié)果具有相同字段的內(nèi)容和排序形成最終集成結(jié)果。當(dāng)發(fā)出請求的用戶客戶端位于本地時(shí),信息集成模塊24將集成結(jié)果送往HL7代理中間件25轉(zhuǎn)化為用戶客戶端可以識(shí)別的格式,然后由信息集成模塊24返回給用戶。當(dāng)用戶客戶端位于遠(yuǎn)程醫(yī)院結(jié)點(diǎn)時(shí),信息集成模塊24通過SOAP消息將HL7格式的信息集成結(jié)果送往遠(yuǎn)程HL7代理服務(wù)器的遠(yuǎn)程訪問模塊26。
HL7代理服務(wù)器2的主要信息流向可以描述為(1)用戶的信息集成請求A首先被提交到訪問控制模塊21。訪問控制模塊21驗(yàn)證提交請求的用戶客戶端是否擁有請求操作的權(quán)限。在身份確認(rèn)成功后,A被訪問控制模塊21送往作業(yè)解析模塊22。(2)作業(yè)解析模塊22根據(jù)用戶請求將A請求的資源集合S和元數(shù)據(jù)庫23中的資源信息進(jìn)行匹配(元數(shù)據(jù)庫23的數(shù)據(jù)結(jié)構(gòu)如圖4所示)分解操作請求,得到待訪問集合S(由本地資源集合LS和遠(yuǎn)程資源集合RS組成);然后,LS和RS被作業(yè)解析模塊22送往HL7代理中間件25。(3)HL7代理中間件25將A轉(zhuǎn)化為與LS和RS對應(yīng)的訪問對象所能識(shí)別的格式,并分別送往本地訪問模塊27和遠(yuǎn)程訪問模塊26。(4)本地訪問模塊27負(fù)責(zé)對本地各信息系統(tǒng)進(jìn)行訪問。本地醫(yī)院內(nèi)部醫(yī)療信息系統(tǒng)將本地HL7代理服務(wù)器2視作它的一個(gè)虛擬的客戶端,按照請求中所包含的用戶信息對應(yīng)的權(quán)限響應(yīng)請求并返回請求的信息。(5)遠(yuǎn)程訪問模塊26使用HL7消息(SOAP消息)與RS中包含的遠(yuǎn)程代理服務(wù)器進(jìn)行數(shù)據(jù)交換,由遠(yuǎn)程代理服務(wù)器負(fù)責(zé)對遠(yuǎn)程信息系統(tǒng)的訪問。(6)本地訪問模塊27和遠(yuǎn)程訪問模塊26的返回結(jié)果被送往HL7代理中間件25轉(zhuǎn)化為HL7格式,然后被送往信息集成模塊24。(7)信息集成模塊24將獲取的本地和遠(yuǎn)程的訪問結(jié)果進(jìn)行整合。(8)信息集成模塊24調(diào)用HL7代理中間件25將整合結(jié)果轉(zhuǎn)化為用戶客戶端可以識(shí)別的格式,并返回給用戶客戶端。
HL7代理中間件25將代理服務(wù)器與中間件技術(shù)結(jié)合起來,以HL7格式作為中間格式來實(shí)現(xiàn)不同協(xié)議格式之間的轉(zhuǎn)換,使得部署該中間件的代理服務(wù)器,支持多種醫(yī)療信息交換協(xié)議(如HL7、openEHR,EHRcom等)間的數(shù)據(jù)格式轉(zhuǎn)換。如圖3所示,HL7代理中間件25包括傳輸模塊51、接口模塊52、數(shù)據(jù)驗(yàn)證模塊53、格式轉(zhuǎn)換模塊54和協(xié)議/模型倉庫55。其中協(xié)議/模型倉庫55是一系列XML文件的集合,它以XML Schema文件的形式定義了常用的醫(yī)療通信協(xié)議到HL7協(xié)議數(shù)據(jù)模型的轉(zhuǎn)換策略,以及各種模型的轉(zhuǎn)換校驗(yàn)特征。
HL7代理中間件25的工作流程為(1)傳輸模塊51接受來自作業(yè)解析模塊22、本地訪問模塊27或信息集成模塊24的格式轉(zhuǎn)換請求(包括輸入數(shù)據(jù)和控制信息),并將它們送往接口模塊52。
(2)接口模塊52接受傳輸模塊51發(fā)送的格式轉(zhuǎn)換請求,它從控制信息中解析出轉(zhuǎn)換請求(主要包括轉(zhuǎn)換對應(yīng)的當(dāng)前協(xié)議和目標(biāo)協(xié)議)和同步信息(轉(zhuǎn)換后數(shù)據(jù)發(fā)送的目標(biāo)),判斷該轉(zhuǎn)換是否被HL7代理中間件25支持,如不支持則向傳輸模塊51返回錯(cuò)誤信息,并由傳輸模塊51返回給請求模塊。如果該轉(zhuǎn)換被HL7代理中間件支持,輸入數(shù)據(jù)、轉(zhuǎn)換請求和同步信息被送往格式轉(zhuǎn)換模塊53。
(3)格式轉(zhuǎn)換模塊53接受來自接口模塊52傳送的輸入數(shù)據(jù)、轉(zhuǎn)換請求和同步信息。它從協(xié)議/模型倉庫55中,查找兩種協(xié)議的對應(yīng)的映射策略(主要包括字段名、字段類型的轉(zhuǎn)換方法),按照映射策略完成對輸入數(shù)據(jù)的格式的轉(zhuǎn)換。它的輸出數(shù)據(jù)和同步信息被送往數(shù)據(jù)驗(yàn)證模塊54。
(4)數(shù)據(jù)驗(yàn)證模塊54驗(yàn)證格式轉(zhuǎn)換模塊53傳送的數(shù)據(jù)的正確性,它從協(xié)議/模型倉庫55中獲取轉(zhuǎn)換目標(biāo)協(xié)議的校驗(yàn)特征(如奇偶校驗(yàn)碼,CRC校驗(yàn)碼等),通過對比這些特征,判斷轉(zhuǎn)換后的數(shù)據(jù)格式是否正確。如果不正確,則由格式轉(zhuǎn)換模塊53重新轉(zhuǎn)換。如果轉(zhuǎn)換正確,輸出數(shù)據(jù)和同步信息被送往傳輸模塊51。
(5)傳輸模塊51接受經(jīng)過數(shù)據(jù)驗(yàn)證模塊54驗(yàn)證后的信息(包括輸出數(shù)據(jù)和同步信息),并根據(jù)同步信息將它們送往請求發(fā)起的模塊或請求模塊指定的模塊。
本發(fā)明系統(tǒng)對來自醫(yī)院內(nèi)部的用戶信息集成請求進(jìn)行響應(yīng)和處理的步驟為(1)提交信息集成請求的本地用戶以本地HL7代理服務(wù)器2可以識(shí)別的協(xié)議和數(shù)據(jù)模型發(fā)送操作請求α。
(2)本地HL7代理服務(wù)器2的訪問控制模塊21驗(yàn)證用戶身份,接受用戶請求α,通知對方等待并告知最大等待時(shí)間上限T1和時(shí)間戳S。
(2.1)本地HL7代理服務(wù)器2的作業(yè)解析模塊22解析用戶請求,將α轉(zhuǎn)化為HL7格式的請求β,并獲取用戶的數(shù)據(jù)訪問請求內(nèi)容A。
(2.2)本地HL7代理服務(wù)器2的作業(yè)解析模塊22查詢本地元數(shù)據(jù)庫23的資源目錄,驗(yàn)證所要訪問數(shù)據(jù)資源的可用性;如果有一種資源不存在,程序返回資源請求失敗錯(cuò)誤,釋放已獲取的資源,并退出;如資源與請求的訪問對象匹配成功,則通過元數(shù)據(jù)資源目錄獲取訪問對象所在位置和附屬信息的集合S={s(1),s(2),…,s(n)},并分解A={a(1),a(2),…,a(n)}。
s(i)具有兩種格式,一種描述了本地醫(yī)療單位內(nèi)部異構(gòu)醫(yī)療信息系統(tǒng)的IP、采用的通信協(xié)議、數(shù)據(jù)格式的描述、HL7代理服務(wù)器2以虛擬客戶端的身份訪問信息系統(tǒng)所使用的用戶信息;另一種標(biāo)識(shí)了遠(yuǎn)程HL7代理服務(wù)器2X(X∈{R,…,Z})的位置及其描述信息。a(i)為與s(i)對應(yīng)的信息系統(tǒng)進(jìn)行信息集成需要訪問的數(shù)據(jù)對象。
(2.3)本地HL7代理服務(wù)器2的作業(yè)解析模塊22解析S,按順序處理操作請求對{s(i),a(i)}。如果s(i)對應(yīng)信息是在本地醫(yī)院內(nèi)部,作業(yè)解析模塊22通過HL7代理中間件25轉(zhuǎn)換數(shù)據(jù)格式,并調(diào)用本地訪問模塊27以目標(biāo)醫(yī)療信息系統(tǒng)遵循的通信協(xié)議和數(shù)據(jù)模型向該系統(tǒng)發(fā)送信息請求;如果s(i)對應(yīng)的信息為遠(yuǎn)程的HL7代理服務(wù)器2X,HL7代理中間件25調(diào)用遠(yuǎn)程訪問模塊26以HL7消息向遠(yuǎn)程的HL7代理服務(wù)器2X發(fā)送數(shù)據(jù)訪問請求、訪問超時(shí)時(shí)間T1和時(shí)間戳S,轉(zhuǎn)步驟(3)。
(2.4)本地醫(yī)院內(nèi)部醫(yī)療信息系統(tǒng)s(i)將本地HL7代理服務(wù)器2視作它的一個(gè)虛擬的客戶端,完成請求并向本地HL7代理服務(wù)器2回傳請求結(jié)果BR(i)。
(2.5)本地HL7代理服務(wù)器2的本地訪問模塊27接受各本地信息系統(tǒng)回傳結(jié)果BR(i),并調(diào)用HL7代理中間件25將它們轉(zhuǎn)化為HL7的數(shù)據(jù)格式R(i)。
(2.6)本地HL7代理服務(wù)器2信息集成模塊24接收并整合各本地信息系統(tǒng)的處理結(jié)果R(i),形成中間結(jié)果M(1)。如無對遠(yuǎn)程代理服務(wù)器2R、…、2Z的操作請求,M(1)也就是最后的結(jié)果。
(3)遠(yuǎn)程HL7代理服務(wù)器2X接受HL7消息,獲取設(shè)定的超時(shí)時(shí)間T1和時(shí)間戳S,并產(chǎn)生一個(gè)約束遠(yuǎn)程數(shù)據(jù)訪問的超時(shí)時(shí)間T2=f(T1,S)。
(3.1)遠(yuǎn)程HL7代理服務(wù)器2X的訪問控制模塊21解析HL7封包并驗(yàn)證用戶證書C,如證書失效則返回。
(3.2)遠(yuǎn)程HL7代理服務(wù)器2X以與步驟(2.3)到(2.6)相同的步驟獲取遠(yuǎn)程訪問的中間結(jié)果M(j)(j∈{R,…,Z})。
(3.3)遠(yuǎn)程代理服務(wù)器2X完成數(shù)據(jù)請求,當(dāng)處理時(shí)間未超過超時(shí)設(shè)定時(shí)間T2時(shí),以HL7消息向本地代理服務(wù)器2返回處理結(jié)果M(j)。
(4)本地HL7代理服務(wù)器2的遠(yuǎn)程訪問模塊26接收來自各遠(yuǎn)程HL7代理服務(wù)器2X的返回結(jié)果M(j)。
(4.1)本地HL7代理服務(wù)器2的遠(yuǎn)程訪問模塊27解析HL7消息,獲取各遠(yuǎn)程代理服務(wù)器2X的返回結(jié)果M(j)。
(4.2)本地HL7代理服務(wù)器2的信息集成模塊24將各遠(yuǎn)程HL7代理服務(wù)器2X的返回結(jié)果M(j)(j∈{R,…,Z})和本地信息系統(tǒng)返回的結(jié)果M(1)進(jìn)行整合,形成最終的結(jié)果TM。
(4.3)當(dāng)整個(gè)處理時(shí)間未超過超時(shí)時(shí)間T1,本地代理服務(wù)器2的信息集成模塊24調(diào)用HL7代理中間件25將TM轉(zhuǎn)化為提交請求的客戶端或信息系統(tǒng)可以識(shí)別的格式TM1。
(4.4)本地HL7代理服務(wù)器2的信息集成模塊24以提交請求的客戶端或信息系統(tǒng)支持的通信協(xié)議向其返回請求結(jié)果TM1。
實(shí)例本發(fā)明采用的是Agent/Client架構(gòu),HL7代理服務(wù)器2作為本發(fā)明中任務(wù)執(zhí)行的中心環(huán)節(jié),需要較高配置的服務(wù)器,其硬件基本配置如表1所示。
表1 服務(wù)器端的硬件及網(wǎng)絡(luò)配置提交信息集成請求的客戶端是連接到醫(yī)療單位內(nèi)部網(wǎng)絡(luò)之上的PC機(jī),其基本配置如表2所示。
表2 客戶端的硬件及網(wǎng)絡(luò)配置本發(fā)明將HL7協(xié)議、代理技術(shù)和中間件技術(shù)應(yīng)用到異構(gòu)醫(yī)療信息系統(tǒng)信息集成中,通過融合各種技術(shù)的優(yōu)勢來解決目前醫(yī)療信息化建設(shè)中“信息孤島”和“數(shù)據(jù)鴻溝”的問題。它合理地利用HL7協(xié)議、SOAP消息與XML語言的可擴(kuò)展性,利用代理服務(wù)器對于多種通信協(xié)議和數(shù)據(jù)模型的支持,以代理服務(wù)器作為有效的數(shù)據(jù)訪問中介,在數(shù)據(jù)模型和通信協(xié)議層次上屏蔽了系統(tǒng)間的異構(gòu)性,為實(shí)現(xiàn)醫(yī)療單位內(nèi)部的數(shù)據(jù)交換以及跨單位、跨地區(qū)的信息共享提供了技術(shù)支持。
權(quán)利要求
1.一種基于HL7代理服務(wù)器的異構(gòu)醫(yī)療信息集成系統(tǒng),其特征在于該系統(tǒng)包括域管理中心(1)和HL7代理服務(wù)器(2A、2B…、2N);域管理中心(1)接受來自本域內(nèi)HL7代理服務(wù)器的可用資源的注冊,以資源元數(shù)據(jù)的方式對注冊信息加以管理,并響應(yīng)任一HL7代理服務(wù)器對遠(yuǎn)程資源的訪問請求;HL7代理服務(wù)器(2A、2B…、2N)設(shè)置在各醫(yī)院結(jié)點(diǎn)(A、B…、N)上,用于管理各醫(yī)院內(nèi)部的醫(yī)療信息系統(tǒng),它定時(shí)從域管理中心(1)下載可用資源視圖,供用戶選擇遠(yuǎn)程集成目標(biāo);并接受來自本地醫(yī)院用戶的醫(yī)療信息集成請求,根據(jù)請求內(nèi)容訪問本地信息系統(tǒng)或通過遠(yuǎn)程HL7代理服務(wù)器訪問遠(yuǎn)程信息系統(tǒng),并對各結(jié)點(diǎn)返回的結(jié)果進(jìn)行集成。
2.根據(jù)權(quán)利要求1所述的異構(gòu)醫(yī)療信息集成系統(tǒng),其特征在于域管理中心(1)包括中心控制模塊(11)、信息服務(wù)模塊(12)、認(rèn)證服務(wù)模塊(13)、資源信息庫(14)和用戶信息庫(15);資源信息庫(14)用于存儲(chǔ)本域內(nèi)可用資源的描述信息,由信息服務(wù)模塊(12)進(jìn)行管理;用戶信息庫(15)用于存儲(chǔ)本域內(nèi)HL7代理服務(wù)器(2)注冊信息時(shí)提交的用戶信息,由認(rèn)證服務(wù)模塊(13)進(jìn)行管理;中心控制模塊(11)用于解析HL7代理服務(wù)器的遠(yuǎn)程資源列表更新請求;信息服務(wù)模塊(12)用于對域內(nèi)可用資源進(jìn)行監(jiān)控和管理;認(rèn)證服務(wù)模塊(13)對用戶在不同醫(yī)院結(jié)點(diǎn)的HL7代理服務(wù)器(2)的訪問授權(quán)進(jìn)行管理和控制;中心控制模塊(11)接受本域內(nèi)可用資源及用戶的注冊,通過認(rèn)證服務(wù)模塊(13)將用戶/認(rèn)證信息存入用戶信息庫(15),通過信息服務(wù)模塊(12)將資源描述信息和資源的開放權(quán)限存入資源信息庫(14),以資源元數(shù)據(jù)的方式對信息加以管理;中心控制模塊(11)解析HL7代理服務(wù)器(2)的遠(yuǎn)程資源列表更新請求后,向認(rèn)證服務(wù)模塊(13)發(fā)送遠(yuǎn)程資源列表更新請求中包含的用戶信息,認(rèn)證服務(wù)模塊(13)向其返回用戶準(zhǔn)入或拒絕信息;當(dāng)認(rèn)證服務(wù)模塊(13)向中心控制模塊(11)返回的是用戶準(zhǔn)入信息時(shí),中心控制模塊(11)從信息服務(wù)模塊(12)獲取可用資源的描述信息和具有時(shí)效性的授權(quán)證書并返回給代理服務(wù)器(2);認(rèn)證服務(wù)模塊(13)從中心控制模塊(11)獲取HL7代理服務(wù)器(2)登錄域管理中心使用的用戶的注冊信息,并將其保存在用戶信息庫(15)中;當(dāng)HL7代理服務(wù)器(2)從中心控制模塊(11)獲取可用的遠(yuǎn)程資源列表時(shí),認(rèn)證服務(wù)模塊(13)從中心控制模塊(11)獲取用戶身份信息,并與用戶信息庫(15)中的用戶信息進(jìn)行匹配,當(dāng)匹配成功時(shí)認(rèn)證服務(wù)模塊(13)向中心控制模塊(11)返回用戶準(zhǔn)入信息;匹配不成功時(shí),認(rèn)證服務(wù)模塊(13)向中心控制模塊(11)返回拒絕信息。
3.根據(jù)權(quán)利要求1或2所述的異構(gòu)醫(yī)療信息集成系統(tǒng),其特征在于HL7代理服務(wù)器(2)包括訪問控制模塊(21)、作業(yè)解析模塊(22)、元數(shù)據(jù)庫(23)、信息集成模塊(24)、HL7代理中間件(25)、遠(yuǎn)程訪問模塊(26)和本地訪問模塊(27);訪問控制模塊(21)用于從元數(shù)據(jù)庫(23)中讀出本地資源信息,并發(fā)送給域管理中心(1)注冊本地資源信息,通過域管理中心(1)下載遠(yuǎn)程資源列表信息,并寫入元數(shù)據(jù)庫(23),訪問控制模塊(21)接受來自用戶客戶端的訪問請求時(shí),將請求中包含的用戶信息與元數(shù)據(jù)庫(23)中的用戶信息匹配,產(chǎn)生用戶準(zhǔn)入或拒絕信息,并將用戶請求送往作業(yè)解析模塊(22)或向用戶客戶端返回訪問被拒絕的信息提示;作業(yè)解析模塊(22)從訪問控制模塊(21)獲取通過驗(yàn)證的訪問請求,然后查詢本地元數(shù)據(jù)庫(23)的資源視圖,通過將請求包含的關(guān)鍵字與資源描述信息進(jìn)行匹配獲取用戶所要訪問的數(shù)據(jù)資源以及資源的可用信息;作業(yè)解析模塊(22)然后根據(jù)元數(shù)據(jù)庫(23)中提供的匹配資源的相關(guān)信息,確定請求訪問的內(nèi)容所在的信息系統(tǒng)的位置,并分解操作請求;分解后的操作請求被作業(yè)解析模塊(22)送往HL7代理中間件(25)進(jìn)行格式轉(zhuǎn)化;在完成以上操作后,作業(yè)解析模塊(22)計(jì)算用戶作業(yè)最大等待時(shí)間的上限,并將相關(guān)信息插入元數(shù)據(jù)庫(23)中用于記錄用戶作業(yè)信息的作業(yè)/子作業(yè)表;HL7代理中間件(25)用以響應(yīng)作業(yè)解析模塊(22)、本地訪問模塊(27)、遠(yuǎn)程訪問模塊(26)和信息集成模塊(24)的異構(gòu)醫(yī)療數(shù)據(jù)模型間的數(shù)據(jù)格式轉(zhuǎn)換請求;本地訪問模塊(27)用于對本地各信息系統(tǒng)進(jìn)行訪問,獲取請求的醫(yī)療信息;它接受從各信息系統(tǒng)返回的結(jié)果,并送住HL7代理中間件(25)轉(zhuǎn)化為HL7數(shù)據(jù)格式;本地訪問模塊(27)整合經(jīng)HL7代理中間件(25)進(jìn)行格式轉(zhuǎn)化后的各信息系統(tǒng)的返回結(jié)果并形成中間結(jié)果,然后將該中間結(jié)果送往信息集成模塊(24);遠(yuǎn)程訪問模塊(26)將由HL7代理中間件(25)轉(zhuǎn)化為HL7格式的請求封裝為SOAP消息,然后發(fā)往需要訪問的遠(yuǎn)程HL7代理服務(wù)器的訪問控制模塊(21);請求在各遠(yuǎn)程HL7服務(wù)器上執(zhí)行完成后,遠(yuǎn)程訪問模塊(26)接收來自不同遠(yuǎn)程HL7代理服務(wù)器的信息集成模塊(24)的返回結(jié)果并進(jìn)行整合;并在整合完成后將結(jié)果送往本地的信息集成模塊(24);信息集成模塊(24)完成對用戶請求執(zhí)行結(jié)果的集成,它從本地訪問模塊(27)和遠(yuǎn)程訪問模塊(26)獲取轉(zhuǎn)化為HL7格式的中間結(jié)果,通過合并中間結(jié)果具有相同字段的內(nèi)容和排序形成最終集成結(jié)果。
4.根據(jù)權(quán)利要求3所述的異構(gòu)醫(yī)療信息集成系統(tǒng),其特征在于HL7代理中間件(25)包括傳輸模塊(51)、接口模塊(52)、數(shù)據(jù)驗(yàn)證模塊(53)、格式轉(zhuǎn)換模塊(54)和協(xié)議/模型倉庫(55);其中,協(xié)議/模型倉庫(55)為XML文件的集合;傳輸模塊(51)接受來自作業(yè)解析模塊(22)、本地訪問模塊(27)或信息集成模塊(24)的格式轉(zhuǎn)換請求,并將它們送往接口模塊(52);傳輸模塊(51)接受經(jīng)過數(shù)據(jù)驗(yàn)證模塊(54)驗(yàn)證后的信息,并根據(jù)同步信息將它們送往請求發(fā)起的模塊或請求模塊指定的模塊;接口模塊(52)接受傳輸模塊(51)發(fā)送的格式轉(zhuǎn)換請求,它從控制信息中解析出轉(zhuǎn)換請求和同步信息,判斷該轉(zhuǎn)換是否被HL7代理中間件(25)支持,如不支持則向傳輸模塊(51)返回錯(cuò)誤信息,并由傳輸模塊(51)返回給請求模塊;如果該轉(zhuǎn)換被HL7代理中間件支持,輸入數(shù)據(jù)、轉(zhuǎn)換請求和同步信息被送往格式轉(zhuǎn)換模塊(53);格式轉(zhuǎn)換模塊(53)接受來自接口模塊(52)傳送的輸入數(shù)據(jù)、轉(zhuǎn)換請求和同步信息;它從協(xié)議/模型倉庫(55)中查找兩種協(xié)議的對應(yīng)的映射策略,按照映射策略完成對輸入數(shù)據(jù)的格式的轉(zhuǎn)換;它的輸出數(shù)據(jù)和同步信息被送往數(shù)據(jù)驗(yàn)證模塊(54);數(shù)據(jù)驗(yàn)證模塊(54)驗(yàn)證格式轉(zhuǎn)換模塊(53)傳送的數(shù)據(jù)的正確性,它從協(xié)議/模型倉庫(55)中獲取轉(zhuǎn)換目標(biāo)協(xié)議的校驗(yàn)特征,通過對比這些特征,判斷轉(zhuǎn)換后的數(shù)據(jù)格式是否正確;如果不正確,則由格式轉(zhuǎn)換模塊(53)重新轉(zhuǎn)換;如果轉(zhuǎn)換正確,輸出數(shù)據(jù)和同步信息被送往傳輸模塊(51)。
全文摘要
本發(fā)明公開了一種基于HL7代理服務(wù)器的異構(gòu)醫(yī)療信息集成系統(tǒng),其中,域管理中心接受來自本域內(nèi)HL7代理服務(wù)器的可用資源的注冊,以資源元數(shù)據(jù)的方式對注冊信息加以管理,并響應(yīng)任一代理服務(wù)器對遠(yuǎn)程資源的訪問請求;HL7代理服務(wù)器設(shè)置在各醫(yī)院結(jié)點(diǎn)上,用于管理醫(yī)院內(nèi)醫(yī)療信息系統(tǒng),定時(shí)從域管理中心下載可用資源視圖,供用戶選擇遠(yuǎn)程集成目標(biāo);并接受來自本地醫(yī)院用戶的醫(yī)療信息集成請求,根據(jù)請求內(nèi)容訪問本地信息系統(tǒng)或通過遠(yuǎn)程代理服務(wù)器訪問遠(yuǎn)程信息系統(tǒng),對各結(jié)點(diǎn)返回的結(jié)果進(jìn)行集成。本發(fā)明有效結(jié)合集中控制與結(jié)點(diǎn)自治,提高了整個(gè)平臺(tái)穩(wěn)定性,解決了因不同用戶信息集成路徑的差異所帶來的矛盾,兼具較高兼容性、交互速度和安全保證的特點(diǎn)。
文檔編號(hào)H04L29/06GK101083582SQ20071005253
公開日2007年12月5日 申請日期2007年6月22日 優(yōu)先權(quán)日2007年6月22日
發(fā)明者金海 , 章勤, 鄭然 , 孫傲冰, 褚攀, 劉欣, 余璐, 王敬彤 申請人:華中科技大學(xué)