畢業(yè)設計論文-醫(yī)院住院管理系統(tǒng)_第1頁
畢業(yè)設計論文-醫(yī)院住院管理系統(tǒng)_第2頁
畢業(yè)設計論文-醫(yī)院住院管理系統(tǒng)_第3頁
畢業(yè)設計論文-醫(yī)院住院管理系統(tǒng)_第4頁
畢業(yè)設計論文-醫(yī)院住院管理系統(tǒng)_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊安徽工業(yè)大學畢業(yè)設計(論文)說明書安徽工業(yè)大學畢業(yè)設計(論文)任務書課題名稱醫(yī)院住院管理系統(tǒng)學院計算機學院班級姓名學號畢業(yè)設計(論文)的主要內容:1、學習和掌握系統(tǒng)的開發(fā)和技術,按照軟件工程的思想對醫(yī)院住院管理系統(tǒng)進行設計編碼和測試。2、系統(tǒng)能滿足實際運行需求,能實現醫(yī)院住院管理的基本需求。3、要求軟件美觀,使用方便。4、完成一篇論文。篇幅為1.5到2萬字左右,中外文摘要約300字,關鍵詞3到5個。5、完成與設計內容有關的外文資料翻譯,譯文約5000字。6、提交帶有注釋的原程序清單。起止時間:年月日至年月日共周指導教師簽字系主任簽字院長簽字共IV頁第PAGEIV頁摘要隨著網絡技術的發(fā)展和普及,計算機管理信息系統(tǒng)在企業(yè)管理中扮演著重要的角色。高效率、無差錯的醫(yī)院住院管理系統(tǒng)的開發(fā)適應了時代的需要。該系統(tǒng)的主要目的是告別手工操作、安全快捷的保存數據信息、節(jié)約時間、從而提高快速和準確性。醫(yī)院住院管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數據庫的建立和維護以及前端程序的開發(fā)兩個方面。為了更好的滿足醫(yī)護人員用戶的需求,本系統(tǒng)包括如下功能模塊:出入院管理、病人管理、病房管理、系統(tǒng)用戶管理模塊,每個模塊都有其獨自的功能,以達到更好的服務于用戶。系統(tǒng)采用B/S結構,用當前最流行的JSP+SERVLETWEB開發(fā)技術開發(fā),系統(tǒng)架構采用MVC模式,分層架構,其中持久層采用當前流行的持久層框架Hibernate來實現。數據庫采用MySQL小型數據庫,小巧方便使用。為了方便編碼的過程,系統(tǒng)引入日志,使用Log4j來記錄程序運行日志,以方便程序調試和查看程序運行信息。關鍵詞:醫(yī)院住院管理系統(tǒng);B/S;JAVAWEB開發(fā)技術;HIBERNATE;Log4jAbstractWiththedevelopmentandpopularizationofnetworktechnology,computermanagementinformationsysteminenterprisemanagementplaysanimportantrole.Efficient,error-freehospitalmanagementsystemdevelopmenttoadapttotheneedsofthetimes,thesystem'smainpurposeistobidfarewelltomanualoperation,thepreservationofsafeandefficientdata,savingtime,therebyenhancingthespeedandaccuracy.HospitalManagementSystemisatypicalmanagementinformationsystem(MIS),whichmainlyincludestheestablishmentandmaintenanceofback-enddatabaseandfrontenddevelopmentofthetwo.Inordertobettermeetthemedicalneedsofusers,thesystemincludesthefollowingfunctionalmodules:thehospitalmanagement,patientmanagement,wardmanagement,systemusermanagementmodule,eachmodulehasitsownfeaturestoachievebetterserviceUsers.SystemusestheB/Sstructure,withthemostpopularJSP+SERVLETWEBdevelopmentoftechnologydevelopment,systemarchitectureusingMVCmodel,layeredarchitecture,whichusesthepopularpersistenceframeworkHibernatetoachievepersistencelayer.MySQLdatabaseisasmalldatabaseandcompacteasytouse.Inordertofacilitatetheprocessofencoding,thesystemintroducedlogtorecordtheprogramrunswithLog4jloggingtofacilitatedebuggingandviewruninformation.Keywords:Hospitalmanagementsystem;B/S;JAVAWEBdevelopmenttechnology;HIBERNATE;Log4j目錄1.緒論 11.1系統(tǒng)開發(fā)的意義 11.2系統(tǒng)開發(fā)的目標 11.3相關研究工作 22.開發(fā)語言和開發(fā)工具簡介 32.1JAVA簡介 32.1.1JAVA的概念 32.1.2JAVA的特點 32.2JAVAWEB開發(fā)技術簡介 42.2.1B/S結構 42.2.2Servlet技術 52.2.3JSP技術 62.2.4Hibernate和Log4j簡介 72.3MySQL簡介 82.3.1MySQL概述 82.3.2MySQL的優(yōu)點 82.4TOMCAT簡介 92.5Eclipse簡介 103.可行性研究與需求分析 113.1可行性研究 113.1.1社會可行性分析 113.1.2技術可行性分析 113.1.3經濟可行性 113.1.4可行性分析結論 123.2需求分析 123.2.1系統(tǒng)的目的 123.2.2目標 133.3醫(yī)院住院管理系統(tǒng)數據流圖 134.總體設計 164.1系統(tǒng)總體設計思想 164.2系統(tǒng)功能模塊圖 174.3系統(tǒng)的流程圖 185.詳細設計 195.1數據庫設計的E-R圖 195.2數據庫設計 205.3輸入輸出設計 215.3.1輸入設計 215.3.2輸出設計 225.3.3輸入輸出的界面設計 225.4部分頁面和代碼設計、描述 225.4.1登錄功能及其相關設計 225.4.2入院登記及其相關設計 245.4.3出院操作及其相關設計 255.4.4病房信息管理及其相關設計 275.4.5病房信息查詢及其相關設計 285.4.6病人信息管理及其相關設計 295.4.7病人信息查詢及其相關設計 305.4.8系統(tǒng)用戶信息管理及其相關設計 315.4.9系統(tǒng)用戶信息查詢及其相關設計 325.5DAO層代碼設計與描述 336.系統(tǒng)測試 356.1功能測試 356.2測試結果 35結論 37致謝 38主要參考文獻 39附錄一實現本系統(tǒng)的部分源代碼 40附錄二外文資料翻譯 49外文原文 49中文譯文 54 共58頁第58頁1.緒論1.1系統(tǒng)開發(fā)的意義目前,我國醫(yī)療衛(wèi)生制度和醫(yī)療保障制度的改革不斷深化,醫(yī)院也被迫向市場經濟的海洋深處移動,經驗主義的管理方法已明顯表現出不科學、落后的弱點,如何用最快捷的方式取得醫(yī)院運行的各項指標,如何對醫(yī)院人,才、物進行科學的成本核算,怎樣保證醫(yī)院醫(yī)療、教學、科研的質量監(jiān)控,怎樣在醫(yī)院內,甚至院外實行信息交流、網上會診、繼續(xù)教育等一系列問題都擺在醫(yī)院管理者和行政人員以及每位醫(yī)護人員的面前。因此,醫(yī)療衛(wèi)生事業(yè)發(fā)展和管理的信息化、數字化、網絡化、之間的關系,以及對醫(yī)院信息化、數字化、網絡化的要求,從來沒有像今天這樣感到迫切與巨大的壓力。醫(yī)院信息管理就是在這種情況下產生的一門應用科學。一直以來醫(yī)院的管理都是手工操作。手工操作手續(xù)復雜,不方便管理,不能保證數據的準確性和及時性,不僅浪費人力、物力和時間,重要的是手工操作可能造成數據錄入的錯誤,影響工作效率。隨著計算機性能不斷提高,價格不斷下降,計算機已在醫(yī)院醫(yī)療、教學、科研、管理等方面得到越來越廣泛的應用。計算機化的醫(yī)院信息系統(tǒng)(HIS)已成為現代化醫(yī)院運營過程中必不可少的基礎設施與技術支撐環(huán)境。就好像一個現代化醫(yī)院的成功運行離不開功能完整、美觀舒適的建筑物、及時嫻熟的醫(yī)護人員、性能齊全、高精尖的醫(yī)療設備一樣,它也離不開計算機的醫(yī)院信息系統(tǒng)。醫(yī)療行業(yè)是關系人類健康的重要事業(yè),醫(yī)院信息系統(tǒng)是醫(yī)療保險體制的信息源頭,因此,醫(yī)院的信息化建設不僅是今后醫(yī)院發(fā)展的重要方向,也將是IT界關注的領域。一個設計合理、功能完善的檢驗信息系統(tǒng),成為醫(yī)院網絡資源中的重要部分,在提高醫(yī)院醫(yī)療服務和檢驗工作的科學管理方面具有重大意義。1.2系統(tǒng)開發(fā)的目標通過簡單的需求分析,完成的醫(yī)院住院管理系統(tǒng),能夠實現輔助醫(yī)院醫(yī)護人員工作,提高醫(yī)院醫(yī)護人員的工作效率。通過本系統(tǒng),能夠實現對住院部門的病人和病房兩大信息的管理包括增、刪、改、查,減輕醫(yī)護人員的工作負擔。本系統(tǒng)提供強大的查詢功能,可以讓系統(tǒng)用戶根據各種不同的查詢條件查詢出相應的數據。出入院操作能夠簡單的實現病人的出入院操作,方便醫(yī)院醫(yī)護人員的操作,系統(tǒng)應該界面美觀,操作簡單,功能明確、完善。系統(tǒng)操作,應該有很高的效率,數據庫操作方面應該提高效率,不能反應緩慢,這在系統(tǒng)搭建上要求合理、完善。通過建立該醫(yī)院住院管理系統(tǒng),采用計算機對醫(yī)院病房和病人進行管理和查詢,進一步提高醫(yī)院住院管理效益和現代化水平,幫助提高醫(yī)院住院管理工作人員工作效率,實現醫(yī)院住院管理工作流程的系統(tǒng)化、規(guī)范化和自動化。系統(tǒng)應該具有很好的擴展性,這就要求系統(tǒng)架構合理、可擴展,充分考慮到以后的需求變化。設計良好的代碼允許更多的功能在必要時可以被插入到適當的位置中。這樣做的好處是為了應對未來可能需要進行的修改,這就需要系統(tǒng)設計時能夠有一個良好的軟件框架。系統(tǒng)的安全性,也是本次系統(tǒng)設計的一個重要目標,設計中要考慮到用戶的非法訪問,通過拒絕用戶的非法訪問來保證用戶數據的安全和系統(tǒng)的安全。1.3相關研究工作為了順利完成基于醫(yī)院住院管理系統(tǒng)系統(tǒng)的設計與實現,我在畢業(yè)設計期間所做的研究工作如下:1.研究了相關文獻中關于醫(yī)院住院管理系統(tǒng)的內容,了解需求、制定需求2.學習JAVAWEB開發(fā)技術,了解JSP、servlet、B/S架構3.學習Hibernate持久層、Log4j日志的的使用4.學習WEB項目的搭建和MVC架構模式5.設計醫(yī)院住院管理系統(tǒng)的體系結構6.設計醫(yī)院住院管理系統(tǒng)的模塊及其界面2.開發(fā)語言和開發(fā)工具簡介2.1JAVA簡介2.1.1JAVA的概念JAVA是SUN公司于1995年5月推出的JAVA面向對象程序設計語言和JAVA平臺的總稱。Java是一種簡單的,跨平臺的,面向對象的,分布式的,解釋的,健壯的安全的,結構的中立的,可移植的,性能很優(yōu)異的多線程的,動態(tài)的語言。Java是一種編程語言,被特意設計用于互聯網的分布式環(huán)境。Java具有類似于C++語言的“形式和感覺”,但它要比C++語言更易于使用,而且在編程時徹底采用了一種“以對象為導向”的方式。使用Java編寫的應用程序,既可以在一臺單獨的電腦上運行,也可以被分布在一個網絡的服務器端和客戶端運行。另外,Java還可以被用來編寫容量很小的應用程序模塊或者applet,做為網頁的一部分使用。applet可使網頁使用者和網頁之間進行交互式操作。Java也號稱是能跨平臺使用的語言,這主要是因為Java本身被編譯之后,并不是直接產生可執(zhí)行的碼,而是產生一種中間碼叫作ByteCode,這種碼必需在透過Java的直譯器來解讀它,才能夠真正的被執(zhí)行,所以只要平臺上裝有這種Java的直譯器,就能解讀ByteCode也就能執(zhí)行Java編譯過的程序,故與Java程序是在那種平臺上被編譯的,就完全沒有干系了。Java寫出來的程序可分為兩類,分別是JavaApplet與一般的Application,而Application這一類就與一般的程序如C++的作用是比較類似的,是一個獨立可執(zhí)行的應用程序,像HotJava是一個瀏覽器,且就是使用Java程序所發(fā)展出來的。最常見的Java程序包括應用程序和applets。應用程序是單獨的程序,諸如HotJava瀏覽器軟件就是用Java語言編寫的。Applets類似于應用程序,但是它們不能單獨運行,Applets可以在支持Java的瀏覽器中運行。Applet主要是內置于HTML網頁中,在瀏覽時發(fā)揮作用。Java的目標是為了滿足在一個充滿各式各樣不同種機器,不同操作系統(tǒng)平臺的網絡環(huán)境中開發(fā)軟件。利用Java程序語言,可以在網頁中加入各式各樣的動態(tài)效果??梢苑派弦欢蝿赢?,加入聲音,也可以建立交互式網頁等。2.1.2JAVA的特點1.平臺無關性平臺無關性是指Java能運行于不同的平臺。Java引進虛擬機原理,并運行于虛擬機,實現不同平臺的Java接口之間。使用Java編寫的程序能在世界范圍內共享。Java的數據類型與機器無關,Java虛擬機(JavaVirtualMachine)是建立在硬件和操作系統(tǒng)之上,實現Java二進制代碼的解釋執(zhí)行功能,提供于不同平臺的接口的。2.安全性Java的編程類似C++,學習過C++的讀者將很快掌握Java的精髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序運行時,內存由操作系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。Java對程序提供了安全管理器,防止程序的非法訪問。面向對象Java吸取了C++面向對象的概念,將數據封裝于類中,利用類的優(yōu)點,實現了程序的簡潔性和便于維護性。類的封裝性、繼承性等有關對象的特性,使程序代碼只需一次編譯,然后通過上述特性反復利用。程序員只需把主要精力用在類和接口的設計和應用上。Java提供了眾多的一般對象的類,通過繼承即可使用父類的方法。在Java中,類的繼承關系是單一的非多重的,一個子類只有一個父類,子類的父類又有一個父類。Java提供的Object類及其子類的繼承關系如同一棵倒立的樹形,根類為Object類,Object類功能強大,經常會使用到它及其它派生的子類。分布式Java建立在擴展TCP/IP網絡平臺上。庫函數提供了用HTTP和FTP協議傳送和接受信息的方法。這使得程序員使用網絡上的文件和使用本機文件一樣容易。健壯性Java致力于檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發(fā)早期出現的錯誤。Java自己操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能,這些功能特征大大提高了開發(fā)Java應用程序的周期。并且Java還提供了Null指針檢測、數組邊界檢測、異常出口、Bytecode校驗等功能。2.2JAVAWEB開發(fā)技術簡介2.2.1B/S結構B/S結構(Browser/Server結構)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件,只要有一臺能上網的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易。B/S結構的使用越來越多,特別是由需求推動了AJAX技術的發(fā)展,它的程序也能在客戶端電腦上進行部分處理,從而大大的減輕了服務器的負擔;并增加了交互性,能進行局部實時刷新。B/S三層體系結構采用三層客戶/服務器結構,在數據管理層(Server)和用戶界面層(Client)增加了一層結構,稱為中間件(Middleware),使整個體系結構成為三層。三層結構是伴隨著中間件技術的成熟而興起的,核心概念是利用中間件將應用分為表示層、業(yè)務邏輯層和數據存儲層三個不同的處理層次。三個層次的劃分是從邏輯上分的,具體的物理分法可以有多種組合。中間件作為構造三層結構應用系統(tǒng)的基礎平臺,提供了以下主要功能:負責客戶機與服務器、服務器與服務器間的連接和通信;實現應用與數據庫的高效連接;提供一個三層結構應用的開發(fā)、運行、部署和管理的平臺。這種三層結構在層與層之間相互獨立,任何一層的改變不會影響其它層的功能。在B/S體系結構系統(tǒng)中,用戶通過瀏覽器向分布在網絡上的許多服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。而其余如數據請求、加工、結果返回以及動態(tài)網頁生成、對數據庫的訪問和應用程序的執(zhí)行等工作全部由WebServer完成。隨著Windows將瀏覽器技術植入操作系統(tǒng)內部,這種結構已成為當今應用軟件的首選體系結構。顯然B/S結構應用程序相對于傳統(tǒng)的C/S結構應用程序是一個非常大的進步。B/S結構的主要特點是分布性強、維護方便、開發(fā)簡單且共享性強、總體擁有成本低。但數據安全性問題、對服務器要求過高、數據傳輸速度慢、軟件的個性化特點明顯降低,這些缺點是有目共睹的,難以實現傳統(tǒng)模式下的特殊功能要求。例如通過瀏覽器進行大量的數據輸入或進行報表的應答、專用性打印輸出都比較困難和不便。此外,實現復雜的應用構造有較大的困難。雖然可以用ActiveX、Java等技術開發(fā)較為復雜的應用,但是相對于發(fā)展已非常成熟C/S的一系列應用工具來說,這些技術的開發(fā)復雜,并沒有完全成熟的技術工具供使用。2.2.2Servlet技術Servlet是一種服務器端的Java應用程序,具有獨立于平臺和協議的特性,可以生成動態(tài)的Web頁面。它擔當客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務器響應(HTTP服務器上的數據庫或應用程序)的中間層。Servlet是位于Web服務器內部的服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,Servlet由Web服務器進行加載,該Web服務器必須包含支持Servlet的Java虛擬機。Servlet是使用JavaServlet應用程序設計接口(API)及相關類和方法的Java程序。除了JavaServletAPI,Servlet還可以使用用以擴展和添加到API的Java類軟件包。Servlet在啟用Java的Web服務器上或應用服務器上運行并擴展了該服務器的能力。Javaservlet對于Web服務器就好象Javaapplet對于Web瀏覽器。Servlet裝入Web服務器并在Web服務器內執(zhí)行,而applet裝入Web瀏覽器并在Web瀏覽器內執(zhí)行。JavaServletAPI定義了一個servlet和Java使能的服務器之間的一個標準接口,這使得Servlets具有跨服務器平臺的特性。Servlet通過創(chuàng)建一個框架來擴展服務器的能力,以提供在Web上進行請求和響應服務。當客戶機發(fā)送請求至服務器時,服務器可以將請求信息發(fā)送給Servlet,并讓Servlet建立起服務器返回給客戶機的響應。當啟動Web服務器或客戶機第一次請求服務時,可以自動裝入Servlet。裝入后,Servlet繼續(xù)運行直到其它客戶機發(fā)出請求。圖2-1Servlet運行過程2.2.3JSP技術JSP(JavaServerPages)技術是由Sun公司發(fā)布的用于開發(fā)動態(tài)Web應用的一項技術。它以其簡單易學、跨平臺的特性,在眾多動態(tài)Web應用程序設計語言中異軍突起,在短短幾年中已經形成了一套完整的規(guī)范,并廣泛地應用于電子商務等各個領域中。在國內,JSP現在也得到了比較廣泛的重視,得到了很好的發(fā)展,越來越多的動態(tài)網站開始采用JSP技術。JSP技術可以以一種簡捷而快速的方法生成Web頁面。使用JSP技術的Web頁面可以很容易地顯示動態(tài)內容。JSP技術的設計目的是使得構造基于Web的應用程序更加容易和快捷,而這些應用程序能夠與各種Web服務器、應用服務器、瀏覽器和開發(fā)工具共同工作。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。Web服務器在遇到訪問JSP網頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數據庫、重新定向網頁等,以實現建立動態(tài)網頁所需要的功能。JSP與JavaServlet一樣,是在服務器端執(zhí)行的,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點。2.2.4Hibernate和Log4j簡介Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。Hibernate作為一種ORM技術,實現了對象模型和關系型數據庫之間的映射。Hibernate將JavaBean對象和數據庫的表建立了對應關系。這樣程序員在操作數據庫時,就不需要再使用JDBC調用SQL語句,而可以直接操作JavaBean對象,進行數據庫操作。Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。圖2-2Hibernate接口關系圖Log4j是Apache的一個開放源代碼項目,通過使用Log4j,我們可以控制日志信息輸送的目的地是控制臺、文件、GUI組件、甚至是套接口服務器、NT的事件記錄器、UNIXSyslog守護進程等;我們也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級別,我們能夠更加細致地控制日志的生成過程。最令人感興趣的就是,這些可以通過一個配置文件來靈活地進行配置,而不需要修改應用的代碼。 圖2-3Log4j類圖2.3MySQL簡介2.3.1MySQL概述MySQL是一種開放源代碼的關系型數據庫管理系統(tǒng)(RDBMS),MySQL數據庫系統(tǒng)使用最常用的數據庫管理語言--結構化查詢語言(SQL)進行數據庫管理。MySQL是一個小型關系型數據庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司,在2008年1月16號被Sun公司收購。MySQL被廣泛地應用在Internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。如雅虎、阿爾卡特—朗訊、Google公司、諾基亞公司、百度等公司就采用了MySQL數據庫。MySQL數據庫可以稱得上是目前運行速度最快的SQL語言數據庫。除了具有許多其它數據庫所不具備的功能和選擇之外,MySQL數據庫是一種完全免費的產品,用戶可以直接從網上下載。2.3.2MySQL的優(yōu)點1、可移植性使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。2、可擴展性和靈活性MySQL可以支持UNIX、Linux和SUNOS以及Windows等多種操作系統(tǒng)平臺。在一個操作系統(tǒng)中實現的應用可以很方便地移植到其他操作系統(tǒng)。MySQL作為開源性質的數據庫服務器,可以為那些想要增加獨特需求的用戶提供完全定制的功能。3、強大的數據保護功能MySQL有一個非常靈活且安全的權限和密碼系統(tǒng)。為確保只有獲授權用戶才能進入該數據庫服務器,所有的密碼傳輸均采用加密形式,同時也提供了SSH和SSI。支持,以實現安全和可靠的連接。MySQL強大的數據加密和解密功能,可以保證敏感數據不受未經授權的訪問。4、支持大型的數據庫雖然對于用PHP編寫的網頁來說,只要能夠存放數百條以上的記錄數據就是夠了,但MySQL可以方便地支持上千萬條記錄的數據庫。作為一個開放源代碼的數據庫,MySQL可以針對不同的應用進行相應的修改。5、超強的穩(wěn)定性MySQL擁有一個非??焖俣曳€(wěn)定的基于線程的內存分配系統(tǒng),可以持續(xù)使用而不必擔心其穩(wěn)定性。線程是輕量級的進程,它可以靈活地為用戶提供服務,而不占用過多的系統(tǒng)資源。用多線程和C語言實現的MySQL能很容易地充分利用CPU。6、強大的查詢功能MySQL支持查詢的select和where語句的全部運算符和函數,并且可以在同一查詢中混用來自不同數據庫的表,從而使得查詢變得快捷、方便。2.4TOMCAT簡介Tomcat是一個小型的輕量級應用服務器,是開發(fā)和調試JSP程序的首選。他運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能。Tomcat是一個免費的開放源代碼的Servlet容器,它是Apache軟件基金會(ApacheSoftwareFoundation)的一個頂級項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現,Tomcat6支持最新的Servlet2.5和JSP2.1規(guī)范。因為Tomcat技術先進、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛,并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web服務器。Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache,我們可以將Apache和Tomcat集成在一起使用,Apache作為HTTPWeb服務器,Tomcat作為Web容器。圖2-4Tomcat服務器接受客戶請求并做出響應的過程2.5Eclipse簡介Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)Eclipse是由一個很小的核心和基于這個核心之上的大量插件組成,這種插件式結構給當時開發(fā)社區(qū)帶來了沖擊,可以使用大量插件來進行擴展開發(fā)。Eclipse對內存控制很好,Eclipse對這些插件的調用是動態(tài)的,也就是說在使用這個插件的時候才會被調入內存,如果不去使用就不會占用內存,而且Eclipse會在適當時候將長時間不使用的插件清理出內存。Eclipse擁有漂亮的開發(fā)界面,是基于SWT開發(fā)。標準部件庫(StandardWidgetToolkit,SWT)是基于Java環(huán)境下的新類庫,它提供了Java環(huán)境下的圖形編程接口,SWT中的圖形庫和工具包取代了AWT和SWING。SWT直接調用操作系統(tǒng)的圖形庫,這使得Java程序的運行速度得到了保證,但是SWT的缺點是支持的平臺太少,Eclipse也可以開發(fā)基于SWING的程序。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個組件主要針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣東西都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。3.可行性研究與需求分析3.1可行性研究可行性分析是對現行系統(tǒng)進行初步調查和研究之后的結論,它反映了新系統(tǒng)開發(fā)策略。下面分別從社會可行性、技術可行性以及經濟可行性三方面進行可行性分析。3.1.1社會可行性分析由于醫(yī)院住院病人數量眾多,因而通過電腦化操作可以減少紙張的使用,同時由于數據直接通過局域網傳輸,可以減少信息傳遞時間,提高效率,同時也方便醫(yī)生,病人搜查相關住院信息,提高醫(yī)院工作透明度和工作效率。因此從社會可行性分析角度來說,該系統(tǒng)的開發(fā)和設計是可行的。3.1.2技術可行性分析本系統(tǒng)是一個基于B/S結構的醫(yī)院住院信息管理系統(tǒng),采用面向對象技術、數據庫技術、各種JAVA流行框架的應用等JAVAWEB先進技術開發(fā)的應用程序,現有的開發(fā)技術已非常成熟,且被廣泛應用于各行各業(yè),利用現有技術完全可以達到功能目標。其中軟件主要使用Eclipse、TOMCAT二者都是開源免費開發(fā)組件,數據庫采用MySQL。該管理系統(tǒng)以JAVA為主要開發(fā)語言,通過DAO方式與后臺數據庫MySQL相連接,建立了一個基于B/S(瀏覽器/服務器)的數據庫應用管理系統(tǒng)。維護工作方便,由于MySQL的易用性,使得后臺的操作十分便捷,操作人員可以在短時間內完全掌握系統(tǒng)的維護工作。在硬件方面,隨著它的不斷發(fā)展,給設計人員更大的靈活性,使研制周期變短,使復雜的設計輕而易舉得以實現。醫(yī)院住院管理系統(tǒng)在技術可行性上完全可以勝任,由于本醫(yī)院住院管理系統(tǒng),采用MySQL數據庫,以及JAVA語言。JAVA語言的跨平臺、安全性等特性,和眾多優(yōu)秀開源的框架的使用,因此在技術可行性上完全能夠完成。3.1.3經濟可行性在經濟上,本系統(tǒng)只是對醫(yī)院中的住院部進行設計,醫(yī)院住院部門是醫(yī)院必不可少的部分,是醫(yī)院主要的收入來源,通過本系統(tǒng)的開發(fā)設計,使得醫(yī)院住院管理更加流程化,方便,減輕醫(yī)院住院部門的壓力。除此之外,在可擴充性方面,系統(tǒng)采用生命周期法把一個復雜的系統(tǒng)開發(fā)工作分解成一些相對獨立的部分,可以分階段實施,為以后的擴充提供方便,隨著醫(yī)院規(guī)模的擴大,可以擴充其它的功能,而不須對系統(tǒng)的軟硬件作大的改動,從而滿足中小型醫(yī)院擴建的要求。采用本系統(tǒng)后,醫(yī)院不但可以減少醫(yī)院工作人員的工作量,減少工作人員數量,還可以提高工作效率,減少病人等待時間,從而更有利于醫(yī)院的發(fā)展和以后的競爭。本系統(tǒng)對設備要求不高,普通的服務器和幾臺客戶機完全可以勝任本系統(tǒng)的運行,因此在設備費用方面將不會十分巨大。軟件開發(fā)過程中,主要是針對住院管理部門過程中的開發(fā)及后臺業(yè)務管理。住院管理部門是醫(yī)院人流量最大,也最頻繁的,一個好的信息管理系統(tǒng)將顯著提高醫(yī)院住院部門的工作效率,從而進一步提高醫(yī)院的經濟效益,而傳統(tǒng)的手工操作不僅效率低下、工作人員容易犯錯,而且不會提高醫(yī)院的經濟效益。本系統(tǒng)設計時從用戶角度出發(fā),界面美觀,操作可視化,提供很多的提示信息,管理流程簡單易懂,對醫(yī)院工作人員來說容易上手。另外,系統(tǒng)開發(fā)時,充分考慮到,系統(tǒng)以后的可能擴展,因此對于二次開發(fā),將會更加方便,也即是說,系統(tǒng)的適應性很強,可以長期使用。最后,對于每個住院部門,可以根據自己需要,配置性能一般的計算機做為終端,向服務器存儲數據或搜索數據。根據分析研究,使用本套住院信息管理系統(tǒng)對于整個住院部門來說并不是一個很大的負擔,因而在經濟上是可行的。3.1.4可行性分析結論通過在社會、技術、經濟三方面的可行性研究分析,發(fā)現系統(tǒng)的開發(fā)滿足這三方面的要求,因此一致認為系統(tǒng)應該立即開發(fā)。3.2需求分析3.2.1系統(tǒng)的目的利用計算機管理,使醫(yī)院的日常工作簡單化和規(guī)范化,縮短住院辦手續(xù)的時間,同時對員工的管理工作增加了透明度,進而使醫(yī)院的各項資源得到更加充分的利用。具體的目的包括:(1)加快辦理病人入院、出院的速度,實現病人的資料在住院的全過程中實現信息化管理;(2)準確記錄病人和床位的各項信息,并提供全方位的查詢功能,讓病人、醫(yī)生、護士,能夠及時準確的掌握病人和床位的各種信息,從而有效提高工作效率,縮短工作時間。(3)系統(tǒng)具有一定的安全性和運行穩(wěn)定性、可擴展性。系統(tǒng)需要醫(yī)院員工輸入賬號和密碼才能操作,可以避免其它人員的惡意操作給醫(yī)院信息帶來的損失。(4)系統(tǒng)能夠提供一個界面友好、功能完善的信息管理系統(tǒng),方面醫(yī)護人員學習和操作,盡可能的簡化醫(yī)院操作,減少醫(yī)護人員學習和掌握系統(tǒng)的時間。3.2.2目標本系統(tǒng)主要實現與病人相關的各種信息的系統(tǒng)化、規(guī)范化和自動化,本住院管理系統(tǒng)主要完成的功能有:★出入院管理模塊。包括入院登記、病人出院操作?!锊》抗芾砟K。包括對病房的增刪改查(CRUD)操作,支持多種查詢條件★病人管理模塊。包括對病人信息的維護:增刪改查操作。支持多種查詢條件★系統(tǒng)管理模塊。包括對修改用戶、添加用戶、刪除用戶、退出系統(tǒng)★系統(tǒng)功能模塊。包括首頁、前進、后退、刷新等操作和顯示當前時間3.3醫(yī)院住院管理系統(tǒng)數據流圖管理員登陸系統(tǒng)醫(yī)護人員登陸系統(tǒng)管理員登陸系統(tǒng)醫(yī)護人員登陸系統(tǒng) 醫(yī)院住院管理系統(tǒng)醫(yī)院住院管理系統(tǒng)用戶信息用戶信息病房信息病人信息病人出入院信息 圖3-1醫(yī)院住院管理系統(tǒng)頂層對病人信息的維護、CRUD操作醫(yī)護人員登陸系統(tǒng)對病人信息的維護、CRUD操作醫(yī)護人員登陸系統(tǒng) 對病房信息的維護、CRUD操作入院登記出院操作對病房信息的維護、CRUD操作入院登記出院操作病人信息管理病房信息管理出入院管理病人信息管理病房信息管理出入院管理病房信息病房信息病人信息病人出入院信息用戶信息 系統(tǒng)用戶系統(tǒng)用戶管理對病房信息的維護、CRUD操作對病房信息的維護、CRUD操作管理員登陸系統(tǒng)管理員登陸系統(tǒng)圖3-2醫(yī)院住院管理系統(tǒng)第一層病人信息表、病人-病房對應表、病房信息表醫(yī)護人員病人信息表、病人-病房對應表、病房信息表醫(yī)護人員輸入病人詳細信息輸入病人詳細信息入院登記病人-病房對應表、病房信息表病人-病房對應表、病房信息表根據病人信息設置各種查詢條件,查詢病人信息學詳細信息根據病人信息設置各種查詢條件,查詢病人信息學詳細信息出院操作病房信息管理病房信息管理病房信息表病房信息表根據病人信息設置各種查詢條件,查詢病人信息學詳細信息根據病人信息設置各種查詢條件,查詢病人信息學詳細信息對病房信息進行管理,增刪改操作詳細信息病房信息查詢病房信息查詢病房信息表通過設置各種查詢條件,方便查詢操作病房信息表通過設置各種查詢條件,方便查詢操作病人信息管理病人信息管理病人信息表對病人信息進行管理,增刪改操作病人信息表對病人信息進行管理,增刪改操作詳細信息病人信息查詢病人信息查詢病人信息表通過設置各種查詢條件,方便查詢操作病人信息表通過設置各種查詢條件,方便查詢操作管理員管理員用戶信息表用戶信息管理用戶信息表用戶信息管理對用戶信息進行管理,增刪改操作對用戶信息進行管理,增刪改操作學詳細信息用戶信息管理用戶信息管理用戶信息表用戶信息表根據病人信息設置各種查詢條件,查詢病人信息學詳細信息根據病人信息設置各種查詢條件,查詢病人信息學詳細信息通過設置各種查詢條件,方便查詢操作詳細信息圖3-3醫(yī)院住院管理系統(tǒng)第二層4.總體設計4.1系統(tǒng)總體設計思想系統(tǒng)采用JSP+SERVLET開發(fā),采用當前最流行的JAVAWEB開發(fā)模式MVC,采用分層的思想,從系統(tǒng)中分出持久層,使用Hibernate作為持久層的開發(fā)工具,MVC開發(fā)模式流程圖如下所示:(控制器)(控制器)接受用戶請求調用模型響應用戶請求選擇視圖顯示響應結果(視圖)顯示模型的業(yè)務數據接受用戶請求把用戶輸入數據傳給控制器(模型)包含業(yè)務數據響應業(yè)務數據查詢處理業(yè)務邏輯通知視圖業(yè)務數據更新方法調用選擇視圖業(yè)務處理用戶請求業(yè)務數據查詢通知業(yè)務數據更新圖4-1MVC流程圖控制層獲取持久層dao時,采用工廠模式,即先初始化dao實例放到工廠中,然后如果控制層或者視圖層獲取訪問某個表的dao的話,即通過工廠獲取該dao的實例。系統(tǒng)模塊功能分開開發(fā),容易擴展,每個模塊功能單獨、明確。為了能夠實現分頁顯示信息,除了數據庫中采用分頁查詢外,系統(tǒng)中封裝分頁信息類,這樣,每次訪問數據庫中查詢數據時,就必須先構造分頁信息對象,如此實現查詢分頁顯示功能。通過構造過濾器,來加強系統(tǒng)的安全性和適用性,本系統(tǒng)中通過tomcat配置了兩個過濾器,一個是編碼過濾器,已解決普遍存在的中文亂碼問題,另一個是URL地址過濾器,為了能夠防止外部用戶的不合法的訪問,使系統(tǒng)更加安全和數據更加安全。最主要的是,通過一個合理的架構設計,以使系統(tǒng)達到一個很好的可擴展性。4.2系統(tǒng)功能模塊圖住院管理系統(tǒng)住院管理系統(tǒng)用戶信息管理系統(tǒng)用戶管理病人管理病房管理出入院管理用戶信息管理系統(tǒng)用戶管理病人管理病房管理出入院管理修改用戶信息新增用戶信息刪除用戶信息批量刪除用戶信息修改用戶信息新增用戶信息刪除用戶信息批量刪除用戶信息病人信息管理病人信息管理 批量刪除病人信息刪除病人信息新增病人信息修改病人信息批量刪除病人信息刪除病人信息新增病人信息修改病人信息病房信息查詢病房信息管理出院操作入院登記病房信息查詢病房信息管理出院操作入院登記病人信息查詢病人信息查詢按用戶名查詢按用戶姓名和性別查詢按用戶名查詢按用戶姓名和性別查詢按病房類型和病房狀態(tài)查詢按病房類型和病房狀態(tài)查詢按病人姓名和病人性別查詢病人信息查詢按科室名稱查詢按病人姓名和病人性別查詢病人信息查詢按科室名稱查詢按病房編號查詢批量刪除病房信息刪除病房信息修改病房信息新增病房信息按病房編號查詢批量刪除病房信息刪除病房信息修改病房信息新增病房信息按病人編號查詢按病人編號查詢按病房編號查詢按病房編號查詢圖4-2系統(tǒng)功能模塊圖4.3系統(tǒng)的流程圖NN輸入是否正確登陸界面輸入是否正確登陸界面輸入用戶名和密碼輸入用戶名和密碼YY用戶類型用戶類型醫(yī)護人員醫(yī)護人員病人管理病房管理出入院管理病人管理病房管理出入院管理管理員管理員系統(tǒng)用戶管理病人信息管理病人信息查詢病房信息查詢病房信息管理出院操作入院登記系統(tǒng)用戶管理病人信息管理病人信息查詢病房信息查詢病房信息管理出院操作入院登記病人-病房對應信息病房信息病人信息病人-病房對應信息病房信息病人信息病房信息管理病房信息管理系統(tǒng)用戶信息系統(tǒng)用戶信息病房信息查詢病房信息查詢圖4-3系統(tǒng)流程圖5.詳細設計5.1數據庫設計的E-R圖1)實體及其屬性·病人:住院編號,病人姓名,病人性別,病人入院時間,病人婚姻狀態(tài),病人出生地·病房:病房編號,病房類型,病房租金,病房狀態(tài),病房所屬科室,病房負責人,病房床位數,病房醫(yī)生,病房醫(yī)生號碼。各個實體間有如下關系:·一個病人只能入住一個病房,而一個病房可以住多名病人2)E-R圖:見圖5-1,圖中的1表示實體與實體間的對應關系是一對一,“m”“n”表示實體與實體間的關系是一對多。 入院時間病人性別病人姓名住院編號ID入院時間病人性別病人姓名住院編號ID 出生地婚姻狀態(tài) 出生地婚姻狀態(tài) 病人病房病人病房nn入住入住1病房醫(yī)生病房負責人1病房醫(yī)生病房負責人病房醫(yī)生號碼病房床位數病房醫(yī)生號碼病房床位數病房所屬科室病房狀態(tài)病房租金病房編號病房類型ID病房所屬科室病房狀態(tài)病房租金病房編號病房類型ID圖5-1本系統(tǒng)數據庫E-R圖5.2數據庫設計數據庫設計是整個程序設計的最關鍵部分。數據庫的設計是否合理,將對數據庫的大小、代碼的優(yōu)化起到至關重要的作用。因此,在設計程序前必須對數據庫進行設計,而在設計數據庫前必須對所要完成的功能進行認真的研究分析。根據系統(tǒng)的要求,需要建立存放系統(tǒng)使用過程中所用到的各種信息表:用戶表,病人信息表,病房信息表,病人病房對應表。用戶表:用來存放使用此系統(tǒng)的用戶的信息。表具體結構如表5-1所示。表5-1用戶信息表編號字段名稱數據結構可否為空說明1IDint否2USER_NAMEvarchar否用戶名3USER_REALNAMEvarchar否用戶姓名4USER_TYPEtinyint否用戶類型,0為醫(yī)護人員,1為管理員5PASSWORDvarchar否密碼6USER_GENDERtinyint否用戶性別,0為男,1為女,默認為男7USER_TELvarchar否用戶電話8USER_ADDRvarchar否用戶地址2)病人信息表:存放病人信息。表具體結構如表5-2所示表5-2病人信息表編號字段名稱數據結構可否為空說明1IDint否2HOSPITAL_NUMvarchar否病人住院編號,由系統(tǒng)自動生成3PATIENT_NAMEvarchar否病人姓名4PATIENT_GENDERtinyint否病人性別,0為男,1為女,默認為男5PATIENT_BIRTHDAYdate可病人入院時間6PATIENT_MARRYtinyint可病人婚姻狀況,0為已婚,1為未婚7PATIENT_BIRTHPLACEvarchar可病人出生地3)病房信息表:存放病房信息。表具體結構如表5-3所示。表5-3病房信息表編號字段名稱數據結構可否為空說明1IDint否2WARD_NUMvarchar否病房編號3WARD_TYPEtinyint否房間類型,0為單人間,1為雙人間,2為四人間,3為六人間4WARD_RENTdouble否病房租金5WARD_STATEtinyint否病房使用狀態(tài),0為可用,1為已滿6WARD_DEPARTMENTtinyint否病房所屬科室,0為內兒科,1為婦產科,2為外科,3為骨傷科7WARD_RESPNAMEvarchar否病房負責人8WARD_BEDNUMint否病房床位數9WARD_DOCTORvarchar否病房管理醫(yī)生10WARD_DOCTORTELvarcher否病房管理醫(yī)生號碼4)病人-病房對應表:存放病人住院信息。表具體結構如表5-4所示表5-4病人-病房對應表編號字段名稱數據結構可否為空說明1IDint否2HOSPITAL_NUMvarchar否住院編號3WARD_NUMvarchar否病房編號5.3輸入輸出設計5.3.1輸入設計輸入數據是為了在計算機內進行加工處理而從外部接收數據,它的正確與否對于整個系統(tǒng)質量的好壞是起決定作用的。1)設計原則第一,盡量采用人機對話方式輸入數據;第二,輸入格式的設計要便于填寫,便于歸檔,盡量減少漢字輸入以減輕輸入設計過程,保證輸入精度;第三,輸入數據的校核工作盡量由程序來保證。2)輸入設計輸入設備為鍵盤。輸入方式為文本輸入方式。5.3.2輸出設計輸出設計的目的是使系統(tǒng)能夠輸出滿足用戶需求的有用信息。1)設計原則第一,表格輸出要實用、方便、考慮用戶已經習慣的輸出格式;第二,輸出表格要考慮系統(tǒng)發(fā)展的需要;第三,屏幕輸出格式要清晰,重要數據要顯示在突出位置上。2)輸出設備輸出設備為顯示器,輸出格式舉例如下:序號住院編號病人姓名入院時間費用類型基本操作5.3.3輸入輸出的界面設計1)人機對話部分是人和計算機聯系的主要途徑,該部分主要從用戶操作方便的角度出發(fā)進行考慮,主要有選項卡、數據列表框、數據組合框、文本框、按鈕等形式。2)設計的系統(tǒng)界面從簡,避免了復雜界面給用戶造成的困惑。輸入界面色彩鮮艷會給操作員帶來疲勞,界面灰暗又會影響用戶的心情,因此,在設計輸入界面時采用了柔和色彩,減輕了操作員因長時間工作而感到的勞頓。5.4部分頁面和代碼設計、描述5.4.1登錄功能及其相關設計登錄界面設計圖5-2登錄界面功能描述輸入URL地址,訪問住院管理系統(tǒng),首先映入眼簾的是一個登陸界面,如上圖所示。根據提示,不同的操作員輸入各自的用戶號和登錄口令。其中用戶號會根據輸入的正確與否從后臺數據庫“ACCOUNT”表中自動提取。輸入正確,點擊“確認”按鈕登錄系統(tǒng),轉到主界面;若用戶不存在,則提示用戶名錯誤;若用戶密碼不正確,則提示密碼錯誤;主要代碼設計 //獲取用戶名和密碼 StringuserName=req.getParameter("username"); Stringpassword=req.getParameter("password"); log.debug("用戶"+userName+"請求登陸系統(tǒng)"); AccountDAOadao=(AccountDAO)DAOFactory.getDAO(AccountDAO.class.getName()); Accountaccount=adao.findAccountByName(userName); log.debug("用戶"+account); //提示錯誤信息,如何提示 if(account==null){ req.setAttribute("errorMessage","用戶名錯誤"); req.getRequestDispatcher("login.jsp").forward(req,resp); return; } if(!password.equals(account.getPassword())){ req.setAttribute("errorMessage","密碼錯誤"); req.getRequestDispatcher("login.jsp").forward(req,resp); return; } req.getSession().setAttribute("isLogin",true); req.getSession().setAttribute("account",account); resp.sendRedirect("main.jsp"); 5.4.2入院登記及其相關設計入院登記界面設計圖5-3入院登記界面功能描述醫(yī)護人員通過登記病人的詳細信息,和為病人分配床位,實現病人的入院登記操作,這是病人住院的首要操作。登記時會檢測病房的狀態(tài),若病房已滿,則提示【住院失敗,該房間已滿】,若無該房間,則提示【住院失敗,無該房間號?。。 ?,若登記成功,則會提示【登記成功?。。 ?,登記成功后,將病人信息存入【病人信息表中】,并將病人入院信息存入【病人-病房對應表中】,若此時房間滿員,則更改房間狀態(tài)為“已滿”。存病人信息時,有系統(tǒng)自動生成住院編號,分配給該住院病人。入院登記主要代碼設計 //獲得床位信息 ① StringwardNum=req.getParameter("wardnum"); WardInfoDAOwidao=(WardInfoDAO)DAOFactory.getDAO(WardInfoDAO.class.getName()); WardInfowi=widao.getWardInfoByWardNum(wardNum); //如果無該房間 if(wi==null){ resp.sendRedirect("inHospitalRegister.jsp?result=1"); return; }elseif(wi.getWardState()==1){//如果該房間狀態(tài)為已滿 resp.sendRedirect("inHospitalRegister.jsp?result=2"); return; } ② //系統(tǒng)自動生成住院編號 patientInfo.setHospitalNum(pidao.getNextHospitalNum()); //包存病人信息 pidao.savePatientInfo(patientInfo); PatientWardMapDAOpwmdao=(PatientWardMapDAO)DAOFactory.getDAO(PatientWardMapDAO.class.getName()); PatientWardMappwm=newPatientWardMap(); pwm.setHospitalNum(patientInfo.getHospitalNum()); pwm.setWardNum(req.getParameter("wardnum")); //病人入院,建立關系 pwmdao.savePatientWardMap(pwm); //更改房間狀態(tài) intcount=pwmdao.findPatientWardMapByWardNum(req.getParameter("wardnum")).size(); ("已入住"+count); ("一共能入住"+wi.getWardBednum()); if(wi.getWardBednum()==count){ wi.setWardState(1); widao.updateWardInfo(wi); } resp.sendRedirect("inHospitalRegister.jsp?success=true");5.4.3出院操作及其相關設計出院操作界面設計圖5-4出院操作界面功能描述醫(yī)護人員通過執(zhí)行此操作,進行病人出院操作。該功能模塊提供三種查詢病人信息的方法,分別為根據病人姓名和性別來查詢、根據病房編號來查詢、根據住院編號來查詢,這樣可以讓醫(yī)護人員工作更加方便、快捷的完成操作。出院時更新該病人所住房間的狀態(tài)為可用,然后刪除【病人-病房對應表中】相應的病人入院記錄,并提示【出院操作成功!??!】,從而完成該病人的出院操作,方便、快捷、步驟簡單。出院操作主要代碼設計 if(search==0){ //查詢1 PatientInfopatientInfo=newPatientInfo(); StringpatientName=req.getParameter("patientname"); intpatientGender=newInteger(req.getParameter("patientgender")); patientInfo.setPatientName(patientName); patientInfo.setPatientGender(patientGender); patientInfos=pidao.queryListWithCondition(patientInfo); maps=pwmdao.findPatientWardMapByListPatientInfo(patientInfos); }elseif(search==1){ //查詢2 PatientInfopatientInfo=newPatientInfo(); StringhospitalNum=req.getParameter("hospitalnum"); patientInfo.setHospitalNum(hospitalNum); patientInfos=pidao.queryListWithCondition(patientInfo); maps=pwmdao.findPatientWardMapByListPatientInfo(patientInfos); }elseif(search==2){ //查詢3 StringwardNum=req.getParameter("wardnum"); List<PatientWardMap>pwms=pwmdao.findPatientWardMapByWardNum(wardNum); maps=pidao.queryListWithHospitalNums(pwms); }elseif(search==3){ //出院操作 //更改房間的狀態(tài)為可用 Integerid=newInteger(req.getParameter("id")); StringwardNum=pwmdao.getPatientWardMapById(id).getWardNum(); WardInfowi=widao.getWardInfoByWardNum(wardNum); wi.setWardState(0); widao.updateWardInfo(wi); //刪除相應的關聯關系 pwmdao.deletePatientWardMapById(id); req.setAttribute("success",true); resp.sendRedirect("outHospitalOperator.jsp?success=true"); return; }5.4.4病房信息管理及其相關設計病房信息管理界面設計圖5-5病房信息管理界面設計功能描述醫(yī)院相關工作人員,可以通過該功能,實現對病房信息的管理包括增刪改,本模塊能夠實現信息的分頁顯示,通過設置分頁信息,讓信息數據分頁顯示,方便工作人員查看。通過該功能模塊,能夠實現病房信息的添加,工作人員填寫相關病房信息,如租金等后單擊保存即可成功添加一條病房信息,同樣,病房的編號,也會由系統(tǒng)自動生成。也可以實現病房信息的修改,修改完需要修改的信息后,單擊保存將會改變相應的病房信

溫馨提示

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

評論

0/150

提交評論