2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  基于C/S結(jié)構(gòu)的醫(yī)院管理系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  隨著信息科學(xué)技術(shù)的飛速發(fā)展,人們逐漸意識到對信息管理軟件的運(yùn)用可以使日常工作更加方便、快捷和高效。論文詳細(xì)論述了一個基于C/S結(jié)構(gòu)的醫(yī)院管理系統(tǒng)的開發(fā)設(shè)計過程。系統(tǒng)采用Visual Basic 6.0作開發(fā)平臺,SQL Server 200

2、0作數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)了病人登記、醫(yī)生信息管理、病人就診信息管理、住院信息管理等功能。系統(tǒng)符合醫(yī)院管理的要求,能夠幫助醫(yī)院切實提高工作效率。</p><p>  論文組織如下:首先闡述了該系統(tǒng)的開發(fā)背景、意義;其次介紹了相關(guān)的開發(fā)工具及技術(shù)基礎(chǔ);接著對系統(tǒng)的需求進(jìn)行了分析,并提出了具體的設(shè)計方案和數(shù)據(jù)庫模型;然后展現(xiàn)了整個系統(tǒng)的具體實現(xiàn),包括數(shù)據(jù)庫的設(shè)計和連接,各功能模塊的實現(xiàn);最后對該軟件進(jìn)行了嚴(yán)格的測試。&

3、lt;/p><p>  關(guān)鍵詞:醫(yī)院管理系統(tǒng);Visual basic;SQL server 2000</p><p>  The Design and Implementation of Hospital Management System based on C/S</p><p><b>  Abstract</b></p>&l

4、t;p>  Along with the rapid development of the information science technology, people gradually realize that the utilization of information management software could make the routine more convenient, quickly and effici

5、ent. The paper discusses in detail the development and design process of a hospital management system based on C/S structure. It uses Visual Basic 6.0 as the development platform, SQL Server 2000 as the database manageme

6、nt system, and includes patients registration management, doctors’ in</p><p>  The paper is organized as following: Firstly, analyzes the background and significance; Secondly, introduces the development too

7、ls and the foundation of the technology; Thirdly, analyses the demand of the system, gives a specific design project and a database model; Then shows the implementation of the whole system, which includes the design and

8、linkage of the database and the implementation of every module. Finally gives a test of the system.</p><p>  Key words: Hospital management system; Visual basic; SQL server 2000目 錄</p><p><b

9、>  論文總頁數(shù):25頁</b></p><p><b>  1 引言1</b></p><p>  2 系統(tǒng)理論基礎(chǔ)及開發(fā)工具簡介1</p><p>  2.1 C/S結(jié)構(gòu)1</p><p>  2.1.1什么是C/S結(jié)構(gòu)1</p><p>  2.1.2 C/S架構(gòu)軟

10、件的優(yōu)勢與劣勢1</p><p>  2.2 Visual Basic的介紹2</p><p>  2.3 SQL Server2000簡介4</p><p>  3 系統(tǒng)需求分析與方案設(shè)計4</p><p>  3.1 需求分析4</p><p>  3.2 方案設(shè)計4</p><p&

11、gt;  3.3可行性研究5</p><p>  3.3.1 技術(shù)可行性方面5</p><p>  3.3.2 經(jīng)濟(jì)可行性6</p><p>  3.3.3 操作上的可行性6</p><p><b>  4 系統(tǒng)的實現(xiàn)6</b></p><p>  4.1 數(shù)據(jù)庫的構(gòu)建6</p&

12、gt;<p>  4.1.1 IHMS_Users表6</p><p>  4.1.2 Disease表6</p><p>  4.1.3 Doctor表7</p><p>  4.1.4 Patient_Hospital_History表7</p><p>  4.1.5 Patient_Lab_Info表7<

13、/p><p>  4.1.6 Patient_Personal_Info表8</p><p>  4.1.7 Symptoms表8</p><p>  4.2 系統(tǒng)登陸模塊8</p><p>  4.2.1 啟動界面8</p><p>  4.2.2 系統(tǒng)主界面9</p><p>  4.

14、2.3 登陸界面10</p><p>  4.2.4 系統(tǒng)管理員權(quán)限界面11</p><p>  4.3 醫(yī)生信息模塊11</p><p>  4.4 病人登記管理模塊12</p><p>  4.5 病人就診信息模塊13</p><p>  4.6 病人住院信息管理模塊14</p><

15、p>  4.7 病人出院信息管理模塊17</p><p><b>  5 系統(tǒng)測試18</b></p><p>  5.1 測試環(huán)境18</p><p>  5.1.1 硬件環(huán)境18</p><p>  5.1.2 軟件環(huán)境18</p><p>  5.2 模塊測試18</

16、p><p>  5.2.1 系統(tǒng)登陸及管理員權(quán)限測試18</p><p>  5.2.2 醫(yī)生用戶信息測試19</p><p>  5.2.3 新增病人用戶信息測試19</p><p>  5.2.4 病人就診信息測試20</p><p>  5.2.5 病人住院信息測試20</p><p&g

17、t;  5.2.6 病人出院信息測試21</p><p><b>  結(jié) 論22</b></p><p><b>  參考文獻(xiàn)22</b></p><p><b>  致 謝24</b></p><p><b>  聲 明25</b&

