王 琦 金玉琴 周金海 周 明
(南京中醫(yī)藥大學(xué)信息技術(shù)學(xué)院 南京 210023) (南京體育學(xué)院運動康復(fù)醫(yī)院 南京 210041)
?
基于WPF的中醫(yī)電子病歷系統(tǒng)設(shè)計與實現(xiàn)*
王 琦 金玉琴 周金海 周 明
(南京中醫(yī)藥大學(xué)信息技術(shù)學(xué)院 南京 210023) (南京體育學(xué)院運動康復(fù)醫(yī)院 南京 210041)
基于中醫(yī)病歷較西醫(yī)病歷的特殊性,基于WPF設(shè)計面向中醫(yī)專業(yè)人員的電子病歷系統(tǒng)。從數(shù)據(jù)庫設(shè)計、WPF與MVVM模式、XAML與數(shù)據(jù)綁定、界面設(shè)計與自定義控件等方面,詳細介紹系統(tǒng)的設(shè)計與實現(xiàn),闡述系統(tǒng)的功能模塊及數(shù)據(jù)挖掘,指出系統(tǒng)的創(chuàng)新之處。
中醫(yī)電子病歷;WPF;XAML;數(shù)據(jù)挖掘
病歷是指醫(yī)務(wù)人員在醫(yī)療活動過程中形成的文字、符號、圖表、影像、切片等資料的總和,是病人在醫(yī)院診斷治療全過程的原始記錄,包含病人個人信息、病程記錄、檢查結(jié)果、醫(yī)囑、處方用藥等。近年來,隨著計算機技術(shù)、信息處理及網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展及其應(yīng)用的不斷普及,電子病歷(Electronic Medical Record,EMR)的研究受到越來越廣泛的關(guān)注。電子病歷是信息技術(shù)在醫(yī)療領(lǐng)域應(yīng)用的必然產(chǎn)物,是醫(yī)院管理現(xiàn)代化的必然趨勢,其臨床應(yīng)用極大提高了醫(yī)院的醫(yī)療服務(wù)質(zhì)量和管理效率。但是,目前醫(yī)院使用的電子病歷系統(tǒng)絕大多數(shù)是為西醫(yī)設(shè)計,不能體現(xiàn)中醫(yī)“辨證論治”的診療特點;同時,中醫(yī)及西醫(yī)在檢查、診斷、處方、用藥等多方面的差異[1]使得中醫(yī)在使用醫(yī)院提供的電子病歷系統(tǒng)時也存在極大不便。
中醫(yī)具有鮮明的民族風(fēng)格、獨特的理論體系、豐富的醫(yī)療實踐,在我國醫(yī)學(xué)中扮演著非常重要的角色,作為世界上迄今為止唯一保持不衰的傳統(tǒng)醫(yī)學(xué)屹立于世界醫(yī)學(xué)之林。因此,開發(fā)一款能夠體現(xiàn)中醫(yī)“辨證論治”特點、符合中醫(yī)實際診療過程、便于中醫(yī)專家實際使用,有效實現(xiàn)中醫(yī)診療經(jīng)驗的收集整理與學(xué)術(shù)思想的歸納總結(jié)的軟件具有較大的理論和現(xiàn)實意義。本文基于WPF設(shè)計中醫(yī)電子病歷系統(tǒng),該系統(tǒng)針對診療過程中產(chǎn)生的病案信息進行結(jié)構(gòu)化存儲,有效實現(xiàn)對診療經(jīng)驗的收集和整理,同時為臨床知識和經(jīng)驗的傳承與創(chuàng)新提供幫助,可有效實現(xiàn)中醫(yī)的現(xiàn)代化、國際化[2]。
2.1 數(shù)據(jù)庫設(shè)計
中醫(yī)電子病歷系統(tǒng)設(shè)計的首要問題是醫(yī)學(xué)語言的標(biāo)準(zhǔn)化進度緩慢[3],如何將復(fù)雜的中醫(yī)藥信息進行結(jié)構(gòu)化存儲是設(shè)計的難點。本系統(tǒng)數(shù)據(jù)庫設(shè)計參考數(shù)據(jù)存儲與數(shù)據(jù)工程(Data Storage and Data Engineering,DSDE)的設(shè)計方式,對中醫(yī)病案信息進行結(jié)構(gòu)化處理,通過DSDE方法根據(jù)中醫(yī)辨證論治的診療特點確定結(jié)構(gòu)化原則,即以癥-證-治為要素對病歷信息進行結(jié)構(gòu)化[4]。病歷信息的結(jié)構(gòu)化應(yīng)盡可能符合臨床診療術(shù)語規(guī)范,以便形成標(biāo)準(zhǔn)化的中醫(yī)病案信息,為進一步經(jīng)驗整理和數(shù)據(jù)挖掘提供支持。數(shù)據(jù)庫中證型診斷,見表1,同一病歷號由于證、病性和病機的原因可以對應(yīng)多個證型號。
表1 證型診斷
2.2 WPF與MVVM模式
(1)Windows Presentation Foundation (WPF)是微軟推出的基于.NET平臺、構(gòu)建于Dir-ectX接口上的下一代用戶界面框架,它提供了統(tǒng)一的編程模型、語言和框架,實現(xiàn)了用戶界面設(shè)計代碼與程序邏輯代碼的分離,真正做到了分離界面設(shè)計人員與開發(fā)人員的工作[5]。(2)Model-View-View-Model (MVVM)中醫(yī)電子病歷系統(tǒng)對結(jié)構(gòu)化、規(guī)范化的中醫(yī)藥數(shù)據(jù)要求較高,所以高效、可控、便于管理的設(shè)計模式顯得格外重要。本系統(tǒng)使用WPF的新設(shè)計模式MVVM進行架構(gòu)管理,見圖1,立足于原有MVP框架并且把WPF的新特性揉合進去[6]。
圖1 MVVM架構(gòu)
MVVM模式的主要目的是分離視圖(View)和模型(Model),具有低耦合、可重用性、獨立開發(fā)和可測試等優(yōu)點。本系統(tǒng)使用MVVM模式,通過View綁定到ViewModel然后執(zhí)行命令請求動作,ViewModel再與Model通訊,更新來響應(yīng)用戶界面,從而實現(xiàn)View獨立于Model進行變化和修改,同時一個ViewModel可以綁定到不同的View上。采用MVVM模式使得系統(tǒng)的用戶界面設(shè)計代碼與程序邏輯代碼完全分離,可以在不影響功能實現(xiàn)的前提下充分發(fā)揮WPF的新特性,將Sliverlight、音頻、視頻、3D、動畫等引入軟件的用戶界面層,使界面既人性化又美觀;同時,MVVM模式的使用可以讓難以測試的界面測試變得便捷,只要針對ViewModel層就可以簡單地完成界面的測試環(huán)節(jié)。
2.3 XAML與數(shù)據(jù)綁定
可擴展應(yīng)用程序標(biāo)記語言(eXtensible Application Markup Language,XAML),引用使得WPF下用戶界面設(shè)計代碼與程序邏輯代碼的分離得以實現(xiàn)。對于結(jié)構(gòu)化、規(guī)范化要求較高的中醫(yī)藥數(shù)據(jù),選取XAML綁定方式可以顯著提高存儲及管理效率。實現(xiàn)了數(shù)據(jù)源及界面的雙向綁定,數(shù)據(jù)源變化時界面自動跟隨數(shù)據(jù)源一起發(fā)生改變;反之,界面的變化同樣會引起數(shù)據(jù)源的變化。以下為系統(tǒng)XAML綁定數(shù)據(jù)庫字段的部分代碼:
但不可否認的是XAML 綁定與路由事件的大量使用會導(dǎo)致軟件架構(gòu)不穩(wěn)定,從而加大了系統(tǒng)的后期維護難度,傳統(tǒng)的MVC及MVP模式已經(jīng)漸漸不能滿足系統(tǒng)開發(fā)的要求,因此,XAML數(shù)據(jù)綁定配合前文闡述的MVVM模式可以有效避免架構(gòu)不穩(wěn)定的問題,實現(xiàn)對中醫(yī)藥數(shù)據(jù)高效、可控的管理。
2.4 界面設(shè)計與自定義控件
XAML作為可擴展應(yīng)用程序標(biāo)記語言,可以完成與后臺數(shù)據(jù)源的數(shù)據(jù)綁定,其最大的優(yōu)勢是設(shè)計與邏輯分離,通過XAML的編寫可以在不影響邏輯代碼的前提下完成復(fù)雜的用戶界面設(shè)計,兼具友好性與美觀性。Expression Blend作為一款功能齊全的專業(yè)設(shè)計工具,可用來針對基于Microsoft Windows的應(yīng)用程序制作精美復(fù)雜的用戶界面。本系統(tǒng)通過Expression Blend對XAML進行編寫,重新設(shè)計了包括Button、Textbox、DataGrid在內(nèi)的多項控件,通過修改控件的形狀、顏色、圖案以及事件響應(yīng)時的觸發(fā)器變化設(shè)計出了更符合中醫(yī)特色的系統(tǒng)控件,在保證貼合使用者習(xí)慣的同時更加美觀。同時,充分利用WPF自帶的“用戶控制(UserControl)”重新設(shè)計符合系統(tǒng)要求的自定義控件,諸如為方便中醫(yī)專家文字輸入而引入的首字母下拉選擇框與數(shù)據(jù)庫相連,用戶只要輸入拼音首字母,控件下拉框可以從數(shù)據(jù)庫中選出所有對應(yīng)中藥材以供用戶選擇(如用戶輸入BS,下拉框顯示白芍和北沙參);為解決中藥材過多導(dǎo)致顯示不便而引入的分頁控件,向用戶提供分頁數(shù)量的選擇,更好地呈現(xiàn)大量的中藥材數(shù)據(jù)。
2.5 圖像與聲音采集
中醫(yī)與西醫(yī)差異性的體現(xiàn)之一就是方式診斷依據(jù)的差異。與西醫(yī)重視各種生化檢查不同,中醫(yī)主要通過“四診”,即望、聞、問、切來獲取患者有關(guān)疾病的各項數(shù)據(jù)[7]。因此,能否儲存四診過程中患者的面像、脈象、舌象等圖像數(shù)據(jù)以及咳嗽等聲音數(shù)據(jù)對中醫(yī)電子病歷病案的完整性至關(guān)重要。本系統(tǒng)編寫自定義類cVideo.cs和cVoice.cs來調(diào)取攝像頭和聲卡進行診療過程中圖像及聲音的采集,通過完善的數(shù)據(jù)庫進行圖像和聲音數(shù)據(jù)的存儲。醫(yī)生在患者復(fù)診時,可以輕松調(diào)出相關(guān)資料,包括圖像和聲音資料,極大提升了中醫(yī)病案數(shù)據(jù)的完整性,為中醫(yī)專家病案研究和診療經(jīng)驗的整理總結(jié)奠定了基礎(chǔ)。
2.6 處方設(shè)計與打印
中醫(yī)與西醫(yī)差異的另一點體現(xiàn)在處方與用藥。中醫(yī)處方用藥多為方劑,需要在辨證審因確定治法后,選擇適當(dāng)藥物、遵循組方原則、斟酌用量用法,進行妥善配伍。因此,本系統(tǒng)中醫(yī)處方的設(shè)計結(jié)構(gòu)遵循“主病之謂君、佐君之謂臣、應(yīng)臣之謂使”的君臣佐使規(guī)則[8],不僅支持經(jīng)驗方的直接調(diào)用,而且還可以根據(jù)中醫(yī)醫(yī)師個人的診療經(jīng)驗對其進行藥物及計量的修改,提供藥物、劑量、煎法、溫度、用法等多方面的支持,為減少處方信息記錄復(fù)雜度提供最大限度的支持。系統(tǒng)通過CrystalReport.rpt提供報表解決方案,預(yù)設(shè)多份處方樣式,用戶可以選擇自身需要的樣式,預(yù)留打印接口,在開方結(jié)束后可以直接進行打印。
2.7 數(shù)據(jù)導(dǎo)出與還原
考慮到中醫(yī)專家往往因坐診場所不同而導(dǎo)致病案數(shù)據(jù)的更新不同步的問題,本系統(tǒng)提供了數(shù)據(jù)的備份與還原功能,支持多種格式的數(shù)據(jù)導(dǎo)出,比如.bak和.mdf數(shù)據(jù)庫文件,以及.xls和.csv報表文件。通過數(shù)據(jù)的備份與還原有效提高了用戶對病案數(shù)據(jù)的管理;同時,選擇.xls和.csv的數(shù)據(jù)格式導(dǎo)出為中醫(yī)專家提供了對收集的病案數(shù)據(jù)進一步處理的功能,支持中醫(yī)專家的經(jīng)驗總結(jié)與醫(yī)案研究。
圖2 中醫(yī)電子病歷系統(tǒng)功能
3.1 前臺處理
前臺處理是系統(tǒng)的主要功能模塊,用戶使用的功能主要集中在前臺處理,本系統(tǒng)完全模擬中醫(yī)實際診療從錄入初診病人信息、診斷檢查信息,到開出處方用藥信息并打印的全過程,確保中醫(yī)病案的數(shù)據(jù)錄入具有完整性。
3.2 后臺管理
系統(tǒng)的后臺管理主要為前臺處理提供數(shù)據(jù)支持,其中最重要的中藥和常用方數(shù)據(jù)參考《中藥學(xué)》和《方劑學(xué)》(新世紀第2版全國高等中醫(yī)藥院校規(guī)劃教材,供中醫(yī)藥類專業(yè)用)錄入,提供增、刪、改、查功能,為用戶根據(jù)自身情況修改中藥及常用方數(shù)據(jù)提供支持。
3.3 接口管理
隨著醫(yī)療衛(wèi)生機構(gòu)信息化的普及,不僅僅是病歷電子化,掛號、藥房管理等環(huán)節(jié)同樣電子化。本系統(tǒng)為未來用戶使用過程中可能發(fā)生的多系統(tǒng)鏈接提供必要的接口,如和掛號系統(tǒng)鏈接后可以直接調(diào)用掛號時收集的病歷號及病人信息;與藥房管理相連,在開方時遇到庫房方藥不足時能夠?qū)崟r提示等,極大提高了系統(tǒng)的可用性和擴展性。
4.1 數(shù)據(jù)挖掘過程
在大數(shù)據(jù)時代下,數(shù)據(jù)已經(jīng)滲透到生活的方方面面,成為重要的生產(chǎn)要素[9];同時,數(shù)據(jù)挖掘(Data Mining)技術(shù)已成為許多領(lǐng)域研究處理數(shù)據(jù)的有效手段。數(shù)據(jù)挖掘是指從大量的數(shù)據(jù)中通過算法搜索隱藏于其中信息的過程,即從海量、不完全、隨機、有噪聲的數(shù)據(jù)中提取隱含的、未知的但卻有價值的知識和規(guī)律的過程[10]。數(shù)據(jù)挖掘過程,見圖3[11]。
圖3 數(shù)據(jù)挖掘過程
4.2 中醫(yī)藥數(shù)據(jù)挖掘
中醫(yī)藥數(shù)據(jù)具有維度高、復(fù)雜性強、數(shù)據(jù)量大等特點,在中醫(yī)藥知識體系中存在著大量的隱性知識,中醫(yī)歷來有“醫(yī)者意也”的說法,很多隱性知識無法通過文字或語言進行表達,這就是很多高明的醫(yī)生卻很難把醫(yī)術(shù)傳承下來的原因。在中醫(yī)藥領(lǐng)域引入數(shù)據(jù)挖掘技術(shù)就是為了從大量中醫(yī)病案中提取隱性知識,為理論研究和臨床實施提供科學(xué)依據(jù)。中醫(yī)藥數(shù)據(jù)可供挖掘的方向有很多,如楊濤等[12]應(yīng)用人工神經(jīng)網(wǎng)絡(luò)算法探討心系病證與基礎(chǔ)證的相關(guān)性研究;張承江等[13]應(yīng)用關(guān)聯(lián)規(guī)則對中醫(yī)腎病方劑配伍規(guī)律的研究;郭捷婷等[14]應(yīng)用聚類分析研究急性缺血性中風(fēng)的證型分布等。本系統(tǒng)集成了聚類分析和關(guān)聯(lián)規(guī)則等多項數(shù)據(jù)挖掘算法,可以對數(shù)據(jù)庫中預(yù)處理后的數(shù)據(jù)進行挖掘。
5.1 針對性強,體現(xiàn)中醫(yī)辨證論治的診療特點
不同于目前各醫(yī)院使用的西醫(yī)電子病歷的系統(tǒng),本系統(tǒng)完全基于中醫(yī)診療特點,從數(shù)據(jù)庫到界面設(shè)計充分考慮中醫(yī)實際使用需求,模擬實際中醫(yī)診斷流程,體現(xiàn)了中醫(yī)辨證論治的診療特點。
5.2 簡單實用,符合中醫(yī)專家的使用習(xí)慣
由于中醫(yī)專家通常年紀較大,缺乏過多的計算機使用技巧,系統(tǒng)的開發(fā)在保證功能的基礎(chǔ)上簡化操作過程,用戶在使用過程中甚至可以脫離鼠標(biāo),完全使用鍵盤操作,極大縮短了不必要的診療時間。
5.3 簡潔美觀,系統(tǒng)界面表現(xiàn)形式豐富多彩
基于WPF新的用戶體驗,系統(tǒng)界面開發(fā)運用了豐富的圖片、自定義控件和3D素材,在不影響功能使用的前提下,盡可能提高美觀性。
5.4 可擴展性強,便于與相關(guān)醫(yī)療電子軟件結(jié)合
預(yù)留接口,為未來用戶使用過程中可能發(fā)生的多系統(tǒng)鏈接提供必要的接口,極大提高了系統(tǒng)的兼容性和實用性。
5.5 集成算法,輔助數(shù)據(jù)挖掘分析
系統(tǒng)集成聚類分析、關(guān)聯(lián)規(guī)則、決策樹等多種經(jīng)典數(shù)據(jù)挖掘算法,輔助中醫(yī)專家對收集的病案進行數(shù)據(jù)挖掘分析,提供診療數(shù)據(jù)的增值空間,為中醫(yī)專家的經(jīng)驗總結(jié)與醫(yī)案研究提供支持。
中醫(yī)電子病歷系統(tǒng)作為傳統(tǒng)醫(yī)學(xué)與現(xiàn)代科學(xué)的結(jié)合,順應(yīng)了當(dāng)前大數(shù)據(jù)大健康的發(fā)展潮流,推進了中醫(yī)現(xiàn)代化的步伐,為中醫(yī)藥大健康的相關(guān)產(chǎn)業(yè)和服務(wù)奠定基礎(chǔ)。本系統(tǒng)還具有很好的發(fā)展性,在移動端設(shè)備極為發(fā)達、移動醫(yī)療快速發(fā)展的今天,可以開發(fā)電子病歷系統(tǒng)的手機端APP,側(cè)重于掛號系統(tǒng),在醫(yī)療資源緊張的時間段可以通過手機遠程掛號,直接生成病歷號,入院診療時醫(yī)生可以直接調(diào)用手機掛號時的病歷號。還可與時下流行的云端技術(shù)相結(jié)合,將醫(yī)生的病案信息存入云端,在保證安全性的同時減少了病案信息更新不及時、更換繁瑣、容易丟失等問題;與快速發(fā)展的物聯(lián)網(wǎng)技術(shù)相結(jié)合,建立公民個人診療信息卡片,公民所有的診療信息都存在本人的卡片內(nèi),既方便了醫(yī)生第一時間了解病人相關(guān)信息,也便于公民個人及時了解自身的身體狀況。
1 沈紹武,肖勇,陳偉.我國中醫(yī)藥信息化建設(shè)與發(fā)展的思考[J].醫(yī)學(xué)信息學(xué)雜志,2010,31(7):1-4,8.
2 劉保延,張紅,倪皖東.試論中醫(yī)電子病歷系統(tǒng)及其特殊性[J].醫(yī)學(xué)信息,2004,17(1):9-11.
3 孫沂振,沈云學(xué),唐賀云.電子病歷概述[J].醫(yī)學(xué)信息學(xué)雜志,2009,30(3):1-5.
4 張潤順,王映輝,姚乃禮,等.名老中醫(yī)電子病歷中病史動態(tài)結(jié)構(gòu)化數(shù)據(jù)錄入規(guī)范[J].中國醫(yī)藥信息雜志,2007,14(3):100-101.
5 戴伯樂.Windows Presentation Foundations的項目部署和性能優(yōu)化[J].電腦知識與技術(shù),2010,6(1):227-228,249.
6 黃建崗.淺談WPF設(shè)計模式[J].中小企業(yè)管理與科技:上旬刊,2009,(10):286.
7 岳琳哲,施誠.病歷、電子病歷與中醫(yī)電子病歷[J].醫(yī)學(xué)信息,2006,19(7):1121-1124.
8 沈?qū)巻?張偉威,余春蘭,等.論中醫(yī)電子病歷的中醫(yī)方向[J].江蘇中醫(yī)藥,2011,(6):83-84.
9 劉保延.中醫(yī)藥迎來大數(shù)據(jù)時代[N].健康報,2013-8-21(005).
10 吳麗,周良.數(shù)據(jù)挖掘方法在中醫(yī)藥領(lǐng)域的應(yīng)用淺析[J].醫(yī)學(xué)信息,2009,22(5):576-578.
11 王惠中,彭安群.數(shù)據(jù)挖掘研究現(xiàn)狀及發(fā)展趨勢[J].工礦自動化,2011,(2):29-32.
12 楊濤,吳承玉.基于人工神經(jīng)網(wǎng)絡(luò)的心系基礎(chǔ)證診斷模型構(gòu)建[J].中國中醫(yī)基礎(chǔ)醫(yī)學(xué)雜志,2013,19(9):765-766.
13 張承江,閆朝升,宋立群.中醫(yī)腎病治療信息中關(guān)聯(lián)規(guī)則的挖掘算法[J].黑龍江大學(xué)自然科學(xué)學(xué)報,2005,22(6):842-845.
14 郭捷婷,黃燕,蔡業(yè)峰,等.急性缺血性中風(fēng)的證型分布研究[J].中醫(yī)學(xué)報,2015,30(1):130-132.
Design and Implementation of WPF-based Electronic Medical Record System for Traditional Chinese Medicine
WANG Qi,JIN Yu-qin,ZHOU Jin-hai,
College of Information Technology, Nanjing University of Chinese Medicine, Nanjing 210023,China;ZHOU Ming, Exercise Rehabilitation Hospital of Nanjing Sport Institute, Nanjing 210041,China
Based on the particularity of traditional Chinese medical records as compared with western medical records, the paper designs an Electronic Medical Record (EMR) system for traditional Chinese medical personnel based on WPF. It elaborates the system design and implementation from database design, WPF and MVVM mode, XAML and data binding, interfacial design and custom controls, etc. It also explains the system′s functional modules and data mining and points out its innovation.
Electronic Chinese medical record;WPF;XAML;Data mining
2015-10-25
王琦,在讀碩士研究生;通訊作者:金玉琴。
江蘇省高校大學(xué)生實踐創(chuàng)新訓(xùn)練計劃—省級一般項目“基于WPF的中醫(yī)專家門診電子病歷系統(tǒng)的構(gòu)建”(項目編號:201310315073Y);國家中醫(yī)藥管理局重點學(xué)科(中醫(yī)藥信息學(xué))開放課題“面向數(shù)據(jù)挖掘的中醫(yī)電子處方系統(tǒng)構(gòu)建”(項目編號:ZYYXXX-16)。
R-056
A 〔DOI〕10.3969/j.issn.1673-6036.2015.12.006