沈陽醫學院 劉致放遼寧廣播電視大學 佟思睿
?
結構化電子病歷系統的開發與實現
沈陽醫學院 劉致放
遼寧廣播電視大學 佟思睿
【摘要】在對國內電子病歷系統進行了需求分析的基礎上,按照軟件工程的思想要求,對電子病歷系統進行了詳細的分析、設計和建模,根據醫院的日常實際工作流程設計系統各個功能模塊,采用客戶端/服務器(C/S)結構,以C#語言作為開發工具,SQL Server 2008為后臺數據庫,設計開發電子病歷系統。
【關鍵詞】電子病歷系統;XML;C/S結構;軟件工程
電子病歷系統(EMRS,Electronic Medical Records System)是醫院信息系統(HIS)的核心。它不僅指靜態病歷信息,更包括了電子病歷信息的采集、存儲、處理、傳輸、保密和顯示,可以取代傳統的手寫紙張病歷。電子病歷是醫療、科研的最主要的數據來源,也是醫療服務質量、醫療技術水平、醫療管理水平綜合評價的依據[1]。
醫學院附屬醫院住院業務如下:
1)經醫生診斷確需住院治療的患者,由主治醫生開具住院單,到住院部辦理住院手續。
2)患者辦理住院手續后,由護士站為新入院患者分配床鋪,聯系主管醫生,并對病人進行測量體重,生命體征等檢查,建立住院信息卡。
3)主管醫生接診后,詢問患者病情,并填寫入院記錄,初診病歷等。
4)經過會診,主管醫生根據患者診斷情況,開具醫囑和治療方案。
5)護士審核并執行主管醫生開具的醫囑和治療方案。
6)患者住院期間,醫生每天巡視病房,并填寫巡視記錄。
7)患者住院期間,護士每天護理患者,并填寫護理記錄。
8)病人康復,由主管醫生下達出院通知單,患者出院。
9)醫院將出院證明、醫囑、病歷等資料存檔。
2.1 系統開發環境
系統開發環境根據C/S結構的要求進行選擇,滿足以下條件:操作系統選用Windows XP Professional,開發工具選用C#,數據庫使用SQL Server 2008。
2.2 系統運行環境
2.2.1 硬件運行環境
(1)服務器配置:CPU:英特爾至強ES-2620;內存:8G;硬盤:300G。
(2)客戶機配置:CPU:英特爾酷睿i5 3470;內存:4G;硬盤:1T。
2.2.2 軟件運行環境
服務器端操作系統采用Microsoft Windows2003 Server,數據庫采用SQL Server 2008,客戶端操作系統采用Windows XP Professional。
3.1 系統功能設計
電子病歷系統整個系統由基本信息管理、臨床路徑管理、電子病歷管理、病歷模板管理四大模塊組成。電子病歷系統功能結構分解圖如圖1所示。