18、gt;</p><p><b>  1 引言</b></p><p>  自從人類進(jìn)入21世紀(jì),也就進(jìn)入了一個高速發(fā)展的信息時代,高新技術(shù)飛速發(fā)展的同時,也使得計算機(jī)的使用范圍大大擴(kuò)展,它已經(jīng)涉及到人類生活的方方面面。計算機(jī)使用的方便快捷,使它在越來越多的方面顯示出比傳統(tǒng)人工制作更迅速和準(zhǔn)確的優(yōu)點,尤其是在信息記錄,檢索和查詢方面,更是使我們?nèi)祟惐苊饬瞬槐匾穆闊?

19、lt;/p><p>  開發(fā)和使用醫(yī)院管理系統(tǒng)對于醫(yī)院來說是非常必要的,它能加快醫(yī)院的信息化步伐,提高醫(yī)院的管理水平和醫(yī)療水平,增強(qiáng)在同行業(yè)中的競爭實力,是現(xiàn)代醫(yī)院管理與計算機(jī)信息技術(shù)的必要結(jié)合。醫(yī)院管理系統(tǒng)能加強(qiáng)醫(yī)院內(nèi)部管理、提高醫(yī)療服務(wù)水平,最大限度地提高醫(yī)院運(yùn)行的效率和醫(yī)院管理水平,給醫(yī)院帶來了顯著的經(jīng)濟(jì)效益和社會效益,也能使醫(yī)院在未來競爭中處于領(lǐng)先地位。</p><p>  本課題設(shè)計

20、一個醫(yī)院管理系統(tǒng),通過這個系統(tǒng)管理員可以簡捷、方便的對病人、醫(yī)生的記錄進(jìn)行查閱、增加、刪除等功能,而用戶也可以通過這個系統(tǒng)對進(jìn)醫(yī)生和病人的信息查詢、賬戶增刪等功能。系統(tǒng)采用Visual Basic作開發(fā)工具,SQL Server 2000作數(shù)據(jù)庫管理系統(tǒng)。</p><p>  2 系統(tǒng)理論基礎(chǔ)及開發(fā)工具簡介</p><p><b>  2.1 C/S結(jié)構(gòu)</b><

21、;/p><p>  2.1.1什么是C/S結(jié)構(gòu)</p><p>  C/S(Client/Server)結(jié)構(gòu),即大家熟知的“客戶機(jī)和服務(wù)器”結(jié)構(gòu),它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用

22、發(fā)展,Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件,因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng),這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。</p><p>  2.1.2 C/S架構(gòu)軟件的優(yōu)勢與劣勢</p><p> ?。?)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分

23、組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序,二者可分別稱為前臺程序與后臺程序。運(yùn)行數(shù)據(jù)庫服務(wù)器程序的機(jī)器,也稱為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求;客戶應(yīng)用程序運(yùn)行在用戶自己的電腦上,對應(yīng)于數(shù)據(jù)庫服務(wù)器,可稱為客戶電腦,當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。</p><p

24、>  (2)數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨立進(jìn)行的,前臺應(yīng)用可以違反的規(guī)則,并且通常把那些不同的運(yùn)行數(shù)據(jù)在服務(wù)器程序中不集中實現(xiàn),例如訪問者的權(quán)限、編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非?!笆?/p>

25、小”,麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。</p><p> ?。?)C/S架構(gòu)的劣勢是高昂的維護(hù)成本且投資大。首先,采用C/S架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實現(xiàn),有這樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就

26、必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務(wù)器在線運(yùn)行,網(wǎng)絡(luò)管理工作人員既要對服務(wù)器維護(hù)管理,又要對客戶端維護(hù)和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護(hù)成本很高,維護(hù)任務(wù)量大。其次,傳統(tǒng)的C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,由于產(chǎn)品的更新?lián)Q代十分快,代價高和低效率已經(jīng)不適應(yīng)工作需要。</p><p>  2.2 Visual Basic的介紹</p><p

27、>  Visual Basic(VB)是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動編程語言。從任何標(biāo)準(zhǔn)來說,VB都是世界上使用人數(shù)最多的語言——不僅是盛贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)量。它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個應(yīng)用程序。<

28、;/p><p>  一個典型的VB進(jìn)程VB的中心思想就是要便于程序員使用,無論是新手或者專家。VB使用了可以簡單建立應(yīng)用程序的GUI系統(tǒng),但是又可以開發(fā)相當(dāng)復(fù)雜的程序。VB的程序是一種基于窗體的可視化組件安排的聯(lián)合,并且增加代碼來指定組建的屬性和方法。因為默認(rèn)的屬性和方法已經(jīng)有一部分定義在了組件內(nèi),所以程序員不用寫多少代碼就可以完成一個簡單的程序。過去的版本里面VB程序的性能問題一直被放在了桌面上,但是隨著計算機(jī)速度

