李暉,劉國偉,袁靜,劉長興
濟南軍區總醫院 信息科,山東 濟南250031
軍衛一號系統中的病人數據挖掘
李暉,劉國偉,袁靜,劉長興
濟南軍區總醫院 信息科,山東 濟南250031
本文基于數字化醫院積累的大量臨床信息,結合計算機領域內的數據挖掘技術,提出一套病人數據挖掘的概念和方法。通過對大量臨床信息進行數據挖掘,不僅能為臨床診斷提供有用信息,而且可以從大量的數據中發現隱藏在數據中的趨勢、規律和異常。這些信息對臨床診斷、科研、教學等都具有非常重要的參考價值。
軍衛一號;PACS;電子病歷;數據挖掘
我院自1997年開始運行“軍衛一號”系統,并在此基礎上,先后應用了LIS系統、PACS系統等數字化醫療系統,累積了大量的臨床信息。目前,這些信息只是實現了病歷電子化,為病案管理和信息檢索帶來了方便,然而更深層次的關于臨床信息的數據挖掘工作卻很少進行。一般而言,數據挖掘是在一個數據存儲倉庫中確定有用的模式或關系的過程,而且通常數據挖掘涉及分析大量的信息來發現隱藏在數據中的趨勢。數據挖掘的概念已經廣泛運用于商業和金融機構,比如商業智能的概念中就包含了挖掘商業數據轉化為商業知識的過程。但是數據挖掘本身是沒有行業限制的,當對大量的臨床信息運用數據挖掘的概念和方法時,同樣能為我們臨床診斷、科研、教學等提供很多有用信息,并且結合我們醫療領域內的知識庫,甚至能預測疾病的發展趨勢。
通常,我們將數據劃分為結構化數據與非結構化數據。結構化數據是指存儲在數據庫里的行數據,可以用二維表的結構來邏輯表達實現的數據。相對于結構化數據,不方便用數據庫二維邏輯來表現的數據即為非結構化數據,包括所有格式的辦公文檔、文本、圖標、各類報表、圖像和音頻/視頻等信息。
醫院的病人記錄信息一般既包含結構化的數據,又包含非結構化的數據,在以“軍衛一號”系統為基礎的醫院信息系統(HIS)中,所有的病人的基本信息、病史、就診過程等都以結構化數據的信息存儲在數據庫中,同時門診和住院的費用和帳務信息等也會以結構化數據記錄在數據庫中。此外醫學影像歸檔與通訊系統(PACS)、檢驗信息系統(LIS)、臨床診療系統(CIS)、電子病歷系統(EMR)等各種數字化醫療系統也都不同程度實現了病人信息的結構化存儲。但是不少醫院雖然建成了醫院信息系統,但系統的應用程度不高,基本還是局限在門診和住院收費水平,這樣申請單、手術過程等還是只能以紙質的形式及非結構化數據的形式保存和傳遞。因此本文探討的病人數據挖掘系統可能包含多個數據源:有結構化的數據源,比如HIS數據庫、PACS數據庫等;也有非結構化的數據源,比如申請單、化驗單、心電圖、DICOM(醫學數字成像和通訊)格式的圖像信息等。通常,醫院的HIS、 PACS、 LIS等系統并非一個廠家開發的,加之目前國內還沒有統一的數字化規范可循,因此許多開發商為了追求最大利潤,往往自己設定數據規范和開發標準,這樣使得醫院內部的各信息系統軟件之間數據平臺不統一,數據結構各異。醫院內部的信息系統尚且如此,各醫院之間的信息系統的差異性就更大了。
各類數據源的數據結構的差異性(包括非結構數據之間的差異性及結構化數據的差異性)是導致病人數據挖掘難以進行的重要原因,因此病人數據挖掘的首要任務是定義統一的結構化臨床信息,并且針對不同數據源的特點開發相應的數據挖掘器。一個數據挖掘器被配置為使用領域專用標準來挖掘數據源,以創建結構化的臨床信息。正如前面所講,病人數據挖掘系統需要將各類數據源轉換為統一的結構化臨床信息,因此對于非結構數據需要設置相應的挖掘器負責將非結構的數據轉換為統一的結構化臨床信息。通過定義統一的結構化的臨床信息,解決了各數據源之間數據結構的差異性。下一步就可以定義數據挖掘的方法,即結合專用知識庫挖掘有用信息了。
以病人為中心的數據挖掘是指從與病人相關的數據源中提取信息,并且使用領域專用標準來推理病人狀態的過程。與病人相關的數據源通常包括多個數據源,每個數據源反映了病人關心的不同方面。一般與病人相關的數據源可以包括醫療信息、財務信息和人口統計信息中的一個或多個。醫療信息可以包括自由文本信息、醫學影像信息、檢驗信息、處方藥信息和波形圖像等信息中的一個或多個。用于挖掘病人數據源的領域專用的知識可以包括機構專用領域知識,例如,特定醫院可用的數據、醫院信息系統定義的數據存儲結構、醫院的政策、方針,以及醫院的任何變化有關的信息等。此外領域專用的知識還可以包括疾病專用的領域知識庫,例如,疾病專用的領域知識可以包括影響疾病危險的各種因素、疾病的進展情況、并發癥信息、與疾病有關的措施、與疾病有關的結果和變量、以及由醫療結構建立的方針和政策等。
以病人為中心的數據挖掘主要包括三個階段,分別是提取、組合、推理。用于病人數據挖掘的挖掘器需要包含一個提取部件。該提取部件從病人的所有檢查信息中獲取關鍵信息以產生與病人相關的概率斷言,即患有某種疾病的概率斷言。一般而言,對于結構化的數據我們會使用結構化查詢語言(SQL)從病人相關的數據庫記錄中檢索關鍵詞,比如從影像科的PACS數據庫中檢索病人的影像學報告中的診斷結論可以獲知病人的影像學診斷。此外,目前商業的數據庫服務器軟件中還提供了全文檢索功能,使用全文檢索功能可以從大量的文本信息中檢索更加準確、全面的信息。從圖像、波形等數據格式進行的提取可以由提供給系統的圖像處理或特征提取程序來完成。需要注意的是,臨床信息的收集過程中可能會由于各種原因導致有些信息包含遺漏、錯誤和不一致的數據,因此需要在概率斷言時加以考慮。通過提取與病人相關的所有信息,我們得到了病人在各個時間點(或時間段)的病歷信息,即形成一個時間序列,然后通過對各個時間點(或時間段)得到的概率斷言,我們即可得到一個狀態序列及治療期間在不同時間點(或時間段)的病人狀態的值。同時在同一個時間點上可能會從相同(或不同)的數據源中得到可能沖突的斷言,處理這些沖突的斷言形成統一的視圖的過程,即組合階段完成的工作,這些工作通常需要借助相關的領域專業知識完成。推理是通過與病人有關的所有可用的仿真陳述并通過疾病的狀態、實驗室化驗、治療協議等產生病人進展的復合視圖的過程。基本上,病人當前的狀態可能受到先前的狀態和任意新的組合觀察的影響。
對病人狀態序列進行推理正是以病人為中心的數據挖掘的意義所在。正如前面所說,病人當前狀態往往會受到先前狀態的影響,因此通過以病人為中心的數據挖掘對臨床診斷非常有意義。比如,通過分析狀態序列可以推斷病人之前病情是否出現了復發,進一步結合領域專業知識,可以推斷將來病情發展的趨勢。
對于醫院積累的大量臨床信息,我們通常只是檢索某位特定病人相關的信息,或者一些簡單的數量統計,而蘊藏在這些大量信息當中人們事先不知道、但是又潛在有用的知識往往被忽略。究其原因,其一,面對這些海量信息,普通的檢索方式效率低下,甚至經常出現檢索超時出錯等;其二,常規的統計查詢往往得到的是一些簡單的類似于數量總和的統計結果,不能很好地反映數據分布等特點,因此對于科研統計意義不大。本文將提出一種基于聯機分析處理(OLAP)技術的海量病人數據挖掘方法,使用這種方法可以快速高效地獲取檢索的結果,并且以一種新的多維度、可變換的方式來分析我們檢索的結果。
在介紹海量病人數據挖掘方法之前,我們先舉一個簡單的例子:假如在我院現有HIS系統的基礎上,要得到關于某類疾病發病率的以下統計結果:
(1)每年該疾病的發病率;
(2)每季度該疾病的發病率;
(3)該疾病患者的地域分布;
(4)該疾病患者當中,男女比例各占多少;
(5)該疾病患者當中,各年齡層當中患病的比例是多少;
(6)該疾病患者當中,各年齡層患者的男女比例是多少。
設想一下,如果我們使用常規的檢索方式去統計這些結果,往往都需要做好幾次查詢統計,而且目前一般的軟件都很難提供這種伸縮性很強的統計查詢工具或人機交互界面。即使是專業的數據庫管理員(DBA)也需要非常復雜的查詢函數才能得到這些統計結果,而且對于海量數據信息時,往往這些查詢函數效率極其低下。
使用基于聯機分析處理(OLAP)技術的海量病人數據挖掘方法,可以很好地滿足諸如此類的科研統計需求。聯機分析處理(OLAP)能夠使分析人員快速獲取多維度檢索結果,而且對檢索結果可以從不同的維度或者不同的維度組合進行觀察和分析,從而獲得對數據更深入的了解?;诼摍C分析處理(OLAP)技術的海量病人數據挖掘方法是結合病人數據的特點及常見的科研統計需求,定義科研統計所需要的維度,將海量的病人數據構建為病人數據挖掘倉庫,從而實現高效的科研統計分析服務。
病人數據挖掘倉庫主要包含病人的就診信息表和多個統計量分布表。病人就診信息表包含了所有病人的就診信息,比如病人姓名、性別、年齡、家庭住址、就診日期、檢查科室、診斷結論等等。我們稱病人就診信息表為事實表(Fact Table)。每一個統計量,比如性別、年齡、就診日期等,我們稱之為維度(Dimension),一個或多個相關聯的維度構成一個維度表,維度表中定義了所有可能的維度(或多個維度組合)的值,比如,性別維度表中包含了兩個值:男和女。通常,我們需要按照科研統計的需要構建特定的維度。比如,在前面提到的關于某類疾病發病率的以下統計任務中,我們將需要定義以下維度(表1):

