余艷霞 王燕 聞誼
摘要:本文針對電子病歷數(shù)據(jù)中存在的數(shù)據(jù)結(jié)構(gòu)復雜、數(shù)據(jù)冗余性、數(shù)據(jù)不完整性、數(shù)據(jù)不一致性等特點,采取數(shù)據(jù)抽取、數(shù)據(jù)清理、數(shù)據(jù)集成和數(shù)據(jù)轉(zhuǎn)換等方法對這些數(shù)據(jù)進行了處理,旨在提取電子病歷數(shù)據(jù)庫中有價值的信息并挖掘隱含在其中的醫(yī)學診斷規(guī)則和模式,從而為疾病的診斷和治療提供科學的、準確的輔助決策。
關(guān)鍵詞:電子病歷;數(shù)據(jù)挖掘;信息技術(shù)
中圖分類號:R197.324 文獻標識碼:A 文章編號:1007-9416(2018)08-0035-04
1 前言
近年來,隨著醫(yī)療信息系統(tǒng)在我國的不斷普及信息技術(shù)在醫(yī)學領(lǐng)域不斷發(fā)展,很多大中型醫(yī)療機構(gòu)已經(jīng)構(gòu)建了相當完善的數(shù)據(jù)信息系統(tǒng),積累了大量的電子病歷數(shù)據(jù)。但是,國內(nèi)大多數(shù)醫(yī)院并沒有對數(shù)據(jù)進行進一步的分析和研究,只是運用傳統(tǒng)的數(shù)據(jù)檢索和統(tǒng)計方法來對數(shù)據(jù)進行處理,更多的還是停留在對電子病歷數(shù)據(jù)的增加、刪除、修改和查詢上,比如說,醫(yī)院會根據(jù)病人的多次住院情況記錄來進行比較,總體上了解病人的病情發(fā)展情況,并未對這些記錄做進一步的分析,來發(fā)現(xiàn)其中的規(guī)律。這就產(chǎn)生了“數(shù)據(jù)豐富,但信息貧乏”的現(xiàn)象。電子病歷數(shù)據(jù)形式含有文字、圖像、影像和切片等,主要還是以文本為主,這些文本包括了病人的基本信息以及患者在醫(yī)院就診的相關(guān)信息。這些數(shù)據(jù)中存在大量復雜的、重復的、不完整的數(shù)據(jù)。如果直接在這些數(shù)據(jù)進行研究,效果肯定不會很好,甚至會出現(xiàn)結(jié)果的嚴重偏差,而醫(yī)學研究關(guān)系到人的生命和身體健康,因此,需要對這些數(shù)據(jù)進行處理。只有這樣,才能改進數(shù)據(jù)的質(zhì)量,提高數(shù)據(jù)的利用率,保證結(jié)果的正確性和合理性。
在進行數(shù)據(jù)處理之前,需要對電子病歷系統(tǒng)的結(jié)構(gòu)和電子病歷數(shù)據(jù)的特點有一定的了解,知道電子病歷系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu),如出院記錄、病名名稱和手術(shù)記錄等在數(shù)據(jù)庫中對應的表名等,它屬于哪個表空間,含有哪些字段屬性,還有就是每個字段的類型和長度分別是什么。電子病歷數(shù)據(jù)的特點如下:
(1)數(shù)據(jù)不完整性、不一致性。電子病歷中的數(shù)據(jù)一般會由醫(yī)院的醫(yī)務人員進行操作,目前國內(nèi)還沒一套很標準的規(guī)范,以至于不同的人會對同一種病描述的不一樣,從而會產(chǎn)生數(shù)據(jù)的不一致性。其次,電子病歷只是對患者病情的概括性描述,并不能完全表達患者的病情,可能還會產(chǎn)生遺漏,這種情況會造成數(shù)據(jù)的不完整。
(2)數(shù)據(jù)結(jié)構(gòu)復雜。電子病歷數(shù)據(jù)表現(xiàn)的形式很多,有文本類型的,有圖像類型的,還有數(shù)字類型。這些形式的使得我們無法以統(tǒng)一的格式對它們進行挖掘,需要采取不同的方法。
(3)數(shù)據(jù)冗余性。隨著醫(yī)療技術(shù)的快速發(fā)展,每天都會產(chǎn)生大量的數(shù)據(jù),這些數(shù)據(jù)中會存在一些重復的數(shù)據(jù)。比如說,有些疾病,比如說流行性感冒,患者表現(xiàn)的癥狀還有醫(yī)生給出的治療方案一般都很相似,這樣就會造成數(shù)據(jù)庫中數(shù)據(jù)的重復,還有就是患者在不同醫(yī)院進行就診也會產(chǎn)生重復的數(shù)據(jù)。這些情況都會造成數(shù)據(jù)的冗余。
(4)數(shù)據(jù)隱私性。電子病歷數(shù)據(jù)包含了患者的所有在醫(yī)院進行治療的信息。其中有些信息就屬于病人的隱私,如姓名、年齡、聯(lián)系方式、婚姻情況和所患疾病等,在數(shù)據(jù)處理過程中需要對這些信息進行保護。
下面分別對數(shù)據(jù)處理常用的方法包括數(shù)據(jù)抽取、數(shù)據(jù)清理、數(shù)據(jù)變換和數(shù)據(jù)規(guī)約等進行研究。
2 數(shù)據(jù)抽取方法
數(shù)據(jù)抽取方法的主要目標在從電子病歷數(shù)據(jù)中找出符合我們要求的特征屬性。考慮到電子病歷數(shù)據(jù)的數(shù)據(jù)格式多樣,本文從兩方面對數(shù)據(jù)進行抽取,具體描述如下:
(1)結(jié)構(gòu)化的數(shù)據(jù)。對于已經(jīng)結(jié)構(gòu)化的數(shù)據(jù),根據(jù)研究的目標從數(shù)據(jù)庫中找到相應的數(shù)據(jù),取出我們所需的屬性的值即可。圖1所示的是從Oracle數(shù)據(jù)庫中截取的關(guān)于病人出院診斷記錄表中的部分截圖,里面包括了患者的ID號,診斷編碼和診斷病名名稱等屬性。
我們可以使用SQL語句從中選出病人的ID號和對應的診斷病名名稱,并對數(shù)據(jù)格式進行轉(zhuǎn)換,然后利用算法尋找不同疾病之間的關(guān)系。
(2)非結(jié)構(gòu)化的數(shù)據(jù)。電子病歷中含有大量非結(jié)構(gòu)化的數(shù)據(jù),要想在這些數(shù)據(jù)中挖掘出有效的信息,我們需要將它們轉(zhuǎn)換為結(jié)構(gòu)化的數(shù)據(jù)來進行處理。我國的電子病歷共享文檔很多都是以XML文檔的形式存在,這種非結(jié)構(gòu)化的數(shù)據(jù)形式并不利于我們進行處理和分析。我們需要將XML文檔映射到關(guān)系數(shù)據(jù)庫中。在研讀了一些資料發(fā)現(xiàn),將XML文檔直接映射到關(guān)系數(shù)據(jù)庫并沒有很好的方法。因此,本文所用的科研數(shù)據(jù)庫采用將XML文檔與對象之間、對象與關(guān)系數(shù)據(jù)庫之間進行映射的方法來解決這個問題。首先,通過對象的序列化和反序列化來實現(xiàn)XML文檔和對象之間的相互轉(zhuǎn)換,然后,通過對象關(guān)系映射(ORM)來實現(xiàn)對象與關(guān)系數(shù)據(jù)庫之間的相互轉(zhuǎn)化。映射流程如圖2所示。
電子病歷共享文檔結(jié)構(gòu)化需要經(jīng)過兩個步驟。(1)電子數(shù)據(jù)抽?。和ㄟ^XSLT技術(shù),將CDA文檔中的電子病歷數(shù)據(jù)抽取出來放在一個簡化的XML文檔中。醫(yī)療數(shù)據(jù)包含在文檔中的元素或者屬性當中,這些數(shù)的類型和意義已經(jīng)在關(guān)系數(shù)據(jù)庫表中定義了,因此,只需提取電子病歷共享文檔中的數(shù)據(jù),和關(guān)系數(shù)據(jù)庫中表中的字段對應。(2)XML數(shù)據(jù)映射到關(guān)系數(shù)據(jù)庫:運用Java中對象的發(fā)序列技術(shù),將抽取數(shù)據(jù)后的XML文檔反序列化為Java對象,并且處理好對象之間的關(guān)系,然后通過ORM將這些java對象存儲到關(guān)系數(shù)據(jù)庫中。
對于非結(jié)構(gòu)化的文本數(shù)據(jù),需要利用自然語言處理技術(shù)(NLP)對其進行處理。對文本數(shù)據(jù)進行處理需要經(jīng)歷以下幾個步驟:
(1)文本分詞。文本分詞是文本預處理過程中不可缺少的部分,與英文文本中單詞中有空格不同,漢語文本字之間是連續(xù)的,所以要想獲取特征詞,就必須對這些文本數(shù)據(jù)進行分詞是,常用得中文分詞工具有ICTCLAS2015漢語分詞系統(tǒng)、IKAnalyer分詞、庖丁解牛分詞等。本文中運用的是ICTCLAS分詞工具對電子病歷系統(tǒng)中的文本文件進行處理,ICTCLAS由中科院研發(fā),是最早的中文分詞工具,采用C/C++進行編寫。選擇其作為分詞工具主要考慮到以下幾個方面原因:首先,自2000年誕生以來,目前全球用戶已經(jīng)突破30萬人,得到很高認可;其次,該分詞工具支持許多操作系統(tǒng),如Linux、Windows。另外,還支持不同的語言進行開發(fā),如C/C++、java等主流語言開發(fā);最后,它可以同時支持中英文分詞。
圖3表示的是電子病歷數(shù)據(jù)中部分片段截圖。
上述病歷片段在經(jīng)過ICTCLAS分詞工具分詞后的結(jié)果如圖4所示。
(2)去停用詞。文本數(shù)據(jù)中并不是所有的詞都能代表數(shù)據(jù)的特征,如“你”、“我”、“他”、“的”、“地”等,這些詞需要從文本中去掉。ICTCLAS分詞工具中會有這些詞的文檔,用戶自己還可以加入自己的一些無關(guān)的停用詞。
(3)詞頻統(tǒng)計。這一步非常關(guān)鍵。在去除掉停用詞后,剩下的詞就是文本的精華所在,此時,判斷一個詞的重要性就要統(tǒng)計它們在文檔中出現(xiàn)的次數(shù),即詞頻。一個詞在文本中出現(xiàn)的次數(shù)越多,則說明這個詞語越能表征這個文本。比如說,在糖尿病的診斷病例中,臨床癥狀會多次出現(xiàn)“多飲”、“多尿”等詞語。這些詞語就可以代表對糖尿病進行診斷的特征。
(4)特征轉(zhuǎn)換。就是把提取出來的特征轉(zhuǎn)換為適合算法運行的形式。
3 數(shù)據(jù)清理方法
電子病歷數(shù)據(jù)會含有一些不完整的、有噪聲的和不一致的數(shù)據(jù),我們需要對這些數(shù)據(jù)進行數(shù)據(jù)清理。如在本文研究的電子病歷數(shù)據(jù)中的出院診斷記錄中在疾病診斷一欄就有許多缺失的數(shù)據(jù)。這些數(shù)據(jù)如果直接被用來進行數(shù)據(jù)處理的話,會很大程度上影響結(jié)果,給人產(chǎn)生誤導,所以說對其進行數(shù)據(jù)清理是十分必要的。
(1)缺省值處理。由于電子病歷系統(tǒng)中數(shù)據(jù)量特別的大,更新的數(shù)據(jù)快的特點,會產(chǎn)生很多缺失的數(shù)據(jù)。如XXX醫(yī)院的電子病歷系統(tǒng)中出院診斷記錄中有許多缺省的診斷數(shù)據(jù)。常用解決缺省值的辦法有忽略元組,這種方法在缺失數(shù)據(jù)特別少的時候特別有效;在醫(yī)學專家的指導下,人工填寫缺失值,該方法效率比較低,很花費時間。本文為了避免缺省數(shù)據(jù)對算法挖掘效果的影響,采用的辦法就是直接刪除掉缺省的數(shù)據(jù)。
(2)重復數(shù)據(jù)處理。在仔細分析了電子病歷數(shù)據(jù)庫中的表中的數(shù)據(jù)后,發(fā)現(xiàn)這些數(shù)據(jù)中含有許多重復的或者相似的記錄,比如說,患者中診斷結(jié)果中有“高血壓”、還有“高血壓3級”,按照醫(yī)學原理,它們屬于同一種病。所以在關(guān)聯(lián)規(guī)則的挖掘中的實驗中,我們把他們都按照“高血壓”來處理,所以刪除“高血壓3級”的記錄,類似的還有“糖尿病”與“2型糖尿病”等等。
4 數(shù)據(jù)集成方法
電子病歷數(shù)據(jù)來源十分廣泛,可以來源于某些電子儀器,可以來源醫(yī)生對病情的記錄等等,我們需要把這些數(shù)據(jù)進行整合且進行統(tǒng)一存儲,建立數(shù)據(jù)倉庫的過程實際上就是數(shù)據(jù)集成。本文的數(shù)據(jù)源統(tǒng)一來自O(shè)RACLE11G數(shù)據(jù)庫,數(shù)據(jù)進行抽取后同樣存于ORACLE11G數(shù)據(jù)庫。
5 數(shù)據(jù)轉(zhuǎn)換方法
電子病歷系統(tǒng)中的許多數(shù)據(jù)不能直接拿來就能進行關(guān)聯(lián)處理的,必須在進行挖掘工作前對數(shù)據(jù)進行變換,所以需要把電子病歷數(shù)據(jù)轉(zhuǎn)化為包含項的事務數(shù)據(jù)格式。電子病歷數(shù)據(jù)包括數(shù)值屬性、類別屬性等。數(shù)值屬性如患者的年齡、醫(yī)院檢測數(shù)據(jù)等,我們不可能把每個數(shù)值都當作一個項進行處理,這樣會導致數(shù)據(jù)維度太高,不利于關(guān)聯(lián)處理,我們需要根據(jù)某種標準數(shù)據(jù)進行區(qū)間劃分,不同區(qū)間分別對應一個標識。比如對患者的年齡,可以分為3個區(qū)間,A1:age<30,A2:30
以糖尿病數(shù)據(jù)為例,在進行數(shù)據(jù)變換之前,首先通過閱讀適當醫(yī)學資料和咨詢醫(yī)院專家來確定劃分的標準。本文對9個屬性進行數(shù)據(jù)轉(zhuǎn)換如下所示。
(1)年齡:A1:小于30歲;A2:30歲到60歲;A3:大于60歲。
(2)性別:M:男;F:女。
(3)臨床表現(xiàn):Z1:多飲、多尿、多食和消瘦;Z2:疲乏無力、身體肥胖;Z3:其它。
(4)是否嗜煙:S1:是;S2:否。
(5)是否嗜酒:D1:是;D2:否。
(6)是否空腹:L1:是;L2:否。
(7)血糖含量:B1:血糖含量小于7毫摩爾/升;B2:血糖含量在7毫摩爾/升和10毫摩爾/升之間;B3:血糖含量在10毫摩爾/升和15毫摩爾/升之間;B4:血糖含量大于15毫摩爾/升之間。
(8)視力情況:E1:不正常;E2:正常。
(9)糖尿病類型:I1:1型糖尿??;I2:2型糖尿病。
數(shù)據(jù)經(jīng)過這些變換后,就可應用關(guān)聯(lián)規(guī)則算法進行規(guī)則挖掘了,來發(fā)現(xiàn)這些屬性之間的關(guān)系了。圖5表現(xiàn)數(shù)據(jù)進行數(shù)據(jù)轉(zhuǎn)換后的部分結(jié)果展示。
6 結(jié)語
本文針對電子病歷數(shù)據(jù)中存在的數(shù)據(jù)結(jié)構(gòu)復雜、數(shù)據(jù)冗余性、數(shù)據(jù)不完整性、數(shù)據(jù)不一致性等特點,采取數(shù)據(jù)抽取、數(shù)據(jù)清理、數(shù)據(jù)變換和數(shù)據(jù)規(guī)約等方法對這些數(shù)據(jù)進行了處理,旨在提取電子病歷數(shù)據(jù)庫中有價值的信息并挖掘隱含在其中的醫(yī)學診斷規(guī)則和模式,從而為疾病的診斷和治療提供科學的、準確的輔助決策。也就是說,醫(yī)院中關(guān)于患者的病歷數(shù)據(jù)中蘊含著豐富的信息和知識,比如說疾病的主要特征、疾病之間隱含的關(guān)系以及疾病的發(fā)展規(guī)律等,這些信息的提取可以在一定程度上幫助科研人員進行醫(yī)學研究、輔助醫(yī)生臨床診斷,從而促進醫(yī)學發(fā)展。來發(fā)現(xiàn)數(shù)據(jù)中有用的規(guī)則和知識。并且可以利用這些規(guī)律去輔助醫(yī)生診斷、改善醫(yī)院管理、豐富研究內(nèi)容??焖?、有效地從這些的數(shù)據(jù)中發(fā)現(xiàn)隱藏其中的、有用的信息和知識,從而提高醫(yī)療水平,因此,對電子病歷數(shù)據(jù)進行研究無論在科研方面還是在應用方面都很有意義。
參考文獻
[1]郭煜.電子病歷與手寫病歷缺陷比較及對策分析[J].基層醫(yī)學論壇,2012,(z1):91-92.
[2]Ravindranath K R. Clinical Decision Support System for heart diseases using Extended sub tree[C]//Pervasive Computing (ICPC), 2015 International Conference on. IEEE, 2015:1-5.
[3]丁衛(wèi)平,祁恒,董建成,等.基于關(guān)聯(lián)規(guī)則的電子病歷挖掘算法研究與應用[J].微電子學與計算機,2007,24(3):69-73.
[4]胡光闊,王天朝,江曉云,等.基于粗糙集理論的數(shù)據(jù)挖掘技術(shù)臨床應用研究[J].中國數(shù)字醫(yī)學,2011,06(1):26-27.
[5]王欣萍,李燕.數(shù)據(jù)挖掘技術(shù)于醫(yī)學電子病歷系統(tǒng)的應用[J].現(xiàn)代預防醫(yī)學,2008,35(13):2450-2451.
[6]Hoogendoorn M, Moons L M G, Numans M E, et al. Utilizing data mining for predictive modeling of colorectal cancer using electronic medical records[M]//Brain Informatics and Health. Springer International Publishing, 2014: 132-141.
[7]Zhongguang Q, Zong-yuan M, Zhao-zhi D. The application of rough set in the Chinese medicine rheumatic arthritis diagnosis[J]. Chinese Journal of Biomedical Engineering,2001,20(4):357-363.
[8]莊軍,郭平,周楊,等.電子病歷數(shù)據(jù)預處理技術(shù)[J].計算機科學,2007,34(3):141-144.
[9]Utama P A, Distiawan B. Spark-gram: Mining frequent N-grams using parallel processing in Spark[C]//2015 International Conference on Advanced Computer Science and Information Systems (ICACSIS). IEEE, 2015: 129-136.
[10]Gui F, Ma Y, Zhang F, et al. A distributed frequent itemset mining algorithm based on Spark[C]//Computer Supported Cooperative Work in Design (CSCWD), 2015 IEEE 19th International Conference on. IEEE, 2015: 271-275.