29、的飛速增加,關(guān)于性能的爭論已經(jīng)越來越少。</p><p>  窗體控件的增加和改變可以用拖放技術(shù)實現(xiàn)。一個排列滿控件的工具箱用來顯示可用控件(比如文本框或者按鈕)。每個控件都有自己的屬性和事件。默認(rèn)的屬性值會在控件創(chuàng)建的時候提供,但是程序員也可以進(jìn)行更改。很多的屬性值可以在運(yùn)行時候隨著用戶的動作和修改進(jìn)行改動,這樣就形成了一個動態(tài)的程序。舉個例子來說:窗體的大小改變事件中加入了可以改變控件位置的代碼,在運(yùn)行時候每

30、當(dāng)用戶更改窗口大小,控件也會隨之改變位置。在文本框中的文字改變事件中加入相應(yīng)的代碼,程序就能夠在文字輸入的時候自動翻譯或者阻止某些字符的輸入。</p><p>  VB的程序可以包含一個或多個窗體,或者是一個主窗體和多個子窗體,類似于操作系統(tǒng)的樣子。有很少功能的對話框窗口(比如沒有最大化和最小化按鈕的窗體)可以用來提供彈出功能</p><p>  VB的組件既可以擁有用戶界面,也可以沒有。

31、這樣一來服務(wù)器端程序就可以處理增加的模塊。</p><p>  VB使用參數(shù)計算的方法來進(jìn)行垃圾收集,這個方法中包含有大量的對象,提供基本的面向?qū)ο笾С?。因為越來越多組建的出現(xiàn),程序員可以選用自己需要的擴(kuò)展庫。和有些語言不一樣,VB對大小寫不敏感,但是能自動轉(zhuǎn)換關(guān)鍵詞到標(biāo)準(zhǔn)的大小寫狀態(tài),以及強(qiáng)制使得符號表入口的實體的變量名稱遵循書寫規(guī)則。默認(rèn)情況下字符串的比較是對大小寫敏感的,但是可以關(guān)閉這個功能。</p&

32、gt;<p><b>  一些術(shù)語:</b></p><p>  控件——簡單的說,控件就是構(gòu)成或者說建造Visual Basic應(yīng)用程序的圖形化工具,包括窗體、按鈕、復(fù)選框、列表框、數(shù)據(jù)控件、表格控件和圖片控件等等;</p><p>  事件——由用戶或操作系統(tǒng)引發(fā)的動作。事件的示例有擊鍵、單擊鼠標(biāo)(Click)、雙擊鼠標(biāo)(DblClick)、一段時間

33、的限制,或從端口接收數(shù)據(jù);</p><p>  方法——嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應(yīng)某事件。例如,數(shù)據(jù)庫對象有打開紀(jì)錄集并從一個記錄移動到另一個記錄的方法程序的基本元素,它含有定義其特征的屬性,定義其任務(wù)和識別它可以響應(yīng)的事件的方法??丶痛绑w是Visual Basic中所有對象的示例;</p><p>  對象——一個控件、窗體等都可被看作一個對象;</

34、p><p>  過程——為完成某些特定的任務(wù)而編寫的代碼段,過程通常用于響應(yīng)特定的事件,也可以當(dāng)作應(yīng)用程序的用戶自定義函數(shù)來使用;</p><p>  屬性——屬性是組成用戶界面的各對象的性質(zhì)的具體描述。例如上述“對象”中所提到的尺寸、位置、顏色、寬度、高度等等都稱為控件的 屬性。屬性決定對象的外觀,有時也決定對象的行為。對象的屬性絕大部分是VB中已經(jīng)事先定義好的,但也有的屬性是需要在應(yīng)用 過

35、程中才去定義的。屬性即可為對象提供數(shù)據(jù),也能從對象取回信息。</p><p>  2.3 SQL Server2000簡介</p><p>  SQL Server是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),是Microsoft推出新一代數(shù)據(jù)管理與分析軟件。SQL Server 是一個全面的、集成的、端到端的數(shù)據(jù)解決方案,它為企業(yè)中的用戶提供了一個安全、可靠和高效的平臺用于企業(yè)數(shù)據(jù)管理和商業(yè)智能應(yīng)用。<

36、;/p><p>  SQL Server 2000是一個全面的、集成的、端到端的數(shù)據(jù)解決方案,它為企業(yè)中的用戶提供了一個安全、可靠和高效的平臺用于企業(yè)數(shù)據(jù)管理和商業(yè)智能應(yīng)用。SQL Server 2000為IT專家和信息工作者帶來了強(qiáng)大的、熟悉的工具,同時減少了在從移動設(shè)備到企業(yè)數(shù)據(jù)系統(tǒng)的多平臺上創(chuàng)建、部署、管理及使用企業(yè)數(shù)據(jù)和分析應(yīng)用程序的復(fù)雜度。通過全面的功能集、和現(xiàn)有系統(tǒng)的集成性、以及對日常任務(wù)的自動化管理能力

37、,SQL Server 2000為不同規(guī)模的企業(yè)提供了一個完整的數(shù)據(jù)解決方案。</p><p>  SQL Server 2000數(shù)據(jù)平臺包括如下工具:關(guān)系型數(shù)據(jù)庫、復(fù)制服務(wù)、通知服務(wù)、集成服務(wù)、分析服務(wù)、報表服務(wù)、管理工具、開發(fā)工具。</p><p>  SQL Server 2000數(shù)據(jù)平臺為不同規(guī)模的組織提供了如下好處:充分利用數(shù)據(jù)資產(chǎn)、提高生產(chǎn)力、減少IT復(fù)雜度、更低的總體擁有成本

