鄒 向 坤
(河北北方學(xué)院附屬第一醫(yī)院,河北 張家口 075000)
基于Delphi的病歷卡片信息檢索系統(tǒng)的設(shè)計與實現(xiàn)
鄒 向 坤
(河北北方學(xué)院附屬第一醫(yī)院,河北 張家口 075000)
醫(yī)院;病案;電子化;Delphi;信息檢索
河北北方學(xué)院附屬第一醫(yī)院2008年實施電子病歷系統(tǒng)以來,病案首頁實現(xiàn)了電子化歸檔管理。但系統(tǒng)運行前的歷史病案首頁信息仍用紙質(zhì)病歷卡片存儲和保管,若想對某一病人的病歷信息查詢需要對大量紙制病歷卡片進行人工查詢和篩選,耗費人力且效率低下[1-3]。針對這種管理模式和病案室管理需求開發(fā)了基于Delphi的病歷卡片信息檢索系統(tǒng),使病歷卡片實現(xiàn)了電子化存儲并且極大提高了信息查詢工作效率。Delphi是由Borland公司推出的可視化編程環(huán)境,可較為快捷地實現(xiàn)程序開發(fā)。
1.1 功能模塊
根據(jù)病案室工作人員需求,該系統(tǒng)需要對病歷卡片信息人工錄入,然后在系統(tǒng)內(nèi)可以通過住院號、姓名、住址等信息進行檢索查詢,并且可對病歷總數(shù)進行統(tǒng)計。具體模塊如圖1。
圖1 病歷卡片信息檢索系統(tǒng)功能模塊圖
1.2 軟件環(huán)境
本系統(tǒng)開發(fā)使用Window XP操作系統(tǒng),開發(fā)軟件使用Delphi 7.0,數(shù)據(jù)庫采用Access數(shù)據(jù)庫。軟件使用兼容Window 2000/Windows XP/Window 7操作系統(tǒng),但須安裝Access 2003或者Access 2007數(shù)據(jù)庫軟件。
表1 病歷卡片信息表 card_detail
3.1 Access數(shù)據(jù)庫連接
在Delphi的工程主FORM中放入ADOConnection控件,雙擊ADOConnection控件,然后點擊Build...按鈕,在“提供者”頁中選擇“Microsoft Jet 4.0 OLE DB Provider”,然后點擊“下一步”按鈕,在“連接”頁中選擇要連接的Access數(shù)據(jù)庫的路徑和數(shù)據(jù)庫的文件名。為了數(shù)據(jù)的準確和安全,我們?yōu)閿?shù)據(jù)庫設(shè)置了訪問密碼,直接訪問數(shù)據(jù)庫是不允許的。這時點“測試連接”按鈕時,出現(xiàn)“初始化提供者時發(fā)生錯誤,測試連接失敗,密碼無效”的錯誤提示。這時點“所有”頁,然后雙擊“Jet OLEDB:Database Password”,出現(xiàn)對話框,添入密碼后,選擇“連接”頁中的“測試連接”按鈕,出現(xiàn)“測試連接成功”的對話框。把ADOConnection控件的LoginPromtp設(shè)為false。設(shè)置連接完成。
3.2 系統(tǒng)主要功能程序代碼
系統(tǒng)中最重要的功能就是病歷卡片信息錄入采集功能,通過程序界面錄入信息插入到Access數(shù)據(jù)庫中的card_detail表,主要代碼如下:
begin
{提交數(shù)據(jù)}
//判斷姓名和住院號是否為空,并且要求住院號的長度為6才算正確
if(DBEdit2.Text<>'')and(DBEdit4.Text<>'')and(length(dbedit2.text)=6)then
begin
if messagebox(handle,'是否保存?','溫馨提示',mb_iconquestion+mb_yesno)=IDyes
then ADOQuery1.Post; //符合提交條件,向數(shù)據(jù)庫寫入數(shù)據(jù)
end
else
if messagebox(handle,'住院號必須為6位數(shù)字,姓名不可為空,放棄輸入?','溫馨提示',mb_iconquestion+mb_yesno+MB_DEFBUTTON2)=IDyes
then ADOQuery1.Cancel
else
exit;
//下放部分為控制軟件界面錄入框和按鈕的可用性控制語句
button5.Enabled:=false;button6.Enabled:=false;
Dbedit1.Enabled:=False;Dbedit2.Enabled:=False;
Dbedit3.Enabled:=False;Dbedit4.Enabled:=False;
Dbedit5.Enabled:=False;Dbedit6.Enabled:=False;
combobox1.enabled:=false;Dbedit7.Enabled:=False;
Dbedit8.Enabled:=False;Dbedit9.Enabled:=False;
Dbedit10.Enabled:=False;Dbedit11.Enabled:=False;
Dbedit12.Enabled:=False;DateTimePicker1.Enabled:=False;
DateTimePicker2.Enabled:=False;button1.Enabled:=true;
button2.Enabled:=true;button3.Enabled:=true;
dbgrid1.Enabled:=true;
end;
3.3 程序?qū)崿F(xiàn)界面
通過數(shù)據(jù)庫設(shè)計,Delphi程序編碼,主要功能界面如圖2,包括左側(cè)查詢區(qū)域,下方信息錄入?yún)^(qū)及右上病歷卡統(tǒng)計和備份還原數(shù)據(jù)庫。為提高錄入人員工作效率,我們設(shè)計了相關(guān)快捷鍵,包括新增、修改、提交數(shù)據(jù)及放棄錄入。這樣在大量錄入數(shù)據(jù)時,操作人員可完全拋開鼠標操作,解放雙手在鍵盤上專注操作,大大提高錄入效率,縮短錄入時間。通過程序內(nèi)代碼流程控制,實現(xiàn)了相關(guān)按鈕及錄入?yún)^(qū)域的禁用和啟用,防止誤操作造成信息錯誤及丟失。比如信息區(qū)、提交數(shù)據(jù)按鈕及放棄錄入按鈕在非編輯狀態(tài)顯示為灰色,只有在新增或者修改狀態(tài)時才可進行編輯使用。
隨著電子病歷在醫(yī)院的逐漸普及,病案電子化是大勢所趨。如何解決歷史病案的電子化是重點和難題[4-5],我們根據(jù)本院具體情況和病案室工作人員相關(guān)需求,自行編寫設(shè)計了病歷卡片信息檢索系統(tǒng),后期可隨時進行維護和改進。目前此系統(tǒng)為單機系統(tǒng),日后可改進升級為網(wǎng)絡(luò)化系統(tǒng),使病歷卡片信息實現(xiàn)院內(nèi)局域網(wǎng)共享,方便臨床醫(yī)生使用,為提高醫(yī)療水平服務(wù)。
[1]莊嚴,錢陽明,翁盛鑫.醫(yī)院電子病歷系統(tǒng)的設(shè)計[J].解放軍醫(yī)院管理雜志,2010,(10):974-976.
[2]王駿生,逢魯紅.我院電子病案應(yīng)用中存在的問題及對策[J].中國醫(yī)院統(tǒng)計,2010,(4):366-367.
[3]劉峰.基于XML的電子病歷系統(tǒng)[D].哈爾濱:哈爾濱工程大學(xué),2007.
[4]張宇星.病歷檔案的信息化管理途徑研究[J].醫(yī)學(xué)信息(中旬刊),2011,(5):2186-2187.
[5]張凌志.院檔案信息化管理與電子病歷概述[J].民營科技,2011,(6):54.
[責(zé)任編輯:李薊龍]
鄒向坤(1986-),男,河北順平人,碩士,助理工程師。
R-1
C
10.3969/j.issn.1673-1492.2015.04.034
來稿日期:2014-12-23