牛承志,趙 丹
(1.鄭州大學(xué)第一附屬醫(yī)院信息科;2.鄭州大學(xué)信息工程學(xué)院計(jì)算中心,河南鄭州 450053)
虛擬數(shù)據(jù)庫(kù)技術(shù)在集成化醫(yī)院信息系統(tǒng)中的應(yīng)用研究
牛承志1,趙 丹2
(1.鄭州大學(xué)第一附屬醫(yī)院信息科;2.鄭州大學(xué)信息工程學(xué)院計(jì)算中心,河南鄭州 450053)
隨著醫(yī)院各個(gè)部門信息化的建設(shè)和發(fā)展,信息資源的異構(gòu)性在醫(yī)院信息管理系統(tǒng)中廣泛存在,形成了大量的信息孤島,這使得如何在復(fù)雜的各個(gè)子系統(tǒng)中實(shí)現(xiàn)異構(gòu)系統(tǒng)之間的互聯(lián)、互訪和數(shù)據(jù)共享,成為一個(gè)重要的研究方向。針對(duì)當(dāng)前醫(yī)院各個(gè)子系統(tǒng)之間缺乏有效的信息整合平臺(tái)、信息集成度差的現(xiàn)狀,本文提出采用虛擬數(shù)據(jù)庫(kù)的信息集成方法為不同自治、異構(gòu)、分布的數(shù)據(jù)提供一個(gè)統(tǒng)一的全局虛擬數(shù)據(jù)視圖,實(shí)現(xiàn)各信息系統(tǒng)之間的透明訪問(wèn),并結(jié)合醫(yī)院信息系統(tǒng)的特點(diǎn),提出了集成化醫(yī)院信息系統(tǒng)建設(shè)方法。
虛擬數(shù)據(jù)庫(kù);醫(yī)院信息系統(tǒng);集成化
隨著信息技術(shù)的發(fā)展和醫(yī)院信息系統(tǒng)的部署實(shí)施,簡(jiǎn)化了廣大醫(yī)護(hù)人員的工作流程,降低了工作強(qiáng)度,但隨之也產(chǎn)生了一個(gè)問(wèn)題:在醫(yī)院內(nèi)部存在著許多相對(duì)獨(dú)立的信息系統(tǒng),如臨床信息系統(tǒng)、門診信息系統(tǒng)、電子病歷系統(tǒng)、影像存儲(chǔ)傳輸系統(tǒng)、醫(yī)學(xué)檢驗(yàn)信息系統(tǒng)、行政 OA辦公系統(tǒng)、醫(yī)保系統(tǒng)等,并且這些系統(tǒng)大多采用不同的數(shù)據(jù)格式,相互之間沒(méi)有聯(lián)系,導(dǎo)致在醫(yī)院內(nèi)部各個(gè)部門之間形成了信息孤島。為了有效解決這個(gè)問(wèn)題,可以把所有系統(tǒng)中的數(shù)據(jù)看成一個(gè)大的數(shù)據(jù)庫(kù),采用虛擬數(shù)據(jù)庫(kù)技術(shù)對(duì)不規(guī)則的數(shù)據(jù)結(jié)構(gòu)進(jìn)行集成,結(jié)構(gòu)化各個(gè)異構(gòu)數(shù)據(jù)源的數(shù)據(jù)并向外提供統(tǒng)一的訪問(wèn)接口,從而有效地解決這個(gè)問(wèn)題。
1.1 虛擬數(shù)據(jù)庫(kù)的概念及處理過(guò)程 虛擬數(shù)據(jù)庫(kù)(VirtualDatabase,VOB)技術(shù)是近些年興起的一種基于中間件技術(shù)而實(shí)現(xiàn)的新型數(shù)據(jù)集成方法,是計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(shù)交叉應(yīng)用的結(jié)果。虛擬數(shù)據(jù)庫(kù)并不存儲(chǔ)數(shù)據(jù),它是建立在其他數(shù)據(jù)源之上的一個(gè)關(guān)系視圖,它將其他外部數(shù)據(jù)源看做是單個(gè)數(shù)據(jù)庫(kù)。這樣通過(guò)標(biāo)準(zhǔn)的 SQL語(yǔ)言即可對(duì)虛擬數(shù)據(jù)庫(kù)中所屬不同的數(shù)據(jù)源執(zhí)行相同的查詢。虛擬數(shù)據(jù)庫(kù)從這些不同的數(shù)據(jù)源收集、結(jié)構(gòu)化和集成數(shù)據(jù),為應(yīng)用程序提供一個(gè)統(tǒng)一的關(guān)系型數(shù)據(jù)庫(kù)界面。
虛擬數(shù)據(jù)庫(kù)查詢處理可以被描述為:用戶經(jīng)客戶端發(fā)出查詢請(qǐng)求,通過(guò) ODBC或 JDBC使用 SQL查詢來(lái)訪問(wèn)虛擬的數(shù)據(jù)庫(kù),當(dāng) VDBMS(虛擬數(shù)據(jù)庫(kù)管理系統(tǒng))接收一個(gè)查詢請(qǐng)求,查詢處理器將其分解成不同的查詢片段,然后送到適當(dāng)?shù)臄?shù)據(jù)源,進(jìn)行實(shí)際數(shù)據(jù)提取,對(duì)提取的數(shù)據(jù)進(jìn)行組合形成最終結(jié)果,提交給用戶[1],最終用戶可以看到一個(gè)單一的數(shù)據(jù)源的查詢結(jié)果,實(shí)際的數(shù)據(jù)源之間并沒(méi)有直接聯(lián)系。
1.2 虛擬數(shù)據(jù)庫(kù)的體系結(jié)構(gòu) 虛擬數(shù)據(jù)庫(kù)管理系統(tǒng)(VirtualDatabaseManagement System,VDBMS)是由 Junglee公司設(shè)計(jì)的一個(gè)基于 Java的集成系統(tǒng),用它來(lái)開(kāi)發(fā)和操作“虛擬數(shù)據(jù)庫(kù)”,即建立在網(wǎng)絡(luò)應(yīng)用程序和其他分散的數(shù)據(jù)源之上的,通過(guò) ODBC或JDBC接口,使用 SQL來(lái)訪問(wèn)虛擬數(shù)據(jù)庫(kù)。其體系結(jié)果如圖 1所示。
圖 1 虛擬數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu)
包裝器讀取異構(gòu)數(shù)據(jù)源的數(shù)據(jù),并用關(guān)系表的形式進(jìn)行數(shù)據(jù)的組織。包裝器是用 SDL(源描述語(yǔ)言)描述的異構(gòu)數(shù)據(jù)源。
網(wǎng)站是大量的信息以“半結(jié)構(gòu)化”形式存在的文本信息。數(shù)據(jù)整合的過(guò)程,往往從大量的信息中提取結(jié)構(gòu)化的數(shù)據(jù),為此,需要一套規(guī)則提取,最終形成數(shù)據(jù)元數(shù)據(jù)。抽取器是應(yīng)用程序創(chuàng)建的規(guī)則、元數(shù)據(jù)和程序集。
VDB服務(wù)器將一組包裝器和提取器組合起來(lái),并把它們組織成一個(gè)具有一致性的關(guān)系型數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)提供應(yīng)用程序接口,供其他應(yīng)用程序訪問(wèn)。
緩存區(qū)用來(lái)提高查詢性能,可以做一些查詢條件和結(jié)果來(lái)作為緩存,然后根據(jù)某種算法做刷新。
虛擬數(shù)據(jù)庫(kù)技術(shù)應(yīng)用于集成化醫(yī)院信息系統(tǒng),可以將數(shù)據(jù)劃分成數(shù)據(jù)源層、數(shù)據(jù)集成中間件層和應(yīng)用層三層。數(shù)據(jù)集成中間件層是集成化各個(gè)子系統(tǒng)的關(guān)鍵,這個(gè)數(shù)據(jù)層包括包裝器、模式轉(zhuǎn)換器、訪問(wèn)轉(zhuǎn)換器和結(jié)果合成器等模塊。數(shù)據(jù)集成中間件層負(fù)責(zé)完成數(shù)據(jù)集成的處理和訪問(wèn)處理兩個(gè)事物。
2.1 數(shù)據(jù)集成事物 數(shù)據(jù)集成事物的主要目的是從各個(gè)相對(duì)獨(dú)立的數(shù)據(jù)庫(kù)中抽取數(shù)據(jù),把分散的異構(gòu)局部數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一全局?jǐn)?shù)據(jù),這個(gè)事物就是VDB的建立,其系統(tǒng)的結(jié)構(gòu)如圖 2所示。
圖 2 數(shù)據(jù)集成事物
數(shù)據(jù)集成中間件層的主要工作是完成把異構(gòu)局部數(shù)據(jù)源轉(zhuǎn)換為統(tǒng)一全局?jǐn)?shù)據(jù)源,包裝器、模式轉(zhuǎn)換器和虛擬數(shù)據(jù)庫(kù) (VDB)構(gòu)成了數(shù)據(jù)集成中間件層,其核心組件是 VDB。本層的數(shù)據(jù)處理過(guò)程就是把分散的數(shù)據(jù)庫(kù)異構(gòu)數(shù)據(jù)源和 VDB數(shù)據(jù)空間之間形成一張映射關(guān)系圖,維持VDB數(shù)據(jù)空間和各局部異構(gòu)數(shù)據(jù)源之間的映射關(guān)系,同時(shí)存儲(chǔ)異構(gòu)數(shù)據(jù)源的物理位置、訪問(wèn)權(quán)限等,以保證對(duì)分布的各數(shù)據(jù)源的正確訪問(wèn)[2]。
根據(jù)每個(gè)系統(tǒng)數(shù)據(jù)的格式定制不同的包裝器,包裝器首先用統(tǒng)一的格式把分布的各異構(gòu)數(shù)據(jù)源的數(shù)據(jù)模式抽取出來(lái),然后將抽取的結(jié)果提交給模式轉(zhuǎn)換器;模式轉(zhuǎn)換器根據(jù)用戶定義的轉(zhuǎn)換規(guī)則把包裝器提交的局部數(shù)據(jù)模式映射為全局?jǐn)?shù)據(jù)模式,映射的結(jié)果是生成一組集成規(guī)則。集成規(guī)則記錄VDB中的數(shù)據(jù)對(duì)象和局部數(shù)據(jù)源中的數(shù)據(jù)對(duì)象的對(duì)應(yīng)關(guān)系和各個(gè)局部數(shù)據(jù)源的訪問(wèn)權(quán)限、物理位置等。
各個(gè)分散的局部異構(gòu)數(shù)據(jù)經(jīng)過(guò)模式轉(zhuǎn)化器的轉(zhuǎn)化之后,插入整個(gè)統(tǒng)一全局?jǐn)?shù)據(jù),形成虛擬數(shù)據(jù)庫(kù)VDB,最終產(chǎn)生中央數(shù)據(jù)視圖以便應(yīng)用層使用。
2.2 訪問(wèn)處理事物 數(shù)據(jù)訪問(wèn)事物就是把應(yīng)用層的全局查詢語(yǔ)句分解到各個(gè)局部異構(gòu)數(shù)據(jù)源的查詢和查詢到的結(jié)果集成的。其系統(tǒng)結(jié)構(gòu)如圖 3所示。
訪問(wèn)轉(zhuǎn)換器的功能是將應(yīng)用層用戶發(fā)出的全局查詢語(yǔ)句訪問(wèn) VDB查詢根據(jù)集成規(guī)則轉(zhuǎn)換為對(duì)局部異構(gòu)數(shù)據(jù)源的訪問(wèn)查詢,在此需要把用戶發(fā)出的全局查詢語(yǔ)句進(jìn)行語(yǔ)法檢查,分解到各個(gè)數(shù)據(jù)源等步驟。同時(shí)還要依據(jù)具體的查詢語(yǔ)句和集成規(guī)則來(lái)控制訪問(wèn)權(quán)限,其核心任務(wù)就是把針對(duì)統(tǒng)一全局?jǐn)?shù)據(jù)模式的查詢語(yǔ)句,通過(guò)VBD和異構(gòu)局部數(shù)據(jù)源形成的數(shù)據(jù)關(guān)系視圖分解到針對(duì)局部數(shù)據(jù)源的局部查詢語(yǔ)句。
圖 3 訪問(wèn)處理事物
應(yīng)用層的用戶界面發(fā)出一條查詢請(qǐng)求,通過(guò)訪問(wèn)轉(zhuǎn)換器的轉(zhuǎn)換,分解成一條條查詢語(yǔ)句,分解的局部查詢語(yǔ)句提交給各種異構(gòu)局部數(shù)據(jù)源的數(shù)據(jù)訪問(wèn)端口來(lái)實(shí)現(xiàn)對(duì)分散數(shù)據(jù)源的數(shù)據(jù)查詢,查詢結(jié)果反饋給結(jié)果合成器,結(jié)果合成器再通過(guò)集成規(guī)則和全局查詢語(yǔ)句把反饋的數(shù)據(jù)進(jìn)行集成反饋給應(yīng)用層,這樣就最終完成了一次來(lái)自應(yīng)用層的查詢。
醫(yī)院存在著大量分散、相對(duì)獨(dú)立的信息,應(yīng)用虛擬數(shù)據(jù)庫(kù)技術(shù),以病人的住院號(hào)為主線把分散于各個(gè)系統(tǒng)中的病人信息節(jié)點(diǎn)串聯(lián)起來(lái),方便醫(yī)護(hù)人員查詢和使用,實(shí)現(xiàn)以病人為中心的服務(wù)目標(biāo),做到病人不動(dòng),信息流動(dòng)的工作模式[3]。
按照醫(yī)院信息系統(tǒng)的特點(diǎn)可以劃分成五個(gè)系統(tǒng),即業(yè)務(wù)處理系統(tǒng)、臨床信息系統(tǒng)、臨床綜合工作系統(tǒng)、單項(xiàng)管理系統(tǒng)和管理決策支持,各系統(tǒng)又劃分為若干子系統(tǒng),業(yè)務(wù)處理系統(tǒng)包括門急診掛號(hào)及預(yù)約、門診藥房發(fā)藥、住院藥房擺藥、收費(fèi)系統(tǒng)及醫(yī)療保險(xiǎn)等;臨床信息系統(tǒng)包括醫(yī)囑電子病歷系統(tǒng)、L IS、R IS、PACS和輔助診療等;臨床綜合工作系統(tǒng)包括住院診療系統(tǒng) (醫(yī)生站、護(hù)士站)、門急診診療系統(tǒng)(醫(yī)生站、護(hù)士站)等;單項(xiàng)管理系統(tǒng)包括藥庫(kù)管理、床位管理、醫(yī)院財(cái)務(wù)、人事工資等;管理決策支持包括醫(yī)院統(tǒng)計(jì)管理系統(tǒng)、科室核算等。
如何把這些系統(tǒng)的信息實(shí)現(xiàn)以病人為主索引的管理可以用圖 4來(lái)反映。
經(jīng)過(guò)虛擬數(shù)據(jù)庫(kù)的集成,可以實(shí)現(xiàn)各個(gè)系統(tǒng)之間的信息共享,例如 H IS可以通過(guò)虛擬數(shù)據(jù)庫(kù)從L IS中調(diào)用的數(shù)據(jù),使得醫(yī)生在開(kāi)申請(qǐng)單時(shí)可以從L IS中查看各個(gè)檢驗(yàn)項(xiàng)目的臨床意義、注意事項(xiàng)、病人的準(zhǔn)備要求和標(biāo)本采集的注意事項(xiàng)等信息;可以通過(guò)就診卡號(hào)、住院號(hào)、床號(hào)等從 L IS中調(diào)閱病人化驗(yàn)單結(jié)果,并能對(duì)同一個(gè)病人的單個(gè)化驗(yàn)項(xiàng)目進(jìn)行結(jié)果分析圖形或數(shù)據(jù)表格分析。對(duì)于急診化驗(yàn)結(jié)果和危險(xiǎn)值的數(shù)據(jù)能自動(dòng)提示醫(yī)生查看化驗(yàn)結(jié)果。
圖 4 集成化醫(yī)院信息系統(tǒng)總體部署圖
通過(guò)虛擬數(shù)據(jù)庫(kù)技術(shù)來(lái)建立集成的信息系統(tǒng)可以有效地完成病人基本信息包括就診卡、基本檔案、電子病歷、醫(yī)院賬戶等的共享和通用;實(shí)現(xiàn)醫(yī)院經(jīng)營(yíng)數(shù)據(jù)的采集,集中存儲(chǔ)歸并與統(tǒng)計(jì)分析;實(shí)現(xiàn)藥品物資的申領(lǐng)、配送處理;醫(yī)生從化驗(yàn)檢查電子申請(qǐng)到提交、安排、計(jì)費(fèi)、執(zhí)行、審核,最后實(shí)現(xiàn)電子結(jié)算報(bào)告查詢共享的整個(gè)流程的集成;完整的電子病歷系統(tǒng)的集成;H IS、L IS、PACS等系統(tǒng)的集成??梢园褑我徊块T級(jí)的應(yīng)用上升到全院級(jí)的應(yīng)用,從而真正實(shí)現(xiàn)全院業(yè)務(wù)自動(dòng)化并幫助醫(yī)院提高其核心競(jìng)爭(zhēng)能力。
VDB技術(shù)將醫(yī)院系統(tǒng)中各個(gè)相對(duì)獨(dú)立的子系統(tǒng)轉(zhuǎn)化為能支持強(qiáng)大的結(jié)構(gòu)化搜索功能的數(shù)據(jù)庫(kù),從而為醫(yī)院存在的大量的自治、異構(gòu)、分布的數(shù)據(jù)建立集成化的醫(yī)院信息系統(tǒng)平臺(tái)提供了技術(shù)支持,使得一類新型的集成化系統(tǒng)得到了快速發(fā)展。集成化醫(yī)院信息系統(tǒng)應(yīng)用有以下幾個(gè)顯著的特征:擁有大量不同的數(shù)據(jù)源;數(shù)據(jù)源之間是相互獨(dú)立的,沒(méi)有集中的控制機(jī)制;數(shù)據(jù)源的構(gòu)成是復(fù)雜的,是結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的混合。
[1] 陳 莉.數(shù)據(jù)挖掘與虛擬數(shù)據(jù)庫(kù)[J].四川師范大學(xué)學(xué)報(bào) (自然科學(xué)版),1998,21(6):61-65.
[2] 胡彬華,李 曉,梁 劍.異構(gòu)分布式數(shù)據(jù)庫(kù)系統(tǒng)集成的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2002,(10):68-70.
[3] 戴青云,樊 沛,李 剛.Web-based多數(shù)據(jù)源集成系統(tǒng)的研究[J].計(jì)算機(jī)科學(xué),2002,29(9):119.
R 199.324
B
1008-9276(2011)02-0248-03
2010-11-01
牛承志 (1976-),男,河南省許昌市人,碩士,助理工程師,從事醫(yī)院信息管理工作。
[責(zé)任編校:楊紅梅]