38、(TCO)。</p><p>  3 系統(tǒng)需求分析與方案設(shè)計</p><p><b>  3.1 需求分析</b></p><p>  醫(yī)院管理系統(tǒng)是針對醫(yī)院要求用計算機(jī)對醫(yī)生和病人的各種信息進(jìn)行匯總和記錄的一種現(xiàn)代化管理軟件,主要包括對病人的注冊、就診、住院登記、治療結(jié)果、出院情況等檔案信息的添加、記錄、修改和查詢等。</p>

39、<p>  通過對用戶需求的分析,要求本系統(tǒng)具有以下功能:</p><p>  (1) 由于一項新的軟件在被使用之前,對于使用者來說是陌生和嶄新的,所以要求系統(tǒng)具有良好的人機(jī)界面;</p><p>  (2) 原始數(shù)據(jù)修改簡單方便,在系統(tǒng)的使用過程中支持多條件查詢;</p><p>  (3) 數(shù)據(jù)計算自動完成,數(shù)據(jù)的穩(wěn)定性和可靠性好,盡量減少人工干預(yù)。&

40、lt;/p><p><b>  3.2 方案設(shè)計</b></p><p>  具體說來,要求本系統(tǒng)具有以下五個功能模塊:門診模塊、醫(yī)生信息模塊、病人登記管理模塊、病人就診信息模塊和住院信息管理模塊。</p><p>  系統(tǒng)整體的模塊圖如圖1所示:</p><p>  各模塊具體的需求描述如下:</p><

41、;p>  (1)病人登記管理模塊:</p><p>  以系統(tǒng)合法的身份進(jìn)入系統(tǒng)后,可以直接處理新增病人的記錄,包括病人各項基本信息;</p><p>  (2)醫(yī)生信息模塊:</p><p>  進(jìn)入系統(tǒng)之后,可以在本模塊進(jìn)行新醫(yī)生用戶的基本信息諸如姓名、科室、職稱、聯(lián)系方式等的錄入,以及通過姓名對醫(yī)生的信息進(jìn)行查詢;</p><p>

42、;  (3)病人就診信息模塊:</p><p>  通過對病人病癥的描述,可以判斷出病人的疾病情況,做好記錄,并可決定是否需要住院治療;</p><p>  (4)住院信息管理模塊:</p><p>  醫(yī)生確定該病人入院治療,其中包括對病癥的詳細(xì)描述;</p><p><b>  (5)出院模塊:</b></p&

43、gt;<p>  醫(yī)生控制該病人的出院信息,包括出院的時間以及出院是的身體狀況。</p><p><b>  3.3可行性研究</b></p><p>  3.3.1 技術(shù)可行性方面</p><p>  本系統(tǒng)利用Visual Basic作為系統(tǒng)的開發(fā)工具,是因為它采用面向?qū)ο蟮木幊谭椒ā殉绦蚝蛿?shù)據(jù)封裝起來作為一個對象,并為每

44、個對象賦予相應(yīng)的屬性;事件驅(qū)動的編程機(jī)制——通過事件執(zhí)行對象的操作,在設(shè)計應(yīng)用程序時,不必建立具有明顯的開始和結(jié)束的程序,而是編寫若干個過程,通過這些過程執(zhí)行指定的操作;提供完善的指令控制語句,給開發(fā)高性能的系統(tǒng)提供了保障,保證了代碼的模塊化要求。</p><p>  系統(tǒng)采用SQL Server 2000作為后臺數(shù)據(jù)庫,它可以通過窗體提供的工具輸入數(shù)據(jù)到數(shù)據(jù)庫,可以使用查詢設(shè)計和結(jié)構(gòu)查詢語言實現(xiàn)查詢。在技術(shù)難度

45、方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)的參考文獻(xiàn),特別是身邊的同學(xué)的幫助,使得在開發(fā)過程中所遇到的困難都能夠一一得到解決。</p><p>  3.3.2 經(jīng)濟(jì)可行性</p><p>  隨著計算機(jī)的大量普及,其價格已經(jīng)越來越被眾多的單位和人所接受,然而價格的低廉并不意味著性能上的退化,相反,隨著科學(xué)技術(shù)的發(fā)展,計算機(jī)隨著價格的降低,性能卻日漸提高。本系統(tǒng)的開發(fā),在已經(jīng)使用了計算機(jī)進(jìn)行管理的醫(yī)療

46、系統(tǒng)中無疑會受到歡迎,它會給醫(yī)院的工作效率帶來一個質(zhì)的飛躍,其主要的優(yōu)點主要表現(xiàn)在它可以作為醫(yī)院管理系統(tǒng)基本功能的一個縮影,集成了門診模塊、病人登記管理模塊、病人就診信息模塊和住院信息管理模塊等多種功能,具有較強(qiáng)的實用性和先進(jìn)性。</p><p>  由于本系統(tǒng)具有安全性上面的保護(hù)措施,只有用戶擁有了系統(tǒng)合法的用戶名和相應(yīng)的密碼之后,才能進(jìn)入系統(tǒng),對系統(tǒng)的對應(yīng)信息進(jìn)行添加、修改和刪除,其他非合法的用戶都不能進(jìn)入系