表1 關于某類發病率定義的維度
基于聯機分析處理(OLAP)技術的海量病人數據挖掘首先根據事實表和定義的維度表,計算各種維度組合情況下的統計值,我們稱為度量表(Measure)。這些度量值是通過對事實表中的記錄做聚集計算(Aggregation)而得來的,一般都是通過做累計記數(COUNT),當然有時候也會使用求和(SUM),比如關于費用、劑量等信息的相關統計。生成這些度量信息之后,使用聯機分析處理(OLAP)定義的多維度分析操作方法鉆?。╮oll up和drill down), 切片(slice)、 切塊(dice)、 旋轉(pivot)等,完成對數據的分析、查詢和報表。常用的多維度分析方法是鉆取(roll up和drill down),比如我們知道了某個疾病在各個年齡層中的發病率,那么通過drill down操作添加一個性別維度,即可得到該疾病發在各年齡層中男、女發病率的比例。
海量病人數據挖掘的難度在于維度的定義,維度的定義直接影響度量表的計算過程以及我們分析問題的角度。通常需要分析科研統計的需求,定義切合統計需求的維度。目前主流的商業數據庫中已經提供了多維度數據挖掘的工具,比如SQL Server 2005 的Analysis Service,即提供了構建數據倉庫和執行多維度數據分析的功能。但是,正如前面所說的我們,需要結合病人信息的特點和科研統計的需求,定義我們需要的維度,從而構建合理的病人數據挖掘倉庫。
隨著醫療改革的穩步推進和數字化醫療的發展,醫院的數據量會不斷增加,醫院的信息化建設會不斷成熟,更多醫療信息將會產生,既有來自醫院內部信息,也有更多來自其他醫療機構共享的信息。挖掘這些急劇增長的大量信息,不僅有利于個體病人的臨床診斷,也有利于對大局的把握和認知,從而為我們的臨床研究、疾病預防和相關決策提供重要的依據。希望我們在建設數字化醫院的同時,不僅重視收集存儲各類臨床信息,也要重視對已有信息的分析和再認識,通過數據挖掘發現其趨勢、規律和異常,為醫院建設及科研服務。
[1] 徐潔磐.數據倉庫與決策支持系統[M].北京:科學出版社,2005.[2] 趙丹群.數據挖掘原理、方法及其應用[J].現代圖書情報技術,2000(6):41-44.
[3] 袁玉波,楊傳勝,黃延祝,等.數據挖掘與最優化技術及其應用[M].北京:科學出版社,2007.
[4] 范明,孟小峰.數據挖掘概念與技術[M].北京:機械工業出版社,2007.
[5] 周保琢,李傳富,等.采用增量關聯規則挖掘提高電子病歷系統的用戶體驗度[J].中國醫療器械雜志,2009(2):83-86.
[6] Cheung DW,Han Jiawei,Ng V.Maintenance of discovered association rules in large database:an incremental updating technique[C].Proceedings of the Twelfth International Conference on Data Engineering.Washington,DC:IEEE Computer Society,1996.
[7] Cheung D,LEE S,Kao B. A general incremental technique for maintaining discovered association rules[C].Proceedings of the Fifth International Conference on Database Systems for Advanced Applications.Sydney:World Scientific Press,1997.
[8] Leung KC,Khan QI,Hoque TC.CanTree:A Tree Structure for Efficient Incremental Mining of Frequent Patterns[C].Data Mining, Fifth IEEE International Conference on.New Orleans:IEEE Computer Society,2005.
[9] 倪志偉,高雅卓,李偉東.基于矩陣的增量式關聯規則挖掘算法[J].計算機工程與應用,2008(13):153-155.
[10] 李燕,常艷,王欣萍.Visual FoxPro程序設計[M].北京:人民衛生出版社,2007.
Patient Data Mining in No.1 Military Medical Project System
LI Hui,LIU Guo-wei,YUAN Jing,LIU Chang-xing
Information Department,General Hospital of Jinan Military Region,Jinan Shandong 250031, China
TP311.138
A
10.3969/j.issn.1674-1633.2010.08.013
1674-1633(2010)08-0039-03
2009-12-06
2010-03-03
作者郵箱:hayyxym1213@sina.com
Abstract: With large medical records increasingly being generated in digital hospitals, the ability to perform data mining in huge information is extremely important.This paper introduces the concept and method of performing medical data mining. By applying the process of medical data mining, we are able to identify trends,orderliness and abnormity which are useful for clinical diagnosis, research and teaching.
Key words: No.1 military project;PACS;EMR;data mining