圖1 電子病歷系統功能結構分解圖
基本信息管理主要是對患者、科室以及醫護人員的基本信息進行管理與維護。電子病歷系統的用戶我們一般根據各自的職責不同將其劃分三類身份:管理員、醫生、護士,不同身份的用戶病歷系統賦予不同的使用權限,管理員可以對患者信息,醫護人員信息和科室信息進行管理,包括增加、修改、刪除等操作。而醫生僅可對患者信息進行管理,對醫護人員信息與科室信息則只能查看,而護士僅可以對患者信息、醫護人員信息、科室信息進行查看。之所以這樣設計,主要是從電子病歷系統的安全性角度去考慮,通過各類角色的業務范圍來設定對系統的使用權限,避免越權行為的出現,使工作人員各司其職[3]。
電子病歷系統的核心業務是針對不同情況的患者開出不同的電子病歷,并將有代表性的病歷制作成標準的病歷模板,提供給全院醫護人員調用查看。因此,電子病歷系統的核心功能包括電子病歷管理和病歷模板管理兩大功能。電子病歷管理功能應該包括患者信息瀏覽,病歷上傳以及病歷下載等功能。病歷模板管理功能應該包括模板上傳以及模板下載等功能。患者信息瀏覽主要是瀏覽患者的一些信息以及己經開具的電子病歷信息。病歷上傳、病歷下載、模板上傳以及模板下載主要用于電子病歷系統實際操作過程中對電子病歷和病歷模板進行添加、修改和刪除操作。
臨床路徑管理主要是對臨床路徑與臨床路徑項之間的管理,臨床路徑和臨床路徑項二者之間的關系既獨立,又有聯系,一條臨床路徑中可以包含多個不同的臨床路徑項,一個臨床路徑項可以運用于多條不同的臨床路徑中。因此在增加一條臨床路徑時需要通過確認臨床路徑與臨床路徑項的關系來給新增的臨床路徑添加若干個臨床路徑項,而一個患者就診后,對其的治療可能包含若干條不同的臨床路徑,并且在實施時,護士根據臨床路徑執行的時間安排,對臨床路徑中的各個路徑項進行執行[4]。
3.2 數據庫結構設計
數據庫結構設計是一項非常重要的工作,一個數據庫的設計好壞直接決定著程序效率的高低。當程序使用時間越來越長,數據量越來越大時,數據庫設計的好壞會顯得更加重要[5]。因此,數據庫設計直接影響到整個電子病歷系統的可用性。
數據庫名為DZBL,包括醫護人員表(t_yhry),住院患者表(t_zyhz),科室信息表(t_ksxx),電子病歷表(t_dzbl),病歷模板表(t_blmb),臨床路徑表(t_lclj),臨床路徑項表(t_lcljx),患者臨床路徑表(t_ hzlclj),臨床路徑與臨床路徑項關系表(t_lcljgx),臨床路徑執行表(t_lcljzx)。
1)醫護人員表(t_yhry){編號,姓名,類型,職稱,密碼,所做科室,備注},用來保存醫護人員信息。
2)住院患者表(t_zyhz){流水號,姓名,編號,就診科室,床位號,主管醫生,主管護士,住院日期,出院日期,備注},用來保存住院病人信息。
3)科室信息表(t_ksxx){科室編號,科室名稱,備注},用來保存科室信息。
4)電子病歷表(t_dzbl){文檔編號,住院流水號,文檔名稱,創建醫生,創建日期,文檔路徑,備注},用來保存病人的電子病歷信息。
5)病歷模板表(t_blmb){模版編號,模版名稱,模版路徑,所屬科室,備注},用來保存電子病歷模版信息。
6)臨床路徑表(t_lclj){臨床路徑編號,臨床路徑名稱,備注},用來保存臨床路徑信息。
7)臨床路徑項表(t_lcljx){臨床路徑項編號,臨床路徑項名稱,備注},用來保存臨床路徑項信息。
8)患者臨床路徑表(t_ hzlclj){編號,臨床路徑編號,項目開始時間,住院流水號,創建醫生,備注},用來保存某個病人的臨床路徑信息。
9)臨床路徑與臨床路徑項關系表(t_lcljgx){臨床路徑編號,臨床路徑項編號,備注},用來保存臨床路徑與臨床路徑項關系信息。
10)臨床路徑執行表(t_lcljzx){編號,臨床路徑項編號,執行時間,完成情況,備注},用來保存某個病人臨床路徑項的執行信息。
4.1 患者信息管理模塊的實現[6]
4.1.1 模塊說明
在患者信息管理模塊中,主要是增加住院患者,以及對患者基本信息進行查詢、修改和刪除等。
4.1.2 操作步驟
在“患者信息管理主頁面”中,操作人員點擊【增加】,出現“增加患者信息頁面”,填入患者信息,點擊【保存】。操作人員輸入住院流水號、患者姓名、患者編號,點擊【查詢】,選中查詢出的患者,點擊【修改】,出現“修改患者信息頁面”,修改患者信息,點擊【保存】。
4.2 醫護人員信息管理模塊的實現
4.2.1 模塊說明
在該模塊中,主要是對醫院的工作人員進行增加、查詢、修改和刪除等。
4.2.2 操作步驟
在“醫護人員信息管理主頁面”中,操作人員點擊【增加】,出現“增加醫護人員信息頁面”,填入醫護人員信息,點擊【保存】。操作人員輸入醫護人員姓名或醫護人員編號,點擊【查詢】,選中查詢出的醫護人員,點擊【修改】,出現“修改醫護人員信息頁面”,修改醫護人員信息,點擊【保存】。
4.3 科室信息管理模塊的實現
4.3.1 模塊說明
在科室信息管理模塊中,主要是增加醫院的職能科室信息,以及對科室基本信息進行查詢、修改和刪除等。
4.3.2 操作步驟
在“科室信息管理主頁面”中,操作人員點擊【增加】,出現“增加科室信息頁面”,填入科室信息,點擊【保存】。操作人員輸入科室名稱或科室編號,點擊【查詢】,選中查詢出的科室,點擊【修改】,出現“修改科室信息頁面”,修改科室信息,點擊【保存】。
4.4 臨床路徑管理模塊的實現
4.4.1 模塊說明
在臨床路徑管理模塊中,主要是增加臨床路徑信息,以及對臨床路徑信息進行查詢、修改和刪除等。并可通過由此進入修改臨床路徑與臨床路徑項關系頁面。
4.4.2 操作步驟
在“臨床路徑信息管理主頁面”中,操作人員點擊【增加】,出現“增加臨床路徑信息頁面”,填入臨床路徑信息,點擊【保存】。操作人員輸入臨床路徑名稱或臨床路徑編號,點擊【查詢】,選中查詢出的臨床路徑,點擊[修改],出現“修改臨床路徑信息頁面”,修改臨床路徑室信息,點擊【保存】。
4.5 臨床路徑項管理模塊的實現
4.5.1 模塊說明
在臨床路徑項管理模塊中,主要是增加臨床路徑項信息,以及對臨床路徑項信息進行查詢、修改和刪除等。
4.5.2 操作步驟
在“臨床路徑項信息管理主頁面”中,操作人員點擊【增加】,出現“增加臨床路徑項信息頁面”,填入臨床路徑項信息,點擊【保存】。操作人員輸入臨床路徑項名稱或臨床路徑項編號,點擊【查詢】,選中查詢出的臨床路徑項,點擊【修改】,出現“修改臨床路徑項信息頁面”,修改臨床路徑項信息,點擊【保存】。
4.6 臨床路徑與臨床路徑項關系管理模塊的實現
4.6.1 模塊說明
在臨床路徑與臨床路徑項關系管理模塊中,主要是為某一個臨床路徑添加臨床路徑項,以及對臨床路徑中所包含的臨床路徑項信息進行查詢、修改和刪除等。
4.6.2 操作步驟
在“臨床路徑信息管理主頁面”中,操作人員點擊【詳細情況】,出現“臨床路徑與臨床路徑項關系主頁面”,操作人員選擇添加的臨床路徑項,輸入延遲時間,點擊【增加】,即可為臨床路徑增加一個路徑項。操作人員選擇臨床路徑項信息,點擊【刪除],即可為在臨床路徑中刪除一個路徑項。
4.7 患者臨床路徑管理模塊的實現
4.7.1 模塊說明
在患者臨床路徑管理模塊中,主要是為某一個住院病人添加臨床路徑,以及對該病人的臨床路徑信息進行查詢、修改和刪除等。
4.7.2 操作步驟
在“患者臨床路徑管理主頁面”中,操作人員選擇可添加的臨床路徑,輸入開始時間,點擊【增加】,即可為患者增加一條臨床路徑。操作人員選擇臨床路徑項信息,點擊【刪除】,即可刪除一條臨床路徑。
4.8 患者臨床路徑執行模塊的實現
4.8.1 模塊說明
在患者臨床路徑執行模塊中,主要是查詢某一個住院病人臨床路徑項詳細信息,以及執行該病人的臨床路徑項等。
4.8.2 操作步驟
在“患者臨床路徑管理主頁面”中,操作人員點擊【查看詳情】,出現“患者臨床路徑執行主頁面”,操作人員選擇未執行的臨床路徑項,點擊【執行】,即可為將該臨床路徑項改為己完成。
4.9 電子病歷管理模塊的實現
4.9.1 模塊說明
在電子病歷管理模塊中,主要是為病人添加電子病歷,以及對該病人的電子病歷進行下載和刪除等。
4.9.2 操作步驟
在“電子病歷管理主頁面”中,操作人員點擊【瀏覽】,出現“電子病歷上傳頁面”,選擇需要上傳的病歷,點擊【上傳】,即可上傳一份電子病歷。操作人員選擇【下載】,出現“電子病歷下載頁面”,點擊【保存】,即可下載一份電子病歷。
4.10 病歷模版管理模塊的實現
4.10.1 模塊說明
在病歷模版管理模塊中,主要是添加一個病歷模版,以及對該病歷模版進行下載和刪除等。
4.10.2 操作步驟
在“電子病歷模版管理主頁面”中,操作人員點擊【瀏覽】,出現“電子病歷模版上傳頁面”,選擇需要上傳的病歷模版,點擊【上傳】,即可上傳一份電子病歷模版。操作人員選擇【下載】,出現“電子病歷模版下載頁面”,點擊【保存】,即可下載一份電子病歷模版。
系統測試是軟件開發周期中極為重要的一個階段,通過測試可以保障所開發的軟件是否滿足用戶需求,是否可靠。軟件測試的方法包括白盒測試法和黑盒測試法兩種[7]。
由于電子病歷系統需要多名醫護人員同時使用,多人訪問服務器,系統需要能夠提供多名用戶同時使用,確保系統平穩運行,不會導致系統癱瘓及重大故障[8]。
5.1 系統登錄
系統登錄時,為了防止使用者身份被他人冒用,系統必須驗證其是否是訪問者本人[9],驗證過程中需要訪問者輸入正確的用戶名和密碼,當用戶名或密碼不正確,或者數據庫配置不正確和ORACLE數據庫異常而引起的不能正常登錄,系統應該給出相應的信息。測試輸入錯誤密碼,系統會出現“口令錯誤”提示框,輸錯3次,系統自動退出。
5.2 增加患者
病人住院后,由管理員為住院患者輸入基本信息。管理員輸入患者信息時,系統自動為住院患者生成住院流水號,當患者是第一次住院時,還將自動生成患者編號,如果患者以前己經住過院,并在系統中有記錄,那么患者編號將使用其在系統中己經存在的編號。并自動為患者填寫住院日期。
在測試環境中,輸入一個名字為“張光”的患者,系統自動生成住院流水號為“20120101071000001”,由于患者是第一次住院,自動生成患者編號為“2012010100000001”,并生成住院日期“2012-1-1 7:10:00”。管理員只需選擇就診科室,床位號,主管醫生,主管護士即可。輸入完成,管理員點擊【保存】。在數據庫中增加了一條患者記錄,增加測試成功。
5.3 增加科室
某些時候,需要對科室信息進行維護,增加新的科室,刪除過時的科室,以便在查詢到相應的科室信息。在錄入時不能出現同名的科室。
測試增加科室信息,在增加科室窗口,新增一個科室“內分泌科”,由于數據庫中己經有“內分泌科”這個科室,系統自動提示“該科室己存在”,拒接添加“內分泌科”到數據庫。
5.4 上傳下載病歷
患者住院后,需要對患者制作新的病歷,或者查閱患者己有的病歷。這就需要利用到病歷的上傳下載功能。
進入患者電子病歷界面,我們可以看到該名患者名下所有的病歷信息,醫生若要為該患者上傳一份新添加的電子病歷,只需【瀏覽】,在上傳窗口選擇需要上傳的病歷文件,點擊【上傳】。若需要查看該患者某一份病歷,只需【下載】,在下載窗口選擇病歷保存的文件夾,點擊[保存]。
測試病歷上傳下載功能,進入患者“趙光”的電子病歷界面,點擊【瀏覽】,在打開的上傳窗口選擇“醫療病歷”文件夾下的“糖尿病治療方案.doc”,點擊【上傳】,發現在“趙光”的電子病歷信息中多出了一份名為“糖尿病治療方案”的電子病歷。測試上傳成功。
點擊“糖尿病治療方案”后的【下載】鏈接,在打開的下載窗口中選擇保存的文件夾,點擊【保存】,發現在該文件夾下下載了一份“糖尿病治療方案.doc”的電子病歷。測試下載成功。
隨著醫院信息系統的快速發展,電子病歷將逐漸作為臨床信息系統的核心,成為HIS發展的必然趨勢。電子病歷(EMR)是從更高角度來組織和利用醫療信息,提供規范化的、便于閱讀和交流的病歷信息,實現準確的信息檢索和分類統計,從更高層次上保證數字化醫院的長期穩定發展,使計算機更多地為臨床醫療工作服務,同時作為信息交流和資源共享的數據基礎為區域衛生服務系統和公共健康體系的建設創造條件[10]。
本系統基于微軟.NET框架設計,選擇客戶端/服務器(C/S)的模式,采用典型的三層開發架構,利用C#語言實現了系統的部分功能模塊。本系統實現了一個完整的結構化電子病歷系統,臨床文檔結構設置靈活,可以適應不同醫院的要求。從目前部署實施的醫院來看,電子病歷系統的應用提高了醫護人員的工作效率,提高了病歷的規范度,也提高了醫院的醫療服務質量,因此取得了良好的效果。在新醫改推向深入的今天,本系統在醫療信息化方面有著廣泛的應用潛力和一定的商業價值。
參考文獻
[1]吳慶成,吳勇,李家靖.電子病歷系統在醫院信息管理系統中的應用[J].知識經濟,2013(14):112.
[2]孟慶崧,戴魯男.基于SOA的醫院信息系統集成平臺研究[J].中國數字醫學,2012,7(6):51-53.
[3]何杉.基于.NET的電子病歷的設計[J].大眾科技,2011,1: 57-58.
[4]李慧玲,楊小平,寧文漱麗.支持臨床路徑的電子病歷系統開發設計[J].醫學信息學雜志,2011,32(3):13-15.
[5]Jeffery A.Hoffer,Mary B.Prescott.Modern Database Management,Sixth Edition[M].電子工業出版社,2004:269-276.
[6]陳可.基于XML的電子病歷系統[J].計算機系統應用,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]魏翎.關于電子病歷系統的探討[J].醫學設備信息,2007, 20(6):74-75.
[9]章丹,李鳳華,傅萬明.電子簽名在電子病歷中的應用及相關法律問題[J].醫學研究生學報,2007,20(2):189-190.
[10]陳金雄.電子病歷建設與發展[J].中國數字醫學,2011,6(5): 52-55.
劉致放(1980—),女,遼寧沈陽人,計算機軟件與理論碩士,講師,主要研究方向:醫院信息系統。
作者簡介:
基金項目:2014年遼寧省教育廳科學技術研究一般項目“結構化電子病歷系統的設計與開發”(項目編號:L2014412)。