47、統(tǒng),這樣,使得醫(yī)院在處理信息方面更加保密。</p><p>  3.3.3 操作上的可行性</p><p>  由于本系統(tǒng)管理的對象比較單一,都是就診的病人和相關(guān)醫(yī)務(wù)人員,且每個數(shù)據(jù)庫內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,設(shè)計的過程不是很復(fù)雜,因此,比較適合于采用數(shù)據(jù)庫管理。且因為本系統(tǒng)所耗費的資源非常小,故一般工作中使用的微機(jī)無論在軟件上還是硬件上都可以滿足運(yùn)行要求。</p><p&

48、gt;<b>  4 系統(tǒng)的實現(xiàn)</b></p><p>  4.1 數(shù)據(jù)庫的構(gòu)建</p><p>  4.1.1 IHMS_Users表</p><p>  此表的設(shè)計是為了實現(xiàn)本醫(yī)院管理系統(tǒng)的用戶的新增和密碼的管理,包括編號(Id)、用戶名(Users)、密碼(Pass)和科室(Departments):</p><p&

49、gt;  表1 IHMS_Users表</p><p>  4.1.2 Disease表</p><p>  此表是數(shù)據(jù)庫中“疾病”的信息集合,包括疾病編號(Disease_ID)和疾病名(Disease_Name):</p><p>  表2 Disease表</p><p>  4.1.3 Doctor表</p><p

50、>  這是“醫(yī)生信息”表,包括醫(yī)生的姓名(Name)、性別(Sex)、年齡(Age)、籍貫(Province)、科室(Dept)、手機(jī)號(Mobile)和職稱(Grade)這一系列的基本信息:</p><p>  表3 Doctor表</p><p>  4.1.4 Patient_Hospital_History表</p><p>  此表是病人出院的時候的

51、信息統(tǒng)計表,包括病歷號(Case_Ref_No)、入院時的身體狀況(Admission_Status)、入院的時間(Date_of_Admission)、主治醫(yī)生的姓名(Name_of_Doctor)、醫(yī)生的備注(Doctors_Diagnosis)、出院的時間(Date_of_Discharge)以及出院時病人的身體康復(fù)情況(Status_Upon_Discharge):</p><p>  表3 Patien

52、t_Hospital_History表</p><p>  4.1.5 Patient_Lab_Info表</p><p>  此表是病人的病歷表,包括病人的編號(Hosp_No)、血型(Blood_Group)、RH因子(RhFactor)以及過敏史(Allergy):</p><p>  表4 Patient_Lab_Info表</p><p

53、>  4.1.6 Patient_Personal_Info表</p><p>  此表是病人的基本信息表,包括病人的姓名(SName,FName)、出生日期(Date_Of_Birth)、性別(Sex)、家庭住址(Home_Add)和職業(yè)(Occupation):</p><p>  表5 Patient_Lab_Info表</p><p>  4.1.7

54、Symptoms表</p><p>  這是“病情癥狀”表,對不同病癥的描述以便病人就診時能準(zhǔn)確判斷其病癥所在,包括癥狀編號(Symptom_ID)、疾病編號(Disease_ID)、癥狀名(Symptom_Name)和描述(Desrciption)幾個方面:</p><p>  表6 Symptoms表</p><p>  4.2 系統(tǒng)登陸模塊</p>

55、<p>  4.2.1 啟動界面</p><p>  這是整個系統(tǒng)開始運(yùn)行時出現(xiàn)的第一個界面,是由frmSplash具體控制和實現(xiàn)的:</p><p><b>  圖2 系統(tǒng)啟動界面</b></p><p>  在這個部分,系統(tǒng)會完成與數(shù)據(jù)庫的連接工作,具體的代碼實現(xiàn)如下:</p><p>  Privat

56、e Sub Form_Load()</p><p>  ConnectString = "Provider=SQLOLEDB.1; Password=123; Persist Security Info=True; User ID=sa; Initial Catalog=IHMS;Data Source=(local)" </p><p>  Me.MousePoint

57、er = 11</p><p>  Set somePatient = New CPatient</p><p><b>  End Sub</b></p><p>  時鐘的設(shè)計,可以控制從該初始界面進(jìn)入到系統(tǒng)主界面的時間:</p><p>  Private Sub Timer1_Timer()</p>

58、<p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  然后,整個系統(tǒng)就進(jìn)入主界面。</p><p>  4.2.2 系統(tǒng)主界面</p><p>  所謂系統(tǒng)主界面,也就是程序主窗體frmmain,它是整個系統(tǒng)的主要操作界面

59、,也是在登陸之后首先出現(xiàn)的系統(tǒng)操作界面(圖3),采用菜單結(jié)構(gòu),簡單明了,操作方便:</p><p><b>  圖3 系統(tǒng)主界面</b></p><p>  4.2.3 登陸界面</p><p>  該模塊具體是由frmLogin窗體控制并實現(xiàn)的。本HIS系統(tǒng)可供兩種身份的用戶登陸:一個是Admin,另一個是醫(yī)生。二者唯一的權(quán)限區(qū)別就是Admi

