沈陽醫(yī)學(xué)院 劉致放遼寧廣播電視大學(xué) 佟思睿
?
結(jié)構(gòu)化電子病歷系統(tǒng)的開發(fā)與實現(xiàn)
沈陽醫(yī)學(xué)院 劉致放
遼寧廣播電視大學(xué) 佟思睿
【摘要】在對國內(nèi)電子病歷系統(tǒng)進行了需求分析的基礎(chǔ)上,按照軟件工程的思想要求,對電子病歷系統(tǒng)進行了詳細(xì)的分析、設(shè)計和建模,根據(jù)醫(yī)院的日常實際工作流程設(shè)計系統(tǒng)各個功能模塊,采用客戶端/服務(wù)器(C/S)結(jié)構(gòu),以C#語言作為開發(fā)工具,SQL Server 2008為后臺數(shù)據(jù)庫,設(shè)計開發(fā)電子病歷系統(tǒng)。
【關(guān)鍵詞】電子病歷系統(tǒng);XML;C/S結(jié)構(gòu);軟件工程
電子病歷系統(tǒng)(EMRS,Electronic Medical Records System)是醫(yī)院信息系統(tǒng)(HIS)的核心。它不僅指靜態(tài)病歷信息,更包括了電子病歷信息的采集、存儲、處理、傳輸、保密和顯示,可以取代傳統(tǒng)的手寫紙張病歷。電子病歷是醫(yī)療、科研的最主要的數(shù)據(jù)來源,也是醫(yī)療服務(wù)質(zhì)量、醫(yī)療技術(shù)水平、醫(yī)療管理水平綜合評價的依據(jù)[1]。
醫(yī)學(xué)院附屬醫(yī)院住院業(yè)務(wù)如下:
1)經(jīng)醫(yī)生診斷確需住院治療的患者,由主治醫(yī)生開具住院單,到住院部辦理住院手續(xù)。
2)患者辦理住院手續(xù)后,由護士站為新入院患者分配床鋪,聯(lián)系主管醫(yī)生,并對病人進行測量體重,生命體征等檢查,建立住院信息卡。
3)主管醫(yī)生接診后,詢問患者病情,并填寫入院記錄,初診病歷等。
4)經(jīng)過會診,主管醫(yī)生根據(jù)患者診斷情況,開具醫(yī)囑和治療方案。
5)護士審核并執(zhí)行主管醫(yī)生開具的醫(yī)囑和治療方案。
6)患者住院期間,醫(yī)生每天巡視病房,并填寫巡視記錄。
7)患者住院期間,護士每天護理患者,并填寫護理記錄。
8)病人康復(fù),由主管醫(yī)生下達出院通知單,患者出院。
9)醫(yī)院將出院證明、醫(yī)囑、病歷等資料存檔。
2.1 系統(tǒng)開發(fā)環(huán)境
系統(tǒng)開發(fā)環(huán)境根據(jù)C/S結(jié)構(gòu)的要求進行選擇,滿足以下條件:操作系統(tǒng)選用Windows XP Professional,開發(fā)工具選用C#,數(shù)據(jù)庫使用SQL Server 2008。
2.2 系統(tǒng)運行環(huán)境
2.2.1 硬件運行環(huán)境
(1)服務(wù)器配置:CPU:英特爾至強ES-2620;內(nèi)存:8G;硬盤:300G。
(2)客戶機配置:CPU:英特爾酷睿i5 3470;內(nèi)存:4G;硬盤:1T。
2.2.2 軟件運行環(huán)境
服務(wù)器端操作系統(tǒng)采用Microsoft Windows2003 Server,數(shù)據(jù)庫采用SQL Server 2008,客戶端操作系統(tǒng)采用Windows XP Professional。
3.1 系統(tǒng)功能設(shè)計
電子病歷系統(tǒng)整個系統(tǒng)由基本信息管理、臨床路徑管理、電子病歷管理、病歷模板管理四大模塊組成。電子病歷系統(tǒng)功能結(jié)構(gòu)分解圖如圖1所示。
圖1 電子病歷系統(tǒng)功能結(jié)構(gòu)分解圖
基本信息管理主要是對患者、科室以及醫(yī)護人員的基本信息進行管理與維護。電子病歷系統(tǒng)的用戶我們一般根據(jù)各自的職責(zé)不同將其劃分三類身份:管理員、醫(yī)生、護士,不同身份的用戶病歷系統(tǒng)賦予不同的使用權(quán)限,管理員可以對患者信息,醫(yī)護人員信息和科室信息進行管理,包括增加、修改、刪除等操作。而醫(yī)生僅可對患者信息進行管理,對醫(yī)護人員信息與科室信息則只能查看,而護士僅可以對患者信息、醫(yī)護人員信息、科室信息進行查看。之所以這樣設(shè)計,主要是從電子病歷系統(tǒng)的安全性角度去考慮,通過各類角色的業(yè)務(wù)范圍來設(shè)定對系統(tǒng)的使用權(quán)限,避免越權(quán)行為的出現(xiàn),使工作人員各司其職[3]。
電子病歷系統(tǒng)的核心業(yè)務(wù)是針對不同情況的患者開出不同的電子病歷,并將有代表性的病歷制作成標(biāo)準(zhǔn)的病歷模板,提供給全院醫(yī)護人員調(diào)用查看。因此,電子病歷系統(tǒng)的核心功能包括電子病歷管理和病歷模板管理兩大功能。電子病歷管理功能應(yīng)該包括患者信息瀏覽,病歷上傳以及病歷下載等功能。病歷模板管理功能應(yīng)該包括模板上傳以及模板下載等功能?;颊咝畔g覽主要是瀏覽患者的一些信息以及己經(jīng)開具的電子病歷信息。病歷上傳、病歷下載、模板上傳以及模板下載主要用于電子病歷系統(tǒng)實際操作過程中對電子病歷和病歷模板進行添加、修改和刪除操作。
臨床路徑管理主要是對臨床路徑與臨床路徑項之間的管理,臨床路徑和臨床路徑項二者之間的關(guān)系既獨立,又有聯(lián)系,一條臨床路徑中可以包含多個不同的臨床路徑項,一個臨床路徑項可以運用于多條不同的臨床路徑中。因此在增加一條臨床路徑時需要通過確認(rèn)臨床路徑與臨床路徑項的關(guān)系來給新增的臨床路徑添加若干個臨床路徑項,而一個患者就診后,對其的治療可能包含若干條不同的臨床路徑,并且在實施時,護士根據(jù)臨床路徑執(zhí)行的時間安排,對臨床路徑中的各個路徑項進行執(zhí)行[4]。
3.2 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計
數(shù)據(jù)庫結(jié)構(gòu)設(shè)計是一項非常重要的工作,一個數(shù)據(jù)庫的設(shè)計好壞直接決定著程序效率的高低。當(dāng)程序使用時間越來越長,數(shù)據(jù)量越來越大時,數(shù)據(jù)庫設(shè)計的好壞會顯得更加重要[5]。因此,數(shù)據(jù)庫設(shè)計直接影響到整個電子病歷系統(tǒng)的可用性。
數(shù)據(jù)庫名為DZBL,包括醫(yī)護人員表(t_yhry),住院患者表(t_zyhz),科室信息表(t_ksxx),電子病歷表(t_dzbl),病歷模板表(t_blmb),臨床路徑表(t_lclj),臨床路徑項表(t_lcljx),患者臨床路徑表(t_ hzlclj),臨床路徑與臨床路徑項關(guān)系表(t_lcljgx),臨床路徑執(zhí)行表(t_lcljzx)。
1)醫(yī)護人員表(t_yhry){編號,姓名,類型,職稱,密碼,所做科室,備注},用來保存醫(yī)護人員信息。
2)住院患者表(t_zyhz){流水號,姓名,編號,就診科室,床位號,主管醫(yī)生,主管護士,住院日期,出院日期,備注},用來保存住院病人信息。
3)科室信息表(t_ksxx){科室編號,科室名稱,備注},用來保存科室信息。
4)電子病歷表(t_dzbl){文檔編號,住院流水號,文檔名稱,創(chuàng)建醫(yī)生,創(chuàng)建日期,文檔路徑,備注},用來保存病人的電子病歷信息。
5)病歷模板表(t_blmb){模版編號,模版名稱,模版路徑,所屬科室,備注},用來保存電子病歷模版信息。
6)臨床路徑表(t_lclj){臨床路徑編號,臨床路徑名稱,備注},用來保存臨床路徑信息。
7)臨床路徑項表(t_lcljx){臨床路徑項編號,臨床路徑項名稱,備注},用來保存臨床路徑項信息。
8)患者臨床路徑表(t_ hzlclj){編號,臨床路徑編號,項目開始時間,住院流水號,創(chuàng)建醫(yī)生,備注},用來保存某個病人的臨床路徑信息。
9)臨床路徑與臨床路徑項關(guān)系表(t_lcljgx){臨床路徑編號,臨床路徑項編號,備注},用來保存臨床路徑與臨床路徑項關(guān)系信息。
10)臨床路徑執(zhí)行表(t_lcljzx){編號,臨床路徑項編號,執(zhí)行時間,完成情況,備注},用來保存某個病人臨床路徑項的執(zhí)行信息。
4.1 患者信息管理模塊的實現(xiàn)[6]
4.1.1 模塊說明
在患者信息管理模塊中,主要是增加住院患者,以及對患者基本信息進行查詢、修改和刪除等。
4.1.2 操作步驟
在“患者信息管理主頁面”中,操作人員點擊【增加】,出現(xiàn)“增加患者信息頁面”,填入患者信息,點擊【保存】。操作人員輸入住院流水號、患者姓名、患者編號,點擊【查詢】,選中查詢出的患者,點擊【修改】,出現(xiàn)“修改患者信息頁面”,修改患者信息,點擊【保存】。
4.2 醫(yī)護人員信息管理模塊的實現(xiàn)
4.2.1 模塊說明
在該模塊中,主要是對醫(yī)院的工作人員進行增加、查詢、修改和刪除等。
4.2.2 操作步驟
在“醫(yī)護人員信息管理主頁面”中,操作人員點擊【增加】,出現(xiàn)“增加醫(yī)護人員信息頁面”,填入醫(yī)護人員信息,點擊【保存】。操作人員輸入醫(yī)護人員姓名或醫(yī)護人員編號,點擊【查詢】,選中查詢出的醫(yī)護人員,點擊【修改】,出現(xiàn)“修改醫(yī)護人員信息頁面”,修改醫(yī)護人員信息,點擊【保存】。
4.3 科室信息管理模塊的實現(xiàn)
4.3.1 模塊說明
在科室信息管理模塊中,主要是增加醫(yī)院的職能科室信息,以及對科室基本信息進行查詢、修改和刪除等。
4.3.2 操作步驟
在“科室信息管理主頁面”中,操作人員點擊【增加】,出現(xiàn)“增加科室信息頁面”,填入科室信息,點擊【保存】。操作人員輸入科室名稱或科室編號,點擊【查詢】,選中查詢出的科室,點擊【修改】,出現(xiàn)“修改科室信息頁面”,修改科室信息,點擊【保存】。
4.4 臨床路徑管理模塊的實現(xiàn)
4.4.1 模塊說明
在臨床路徑管理模塊中,主要是增加臨床路徑信息,以及對臨床路徑信息進行查詢、修改和刪除等。并可通過由此進入修改臨床路徑與臨床路徑項關(guān)系頁面。
4.4.2 操作步驟
在“臨床路徑信息管理主頁面”中,操作人員點擊【增加】,出現(xiàn)“增加臨床路徑信息頁面”,填入臨床路徑信息,點擊【保存】。操作人員輸入臨床路徑名稱或臨床路徑編號,點擊【查詢】,選中查詢出的臨床路徑,點擊[修改],出現(xiàn)“修改臨床路徑信息頁面”,修改臨床路徑室信息,點擊【保存】。
4.5 臨床路徑項管理模塊的實現(xiàn)
4.5.1 模塊說明
在臨床路徑項管理模塊中,主要是增加臨床路徑項信息,以及對臨床路徑項信息進行查詢、修改和刪除等。
4.5.2 操作步驟
在“臨床路徑項信息管理主頁面”中,操作人員點擊【增加】,出現(xiàn)“增加臨床路徑項信息頁面”,填入臨床路徑項信息,點擊【保存】。操作人員輸入臨床路徑項名稱或臨床路徑項編號,點擊【查詢】,選中查詢出的臨床路徑項,點擊【修改】,出現(xiàn)“修改臨床路徑項信息頁面”,修改臨床路徑項信息,點擊【保存】。
4.6 臨床路徑與臨床路徑項關(guān)系管理模塊的實現(xiàn)
4.6.1 模塊說明
在臨床路徑與臨床路徑項關(guān)系管理模塊中,主要是為某一個臨床路徑添加臨床路徑項,以及對臨床路徑中所包含的臨床路徑項信息進行查詢、修改和刪除等。
4.6.2 操作步驟
在“臨床路徑信息管理主頁面”中,操作人員點擊【詳細(xì)情況】,出現(xiàn)“臨床路徑與臨床路徑項關(guān)系主頁面”,操作人員選擇添加的臨床路徑項,輸入延遲時間,點擊【增加】,即可為臨床路徑增加一個路徑項。操作人員選擇臨床路徑項信息,點擊【刪除],即可為在臨床路徑中刪除一個路徑項。
4.7 患者臨床路徑管理模塊的實現(xiàn)
4.7.1 模塊說明
在患者臨床路徑管理模塊中,主要是為某一個住院病人添加臨床路徑,以及對該病人的臨床路徑信息進行查詢、修改和刪除等。
4.7.2 操作步驟
在“患者臨床路徑管理主頁面”中,操作人員選擇可添加的臨床路徑,輸入開始時間,點擊【增加】,即可為患者增加一條臨床路徑。操作人員選擇臨床路徑項信息,點擊【刪除】,即可刪除一條臨床路徑。
4.8 患者臨床路徑執(zhí)行模塊的實現(xiàn)
4.8.1 模塊說明
在患者臨床路徑執(zhí)行模塊中,主要是查詢某一個住院病人臨床路徑項詳細(xì)信息,以及執(zhí)行該病人的臨床路徑項等。
4.8.2 操作步驟
在“患者臨床路徑管理主頁面”中,操作人員點擊【查看詳情】,出現(xiàn)“患者臨床路徑執(zhí)行主頁面”,操作人員選擇未執(zhí)行的臨床路徑項,點擊【執(zhí)行】,即可為將該臨床路徑項改為己完成。
4.9 電子病歷管理模塊的實現(xiàn)
4.9.1 模塊說明
在電子病歷管理模塊中,主要是為病人添加電子病歷,以及對該病人的電子病歷進行下載和刪除等。
4.9.2 操作步驟
在“電子病歷管理主頁面”中,操作人員點擊【瀏覽】,出現(xiàn)“電子病歷上傳頁面”,選擇需要上傳的病歷,點擊【上傳】,即可上傳一份電子病歷。操作人員選擇【下載】,出現(xiàn)“電子病歷下載頁面”,點擊【保存】,即可下載一份電子病歷。
4.10 病歷模版管理模塊的實現(xiàn)
4.10.1 模塊說明
在病歷模版管理模塊中,主要是添加一個病歷模版,以及對該病歷模版進行下載和刪除等。
4.10.2 操作步驟
在“電子病歷模版管理主頁面”中,操作人員點擊【瀏覽】,出現(xiàn)“電子病歷模版上傳頁面”,選擇需要上傳的病歷模版,點擊【上傳】,即可上傳一份電子病歷模版。操作人員選擇【下載】,出現(xiàn)“電子病歷模版下載頁面”,點擊【保存】,即可下載一份電子病歷模版。
系統(tǒng)測試是軟件開發(fā)周期中極為重要的一個階段,通過測試可以保障所開發(fā)的軟件是否滿足用戶需求,是否可靠。軟件測試的方法包括白盒測試法和黑盒測試法兩種[7]。
由于電子病歷系統(tǒng)需要多名醫(yī)護人員同時使用,多人訪問服務(wù)器,系統(tǒng)需要能夠提供多名用戶同時使用,確保系統(tǒng)平穩(wěn)運行,不會導(dǎo)致系統(tǒng)癱瘓及重大故障[8]。
5.1 系統(tǒng)登錄
系統(tǒng)登錄時,為了防止使用者身份被他人冒用,系統(tǒng)必須驗證其是否是訪問者本人[9],驗證過程中需要訪問者輸入正確的用戶名和密碼,當(dāng)用戶名或密碼不正確,或者數(shù)據(jù)庫配置不正確和ORACLE數(shù)據(jù)庫異常而引起的不能正常登錄,系統(tǒng)應(yīng)該給出相應(yīng)的信息。測試輸入錯誤密碼,系統(tǒng)會出現(xiàn)“口令錯誤”提示框,輸錯3次,系統(tǒng)自動退出。
5.2 增加患者
病人住院后,由管理員為住院患者輸入基本信息。管理員輸入患者信息時,系統(tǒng)自動為住院患者生成住院流水號,當(dāng)患者是第一次住院時,還將自動生成患者編號,如果患者以前己經(jīng)住過院,并在系統(tǒng)中有記錄,那么患者編號將使用其在系統(tǒng)中己經(jīng)存在的編號。并自動為患者填寫住院日期。
在測試環(huán)境中,輸入一個名字為“張光”的患者,系統(tǒng)自動生成住院流水號為“20120101071000001”,由于患者是第一次住院,自動生成患者編號為“2012010100000001”,并生成住院日期“2012-1-1 7:10:00”。管理員只需選擇就診科室,床位號,主管醫(yī)生,主管護士即可。輸入完成,管理員點擊【保存】。在數(shù)據(jù)庫中增加了一條患者記錄,增加測試成功。
5.3 增加科室
某些時候,需要對科室信息進行維護,增加新的科室,刪除過時的科室,以便在查詢到相應(yīng)的科室信息。在錄入時不能出現(xiàn)同名的科室。
測試增加科室信息,在增加科室窗口,新增一個科室“內(nèi)分泌科”,由于數(shù)據(jù)庫中己經(jīng)有“內(nèi)分泌科”這個科室,系統(tǒng)自動提示“該科室己存在”,拒接添加“內(nèi)分泌科”到數(shù)據(jù)庫。
5.4 上傳下載病歷
患者住院后,需要對患者制作新的病歷,或者查閱患者己有的病歷。這就需要利用到病歷的上傳下載功能。
進入患者電子病歷界面,我們可以看到該名患者名下所有的病歷信息,醫(yī)生若要為該患者上傳一份新添加的電子病歷,只需【瀏覽】,在上傳窗口選擇需要上傳的病歷文件,點擊【上傳】。若需要查看該患者某一份病歷,只需【下載】,在下載窗口選擇病歷保存的文件夾,點擊[保存]。
測試病歷上傳下載功能,進入患者“趙光”的電子病歷界面,點擊【瀏覽】,在打開的上傳窗口選擇“醫(yī)療病歷”文件夾下的“糖尿病治療方案.doc”,點擊【上傳】,發(fā)現(xiàn)在“趙光”的電子病歷信息中多出了一份名為“糖尿病治療方案”的電子病歷。測試上傳成功。
點擊“糖尿病治療方案”后的【下載】鏈接,在打開的下載窗口中選擇保存的文件夾,點擊【保存】,發(fā)現(xiàn)在該文件夾下下載了一份“糖尿病治療方案.doc”的電子病歷。測試下載成功。
隨著醫(yī)院信息系統(tǒng)的快速發(fā)展,電子病歷將逐漸作為臨床信息系統(tǒng)的核心,成為HIS發(fā)展的必然趨勢。電子病歷(EMR)是從更高角度來組織和利用醫(yī)療信息,提供規(guī)范化的、便于閱讀和交流的病歷信息,實現(xiàn)準(zhǔn)確的信息檢索和分類統(tǒng)計,從更高層次上保證數(shù)字化醫(yī)院的長期穩(wěn)定發(fā)展,使計算機更多地為臨床醫(yī)療工作服務(wù),同時作為信息交流和資源共享的數(shù)據(jù)基礎(chǔ)為區(qū)域衛(wèi)生服務(wù)系統(tǒng)和公共健康體系的建設(shè)創(chuàng)造條件[10]。
本系統(tǒng)基于微軟.NET框架設(shè)計,選擇客戶端/服務(wù)器(C/S)的模式,采用典型的三層開發(fā)架構(gòu),利用C#語言實現(xiàn)了系統(tǒng)的部分功能模塊。本系統(tǒng)實現(xiàn)了一個完整的結(jié)構(gòu)化電子病歷系統(tǒng),臨床文檔結(jié)構(gòu)設(shè)置靈活,可以適應(yīng)不同醫(yī)院的要求。從目前部署實施的醫(yī)院來看,電子病歷系統(tǒng)的應(yīng)用提高了醫(yī)護人員的工作效率,提高了病歷的規(guī)范度,也提高了醫(yī)院的醫(yī)療服務(wù)質(zhì)量,因此取得了良好的效果。在新醫(yī)改推向深入的今天,本系統(tǒng)在醫(yī)療信息化方面有著廣泛的應(yīng)用潛力和一定的商業(yè)價值。
參考文獻
[1]吳慶成,吳勇,李家靖.電子病歷系統(tǒng)在醫(yī)院信息管理系統(tǒng)中的應(yīng)用[J].知識經(jīng)濟,2013(14):112.
[2]孟慶崧,戴魯男.基于SOA的醫(yī)院信息系統(tǒng)集成平臺研究[J].中國數(shù)字醫(yī)學(xué),2012,7(6):51-53.
[3]何杉.基于.NET的電子病歷的設(shè)計[J].大眾科技,2011,1: 57-58.
[4]李慧玲,楊小平,寧文漱麗.支持臨床路徑的電子病歷系統(tǒng)開發(fā)設(shè)計[J].醫(yī)學(xué)信息學(xué)雜志,2011,32(3):13-15.
[5]Jeffery A.Hoffer,Mary B.Prescott.Modern Database Management,Sixth Edition[M].電子工業(yè)出版社,2004:269-276.
[6]陳可.基于XML的電子病歷系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2012,21(6):46-50.
[7]Chen Mingsong,Qiu Xiaokang,Li Zuandong.Automatic Test Case Generation for UML Activity Diagrams[C].International Conference on Software Engineering Proceedings of the 2006 international workshop on Automation of software test,2006,2-8.
[8]魏翎.關(guān)于電子病歷系統(tǒng)的探討[J].醫(yī)學(xué)設(shè)備信息,2007, 20(6):74-75.
[9]章丹,李鳳華,傅萬明.電子簽名在電子病歷中的應(yīng)用及相關(guān)法律問題[J].醫(yī)學(xué)研究生學(xué)報,2007,20(2):189-190.
[10]陳金雄.電子病歷建設(shè)與發(fā)展[J].中國數(shù)字醫(yī)學(xué),2011,6(5): 52-55.
劉致放(1980—),女,遼寧沈陽人,計算機軟件與理論碩士,講師,主要研究方向:醫(yī)院信息系統(tǒng)。
作者簡介:
基金項目:2014年遼寧省教育廳科學(xué)技術(shù)研究一般項目“結(jié)構(gòu)化電子病歷系統(tǒng)的設(shè)計與開發(fā)”(項目編號:L2014412)。