![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/7/15/128b7405-2656-492b-998f-a61af678bf11/128b7405-2656-492b-998f-a61af678bf11pic.jpg)
![小型醫(yī)院信息管理系統(tǒng)的設計與開發(fā)畢業(yè)設計_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/7/15/128b7405-2656-492b-998f-a61af678bf11/128b7405-2656-492b-998f-a61af678bf111.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 某小型醫(yī)院信息管理系統(tǒng)的設計與開發(fā)</p><p><b> 摘 要</b></p><p> 本文所介紹的小型醫(yī)院信息管理系統(tǒng)旨在改善某小型醫(yī)院的信息管理,改變醫(yī)院的信息處理基本還停留在手工方式的狀況,降低勞動強度,提高工作效率。本系統(tǒng)不僅適用于醫(yī)院的行政管理業(yè)務,也適用于具體的就診事務業(yè)務。本系統(tǒng)可以使醫(yī)務人員空出更多的精力和時間服務于
2、病人,同時保證病人和醫(yī)院的經濟利益,從而使醫(yī)院能夠以少的投入獲得更好的社會效益與經濟效益。</p><p> 本系統(tǒng)是利用PowerBuilder并結合醫(yī)院病人管理制度,嚴格按照軟件生命周期來設計的一個信息管理系統(tǒng)。實現了一個包括就診管理、模板處理、數據統(tǒng)計等模塊在內的小型醫(yī)院信息管理系統(tǒng),實現不同員工登錄、病人掛號就醫(yī)、病人信息查詢、醫(yī)生出具處理處方及劃價、門診收費與統(tǒng)計等功能。本文簡要介紹了醫(yī)院管理系統(tǒng)的項
3、目背景和意義,著重闡述了該系統(tǒng)的開發(fā)實現過程,從系統(tǒng)目標,需求分析、總體設計、詳細設計、到系統(tǒng)測試等各個環(huán)節(jié)都進行了詳細的分析和描述。</p><p> 關鍵詞:數據庫;PowerBuilder;就診</p><p> The Design and Implementation of a Small Scale Hospital Information Management Syste
4、m </p><p><b> Abstract</b></p><p> The small scale hospital information management system is designed for improving the information management of small hospital, reducing the labor
5、 intensity and enhancing working efficiency. This system can support the administration of the hospital and manage the business. In addition, it can help facilitate the patient, and bring social and economic interest to
6、the hospital. </p><p> This system uses PowerBuilder as developing language ,which is designed according to software life cycle. The system can implement the patient’s registration before his going to see
7、a doctor, doctor’s processing prescription and management of expense. The thesis introduces the system’s project background and significance briefly, elaborates the system’s implementation process. It also analyses and d
8、escribes all the stages of the system, including feasibility study, demand analysis, outline desi</p><p> Key words: database; PowerBuilder; prescription </p><p><b> 目 錄</b></p
9、><p><b> 論文總頁數:30頁</b></p><p><b> 1引言1</b></p><p> 1.1課題背景1</p><p> 1.2國內外研究現狀1</p><p> 1.3本課題研究的意義1</p><p>
10、 2關鍵技術介紹1</p><p> 2.1開發(fā)工具及運行環(huán)境1</p><p> 2.1.1總體開發(fā)工具及環(huán)境1</p><p> 2.1.2開發(fā)工具簡介1</p><p> 2.2系統(tǒng)需求分析2</p><p> 2.3系統(tǒng)功能結構設計3</p><p>
11、 2.4數據庫設計與實現4</p><p> 3本系統(tǒng)功能模塊設計與實現7</p><p> 3.1應用程序對象設計7</p><p> 3.2職工登錄界面8</p><p><b> 3.3主界面9</b></p><p> 3.4掛號系統(tǒng)模塊12</p
12、><p> 3.5就診管理模塊15</p><p> 3.6模板管理模塊18</p><p> 3.7數據管理模塊19</p><p> 3.8報表模塊22</p><p> 4關鍵功能點的測試23</p><p> 4.1登錄模塊測試23</p>
13、<p> 4.2用戶密碼修改功能點測試24</p><p> 4.3病人費用報表功能測試26</p><p><b> 結 論27</b></p><p><b> 參考文獻28</b></p><p><b> 致 謝29</b>
14、</p><p><b> 聲 明30</b></p><p><b> 引言</b></p><p><b> 課題背景</b></p><p> 隨著科學的不斷進步,計算機應用已經遍布整個社會的每個角落。人們的身體健康也在不斷受到重視。因此,醫(yī)院進行現代化管
15、理就變得尤為重要。目前社會正處于健保發(fā)展方興未艾的時代,各醫(yī)療院所莫不兢兢業(yè)業(yè)地改善本身的體制或管理方式,以因應健保越來越嚴格的規(guī)范。小型醫(yī)院信息管理系統(tǒng)是適應時代發(fā)展的需要,提高管理的效率而開發(fā)設計的。</p><p><b> 國內外研究現狀</b></p><p> 一個完整的醫(yī)院信息管理系統(tǒng)應該既包括醫(yī)院管理信息系統(tǒng),又包括臨床醫(yī)療信息系統(tǒng),國外研究機構在
16、力求實現醫(yī)院信息管理系統(tǒng)的完整性。臨床信息管理系統(tǒng)在數據處理的實時性要求、相應速度、安全保密等方面一般要比管理信息系統(tǒng)有更苛刻的要求。而醫(yī)院管理信息系統(tǒng)的計算機技術較為單純和簡單,也由于醫(yī)院管理信息系統(tǒng)以處理文字和數字類數據為主,較少設計聲音、圖象、多媒體數據的動態(tài)傳遞等復雜要求,實現起來容易的多。</p><p><b> 本課題研究的意義</b></p><p>
17、; 本系統(tǒng)通過對病人信息管理系統(tǒng)方案的設計和實施,提出一種對病人在就診過程中產生的信息進行數字化管理的技術,為門診建立起信息高速公路,促使醫(yī)院門診逐步形成方便、科學、合理的管理模式。從根本上改變傳統(tǒng)的依靠文件等信息的傳遞方式,實現無紙化辦公,簡化就診手續(xù),加快信息流通速度,提高治療效率,基本實現醫(yī)院系統(tǒng)的數字化管理。同時,本系統(tǒng)對病人既往病史以及用藥記錄存檔,既便于醫(yī)生更加準確的對當前病人的診斷,同時也有利于醫(yī)生對各種病例進行分析研究
18、。病歷模板的套餐制更具靈活性。</p><p><b> 關鍵技術介紹</b></p><p><b> 開發(fā)工具及運行環(huán)境</b></p><p><b> 總體開發(fā)工具及環(huán)境</b></p><p> 本系統(tǒng)采用的軟件開發(fā)工具及環(huán)境如下:</p>&l
19、t;p> 操作系統(tǒng):WINDOWSXP</p><p> 編程工具:PowerBuilder9.0</p><p> 數據庫:ACCESS</p><p><b> 開發(fā)工具簡介</b></p><p> PowerBuilder是一個圖形化的應用程序開發(fā)環(huán)境。使用PowerBuilder開發(fā)的應用軟件由
20、窗口構成,窗口中不僅可以包含按鈕、下拉列表框及單選按紐等標準的Windows控件,還可以有PowerBuilder提供的特殊控件。這些特殊控件可以使應用軟件更容易使用,使應用軟件的開發(fā)效率更高。</p><p> 例如,數據窗口就是PowerBuilder提供的一個集成度很高的控件,使用該控件可以很方便地從數據庫中提取數據,很簡單地檢索數據,提供圖形化的數據顯示方式,創(chuàng)建統(tǒng)計功能非常強大的數據統(tǒng)計表。由于數據窗
21、口對數據的操作是通過事務進行的,所以對數據的操作有很強的可靠性。這些都為開發(fā)功能強大的數據庫應用軟件提供了可靠的保證。</p><p> 商業(yè)化的軟件開發(fā)要求有很好的移植性。PowerBuilder既可以跨平臺開發(fā),也可以發(fā)行跨平臺軟件。例如,在Windows 95下開發(fā)的程序,可以不修改源程序而形成UNIX下的執(zhí)行文件或Macintosh下的執(zhí)行文件。在開發(fā)小組中,不同成員可以使用不同的開發(fā)環(huán)境,但由于Pow
22、erBuilder的支持,在不同的開發(fā)環(huán)境下看到的共享PowerBuilder對象是相同的,所以仍可以同時開發(fā)同一個應用程序。</p><p> 隨著軟件技術的不斷發(fā)展,PowerBuilder 9.0及時地強化了開發(fā)功能,并提供了一些配套的開發(fā)工具,成為一種易于使用的、可伸縮的并經實踐證明的快速集成開發(fā)環(huán)境。它在給用戶提供一條轉移到下一代平臺的途徑的同時,使用戶仍能夠保護和擴展現有的技術和應用上的投資。<
23、;/p><p><b> 系統(tǒng)需求分析</b></p><p> 病人在就診過程中,基本的業(yè)務流程如圖1所示:</p><p><b> 圖1 業(yè)務流程圖</b></p><p> 通過對病人就診流程及管理的調查和了解,初步確定了該系統(tǒng)的基本需求情況:</p><p>
24、 在病人就診之前,必須進行掛號,包括病人的最基本信息,掛號費用,預存費等。</p><p> 在病人進行掛號的同時,可以自動為病人分配病歷號,作為病人在就診過程中的唯一標識。</p><p> 在病人就診時,醫(yī)生可以對病人基本信息(包括簡要病史等等)進行登記。</p><p> 對病人每次就醫(yī)的主訴,病歷,處方進行輸入,并可以進行查詢和維護。</p>
25、;<p> 各種化驗檢查信息的輸入、查詢和維護,并可以進行異常提醒。</p><p> 對病人的預付款進行管理,并且當預付金額不夠時可以提醒補交預付款。</p><p> 對病人就診過程中的各種費用進行管理。</p><p> 可以打印病人預付款單據和費用憑單。</p><p> 醫(yī)生可以查詢病人治療情況、化驗檢查結果
26、,以便跟蹤病人病情發(fā)展情況,同時也有助于醫(yī)生對各種病例進行分析研究。</p><p><b> 系統(tǒng)功能結構設計</b></p><p> 本系統(tǒng)劃分為7個功能模塊,系統(tǒng)功能模塊圖如圖2所示。</p><p><b> 圖2 系統(tǒng)功能模塊</b></p><p><b> 各模塊如
27、下:</b></p><p> 員工管理:主要包括員工登陸,修改密碼,判別用戶級別功能。</p><p> 病人管理:主要包括病人的基本信息登記。</p><p> 主要包括對病人基本信息的錄入、查詢和維護等操作。病人基本信息的錄入窗口可以從就診窗口進入,系統(tǒng)可以記憶當前就診病人病歷號以及當前錄入員的姓名。</p><p>
28、 就診管理:主要包括對病人此次就診病情的錄入,過往病史的查詢及檢查和化驗結果進行錄入。</p><p> 模板管理:主要醫(yī)生針對各種典型病種所開具的主訴、病歷、處方錄入、查詢。</p><p> 化驗檢查管理:主要包括對病人每次所做化驗和檢查的結果進行錄入、查詢和維護。</p><p> 費用管理:主要包括預付款管理和費用管理。</p><
29、;p> 預付款管理:主要包括對預付金額進行錄入、查詢和維護等操作。并且可以根據支出情況進行費用統(tǒng)計、查詢余額和缺錢警示。</p><p> 費用支出管理:主要包括對病人藥費、檢查、化驗等支出進行錄入、查詢和維護等操作。</p><p> 報表打?。焊鶕枰筛鞣N報表,并且打印出來。</p><p><b> 數據庫設計與實現</b&g
30、t;</p><p> 在仔細調查醫(yī)院就診管理過程的基礎上,得到系統(tǒng)所要處理的數據流程圖,如圖3所示。</p><p><b> 圖3 數據流圖</b></p><p> 本系統(tǒng)根據上面的設計規(guī)劃出的實體有4個:病人、醫(yī)生、化驗檢查員、藥品。下面為本系統(tǒng)實體之間關系的E-R圖,如圖4所示。</p><p> 圖4
31、 實體關系E-R圖</p><p> 根據以上的分析設計得到實際數據庫模型。數據庫設計如下:</p><p> 病人基本情況表(ghdj):就診號(jzid)、病歷號(blh),姓名(xm), 身份證號(sfzh),性別(xb),出生日期(sr),婚否 (hf),地址(dz),電話(dh),日期(ryrq),科別(kb),主訴(zs),現病史(xbs),病歷(bl),處方(c
32、f),醫(yī)囑(yz),醫(yī)生(ys)。主碼是就診號(jzid)。此表字段用來保存病人的相關詳細信息,包括病人基本信息和病人在醫(yī)院就診相關信息。</p><p><b> 表1 ghdj</b></p><p> 掛號表(ghb):流水號(id),病歷號(blh),日期(rq),時間(sj),掛號費(ghf),金額(je)。主碼是流水號(id)。此表字段用來記錄病人在醫(yī)
33、院掛號就醫(yī)時產生的相關數據。</p><p><b> 表2 ghb</b></p><p> 化驗檢查表(hyjc):病歷號(blh),化驗日期(hyrq),化驗時間(hysj),檢驗員(jyy),狀態(tài)(zt)等,其中化驗檢查中的具體項目由于數目眾多,在此就不一一列出。主碼是病歷號(blh),化驗日期(hyrq)。此表字段用來記錄病人在院就醫(yī)時不同狀態(tài)的檢查產生
34、的結果</p><p><b> 表3 hyjc</b></p><p> 費用表(fyb):費用憑單號(id),病歷號(blh),項目內容(xmnl),數量(sl),收費科室(sfks)。主碼是費用憑單號(id),項目內容(xmnl)。此表字段用來記錄病人在院所做就醫(yī)項目的相關信息。</p><p><b> 表4 fyb&l
35、t;/b></p><p> 藥品庫表(ypkb):藥品編號(ypbh),藥品名(ypm),類別(lb),價格(jg),包裝規(guī)格(bzgg),單位(dw),藥用字典(yyzd)。主碼是藥品編號(ypbh)。此表字段用來記錄醫(yī)院各種項目藥品的相關信息。</p><p><b> 表5 ypkb</b></p><p> 病歷處方表(b
36、lcfb):模板號(mbh),病癥名稱(bzmc),病歷內容(blnr),處方內容(cfnr),主訴內容(zsnr),開方醫(yī)生(ygh)。主碼是模板號(mbh)。此表字段用來記錄醫(yī)生對病癥的研究和描述,方便醫(yī)生對同種病癥不同情況進行對比研究,提高醫(yī)生的工作效率,幫助醫(yī)生進行診斷,判斷更為準確。</p><p><b> 表6 ypkb</b></p><p> 員
37、工表(ygb):員工號(ygh),員工名(kb),科別(kb),職位(zw),密碼(pwd),等級(dj)。主碼是員工號(ygh)。此表字段用來記錄醫(yī)院員工的基本信息并在登陸時的根據登記判斷其權限。</p><p><b> 表7 ypkb</b></p><p> 本系統(tǒng)功能模塊設計與實現</p><p><b> 應用程序對
38、象設計</b></p><p> PowerBuilder9.0開發(fā)的應用程序的入口點是PowerBuilder9.0的應用程序對象,運行是程序從這個入口點啟動,所以應用程序對象的設計是應用程序設計的開始。</p><p> 本應用程序對象中用到Open事件,輸入如下程序代碼:</p><p> // Profile mzys2</p>
39、<p> SQLCA.DBMS = "ODBC"</p><p> SQLCA.AutoCommit = False </p><p> SQLCA.DBParm = "ConnectString='DSN=mzys2;UID=;PWD='"</p><p><b> co
40、nnect;</b></p><p> //打開程序登錄窗口</p><p> opensheet(w_zhigong,w_zhujiemian,8,original!)</p><p> 首先在應用程序對象的變量定義窗口中定義全局變量,如int G_input_time 定義的變量是登錄時輸入用戶名和密碼的次數,string yg_name定義的
41、是用戶名,string yg_ygh定義的是員工號,string g_pwd定義的是密碼,string g_blh 定義病歷號,string g_jzid 定義病人的就診號等等。</p><p><b> 職工登錄界面</b></p><p> 應用程序運行后第一個出現的窗口就是w_login登陸窗口,界面如圖5所示。</p><p>&l
42、t;b> 圖5 職工登陸界面</b></p><p> 用戶必須通過職工登錄窗口才能夠進入主界面。系統(tǒng)登錄窗口主要實現功能是確認用戶身份及級別,并根據用戶級別主界面菜單中該用戶可以進行的操作。</p><p> 本系統(tǒng)根據醫(yī)院具體情況將醫(yī)院職工分為種5種職位,院長、醫(yī)生、放射員收費員和化驗員。其中,院長級別最高,可以使用主界面菜單中的任何一種操作,其他各種職位級別都
43、只能享有各自級別的權限。醫(yī)生可以進行病人就診的信息錄入、查詢和維護,定義主訴病歷處方模板的定義和查詢,化驗檢驗結果的查詢、費用的查詢等;收費員可以進行掛號收費及統(tǒng)計,預付費用的收繳和統(tǒng)計等;放射員可以對病人的各項檢查結果進行錄入、查詢、維護等;化驗員則是對病人的各項化驗結果進行錄入、查詢、維護。</p><p> 在登錄界面的OPEN()函數中定義一個游標declare guser cursor,該游標在ygb
44、表中搜索ygm然后添加到員工名的下拉控件中,其代碼如下:</p><p> string ls_user</p><p> declare guser cursor for</p><p> select ygm</p><p><b> from ygb</b></p><p> o
45、rder by ygh;</p><p> open guser;</p><p> if SQLCA.SQLCode=-1 then </p><p> MessageBox("數據錯誤",SQLCA.SQLErrText)</p><p><b> else do </b></p&g
46、t;<p> if ls_user<>'' then ddlb_1.additem(ls_user)</p><p> fetch guser into :ls_user;</p><p> loop while sqlca.sqlcode=0</p><p> if sqlca.sqlcode=-1 then &
47、lt;/p><p> messageBOX("數據錯誤",sqlca.sqlerrtext)</p><p><b> end if</b></p><p><b> end if </b></p><p> close guser;</p><p>
48、 ddlb_1.selectitem(0)</p><p> 在“確定”按紐中當判斷員工登錄條件正確時則根據員工的職位判斷那些菜單功能將能被使用。</p><p><b> 主界面</b></p><p> 首先設計主菜單m_zhujiemian,根據各模塊設計好菜單項和各菜單項下面的子菜單項,并可添加為用戶登錄和退出以及掛號Toolb
49、ar,提供快捷操作。然后在主窗口w_zhujiemian將menuname中選擇設計好的主菜單m_zhujiemian。應用程序的主要功能都是在主窗口w_zhujiemian及在其下打開的眾多窗口中完成的。主界面如圖6所示。</p><p> 圖6 醫(yī)院管理系統(tǒng)主界面</p><p> 不同用戶登錄后,由于職位級別不同,主界面也會有些差異,不能操作的菜單項為灰色,因此,下面我們選用的都
50、是“院長”級別登錄后的主界面,將主窗口的WindowType屬性設立為mdi型,以便在其下以特定方式打開其他窗口。</p><p> 主界面設計中主要是主菜單m_zhujiemian的設計,該菜單結構及代碼如下:</p><p><b> ?、诺卿洠?lt;/b></p><p><b> 用戶登錄:</b></p&g
51、t;<p> Clicked事件程序代碼:</p><p> opensheet(w_zhigong,w_zhujiemian,8,original!)</p><p><b> 退出:</b></p><p> Clicked事件程序代碼:close(w_zhujiemian)</p><p>&
52、lt;b> ⑵掛號系統(tǒng):</b></p><p><b> 掛號:</b></p><p> Clicked事件程序代碼:opensheet(w_guahao,w_zhujiemian,8,original!)</p><p><b> 預付:</b></p><p>
53、Clicked事件程序代碼:opensheet(w_yufu,w_zhujiemian,8,original!)</p><p><b> ⑶就診管理:</b></p><p><b> 就診入口:</b></p><p> Clicked事件程序代碼:</p><p> opensheet
54、(w_jiuzhenrukou,w_zhujiemian,8,original!)</p><p><b> 就診歷史:</b></p><p> Clicked事件程序代碼:</p><p> opensheet(w_lishi,w_zhujiemian,8,original!)</p><p><b>
55、; 檢查報告:</b></p><p> Clicked事件程序代碼:</p><p> opensheet(w_hyjc_jcbg,w_zhujiemian,8,original!)</p><p><b> 化驗:</b></p><p> 血常規(guī)報告:Clicked事件程序代碼</p&g
56、t;<p> openSheet(w_hyjc_twd,w_main,8,Layered!)</p><p> 尿常規(guī)報告:Clicked事件程序代碼</p><p> opensheet(w_hyjc_ncg,w_zhujiemian,8,original!)</p><p> 生化檢查報告:Clicked事件程序代碼</p>
57、<p> opensheet(w_hyjc_shjc,w_zhujiemian,8,original!)</p><p><b> ⑷模板管理:</b></p><p> 定義完整模板:Clicked事件程序代碼:</p><p> opensheet(w_jb,w_zhujiemian,8,original!)</p&
58、gt;<p> 定義主訴模板:Clicked事件程序代碼:</p><p> opensheet(w_dingyizs,w_zhujiemian,8,original!)</p><p> 定義病歷模板:Clicked事件程序代碼:</p><p> opensheet(w_dingyibl,w_zhujiemian,8,original!)&
59、lt;/p><p> 定義處方模板:Clicked事件程序代碼:</p><p> opensheet(w_dingyicf,w_zhujiemian,8,original!) </p><p> 模板查詢:Clicked事件程序代碼:</p><p> opensheet(w_blzsmb,w_zhujiemian,8,original
60、!)</p><p><b> ⑸數據管理:</b></p><p> 掛號人數統(tǒng)計:Clicked事件程序代碼:</p><p> opensheet(w_ghtongjilb,w_zhujiemian,8,original!)</p><p> 病人基本信息查詢:Clicked事件程序代碼:</p>
61、;<p> opensheet (w_jbxx_cx,w_zhujiemian,8,original!)</p><p> 預付款查詢:Clicked事件程序代碼:</p><p> opensheet(w_yufucx,w_zhujiemian,8,original!)</p><p> 病人血常規(guī)查詢:Clicked事件程序代碼:</
62、p><p> opensheet(w_hyjc_xcg_cx,w_zhujiemian,8,original!)</p><p> 病人尿常規(guī)查詢:Clicked事件程序代碼:</p><p> opensheet(w_hyjc_ncg_cx,w_zhujiemian,8,original!)</p><p> 病人生化查詢:Clicke
63、d事件程序代碼:</p><p> opensheet(w_hyjc_shjc_cx,w_zhujiemian,8,original!)</p><p> 病人檢查結果查詢:Clicked事件程序代碼:</p><p> opensheet(w_hyjc_jcbg_cx,w_zhujiemian,8,original!)</p><p>
64、;<b> ?、蕯祿芾恚?lt;/b></p><p> 用戶安全維護:Clicked事件程序代碼:</p><p> opensheet(w_change,w_zhujiemian,8,original!)</p><p> 常用維護藥字典維護:Clicked事件程序代碼:</p><p> opensheet(w
65、_yaodian,w_zhujiemian,8,original!)</p><p> 病人基本信息維護:Clicked事件程序代碼:</p><p> opensheet(w_jbxx_wh,w_zhujiemian,8,original!)</p><p> 血常規(guī)檢查結果維護:Clicked事件程序代碼:</p><p> op
66、ensheet(w_hyjc_xcg_wh,w_zhujiemian,8,original!)</p><p> 尿常規(guī)檢查結果維護:Clicked事件程序代碼:</p><p> opensheet(w_hyjc_ncg_wh,w_zhujiemian,8,original!)</p><p> 生化檢查結果維護:Clicked事件程序代碼:</p&g
67、t;<p> opensheet(w_hyjc_shjc_wh,w_zhujiemian,8,original!)</p><p> 檢查結果維護:Clicked事件程序代碼:</p><p> opensheet(w_hyjc_jcbg_wh,w_zhujiemian,8,original!)</p><p><b> ⑺報表:&l
68、t;/b></p><p> 病人預付款報表:Clicked事件程序代碼:</p><p> opensheet(w_yufu_bb,w_zhujiemian,8,original!)</p><p> 病人費用報表:Clicked事件程序代碼:</p><p> opensheet(w_chufangjj_bb,w_zhuji
69、emian,8,original!)</p><p> ?、檀翱冢簺]有代碼,用來顯示已經打開的窗口名稱。</p><p><b> 掛號系統(tǒng)模塊</b></p><p> 根據醫(yī)院科室及掛號類型類設計掛號系統(tǒng),自動產生病歷號。先根據數據庫表ghb建立掛號系統(tǒng)的數據窗,然后建立掛號窗口,并使用該數據窗。掛號病人要進入醫(yī)院門診就診的第一步就是進
70、行掛號,只有進行掛號后才能獲得病歷號,得到其他服務。掛號界面如圖7所示:</p><p><b> 圖7 掛號系統(tǒng)界面</b></p><p> 主要實現功能有自動分配病歷號,錄入員無法修改。單擊“保存” 按鈕的時候,如圖8所示:</p><p><b> 圖8 掛號保存界面</b></p><p
71、> “保存”按鈕中的代碼最主要的通過設置過濾條件來使數據窗口只能顯示當前一條記錄。</p><p> 本系統(tǒng)中,需要處理的數據繁多,如果僅是靠普通控件來進行輸入、查詢和維護等操作,只能依靠純粹的手寫代碼來進行與數據庫數據之間的交互,將會帶來極大的不便。為此,采用數據窗口來進行對數據的處理。通過數據窗口,可以對數據庫進行操作,不但可以對每個數據庫的表進行檢索、查詢、插入、刪除和更新,而且還可以為數據指定輸
72、入格式、輸出格式和顯示風格等。圖7中左邊顯示數據的部分既為Grid風格的數據窗口。本系統(tǒng)中還用到Group風格的來制作報表,將在圖9出現。</p><p><b> 圖9 掛號打印界面</b></p><p> 如上圖所示,在單擊了圖7圖中的“打印”之后,系統(tǒng)會自動按照程序中的代碼的要求將自動流水號傳遞到報表窗口,其中的“預付款(掛號)單據”所在的數據窗口即為Gr
73、oup窗口應用于數據報表的典型。</p><p> 在掛號過程中,除了會為病人的分配此次的自動流水號之外,也會要為病人分配一個病歷號,由年份(4位)+序列號(4位)構成。每到新的一年,序列號都是從0001開始;如果不是在新的一年,則序列號是已經在醫(yī)院就診的病人的人數加上1構成。為此,每次分配病歷號時,從數據庫中掛號表中提取最大的病歷號,將其中的年份與當前計算機上的年份相比較,如果相等,則將后4位的序列號加1,如
74、果是新的一年則直接讓序列號位0001。具體實現是在窗口中定義,代碼如下:</p><p><b> //分配病歷號</b></p><p> string a,b,d,c,n</p><p> SELECT max(ghb.blh) </p><p><b> into :a</b><
75、/p><p><b> FROM ghb;</b></p><p> b=left(a,4) </p><p> d=string(year(today()))</p><p> c=right(a,4)</p><p> if b>d the
76、n</p><p> messagebox('出錯','當前系統(tǒng)時間有誤,請先調整系統(tǒng)時間',stopsign!,OK!)</p><p><b> else</b></p><p> if b=d then</p><p> c=string(integer(c)+1)</
77、p><p> n=fill('0',4 - len(c))</p><p><b> c=n+c</b></p><p><b> else</b></p><p><b> c='0001'</b></p><p>
78、<b> end if</b></p><p><b> a=d+c</b></p><p><b> blh1=a</b></p><p><b> end if</b></p><p> 分配病人自動流水號,病歷號的同時,也是要同時在病人基本
79、信息表當中插入信息,首先也是先為表的主碼“就診號”分配號碼。采用自定義的函數jzh():</p><p> string a,b,c,d,e,f,g,h,i</p><p> SELECT max(jzid)</p><p><b> INTO :a</b></p><p> FROM ghdj;</p&g
80、t;<p> b=string(year(today())) //當前系統(tǒng)日期中年份的后兩位</p><p> c=string(month(today())) //當前系統(tǒng)日期中的月份</p><p> c=fill('0',2 - len(c))+c</p><p> d=string(Day(today
81、()))//當前系統(tǒng)日期中的日期</p><p> d=fill('0',2 - len(d))+d</p><p> e=left(a,8)//表中最大ID的前八位</p><p> f=right(a,6)//表中最大ID的后六位,表示序列號</p><p> g=right(e,4)
82、</p><p> h=right(e,2)//表中最大ID的七、八位,表示日期</p><p> g=left(g,2) //表中最大ID的五、六位,表示月份</p><p> e=left(e,4) //表中最大ID的前四位,表示年份</p><p> if
83、b<e then</p><p> messagebox("出錯","當前系統(tǒng)時間有誤,請先調整系統(tǒng)時間")</p><p><b> return</b></p><p> elseif b>e then</p><p> i=b+c+d+'00000
84、1'</p><p><b> else</b></p><p> if c<g then</p><p> messagebox("出錯","當前系統(tǒng)時間有誤,請先調整系統(tǒng)時間")</p><p><b> return</b><
85、/p><p> elseif c>g then</p><p> i=b+c+d+'000001'</p><p><b> else</b></p><p> if d<h then</p><p> messagebox("出錯",&quo
86、t;當前系統(tǒng)時間有誤,請先調整系統(tǒng)時間")</p><p><b> return</b></p><p> elseif d>h then</p><p> i=b+c+d+'000001'</p><p> else f=string(long(f)+1)</p>
87、<p> i=b+c+d+fill('0',6 - len(f))+f</p><p><b> end if</b></p><p><b> end if</b></p><p><b> end if</b></p><p> st_
88、11.text=i</p><p><b> 就診管理模塊</b></p><p> 病人在進入所掛號的科室進行就診入口的界面如圖10所示。</p><p> 圖10 就診入口界面</p><p> 在該界面中兩個按鈕“簡明信息填寫”和“就診”按鈕提供了強大的病人就診信息的錄入的功能,方便日后醫(yī)生的對病人病史的掌
89、握,日后的臨床科學研究以及病人對自己病史的了解。在界面中當輸入病人ID(blh),之后按下“簡明信息填寫”按鈕就進入病人基本信息得錄入界面如圖11所示。</p><p> 圖11 病人基本信息錄入界面</p><p> 該界面中使用了創(chuàng)建好的數據窗d_jbxx,就診號和病歷號是通過圖10界面的“簡明信息填寫”按鈕中的相關代碼實現(主要是利用全局變量來傳遞值):</p>&
90、lt;p> ::g_blh=trim(sle_1.text)</p><p><b> jzh()</b></p><p> ::g_jzid=trim(st_2.text)</p><p> opensheet (w_jbxx,w_zhujiemian,8,original!)</p><p> 同理,
91、在圖10中如按下“就診”按鈕,在進入如圖12所示的界面,病人ID號也將被傳遞。</p><p> 界面中可以通過“保存”、“新增”等系列按鈕完成對病人此次就診的記錄工作,同時醫(yī)生也可以通過“申請”按鈕對需要進行進一步詳細檢查的病人提出檢查申請,另外可以在“處方計價”當中對病人的藥方進行計價。在醫(yī)生對病人出具病歷處方的同時可以隨時查閱“病歷處方模板”,以及可以通過“查看報告”查看病人的既往檢查化驗。</p&
92、gt;<p><b> 圖12 就診界面</b></p><p> 上述的該功能模塊中的相關功能都是“醫(yī)生”的權限范圍,以下將的檢查化驗的報告界面分別屬于“放射員” 和“化驗員”的職限。</p><p> 圖13 病人檢查結果錄入界面</p><p> 在這個界面中最主要的就是“增加”、“退出”幾個按鈕中的相關代碼完成了對
93、數據的錄入保存:</p><p> //判斷窗體記錄是否需要保存</p><p> int MCount</p><p> int updateornot</p><p> mcount=dw_hyjc_jcbg.modifiedcount()</p><p> if mcount>0 then<
94、/p><p> updateornot=messagebox("保存修改","您修改了數據窗口中的數據,現在是否保存?",Question!,YesNoCancel! )</p><p> if updateornot=1 then</p><p> if update(dw_hyjc_jcbg,true,false)=1
95、then</p><p> dw_hyjc_jcbg.resetupdate()</p><p><b> commit;</b></p><p><b> else</b></p><p><b> rollback;</b></p><p>
96、 messagebox("錯誤!!!","數據保存失敗")</p><p><b> return</b></p><p><b> end if</b></p><p> elseif updateornot=2 then</p><p><b
97、> rollback;</b></p><p> elseif updateornot=3 then</p><p><b> return;</b></p><p><b> end if</b></p><p><b> end if</b>&l
98、t;/p><p><b> 模板管理模塊</b></p><p> 在模板管理模塊設計是為了醫(yī)生可以完整的定義主訴病歷處方模板,可以分別定義主訴、病歷、處方的模板以及在必要的時候進行模板查詢。此模塊將更加方便醫(yī)生平時的臨床診斷,為臨床科研提供依據。首先建立數據窗選擇數據庫表blcfb中的字段mbh,bzmc,bznr,cfnr,zsnr,ygh。在窗口中運用該數據窗,
99、通過該數據窗可將數據保存到數據表中。以下的錄入模板設計類似此病歷處方模板錄入模板如圖14。</p><p> 圖14 完整模板錄入界面</p><p> 在前面提到的模板查詢界面如圖15所示:</p><p> 圖15 病歷主訴查詢模板</p><p> 當醫(yī)生輸入病癥名稱之后,按下“確定”鍵就可以在數據窗口中顯示相似病癥的記錄,如果
100、相似病癥是多條記錄就可以通過“第一條”、“上一條”、“下一條”、 “最后一條”進行查詢選擇,代碼如下:</p><p><b> ?、拧暗谝粭l”</b></p><p> dw_1.scrolltorow(1)</p><p> st_4.text="1"</p><p><b> ?、?/p>
101、“上一條”</b></p><p> integer row_current</p><p> row_current=dw_1.scrollpriorrow()</p><p> st_4.text=string(row_current)</p><p><b> ?、恰跋乱粭l”</b></p&
102、gt;<p> integer row_current</p><p> row_current=dw_1.scrollnextrow()</p><p> st_4.text=string(row_current)</p><p><b> ?、取白詈笠粭l”</b></p><p><b>
103、; int row </b></p><p> row = dw_1.rowcount()</p><p> dw_1.scrolltorow(row)</p><p> st_4.text= string(row)</p><p><b> 數據管理模塊</b></p><p&
104、gt; 在醫(yī)院門診龐大的日常管理工作中,不可缺少的是對后臺數據庫中的數據進行管理,在該功能模塊中就提供了對數據的統(tǒng)計,查詢。</p><p> ?、艑焯柸藬档姆诸惤y(tǒng)計(示例如圖16)</p><p> 在主界面中點擊“數據管理”下的“掛號人數統(tǒng)計”,則通過如下代碼進入統(tǒng)計方式選擇界面:</p><p> opensheet(w_ghtongjilb,w_zh
105、ujiemian,8,original!)</p><p> 根據不同選擇然后判斷打開何種統(tǒng)計圖,如圖16所示</p><p> 圖16 掛號科室人數統(tǒng)計界面</p><p> 是掛號人數按照科室統(tǒng)計的餅狀圖。該類型統(tǒng)計先創(chuàng)建一個根據數據表ghdj中的jzid和kb字段來Graph類型的數據窗,通過對kb字段分類然后通過count(jzid for graph
106、)然后在創(chuàng)建的統(tǒng)計窗口中使用該數據窗來實現。</p><p><b> ?、撇∪嘶拘畔⒉樵?lt;/b></p><p> 設計可以綜合條件的信息查詢,提高可供選擇的條件,醫(yī)生可以通過組合條件對所需要的病人基本信息以及簡要病史進行查詢,如圖17所示。</p><p> 圖17 病人基本信息查詢窗口</p><p><
107、;b> ⑶預付款查詢</b></p><p> 圖18 查詢剩余預付款界面</p><p> 擁有查詢預付款權限的員工進入該界面之后,只需要輸入病人的病歷號,點</p><p> 擊“確定”按鈕(該按鈕代碼如下):</p><p><b> dec a,b,c</b></p>&
108、lt;p><b> string d</b></p><p> SELECT blh</p><p><b> into :d</b></p><p><b> FROM ghdj</b></p><p> WHERE blh=:sle_1.text;</
109、p><p> if ::sqlca.SQLCode=0 then</p><p> SELECT count(*) INTO :c ROM ghb WHERE blh=:sle_1.text;</p><p> if c>0 then</p><p> SELECT sum(je) INTO :a FROM ghb WHERE
110、blh=:sle_1.text;</p><p><b> else </b></p><p><b> a=0</b></p><p> messagebox('提示',"病人尚未交付預付金,請先補交預付金")</p><p><b> ret
111、urn</b></p><p><b> end if</b></p><p> SELECT count(*) INTO :c FROM fyb WHERE blh=:sle_1.text;</p><p> if c>0 then</p><p> SELECT sum(ypkb.jg *
112、fyb.sl) INTO :b FROM ypkb,fyb </p><p> WHERE fyb.blh=:sle_1.text and fyb.xmnl=ypkb.ypbh;</p><p><b> a=a - b</b></p><p><b> end if </b></p><p>
113、; if a>=50 then</p><p> d='目前預付金額還剩'+string(a)+'元'</p><p> messagebox('剩余金額',d)</p><p> elseif a>=0 then</p><p> d='目前預付金額僅剩'
114、+string(a)+'元,請盡快補交預付金'</p><p> messagebox('剩余金額',d)</p><p><b> else</b></p><p> d='目前預付金額透支'+string(Abs(a))+'元,請盡快補交預付金'</p>&
115、lt;p> messagebox('剩余金額',d)</p><p><b> end if</b></p><p> sle_1.setfocus()</p><p><b> else</b></p><p> messagebox("提示"
116、,"病歷號輸入有誤,請檢查后重新輸入")</p><p><b> end if</b></p><p><b> 報表模塊</b></p><p> 由于前面的個功能模塊中都對病人的就診各階段的結果進行查詢,所以在設計報表功能模塊時主要考慮對病人的預付款項以及病人的費用進行統(tǒng)計并呈報表。<
117、/p><p> 首先創(chuàng)建一個祖先窗口w_preview如圖19所示,它是報表生成的通用窗口,具有預覽、放大縮小、打印、保存等功能,可以用于各個報表模塊窗口的繼承。</p><p> 圖19 報表祖先窗口</p><p> 病人預付報表窗口是w_preview祖先窗口的繼承窗口,具有w_preview窗口的功能,界面如圖20所示。</p><p&
118、gt; 病人預付報表窗口用于生成病人的費用憑單,既可以用來生成病人的所有費預付的款項憑單,也可以生成其中任何一次預付憑單。其與w_preview祖先窗口相比,多了一個顯示功能,可以通過病歷號或自動流水號來查詢符合條件的記錄,并顯示在數據窗口中。</p><p> 圖20 病人預付款報表界面</p><p> 此窗口所使用的數據窗口采用的是Group分組顯示樣式的,這種顯示風格的特點是
119、可以檢索到的數據按某一列分組顯示,并允許為每一組指定一些計算。本窗口就是按自動流水號來分組,分別對每一個自動流水號中的金額和整張預付憑單的金額進行統(tǒng)計??梢宰龅角逦髁?,便于病人查閱。</p><p> 病人費用報表與預付憑單報表風格模式上相同,都是由w_preview繼承而來。病人費用報表既可以根據病歷號生成一個病人按照費用憑單號來分組的所有費用的單據,又可以根據費用憑單號生成其中一次費用的單據。</p
120、><p><b> 關鍵功能點的測試</b></p><p> 本章節(jié)介紹該小型醫(yī)院信息管理系統(tǒng)的主要功能點的測試,包括:登錄模塊、就診入口模塊、費用報表模塊。</p><p><b> 登錄模塊測試</b></p><p> 預期結果:當正確輸入與數據庫表ygb中數據一致的員工名,ID及密碼時
121、都能登錄系統(tǒng)。當輸入的員工ID或密碼與員工名不匹配時則分別提示何種輸入錯誤。</p><p> 根據本系統(tǒng)的健壯性要求對此進行了8次測試,下面根據測試的分類列舉了3次測試結果。</p><p> 當選擇員工名“陳沖”后輸入正確的員工號“04002”和密碼“cc”登錄進該系統(tǒng)可執(zhí)行與他權限內的操作。</p><p> 當選擇員工名“陳沖”后輸入錯誤的員工號“04
122、001”和正確密碼“cc”與該出現如下圖21所示的提示框。</p><p> 圖 21 登錄功能測試一</p><p> 當選擇員工名“陳沖”后輸入正確的員工號“04002”和錯誤密碼“cd”與該出現如下圖22所示的提示框。</p><p> 圖 22 登錄功能測試二</p><p> 分析:經8次不同類型及各類型的不同種輸入的結果都
123、與預期結果一樣,得出結論,此功能基本達到系統(tǒng)預期要求。</p><p> 用戶密碼修改功能點測試</p><p> 預期結果:當進入修改密碼界面時根據所輸入的正確原密碼與數據庫表ygb中pwd字段數據一致,且輸入的新密碼和確認密碼相同時,則可成功修改密碼。當輸入原密碼錯誤時則給出相應提示。當新密碼與確認密碼不一致時則提示兩次修改密碼不一致。當修改不成功次數超過三次時則彈出警告,關閉窗口
124、。</p><p> 根據本系統(tǒng)的健壯性要求對此進行了8次測試,下面根據測試的分類列舉了4次測試結果。</p><p> 在員工陳沖登錄后進入修改密碼窗口,在輸入正確的原密碼“cc”,和新密碼及確認密碼“ccc”后,點“確認”按紐出現如圖23提示框。</p><p> 圖 23 密碼修改功能測試一</p><p> 在員工陳沖登錄后進
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計---醫(yī)院信息管理系統(tǒng)
- 小型專科醫(yī)院信息管理系統(tǒng)的設計與開發(fā).pdf
- 畢業(yè)設計--學生信息管理系統(tǒng)的設計與開發(fā)
- 醫(yī)院藥品信息管理系統(tǒng)畢業(yè)設計
- 醫(yī)院信息管理系統(tǒng)的設計與開發(fā)
- 畢業(yè)生信息管理系統(tǒng)的設計與開發(fā)畢業(yè)設計
- 醫(yī)院信息管理系統(tǒng)的設計與開發(fā).pdf
- 畢業(yè)設計---基于web學生信息管理系統(tǒng)設計與開發(fā)
- 信息管理畢業(yè)設計--設備信息管理系統(tǒng)設計
- 畢業(yè)設計---學生宿舍信息管理系統(tǒng)的設計與開發(fā)
- 社區(qū)醫(yī)院信息管理系統(tǒng)的設計與開發(fā).pdf
- 畢業(yè)設計--學生信息管理系統(tǒng)畢業(yè)設計
- 鄉(xiāng)鎮(zhèn)綜合信息管理系統(tǒng)研制與開發(fā)【畢業(yè)設計】
- 信息管理與信息系統(tǒng)畢業(yè)論文小型酒店信息管理系統(tǒng)的設計與實現
- 信息系統(tǒng)與信息管理畢業(yè)論文--小型企業(yè)oa系統(tǒng)設計開發(fā)
- 基于MVC的小型醫(yī)院信息管理系統(tǒng)設計與實現.pdf
- 任務書小型酒店信息管理系統(tǒng)設計與開發(fā)
- 畢業(yè)設計--學生信息管理系統(tǒng)的設計與實現
- 基于MVC的醫(yī)院信息管理系統(tǒng)設計與開發(fā).pdf
- 畢業(yè)設計 學生信息管理系統(tǒng)設計
評論
0/150
提交評論