60、n可以對醫(yī)生用戶進(jìn)行管理:添加、刪除、密碼修改。以下實現(xiàn)的是以醫(yī)生的身份登陸該系統(tǒng):</p><p><b>  圖4 登陸對話框</b></p><p>  Do While Not .EOF And Not LoginSucceeded</p><p>  If (cboUserName = .Fields("users"

61、;)) And Trim(txtPassword) = .Fields("pass") Then</p><p>  TypeStr = .Fields("Type") '登陸生效</p><p>  If (TypeStr = "醫(yī)生") Then</p><

62、;p>  Departments = .Fields("Departments")</p><p><b>  End If</b></p><p>  MsgBox "登陸成功,歡迎進(jìn)入系統(tǒng).", vbInformation, "歡迎"</p><p>  LoginSucce

63、eded = True</p><p>  Call ConfigMenus(cboUserName)</p><p><b>  Unload Me</b></p><p><b>  End If</b></p><p><b>  .MoveNext</b></p&

64、gt;<p><b>  Loop</b></p><p>  4.2.4 系統(tǒng)管理員權(quán)限界面</p><p>  Admin可以對醫(yī)生用戶進(jìn)行管理:添加、刪除、密碼修改:</p><p><b>  圖5 權(quán)限管理</b></p><p>  4.3 醫(yī)生信息模塊</p>

65、<p>  本模塊的設(shè)計主要是對醫(yī)生的信息進(jìn)行收集管理,其中包括的項目有:醫(yī)生性命、醫(yī)生性別、醫(yī)生年齡、醫(yī)生籍貫、醫(yī)生手機(jī)號、醫(yī)生科室、醫(yī)生職稱七個項目,同時還可以進(jìn)行醫(yī)生賬戶的新增和依據(jù)生命對醫(yī)生信息進(jìn)行查詢等功能。frmDoctor窗體具體負(fù)責(zé)這個模塊的設(shè)計和實現(xiàn):</p><p>  Private Sub Command2_Click()</p><p>  datD

66、octors.Recordset.Fields("Name") = TextName.Text</p><p>  datDoctors.Recordset.Fields("Sex") = ComboSex.ListIndex</p><p>  datDoctors.Recordset.Fields("Age") = Val(T

67、extAge.Text)</p><p>  datDoctors.Recordset.Fields("Province") = TextProvince.Text</p><p>  datDoctors.Recordset.Fields("Mobile") = TextMobile.Text</p><p>  datDo

68、ctors.Recordset.Fields("Dept") = TextDept.Text</p><p>  datDoctors.Recordset.Fields("Grade") = TextGrade.Text</p><p>  datDoctors.Recordset.Save</p><p>  MsgBox

69、"保存成功!"</p><p><b>  End Sub</b></p><p><b>  Do</b></p><p>  If datDoctors.Recordset.EOF Then Exit Do</p><p>  If (datDoctors.Recordset

70、.Fields("Name") = TextSearch.Text) Then</p><p>  find_flag = True</p><p><b>  Else</b></p><p>  datDoctors.Recordset.MoveNext</p><p><b>  En

71、d If </b></p><p>  Loop Until (find_flag) </p><p>  If find_flag Then</p><p>  RefreshData</p><p>  MsgBox "查詢成功!" </p><p><b>  Else&

72、lt;/b></p><p>  MsgBox "沒有查到您要的記錄!"</p><p>  圖6 新增、查詢醫(yī)生信息對話框</p><p>  4.4 病人登記管理模塊</p><p>  病人到醫(yī)院就診,需要在HIS里建立一個屬于自己的“賬戶”,里面將包括病人最基本的一些信息。通過下圖,可以很清晰地看到,這個模塊

73、主要使用了一些TextBox和ComboBox來進(jìn)行病人信息的錄入,其中“性別”、“血型”、“Rh因子”三項是由ComboBox控制實現(xiàn)的,其下拉菜單比較方便系統(tǒng)用戶的操作并可以防止錄入不合法的信息:</p><p><b>  圖7 病人注冊</b></p><p>  Private Sub cmdRegAndAdmit_Click()</p>&l

74、t;p>  Set thisNewPatient = New CPatient '新建一個病人對象</p><p>  With thisNewPatient '向新建的病人對象寫入信息</p><p>  .HospNo = Val(txtHospNo)</

75、p><p>  .SName = Trim(txtSName)</p><p>  .FName = Trim(txtFName)</p><p>  .DoB = Trim(txtDOB)</p><p>  .Sex = cboSex</p><p>  .HomeAdd = Trim(txtHomeAdd)</

76、p><p>  .StateOfOrigin = Trim(txtStateOfOrigin)</p><p>  .Occupation = Trim(txtOccupation)</p><p>  .NameNoK = Trim(txtKinName)</p><p>  .RelaNok = Trim(txtRelationship)&l

77、t;/p><p>  .AddNok = Trim(txtKinAddress)</p><p>  .SponsorName = Trim(txtNameOfSponsor) '寫入擔(dān)保人信息</p><p>  .SponsorAdd = Trim(txtAddOfSponsor)</p><p>  .B

78、loodGrp = Trim(cboBloodGrp) '寫入化驗室數(shù)據(jù)信息</p><p>  .RHFactor = cboRHFactor</p><p>  .Allergy = Trim(txtAllergy)</p><p><b>  End With</b></p&g

79、t;<p>  .frmAdmission.Show 1</p><p>  Call ClearRegForm</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  4.5 病人就診信息模塊</p>

80、<p>  按照正常的流程,成功登記的病人用戶應(yīng)該就診。以成功登記的病人,可以通過對病癥的描述方式得出初步診斷結(jié)果。這部分工作由frmDiagnosis窗體具體控制和實現(xiàn)。在這個模塊里,對于文本性的信息仍舊使用TextBox實現(xiàn),而對于病癥的描述,采取了用五條病癥同時描述來實現(xiàn),每一條病癥選擇出都采用ComboBox來實現(xiàn),其下拉菜單出將出現(xiàn)DB表里所存儲的病癥的所有描述。</p><p><

81、b>  圖8 診斷信息</b></p><p>  Dim symptom(4) As String</p><p>  Dim diseaseID(4) As Integer</p><p>  Dim diseaseName(4) As String</p><p>  Dim diagnosisResults(4) A

82、s String</p><p>  Dim X As Integer </p><p>  For X = 0 To 4 </p><p>  symptom(X) = cboSymptom(X)</p><p><b>  Next X</b>

83、</p><p>  If symptom(0) = "N/A" Or symptom(0) = "" Then '保證病人至少選擇一個病癥描述,否則退出</p><p>  MsgBox "You must specify AT LEAST one sign/symptom to diagnose a patient

84、, starting with Symptom 1.", vbInformation</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  Call DiagnosePatient(symptom(0), diseaseID(0), disea

85、seName(0))</p><p>  txtDisease(0).Text = diseaseName(0)</p><p>  For X = 1 To 4 '根據(jù)描述的癥狀產(chǎn)生出一個診斷結(jié)果</p><p>  If symptom(X) <> ""

86、 Then</p><p>  Call DiagnosePatient(symptom(X), diseaseID(X), diseaseName(X))</p><p>  If diseaseName(X) <> diseaseName(0) Then diagnosisResults(X) = diseaseName(X)</p><p><

87、;b>  End If</b></p><p><b>  Next X</b></p><p>  Dim a As Integer, b As Integer</p><p>  Dim temp As String</p><p>  For a = 1 To 3</p><p

88、>  For b = 1 To 4 - a</p><p>  If diagnosisResults(b) > diagnosisResults(b + 1) Then</p><p>  temp = diagnosisResults(b)</p><p>  diagnosisResults(b) = diagnosisResults(b + 1)

89、</p><p>  diagnosisResults(b + 1) = temp</p><p>  ElseIf diagnosisResults(b) = diagnosisResults(b + 1) Then</p><p>  txtDisease(1) = ""

90、 '顯示結(jié)果</p><p>  For a = 1 To 4</p><p>  If diagnosisResults(a) <> "" Then txtDisease(1) = txtDisease(1) + diagnosisResults(a) + vbCrLf</p><p><b>  Ne

91、xt a</b></p><p><b>  End Sub</b></p><p>  4.6 病人住院信息管理模塊</p><p>  經(jīng)過了醫(yī)生的診斷,就可以得出病人的病癥情況,也就可以決定改病人是否需要住院治療。這個模塊主要是由frmAdmitExisting窗體控制和實現(xiàn)的。這個窗體的設(shè)計比較簡單明了,由病人的主治醫(yī)師填入

92、住院時間、醫(yī)師姓名以及一些備注信息后就可以成功給病人辦理住院手續(xù)。該窗體由幾個簡單的TextBox實現(xiàn)所對應(yīng)的也都是一些文本信息。</p><p><b>  圖9 病人病例</b></p><p>  Private Sub cmdConfirmAdmission_Click()</p><p>  With Me.datHospHist.R

93、ecordset</p><p>  .Fields("Hosp_No") = somePatient.HospNo</p><p>  .Fields("Admission_Status") = "IN"</p><p>  .Fields("Date_of_Admission") =

94、 txtDateOfAdmission</p><p>  .Fields("Name_of_Doctor") = txtDoctorInCharge</p><p>  .Fields("Doctors_Diagnosis") = txtDoctorsComments</p><p><b>  .Update&l

95、t;/b></p><p><b>  End With</b></p><p>  MsgBox "住院手續(xù)登記成功.", vbInformation, "成功"</p><p>  Unload frmOldPatient</p><p><b>  Unloa

96、d Me</b></p><p><b>  Exit Sub</b></p><p><b>  errhnd:</b></p><p>  Debug.Print Err.Number; " "; Err.Description</p><p>  MsgBo

97、x "一個未知錯誤.", vbInformation, "未知錯誤!"</p><p>  Resume Next</p><p><b>  End Sub</b></p><p>  Private Sub datHospHist_1_Validate(Action As Integer, Save

98、As Integer)</p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p>  lblHeading.Caption = lblHeading.Caption + Str(somePatient.HospNo)</p><p>  dat

99、HospHist.ConnectionString = ConnectString</p><p>  datHospHist.RecordSource = "Patient_Hospital_History"</p><p>  datHospHist.Refresh</p><p>  datHospHist.Recordset.AddNew

100、</p><p><b>  '顯示保存的結(jié)果</b></p><p>  txtCaseRefNo = datHospHist.Recordset.Fields("Case_Ref_No")</p><p><b>  End Sub</b></p><p><b

101、>  圖10 住院信息</b></p><p>  Private Sub cmdConfirmAdmission_Click()</p><p>  With frmNewReg.datPerInfo.Recordset</p><p>  .Fields("Hosp_No") = frmNewReg.thisNewPatie

102、nt.HospNo '病人信息</p><p>  .Fields("SName") = frmNewReg.thisNewPatient.SName</p><p>  .Fields("FName") = frmNewReg.thisNewPatient.FName</p><p>  

103、.Fields("Sex") = frmNewReg.thisNewPatient.Sex</p><p>  .Fields("Home_Add") = frmNewReg.thisNewPatient.HomeAdd</p><p>  .Fields("State_of_Origin") = frmNewReg.thisNe

104、wPatient.StateOfOrigin</p><p>  .Fields("Occupation") = frmNewReg.thisNewPatient.Occupation</p><p>  .Fields("Name_of_NoK") = frmNewReg.thisNewPatient.NameNoK '親

105、屬信息</p><p>  .Fields("Relationship_to_NoK") = frmNewReg.thisNewPatient.RelaNok</p><p>  .Fields("Add_of_NoK") = frmNewReg.thisNewPatient.AddNok</p><p>  .Fields(

106、"Name_of_Sponsor") = frmNewReg.thisNewPatient.SponsorName '擔(dān)保人信息</p><p>  .Fields("Add_of_Sponsor") = frmNewReg.thisNewPatient.SponsorAdd</p><p><b>  End With<

107、;/b></p><p>  With frmNewReg.datLabInfo.Recordset</p><p>  .Fields("Hosp_No") = frmNewReg.thisNewPatient.HospNo '化驗室信息 </p><p>  .Fields("Blood_

108、Group") = frmNewReg.thisNewPatient.BloodGrp</p><p>  .Fields("RhFactor") = frmNewReg.thisNewPatient.RHFactor</p><p>  .Fields("Allergy") = frmNewReg.thisNewPatient.Aller

109、gy</p><p><b>  End With</b></p><p>  With Me.datHospHist.Recordset</p><p>  .Fields("Hosp_No") = Val(txtHospNo)</p><p>  .Fields("Admission_S

110、tatus") = "IN"</p><p>  .Fields("Date_of_Admission") = txtDateOfAdmission</p><p>  .Fields("Name_of_Doctor") = txtDoctorInCharge</p><p>  .Fields(

111、"Doctors_Diagnosis") = txtDoctorsDiag</p><p><b>  End With</b></p><p>  frmNewReg.datPerInfo.Recordset.Update</p><p>  frmNewReg.datLabInfo.Recordset.Update<

112、;/p><p>  Me.datHospHist.Recordset.Update</p><p>  MsgBox "新病人的入院手續(xù)登記成功.", vbInformation, "成功"</p><p><b>  Unload Me</b></p><p><b>  

113、Exit Sub</b></p><p>  4.7 病人出院信息管理模塊</p><p>  住院的病人總有出院的時候,這個模塊就是控制病人出院的。frmOldPatient窗體主要包括病人的一下基本信息,“住院”、“診斷”和“出院”三個按鈕分別可以在不同的時期進(jìn)行不同的操作,前二者回到了前面已經(jīng)介紹過的“診斷”和“住院”模塊,而“出院”按鈕則是控制出院的信息管理。</

114、p><p>  而點擊“出院”按鈕則進(jìn)入“出院手續(xù)辦理”頁面,這部分主要是frmDischarge窗體控制并實現(xiàn)的,從下圖可以看到,幾個TextBox和一個ComboBox完成了這一模塊的信息記錄: </p><p><b>  圖11 出院手續(xù)</b></p><p>  Private Sub Form_Load()</p>&l

115、t;p>  Dim flgFound As Boolean</p><p>  lblHeading.Caption = lblHeading.Caption + Str(somePatient.HospNo)</p><p>  datHospHist.ConnectionString = ConnectString</p><p>  datHospHis

116、t.RecordSource = "Patient_Hospital_History"</p><p>  datHospHist.Refresh</p><p>  datHospHist.Recordset.MoveLast '搜尋PATIENT_HOSPITAL_HISTORY表</p><p>  With dat

117、HospHist.Recordset</p><p><b>  Do</b></p><p>  If .Fields("Hosp_No") = somePatient.HospNo Then</p><p>  flgFound = True</p><p><b>  Else<

118、/b></p><p>  .MovePrevious</p><p><b>  End If</b></p><p>  Loop Until (.BOF) Or (flgFound)</p><p><b>  End With</b></p><p>  Wit

119、h somePatient '顯示已收集的信息</p><p>  txtAdmissionDate = .AdmissionDate</p><p>  txtCaseRefNo = datHospHist.Recordset.Fields("Case_Ref_No")</p&

120、gt;<p>  txtDoctorInCharge = .DocName</p><p>  txtDoctorsDiag = .Diagnosis</p><p><b>  End With</b></p><p><b>  End Sub</b></p><p><b&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論