基于jspserletoracle的醫(yī)院掛號系統(tǒng)_第1頁
基于jspserletoracle的醫(yī)院掛號系統(tǒng)_第2頁
基于jspserletoracle的醫(yī)院掛號系統(tǒng)_第3頁
基于jspserletoracle的醫(yī)院掛號系統(tǒng)_第4頁
基于jspserletoracle的醫(yī)院掛號系統(tǒng)_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

摘要門診掛號一直是困擾醫(yī)院提高服務(wù)質(zhì)量的一個重要環(huán)節(jié),特別是醫(yī)療技術(shù)水平高、門診量大的綜合型大院,門診擁擠是一種普遍的現(xiàn)象。因此,本論文提出了醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng),求醫(yī)者只需坐在家中,輕松的點幾下鼠標(biāo),就可以掛上醫(yī)院門診號,可以做到“足不出戶選醫(yī)生”,這樣能夠有效減少求醫(yī)者的等待時間,使患者充分了解醫(yī)院及相關(guān)醫(yī)生的基本情況。該系統(tǒng)能利用有限的資源和空間為患者提供更優(yōu)質(zhì)的服務(wù)。本文描述了基于MVC視圖醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)的需求分析、系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)的過程。在對系統(tǒng)的需求分析過程中,首先對醫(yī)院門診管理系統(tǒng)的發(fā)展現(xiàn)狀進(jìn)行了簡單介紹,并重點對目前醫(yī)院門診掛號模式進(jìn)行了分析、比較,從而確定了本文的研究對象為網(wǎng)絡(luò)預(yù)約掛號模式。在對醫(yī)院門診掛號的調(diào)研基礎(chǔ)上,分析了用戶對業(yè)務(wù)流程、系統(tǒng)功能等方面的需求。該系統(tǒng)采用jsp技術(shù)、servlet、JDBC數(shù)據(jù)庫訪問等技術(shù),并對這些相關(guān)理論和技術(shù),進(jìn)行了詳細(xì)描述。隨后,本文詳細(xì)敘述了醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn),并對實現(xiàn)過程中的一些技術(shù)難點和關(guān)鍵技術(shù)做了深入的探討。接著,從系統(tǒng)安全性出發(fā),闡述了該系統(tǒng)的安全性設(shè)計,并給出了該系統(tǒng)的性能測試的方法。系統(tǒng)具有較強(qiáng)的實用性,己達(dá)到了預(yù)期的目標(biāo),取得了令人滿意的效果,但仍存在一些不足和值得深入研究的地方。同時隨著servlet技術(shù)的不斷發(fā)展,許多新的設(shè)計思路將會在本系統(tǒng)中得到應(yīng)用。關(guān)鍵詞:預(yù)約掛號、門診掛號、jsp技術(shù)第一章緒論1.1問題的提出門診掛號是病人就醫(yī)的第一個步驟,掛上一個滿意的號是獲得醫(yī)療服務(wù)的前提保證。目前看病掛號難已成為許多患者共同的感受。門診掛號也一直是困擾醫(yī)院提高服務(wù)質(zhì)量的一個重要環(huán)節(jié),特別是醫(yī)療技術(shù)水平高、門診量大的綜合型大醫(yī)院,門診擁擠是一種普遍的現(xiàn)象。而造成門診質(zhì)量難以提高的因素主要有以下兩個方面:1.集中式掛號,就診人員流量不均、具有不確定性,有明顯的就診高峰和低谷期,高峰期病人掛號排長隊、就診要長時問等待以及有個別醫(yī)生熟人插號的現(xiàn)象,環(huán)境擁擠混亂;醫(yī)生問診時問短、不仔細(xì)、服務(wù)態(tài)度差等現(xiàn)象時有發(fā)生。而低谷期,病人寥寥無幾,醫(yī)院資源浪費。2.專家號難求(特別是名專家號)。一名專家最多一天只能看15.20個求醫(yī)者,一些求醫(yī)者為了寶貴的號排上幾個小時的隊,從而出現(xiàn)了倒號、炒號現(xiàn)象,嚴(yán)重?fù)p害了病人的利益,也影響了醫(yī)院的聲譽。而當(dāng)醫(yī)院開通了網(wǎng)絡(luò)預(yù)約掛號系統(tǒng),可以有效的解決以上現(xiàn)象。求醫(yī)者只需坐在家中,輕松的點幾下鼠標(biāo),就可以掛上醫(yī)院專家門診號,可以做到“足不出戶選醫(yī)生”,這也能夠有效減少病人的等待時間,緩解醫(yī)院的掛號收費高峰,利用有限的資源和空間為病人提供更優(yōu)質(zhì)的服務(wù)。1.2醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)的意義根據(jù)統(tǒng)計數(shù)據(jù),我國每百萬擁有醫(yī)生和病床的數(shù)目要比發(fā)達(dá)國家要低得多。老百姓看病難、掛號難、掛專家號更難的問題相當(dāng)突出。此外,病人到醫(yī)院就診前對醫(yī)院的相關(guān)信息了解不多,對所掛的??坪歪t(yī)生的情況又不太了解,只能憑經(jīng)驗和印象進(jìn)行選擇,具有較大的盲目性。這些難題的破解有賴計算機(jī)網(wǎng)絡(luò)技術(shù)的應(yīng)用。醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)的實施具有以下幾點意義n1:(1)網(wǎng)絡(luò)掛號簡便、快捷醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)不需要網(wǎng)上注冊,只需要有效身份證件號碼的輸入,在家中或其他任何地方通過電腦進(jìn)行預(yù)約掛號操作,可根據(jù)需要選擇科室、醫(yī)生、就診日期和時間,最后確認(rèn)以完成預(yù)約掛號。操作只需幾分鐘。(2)網(wǎng)絡(luò)掛號省時、省力病人患病后本身已痛苦難耐,都希望盡早到醫(yī)院診療,以解除病痛。實際到醫(yī)院的第一件事就是掛號,只有掛上相應(yīng)的號,才能進(jìn)行診療。而往往高級別的大醫(yī)院掛號總是要排長隊的,有時排了隊還不一定掛得上號。此時病人和家屬的心情可想而知了。網(wǎng)絡(luò)的掛號方式為用戶提供了省時省力且實效的服務(wù),為一定層面的用戶在一定程度上解決了掛號難的問題。(3)用戶可自如地選擇合適的醫(yī)生選擇一個合適的醫(yī)生為自己診療,是每個患者由衷的愿望,在醫(yī)院改革的今天已經(jīng)成為現(xiàn)實。但要實現(xiàn)方便的選擇,在門診掛號窗口不是件容易的事。急急忙忙來醫(yī)院的患者和家屬,要先到大廳尋找和閱讀有關(guān)醫(yī)生的介紹,來確定選擇醫(yī)生,然后排隊掛號,且不一定能如愿見到自己所選的醫(yī)生,得到診治。如果采用網(wǎng)上掛號,便可在家中輕松地預(yù)先了解醫(yī)院及相關(guān)醫(yī)生的情況,經(jīng)家里人的斟酌商榷,來選定醫(yī)院和醫(yī)生,通過簡便的操作,完成掛號預(yù)約,以得到實惠方便的服務(wù)。(4)通過網(wǎng)絡(luò)以達(dá)到醫(yī)院門診掛號信息的共享從醫(yī)院掛號工作的角度來看,網(wǎng)絡(luò)的應(yīng)用及其所載信息能夠被多方共享,使醫(yī)院有關(guān)工作人員把既定的門診出診信息在相關(guān)網(wǎng)站及時發(fā)布,供病人、家屬及社會各方使用者參用。這為醫(yī)院掛號工作的管理提供了一個方便實用的平臺,即在最短的時間內(nèi)把醫(yī)生出診信息和臨時的變化提供給患者和社會用戶,使他們避免了到醫(yī)院就診的盲目性,提高了掛號的準(zhǔn)確性。網(wǎng)絡(luò)的共享,與門診大廳中傳統(tǒng)的醫(yī)院及醫(yī)生情況的宣傳設(shè)施相比,彌補(bǔ)了其空間有限、內(nèi)容固定不易更新的局限性,特別是出診醫(yī)生臨時變化的情況不能及時顯示,給病人來院診查帶來極大的不便甚至損失。(5)改善緩解醫(yī)院窗口掛號的緊張現(xiàn)狀在大醫(yī)院的門診大廳里,每天清晨都擁擠著等候掛號的人們。這是嚴(yán)酷的現(xiàn)實,是目前我國有限的衛(wèi)生醫(yī)療服務(wù)機(jī)構(gòu)與眾多人口及患病人群之間的矛盾的具體體現(xiàn)。這是擺在醫(yī)院管理者面前亟待解決的問題。掛號系統(tǒng)工作的管理者們采取了各種方式和措施來緩解矛盾,以減輕患者和家屬掛號的難度,其中網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)在一定程度上緩解改善了掛號窗口的緊張狀況。1.3本論文的主要工作1.系統(tǒng)開發(fā)技術(shù)的研究通過對servlet技術(shù)、數(shù)據(jù)庫訪問技術(shù)的研究,討論了基于MVC的Web服務(wù)和jdbc訪問oracle數(shù)據(jù)庫技術(shù),對進(jìn)行了詳細(xì)的闡述,說明其數(shù)據(jù)庫訪問技術(shù)的優(yōu)越性。2.B/S模式體系結(jié)構(gòu)的研究通過對B/S模式體系結(jié)構(gòu)的理解,研究了C/S和B/S架構(gòu)編程體系,同時具體分析了B/S架構(gòu)軟件的優(yōu)勢與劣勢,指出本系統(tǒng)網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)在開發(fā)設(shè)計中采用了三層B/S體系結(jié)構(gòu)的主流技術(shù)。3.系統(tǒng)的需求分析通過目前醫(yī)院門診掛號多種方案的分析比較,確定網(wǎng)絡(luò)預(yù)約方式為本論文的主要研究對象,論文從整體醫(yī)院門診的業(yè)務(wù)流程入手、進(jìn)而以網(wǎng)絡(luò)門診預(yù)約掛號業(yè)務(wù)流程為出發(fā)點,在充分分析了醫(yī)院門診掛號業(yè)務(wù)需求分析的同時,確定了系統(tǒng)功能需求。4.本系統(tǒng)的設(shè)計和實現(xiàn)根據(jù)系統(tǒng)的設(shè)計目標(biāo)內(nèi)容,對醫(yī)院門診掛號系統(tǒng)的主要功能進(jìn)行了設(shè)計與實現(xiàn),并應(yīng)用了一些主流技術(shù)。1.4論文的組織結(jié)構(gòu)第一章,介紹了本文的課題研究背景、目的和意義,并簡要說明論文的主要工作和組織結(jié)構(gòu)。第二章,主要介紹了與論文研究工作相關(guān)的開發(fā)技術(shù)基礎(chǔ),主要包括:面向服務(wù)架構(gòu)、servlet技術(shù)、MVC框架技術(shù)、數(shù)據(jù)庫訪問技術(shù),系統(tǒng)開發(fā)選用的oracle11g數(shù)據(jù)庫以及B/S模式體系結(jié)構(gòu)。.第三章,介紹了醫(yī)院門診管理系統(tǒng)及其發(fā)展?fàn)顩r,著重介紹系統(tǒng)的需求分析,分析了預(yù)約掛號多種方案的選擇,以及系統(tǒng)的業(yè)務(wù)流程、系統(tǒng)的功能需求,對于關(guān)鍵的系統(tǒng)目標(biāo)分析,來為下章來確定系統(tǒng)的功能模塊及設(shè)計目標(biāo)打下基礎(chǔ)。第四章,著重介紹了本系統(tǒng)的設(shè)計目標(biāo)、系統(tǒng)的體系結(jié)構(gòu)設(shè)計,在對業(yè)務(wù)流程的分析基礎(chǔ)上提出了系統(tǒng)的功能模塊,并設(shè)計出該系統(tǒng)的所用到的數(shù)據(jù)字典。第五章,主要介紹了系統(tǒng)的部署、系統(tǒng)的實施環(huán)境、系統(tǒng)的具體功能實現(xiàn);并詳細(xì)深入探討了一些技術(shù)難點和系統(tǒng)實現(xiàn)的關(guān)鍵技術(shù);并對系統(tǒng)的安全性進(jìn)行了需求分析和設(shè)計;此外本章也對該系統(tǒng)進(jìn)行了測試分析。第六章,對全文研究工作進(jìn)行總結(jié),并對未來研究工作作出展望。第二章系統(tǒng)的相關(guān)理論與技術(shù)支持2.1servlet技術(shù)2.1.1Servlet技術(shù)是用java編寫的服務(wù)器端的小程序。如今在j2ee中應(yīng)用也很廣泛。Servlet是使用javaservlet應(yīng)用程序設(shè)計接口編寫的java程序。它源于請求/響應(yīng)(request/response)模式,如它可以接收來自客戶瀏覽器的http請求,并產(chǎn)生一個響應(yīng),然后把這個響應(yīng)發(fā)送到客戶端。2.1.2特點:可移植性、靈活、效率高。事實上編寫HTTPservlet時只需要對httpServlet類進(jìn)行擴(kuò)展,一般也就覆蓋(即重寫)doget()和doput()方法來完成希望的功能,對其他方法可以不用理會。2.2MVC框架MVC全名是ModelViewController,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計典范,用于組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法,這個方法的假設(shè)前提是如果業(yè)務(wù)邏輯被聚集到一個部件里面,而且界面和用戶圍繞數(shù)據(jù)的交互能被改進(jìn)和個性化定制而不需要重新編寫業(yè)務(wù)邏輯MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中。2.3jdbc數(shù)據(jù)庫訪問技術(shù)2.3.1jdbc數(shù)據(jù)庫訪問技術(shù)特征JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純JavaAPI編寫數(shù)據(jù)庫應(yīng)用程序,同時,JDBC也是個商標(biāo)名。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBCAPI寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實現(xiàn)的接口。Java具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而JDBC正是作為此種用途的機(jī)制。2.3.2jdbc與其他數(shù)據(jù)庫訪問技術(shù)的比較目前,Microsoft的ODBCAPI可能是使用最廣的、用于訪問關(guān)系數(shù)據(jù)庫的編程接口。它能在幾乎所有平臺上連接幾乎所有的數(shù)據(jù)庫。為什么Java不使用ODBC?對這個問題的回答是:Java可以使用ODBC,但最好是在JDBC的幫助下以

JDBC-ODBC

橋的形式使用,這一點我們稍后再說?,F(xiàn)在的問題已變成:"為什么需要JDBC"?答案是顯然的:ODBC不適合直接在Java中使用,因為它使用C語言接口。從Java調(diào)用本地C

代碼在安全性、實現(xiàn)、堅固性和程序的自動移植性方面都有許多缺點。從ODBCCAPI到JavaAPI的字面翻譯是不可取的。例如,Java沒有指針,而ODBC卻對指針用得很廣泛(包括很容易出錯的指針"void*")。您可以將JDBC想象成被轉(zhuǎn)換為面向?qū)ο蠼涌诘腛DBC,而面向?qū)ο蟮慕涌趯ava

程序員來說較易于接受。ODBC很難學(xué)。它把簡單和高級功能混在一起,而且即使對于簡單的查詢,其選項也極為復(fù)雜。相反,JDBC盡量保證簡單功能的簡便性,而同時在必要時允許使用高級功能。啟用"純Java"機(jī)制需要象JDBC這樣的JavaAPI。如果使用ODBC,就必須手動地將ODBC驅(qū)動程序管理器和驅(qū)動程序安裝在每臺客戶機(jī)上。如果完全用Java編寫JDBC驅(qū)動程序則JDBC

代碼在所有Java平臺上(從網(wǎng)絡(luò)計算機(jī)到大型機(jī))都可以自動安裝、移植并保證安全性。總之,JDBCAPI對于基本的SQL抽象和概念是一種自然的Java接口。它建立在ODBC上而不是從零開始。因此,熟悉ODBC的程序員將發(fā)現(xiàn)JDBC很容易使用。JDBC保留了ODBC的基本設(shè)計特征;事實上,兩種接口都基于X/OpenSQLCLI(調(diào)用級接口)。它們之間最大的區(qū)別在于:JDBC以Java風(fēng)格與優(yōu)點為基礎(chǔ)并進(jìn)行優(yōu)化,因此更加易于使用。目前,Microsoft又引進(jìn)了ODBC之外的新API:RDO、ADO和OLEDB。這些設(shè)計在許多方面與JDBC是相同的,即它們都是面向?qū)ο蟮臄?shù)據(jù)庫接口且基于可在ODBC上實現(xiàn)的類。但在這些接口中,我們未看見有特別的功能使我們要轉(zhuǎn)而選擇它們來替代ODBC,尤其是在ODBC驅(qū)動程序已建立起較為完善的市場的情況下。它們最多也就是在ODBC上加了一種裝飾而已。2.4系統(tǒng)開發(fā)選用的數(shù)據(jù)庫Oracle數(shù)據(jù)庫是當(dāng)前最流行的大型關(guān)系數(shù)據(jù)庫之一。它有很多優(yōu)點ORACLE7.X以來引入了共享SQL和多線索服務(wù)器體系結(jié)構(gòu)。這減少了ORACLE的資源占用,并增強(qiáng)了ORACLE的能力,使之在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶,而在高檔平臺上可以支持成百上千個用戶。支持大量多媒體數(shù)據(jù),如二進(jìn)制圖形、聲音、動畫以及多維數(shù)據(jù)結(jié)構(gòu)等。提供了與第三代高級語言的接口軟件PRO*系列,能在C,C++等主語言中嵌入SQL語句及過程化(PL/SQL)語句,對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操縱。加上它有許多優(yōu)秀的前臺開發(fā)工具如

POWERBUILD、SQL*FORMS、VISIABASIC

等,可以快速開發(fā)生成基于客戶端PC

平臺的應(yīng)用程序,并具有良好的移植性。與sql相比,oracle數(shù)據(jù)庫的優(yōu)點:1.Oracle的穩(wěn)定性要比Sqlserver好。2.Oracle在導(dǎo)數(shù)據(jù)工具sqlload.exe功能比Sqlserver的Bcp功能強(qiáng)大,Oracle可以按照條件把文本文件數(shù)據(jù)導(dǎo)入.3.Oracle的安全機(jī)制比Sqlserver好。4.Sqlserver的易用性和友好性方面要比Oracle好。5.在處理大數(shù)據(jù)方面Oracle會更穩(wěn)定一些。6.SqlServer在數(shù)據(jù)導(dǎo)出方面功能更強(qiáng)一些。7.處理速度方面比Oracle快一些,和兩者的協(xié)議有關(guān).為了能更好的學(xué)習(xí)和使用oracle數(shù)據(jù)庫,因此,本系統(tǒng)采用oracle數(shù)據(jù)庫。2.5B/S模式體系結(jié)構(gòu)B/S結(jié)構(gòu),即Browser/Server(瀏覽器/客戶機(jī).服務(wù)器)結(jié)構(gòu),是隨著Intemet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript?)和ActiveX技術(shù),用通用瀏覽器就實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)結(jié)構(gòu)技術(shù)。隨著Windows2000/Windows2003將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)B/S結(jié)構(gòu)是真正的三層結(jié)構(gòu),它以訪問WEB數(shù)據(jù)庫為中心,HTTP為傳輸協(xié)議,客戶端通過瀏覽器r(Browser)訪問WEBJJ艮務(wù)器和與其相連的后臺數(shù)據(jù)庫,稱之為B/S(Browser/Server)模式。與傳統(tǒng)的C/S模式相比,B/S結(jié)構(gòu)把處理功能全部移植到了服務(wù)器端,用戶的請求通過瀏覽器發(fā)出,無論是使用和數(shù)據(jù)庫維護(hù)上都比傳統(tǒng)模式更加經(jīng)濟(jì)方便。而且使維護(hù)任務(wù)層次化:管理員負(fù)責(zé)服務(wù)器硬件日常管理和維護(hù),系統(tǒng)維護(hù)人員負(fù)責(zé)后臺數(shù)據(jù)庫數(shù)據(jù)更新維護(hù)。因此,本系統(tǒng)采用B/S模式體系結(jié)構(gòu)作為系統(tǒng)的體系結(jié)構(gòu)。2.6本章小結(jié)本章圍繞著系統(tǒng)開發(fā)所用到的技術(shù)做了具體描述,主要針對servlet技術(shù),jdbc技術(shù)進(jìn)行描述。以及比較所用技術(shù)的優(yōu)越性。B/S模式體系結(jié)構(gòu)是管理軟件主流技術(shù),通過對B/S模式體系結(jié)構(gòu)的編程體系的敘述及B/S模式的優(yōu)勢、劣勢描述,得出結(jié)論:在本軟件的開發(fā)中采用了流行的B/S三層架構(gòu)模式,實現(xiàn)醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)。同時采用servlet+jsp技術(shù),提高了系統(tǒng)的兼容性、健壯性、實時性和安全性。第三章系統(tǒng)的需求分析3.1醫(yī)院門診信息管理系統(tǒng)的簡介及發(fā)展?fàn)顩r3.1.1醫(yī)院信息系統(tǒng)(HIS)定義醫(yī)院信息系統(tǒng)(HospitalinformationSystem,HIS)是指對醫(yī)院及其所屬各部門的人流、物流、財流進(jìn)行綜合管理,對在醫(yī)療活動各階段中產(chǎn)生的數(shù)據(jù)進(jìn)行采集、存儲、處理、提取、傳輸、匯總、加工生成各種信息,從而為醫(yī)院的整體運行提供全面的、自動化的管理及各種服務(wù)的信息。。3.1.2醫(yī)院信息系統(tǒng)發(fā)展現(xiàn)狀隨著互聯(lián)網(wǎng)絡(luò)的迅猛發(fā)展,全球信息化的熱潮引發(fā)了信息技術(shù)的飛速發(fā)展,也給各行各業(yè)的信息化建設(shè)提出了新的要求。目前全球醫(yī)療系統(tǒng)面臨著同樣的問題,即如何建設(shè)符合客觀需要的醫(yī)療系統(tǒng),保護(hù)醫(yī)院投資,方便今后的擴(kuò)展。在醫(yī)療領(lǐng)域,計算機(jī)與信息技術(shù)的應(yīng)用已日趨成熟與廣泛?;谟嬎銠C(jī)網(wǎng)絡(luò)的醫(yī)院信息系統(tǒng)(HospitalInformationSystem)成為了醫(yī)院管理、運行的主力軍。經(jīng)過十幾年的發(fā)展,醫(yī)院信息化管理建設(shè)經(jīng)歷了從單機(jī)系統(tǒng)、局域網(wǎng)絡(luò)系統(tǒng)、醫(yī)院信息系統(tǒng)到遠(yuǎn)程醫(yī)療系統(tǒng)多個階段。從2000年以后,隨著通訊技術(shù)和光纖技術(shù)的發(fā)展,以及存儲容量的提高,使影像信息的傳輸和儲存愈加方便,這為電子病歷(CPR)的形成創(chuàng)造了良好的契機(jī)。同時,指紋識別技術(shù)、數(shù)字簽名技術(shù)的發(fā)展也為病案保存與傳輸?shù)暮戏ㄐ蕴峁┝吮WC。此時,醫(yī)學(xué)影像存儲傳輸系統(tǒng)(PACS)和臨床檢驗信息系統(tǒng)(LIS)開始嵌入HIS,使HIS在功能上的全面提升變?yōu)楝F(xiàn)實,使其真正成為“一體化的醫(yī)院信息系統(tǒng)(IntegratedHospitalinformationSystem,IHIS)”(或稱之為“以病人為中心的信息集成系統(tǒng)”)。HIS應(yīng)具備以下四個特征:①具有覆蓋全院的計算機(jī)網(wǎng)絡(luò);②把醫(yī)院的整體目標(biāo)作為醫(yī)院信息系統(tǒng)的目標(biāo)。醫(yī)院的整體目標(biāo)包括如何提高醫(yī)院的運營效率,如何提高醫(yī)院的社會效益和經(jīng)濟(jì)效益,如何為病人提供更快、更好、更完善的服務(wù)等等。只有以醫(yī)院為整體目標(biāo)為基準(zhǔn),而不是以解決個別科室或個別業(yè)務(wù)問題為目的,才能視為完整的信息系統(tǒng);③有一個完整的、集成的數(shù)據(jù)庫(DBMS)支持。這個數(shù)據(jù)庫應(yīng)該是集中存儲醫(yī)院管理和病人數(shù)據(jù)的倉庫,而且能滿足全院各授權(quán)部門和個人使用數(shù)據(jù)的需求。它是HIS的核心。④自上向下(ToptoBottom)的設(shè)計方案。即從醫(yī)院的整體目標(biāo)開始,逐步細(xì)化到窗口的業(yè)務(wù)。只有這樣,才能實現(xiàn)醫(yī)院辦公無紙化和診斷的無膠片化,才能真正建立以病人為中心的完整的醫(yī)院信息系統(tǒng)。3.1.3醫(yī)院門診管理系統(tǒng)的流程及發(fā)展現(xiàn)狀醫(yī)院門診管理系統(tǒng)在HIS系統(tǒng)中占有重要的地位。門診部是醫(yī)院的一個重要部門,也是病人就診的第一個環(huán)節(jié),是醫(yī)院直接向社會廣大患者提供醫(yī)療服務(wù)的窗口之一,門診部的信息化建設(shè)直接關(guān)系到整個醫(yī)院的信息化建設(shè)的發(fā)展水平。醫(yī)院門診管理系統(tǒng)主要是實現(xiàn)掛號、劃價、收費、發(fā)藥等功能。雖然大的流程清楚,工作性質(zhì)也較為單純,但對于大型醫(yī)院門診量大,就診病人數(shù)量及類別多,所以產(chǎn)生的信息量較大,也比較復(fù)雜。與醫(yī)院的其他業(yè)務(wù)科室數(shù)據(jù)交換頻繁。近年來,很多大型醫(yī)院都在提出一些門診信息系統(tǒng)建設(shè)性的方案,如建設(shè)門診醫(yī)生工作站和采用門診信息卡,實現(xiàn)一人~卡一號制度等,來優(yōu)化醫(yī)院門診流程,縮短病人等待排隊時間,提高了門診的工作效率,緩解門診掛號的壓力。采用門診信息卡,實現(xiàn)一人一卡一號制。門診病人的基本信息是從掛號處錄入系統(tǒng)的,包括病人的姓名、性別、出生日期、地址、聯(lián)系電話、是否公費醫(yī)療病人、公費醫(yī)療證號碼等。這些信息一經(jīng)錄入,則永久保留,全院共享。新病人在掛號時同時辦理一張信息卡,分配唯一ID號碼。病人信息第一次注冊后,再次來看病時,只需刷信息卡,即可快速完成掛號。而門診醫(yī)生工作站是門診管理系統(tǒng)中的關(guān)鍵部分。其主要功能是電子處方的開列。原始的手工作法醫(yī)生開藥品、檢驗單、檢查單時要多次重復(fù)寫病人的基本情況,而這些信息在掛號時已錄入,可以共享。開通門診醫(yī)生工作站后,所有藥品對醫(yī)生完全透明開放,大大方便了醫(yī)生的開藥,也讓病人了解到價格,減少了病人在劃價后又回來改處方的麻煩。從國內(nèi)門診信息系統(tǒng)實施的經(jīng)驗看,門診醫(yī)生工作站可以明顯地提高醫(yī)生的工作效率,減少差錯,方便病人,具有較好的社會效益和經(jīng)濟(jì)效益。3.2醫(yī)院門診預(yù)約掛號多種方案分析及比較3.2.1現(xiàn)階段國內(nèi)醫(yī)院的掛號模式1.人工掛號:這是傳統(tǒng)的掛號方式,日前仍然是最主要的掛號途徑。20世紀(jì)90年代末,很多大醫(yī)院已經(jīng)取消了沿用多年的手工撕掛號等方式,采用計算機(jī)管理掛號、打印掛號等,可以任意掛號、限額掛號,可以定義專家或?qū)?飘?dāng)日掛號人數(shù)和時間。能方便地做退號、換號處理,打印掛號單,并指明就診科室位置??梢源蛴「鞣N報表,查詢掛號。從此邁開了改進(jìn)掛號模式、提升掛號服務(wù)水平的步伐。該模式的缺點是人力成本高。2.電腦自助掛號:在一些大醫(yī)院已經(jīng)開始使用銀行卡付費的電腦自助掛號機(jī),患者首先在觸摸屏上,選擇自己的科室,然后將自己在醫(yī)院辦的診療卡給電腦掃描確認(rèn)“身份",之后再插入某銀行的儲蓄卡或信用卡,電腦就會從卡中扣錢,最后憑著電腦打印出的一張?zhí)幏?,患者就可以到科室就診了,整個過程僅僅需要30秒左右。一臺柜員機(jī)式樣的電腦掛號系統(tǒng)需要投資近lO萬元,但是電腦掛號系統(tǒng)的工作效率高,且具有連續(xù)工作的特性,實際上為醫(yī)院節(jié)約了人力成本,也為患者免受掛號排隊之苦。電腦自助掛號模式的優(yōu)點首先在于充分利用了先進(jìn)的技術(shù),提高了醫(yī)院的信息化水平,采用銀行卡付費的方式代表了經(jīng)濟(jì)發(fā)展的方向;其次,由于掛號時不需要別人參與,充分保護(hù)了病人的隱私;再次,電腦不知疲倦,可以24小時不停地工作,這是人腦無法可比的。但是,由于我國經(jīng)濟(jì)水平尚不發(fā)達(dá),銀行信用卡在我國還是相對較少人擁有,有的人對電腦有陌生感,導(dǎo)致其利用率不高;其次,有時機(jī)器會出現(xiàn)機(jī)械故障,影響了該模式的應(yīng)用。3.2.2醫(yī)院掛號預(yù)約方案的選擇目前可供的醫(yī)院門診掛號預(yù)約方案選擇主要有現(xiàn)場預(yù)約、自動語音電話預(yù)約、人工電話預(yù)約、WAP預(yù)約、網(wǎng)上預(yù)約這幾種方式。這幾種方式的優(yōu)缺點如下:1.現(xiàn)場預(yù)約現(xiàn)場預(yù)約的缺點包括:病人必須花費很多時問到醫(yī)院去一趟,必須以人工的方式填寫與預(yù)約有關(guān)的信息。在醫(yī)院方面,預(yù)約人員不能方便的了解病人的病史,不能確定上次病人就診的醫(yī)師,也就不能保證由同一位醫(yī)師來為病人進(jìn)行診療。2.自動語音電話預(yù)約自動語音電話預(yù)約雖然不用浪費時間到醫(yī)院跑一趟以及以人工的方式填寫預(yù)約的相關(guān)資料等問題,也可以避免被安排到不同醫(yī)師的狀況,但是對于不熟悉該語音系統(tǒng)的病人而言,可能也要花費許多時間聽系統(tǒng)將所有的選項的代號念完才能做選擇,而一旦輸入錯誤,系統(tǒng)將要求病人將所以的資料重新輸入一次,這將浪費病人很多時間。3.人工電話預(yù)約人工電話預(yù)約也不用病人浪費時間到醫(yī)院跑一趟及人工的方式填寫預(yù)約的相關(guān)資料,也可以避免被安排到不同醫(yī)生的狀況,但是也由于使用方法較簡便,因此,也會有較多病人會選擇此方法來預(yù)約,因此系統(tǒng)常出現(xiàn)電話線路忙的狀況。4.WAP預(yù)約由于現(xiàn)在移動電話的普及率較以往大為提高,而WAP方面的應(yīng)用不但成長快速且潛力無窮。因此,也開始有醫(yī)院提供以WAP預(yù)約的方式。WAP手機(jī)預(yù)約掛號是一個新的選擇方式,而且在未來應(yīng)該有很大的發(fā)展空間,不過目前的發(fā)展會受限于下列問題:知道這種掛號方式的病人不多;手機(jī)上資費較高;操作方式不熟悉等。5.網(wǎng)上預(yù)約利用網(wǎng)上預(yù)約掛號系統(tǒng),用戶就可以在網(wǎng)上預(yù)約醫(yī)院的專家或各科室醫(yī)生,而無須再受排隊之苦。預(yù)約者僅需進(jìn)入醫(yī)院網(wǎng)站的“網(wǎng)上掛號室”,按照要求完成預(yù)約步驟即可。預(yù)約者只需在預(yù)約日規(guī)定的時間內(nèi),到醫(yī)院掛號處確認(rèn)就行了,方便快捷。如果因故不能在預(yù)定時問到醫(yī)院就診,可以在網(wǎng)上“取消預(yù)約”,也很便。此外,這也在一定程度上緩解改善了掛號窗口的緊張狀況。網(wǎng)絡(luò)預(yù)約掛號可以方便患者就診,與電話預(yù)約等人工預(yù)約相比,具有信息自動更新快,交互性好等優(yōu)點,并可通過與醫(yī)院信息管理系統(tǒng)的整合及時進(jìn)行就診號的合理安排,使醫(yī)生與患者的診治過程更為融洽和諧。經(jīng)過對以上幾個預(yù)約方式的分析,不難看出由于WAP及網(wǎng)上預(yù)約是屬于新科技帶給患者的新選擇,但是對于一些較老的病人,可能沒有使用的電腦的意愿,在學(xué)習(xí)使用上也可能存在一些困難。針對這些病人,他們可以采取人工電話預(yù)約的方式。對以上幾種預(yù)約方式的分析比較,網(wǎng)上預(yù)約的優(yōu)點比較突出。3.3系統(tǒng)的目標(biāo)分析本系統(tǒng)是為改善門診高峰期掛號排隊長、就診長時間等待,環(huán)境擁擠混亂的現(xiàn)狀,特別是解決專家號(名專家號)難掛的問題,杜絕倒號、炒專家號的現(xiàn)象,緩解門診高峰的就診壓力而提出的。隨著網(wǎng)絡(luò)通訊技術(shù)的發(fā)展,Intemet應(yīng)用的普及,醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)的實現(xiàn)成為了可能。該系統(tǒng)不僅具有一般門診掛號系統(tǒng)的功能,又可以分析和統(tǒng)計患者的流量、各醫(yī)生的就診量,并且可指定或指導(dǎo)患者在預(yù)約的特定時間來就診等等功能,在方便病人就診的同時,大大提高了醫(yī)院工作效率和資源利用率。網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)具體的建設(shè)目標(biāo)如下:1.通過網(wǎng)絡(luò)預(yù)約系統(tǒng),可以實現(xiàn)對病人的分流,讓患者均勻有序地到達(dá)醫(yī)院,使就診分布均勻并且可以指定醫(yī)生就診。我們對直接到醫(yī)院掛號看病的病人是無法控制的,但預(yù)約人群是可控的,我們通過采取一定算法來安排預(yù)約病人的就診時間,我們把每天的就診時間劃分為若干個時間段(例如半個小時),預(yù)約掛號的患者盡量被安排在就診低谷的時間段內(nèi),使每個時間段的就診人數(shù)趨于均衡。2.本系統(tǒng)對預(yù)約時間段采取個性化設(shè)置,根據(jù)醫(yī)生與專科不同,醫(yī)生可以設(shè)置自己的具體時間段,而且每個時間段只能預(yù)約一個病人,避免病人沖撞而不能達(dá)到真正預(yù)約的效果。3.本系統(tǒng)界面友好,為方便患者使用,本系統(tǒng)預(yù)約者無須網(wǎng)上注冊,但填寫資料時要填寫真實姓名及身份證件號碼,與獲取的流水號通過有效的身份驗證,核對無誤后方可正式交費掛號。醫(yī)務(wù)科室管理查詢等功能模塊均設(shè)置了安全口令,防止越權(quán)操作及醫(yī)療信息泄露。4.本系統(tǒng)可以與醫(yī)院信息管理系統(tǒng)結(jié)合,達(dá)到最大的工作效率。將電話預(yù)約、網(wǎng)上預(yù)約、門診現(xiàn)場預(yù)約合為一體,整合醫(yī)院原有的掛號收費系統(tǒng)、醫(yī)生工作站、排隊叫號系統(tǒng),使各個系統(tǒng)緊密銜接,系統(tǒng)的預(yù)約庫和當(dāng)日掛號庫,網(wǎng)絡(luò)共享,使相關(guān)信息自動更新,達(dá)到更好的交互性與信息共享。3.4系統(tǒng)的業(yè)務(wù)流程對預(yù)約患者來說,通過網(wǎng)絡(luò)登錄醫(yī)院的網(wǎng)站,找到網(wǎng)上預(yù)約菜單,進(jìn)入網(wǎng)上預(yù)約界面,首先閱讀網(wǎng)上預(yù)約須知,然后可快速查詢專家或普通醫(yī)生的門診時間及掛號所余的號額,以及專家或普通醫(yī)生的基本情況(個人簡介、職稱、照片等信息),以滿足預(yù)約患者的掛號需求。本系統(tǒng)掛號采用實名制,求醫(yī)者需要在網(wǎng)上輸入個人基本信息,如真實姓名,年齡、聯(lián)系電話、E—mail及有效證件號碼(身份證或軍人證等),以及選擇預(yù)約時間段(若只選擇日期,沒有選擇時間,則由系統(tǒng)設(shè)置),選擇科室、選擇專家或普通醫(yī)生,也可簡單陳述病情,最后提交。待提交成功,系統(tǒng)會提示“預(yù)約成功"四個字,并產(chǎn)生一個流水序列號,預(yù)約患者要記住這個流水號,便于預(yù)約者在預(yù)約日規(guī)定的時間內(nèi),到醫(yī)院門診大廳掛號處帶上有效證件,進(jìn)行預(yù)約確認(rèn),并交費掛號,這樣就可以方便、快捷就診了。如果,預(yù)約患者不能按時來醫(yī)院就診,醫(yī)院可以保留這個號最多一個小時。如果因故不能在預(yù)約時間到醫(yī)院就診,需提前在網(wǎng)上“取消預(yù)約”。如果,選擇預(yù)約時問段已經(jīng)有人預(yù)約,那么系統(tǒng)會提示“請重新選擇預(yù)約時間段”,那么,需要預(yù)約患者重新來選擇,如果預(yù)約患者放棄選擇,也可由系統(tǒng)來選擇,那么這個選擇就按照系統(tǒng)一定的算法,盡量安排在就診低谷的時間段讓患者就診。如果,預(yù)約患者還是不滿意,則也可以放棄預(yù)約。對醫(yī)生來說,每個醫(yī)生可以修改自己的個人信息;能根據(jù)自己的具體情況對可開放網(wǎng)絡(luò)預(yù)約時問進(jìn)行個性化的設(shè)置;并隨時可查看已預(yù)約的病人的情況及預(yù)約數(shù);與患者就診時,也可以根據(jù)自己的時間段與患者進(jìn)行下一次的預(yù)約,從而方便了患者就診,也達(dá)到每個就診者多次看病的整體連續(xù)性,對治療有一定益處。對醫(yī)務(wù)科室來說,進(jìn)行統(tǒng)一管理,調(diào)整門診時間表,出診信息(修改掛號費、出診號數(shù)量),醫(yī)生排班管理臨時變更,可通過查詢頁面找到已預(yù)約病人的具體信息并及時通知病人,避免病人空跑一趟。對掛號處人員來說,通過預(yù)約產(chǎn)生的流水序列號,工作人員來核對病人的預(yù)約信息,進(jìn)行確認(rèn),核對無誤后可交費掛號。掛號單采用印制掛號單套打。預(yù)約號與當(dāng)日現(xiàn)場門診號做標(biāo)記加以區(qū)別,掛號順序采用統(tǒng)一號碼排序便于門診秩序的管理。對科室主任來說,可以查詢本科室的門診流量統(tǒng)計圖表,實時了解掌握門診流量,來控制預(yù)約人群,合理安排預(yù)約病人的就診時間。因為,我們對直接來醫(yī)院掛號看病的病人是無法控制的,但有了網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)的采用,我們可以一方面優(yōu)先預(yù)約病人就診,另一方面,將系統(tǒng)預(yù)約時間段做出調(diào)整,盡量將預(yù)約病人安排在就診低谷的時間段內(nèi),使每個時問段的就診人數(shù)趨于均衡。也可由管理員根據(jù)實際情況進(jìn)行調(diào)整。以下圖是網(wǎng)上預(yù)約掛號門診流程圖。3.5系統(tǒng)的功能需求分析通過對用戶的業(yè)務(wù)流程分析,我們可以分析出醫(yī)院網(wǎng)上預(yù)約系統(tǒng)大致可以分為兩類用戶:一類是普通預(yù)約者,另一類是醫(yī)院內(nèi)部管理人員。系統(tǒng)可設(shè)置三們是普通求醫(yī)者、醫(yī)務(wù)科管理人員、掛號處工作人員。那么一個較完整的系統(tǒng)大致要求具有以下功能:◆預(yù)約登記按需進(jìn)行預(yù)約,“足不出戶選醫(yī)生”??梢园纯剖翌A(yù)約,也可按醫(yī)生預(yù)約,同時對相應(yīng)門診的門診掛號數(shù)量進(jìn)行修改?!羧∠A(yù)約登記如果求醫(yī)者預(yù)約當(dāng)天不能按時應(yīng)診,可以提前取消相關(guān)診次的預(yù)約,相應(yīng)診次的號額返回;如果又決定預(yù)約可進(jìn)行再次預(yù)約?!粜畔⒉樵冾A(yù)約者可查詢歷次預(yù)約記錄的清單;此外,預(yù)約者還可以掌握最新的門診時間表,專家或醫(yī)生的個人簡介、照片、職稱、掛號費,以及每個診次的所余掛號數(shù)量。◆公告欄可及時看到醫(yī)院最新的公告信息?!舨∪肆粞圆∪肆粞?,病人通過留言板,留下投訴、表揚和建議等,以供醫(yī)院管理部門處理,共同促進(jìn)醫(yī)院的服務(wù)質(zhì)量和管理水平,為病人提供優(yōu)質(zhì)服務(wù)?!翎t(yī)生查詢預(yù)約信息實現(xiàn)查詢自己未來診次的病人預(yù)約情況;醫(yī)生還可以修改自己的個人信息;并可根據(jù)具體情況對可開放網(wǎng)絡(luò)預(yù)約的時間段進(jìn)行個性化設(shè)置;在與患者診療時可根據(jù)自己的時間段和病人的時間安排,可與病人進(jìn)行下一次的預(yù)約,從而達(dá)到每個就診者多次看病的整體連續(xù)性。◆系統(tǒng)維護(hù)對數(shù)據(jù)庫進(jìn)行維護(hù)、對系統(tǒng)有關(guān)參數(shù)進(jìn)行設(shè)定和調(diào)整。◆掛號管理統(tǒng)計預(yù)約病人情況、各科室和各醫(yī)生的被預(yù)約情況;病人留言分類統(tǒng)計、轉(zhuǎn)發(fā)。3.6本章小結(jié)本章首先介紹了醫(yī)院門診管理系統(tǒng)的流程及目前發(fā)展現(xiàn)狀,對預(yù)約掛號的多種方案進(jìn)行了細(xì)致地分析、比較,確定了本論文的預(yù)約方案為網(wǎng)絡(luò)預(yù)約掛號方式。本章從整體醫(yī)院門診的業(yè)務(wù)流程入手、進(jìn)而以網(wǎng)絡(luò)門診預(yù)約掛號業(yè)務(wù)流程為出發(fā)點,在充分分析了醫(yī)院門診掛號業(yè)務(wù)需求分析的同時確定了系統(tǒng)功能需求。通過本章的系統(tǒng)目標(biāo)分析、系統(tǒng)的業(yè)務(wù)流程分析,系統(tǒng)的功能需求分析,為下一章節(jié)的系統(tǒng)的設(shè)計確定了依據(jù),奠定了基礎(chǔ)。第四章醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)的設(shè)計4.1系統(tǒng)的設(shè)計目標(biāo)本系統(tǒng)的設(shè)計目的是為改善門診高峰期掛號排隊長、就診長時間等待,環(huán)境擁擠混亂的現(xiàn)狀,特別是解決專家號(名專家號)難掛的問題,杜絕倒號、炒專家號的現(xiàn)象,緩解門診高峰的就診壓力,提高醫(yī)院門診服務(wù)質(zhì)量,保障醫(yī)院良好的社會效益和經(jīng)濟(jì)效益。該系統(tǒng)不僅具有一般門診掛號系統(tǒng)的功能,又可以分析和統(tǒng)計病人的流量、各醫(yī)生的就診量,并且能指定病人在預(yù)約的特定時間來就診等等功能,在方便病人就診的同時,大大提高了醫(yī)院工作效率和資源利用率。4.2系統(tǒng)的體系結(jié)構(gòu)設(shè)計根據(jù)上述章節(jié)的技術(shù)分析和系統(tǒng)功能需求分析,本人提出了基于B/S三層體系結(jié)構(gòu)(如圖4-1所示),來實現(xiàn)醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)。瀏覽器層:它是分布在Intemet網(wǎng)絡(luò)上的預(yù)約患者的工作站(自家電腦),預(yù)約者可以使用工作站的瀏覽器,在授權(quán)范圍內(nèi)從任何地方登錄進(jìn)入系統(tǒng)。Web服務(wù)器層又可以細(xì)分為三層處理,即顯示處理層、表示處理層和數(shù)據(jù)處理層。數(shù)據(jù)庫服務(wù)器層:.本系統(tǒng)使用的數(shù)據(jù)庫是oracle將配置在獨立的數(shù)據(jù)庫服務(wù)器上,主要為Web服務(wù)器的數(shù)據(jù)處理層提供調(diào)用的邏輯復(fù)雜的存儲過程及數(shù)據(jù)庫本身的日常維護(hù)計劃。4.3系統(tǒng)的功能模塊設(shè)計通過對用戶的業(yè)務(wù)流程分析,我們可以分析出醫(yī)院網(wǎng)上預(yù)約系統(tǒng)大致可以分為兩類用戶:一類是普通預(yù)約者,另一類是醫(yī)院內(nèi)部管理人員。系統(tǒng)可設(shè)置五種權(quán)限,他們是普通求醫(yī)者、醫(yī)務(wù)科管理人員、科室主任、普通專家/醫(yī)生、掛號處工作人員。整個系統(tǒng)總體功能結(jié)構(gòu)圖如4.4圖。-對預(yù)約者來說,在網(wǎng)絡(luò)上可以實現(xiàn)以下功能:(1)需要掌握最新的門診時間表,專家或醫(yī)生的個人簡介、照片、職稱、掛號費,以及每個診次的所余掛號數(shù)量。這是預(yù)約之前必須了解的信息;(2)按需進(jìn)行預(yù)約,“足不出戶選醫(yī)生”??梢园纯剖翌A(yù)約,也可按醫(yī)生預(yù)約,同時對相應(yīng)門診的門診掛號數(shù)量進(jìn)行修改;(3)如果預(yù)約者預(yù)約當(dāng)天不能按時應(yīng)診,可以提前取消相關(guān)診次的預(yù)約,相應(yīng)診次的號額返回;如果又決定預(yù)約可進(jìn)行再次預(yù)約。預(yù)約狀態(tài)變更圖如4.2圖。(4)查詢歷次預(yù)約記錄的清單;(5)如果時間段已被選擇,則需要預(yù)約患者重新選擇時間段,如果系統(tǒng)有空閑,預(yù)約患者也滿意,則進(jìn)行預(yù)約,如果不選擇或不滿意,則選擇放棄。圖4.3。(6)病人留言,病人通過留言板,留下投訴、表揚和建議等,以供醫(yī)院管理部門處理,共同促進(jìn)醫(yī)院的服務(wù)質(zhì)量和管理水平,為病人提供優(yōu)質(zhì)服務(wù)。對用戶:掛號查詢修改密碼選擇科室和醫(yī)師取消預(yù)約對管理員:排班對醫(yī)生的管理對可是的管理對用戶的管理4.4系統(tǒng)的數(shù)據(jù)庫設(shè)計4.4.1系統(tǒng)數(shù)據(jù)庫的總體設(shè)計數(shù)據(jù)庫是醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)的核心部分.它不僅反映數(shù)據(jù)本身的內(nèi)容,而且反映數(shù)據(jù)庫之間的聯(lián)系。在數(shù)據(jù)庫中,是用數(shù)據(jù)模型實體關(guān)系圖來抽象、表示處理現(xiàn)實世界中的數(shù)據(jù)和信息。4.4.2系統(tǒng)的數(shù)據(jù)庫字典此系統(tǒng)數(shù)據(jù)中共設(shè)計了7張數(shù)據(jù)庫表:科室編碼表、醫(yī)師編碼表、專家/醫(yī)生門診排班表、門診專家/醫(yī)生預(yù)約表、門診專家/醫(yī)生基本信息、門診專家/醫(yī)生預(yù)約明細(xì)、門診掛號明細(xì)表。這些表的數(shù)據(jù)庫名稱列表如下表:1.病員信息表01名稱byxxb病員信息表列名字段名類型說明鍵值備注1yhidChar(16)用戶編號主鍵、非空2YhpwdChar(16)用戶密碼非空3cyghidChar(16)曾用ID4zsxmVarchar2(10)真實姓名非空5xbChar(2)性別非空6callChar(11)聯(lián)系電話非空7addressVarchar(50)通信地址非空8IDChar(18)身份證號非空9postChar(6)郵編非空10LevVarchar(4)用戶級別非空2.醫(yī)師信息表.02名稱ysxxb醫(yī)師信息表列名字段名類型說明鍵值備注1ysidChar(6)醫(yī)師ID主鍵,非空2ysmmChar(6)醫(yī)師密碼非空3ysnameVarchar2(10)姓名非空4xbChar(2)性別非空5callChar(11)聯(lián)系電話非空6ksidChar(6)所屬科室ID非空來自科室信息表的科室ID7ZcidChar(4)職稱ID非空來自職稱信息表的職稱ID4.科室信息表04名稱ksxxb科室信息表列名字段名類型說明鍵值備注1ksidChar(6)科室Id主鍵、非空2ksnameVarchar2(20)科室名稱非空3zgnameVarchar2(20)主管姓名非空4clsjdate創(chuàng)立時間非空5szlcChar(4)所在樓層非空6zshChar(6)診室號非空7glyidChar(6)管理員ID非空來自管理員信息表信息表的管理員ID5.掛號費用維護(hù)信息表05名稱ghfywhxxb掛號費用維護(hù)信息表列名字段名類型說明鍵值備注1GhfyidChar(2)掛號費用類型非空2ghfyNumber(2)掛號費用非空6.醫(yī)生出診信息表06名稱ysczxxb醫(yī)生出診信息表列名字段名類型說明鍵值備注1czztidChar(2)出診狀態(tài)代號非空2czztChar(6)出診狀態(tài)非空(出診狀態(tài)為:正常,休假)7.就診信息表7.就診信息表07名稱jzxxb就診信息表列名字段名類型說明鍵值備注1yhidChar(16)用戶編號主鍵、外鍵、非空來自病員信息表id2YhpwdChar(16)用戶密碼非空3blVarchar2(100)病例非空4zsxmVarchar2(10)真實姓名非空5xbChar(2)性別非空6callChar(11)聯(lián)系電話非空7addressVarchar(50)通信地址非空8IDChar(18)身份證號非空9postChar(6)郵編非空8.職稱信息表08名稱zcxxb職稱信息表列名字段名類型說明鍵值備注1ZcidChar(4)職稱ID主鍵、非空2ZcmcChar(20)職稱名稱非空第五章醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)的實現(xiàn)5.1系統(tǒng)的實現(xiàn)5.1.1系統(tǒng)的部署醫(yī)院網(wǎng)絡(luò)預(yù)約掛號系統(tǒng)是一個基于WEB的應(yīng)用系統(tǒng),在其B/S三層體系結(jié)構(gòu)中豐要有咀下節(jié)點組成:瀏覽器、Web服務(wù)器和數(shù)據(jù)庫服務(wù)器。5.1.2系統(tǒng)的具體功能實現(xiàn)5.1.2.1系統(tǒng)的預(yù)約主界面該系統(tǒng)的預(yù)約主界面包括:用戶登錄用戶注冊預(yù)約掛號預(yù)約查詢這四個按鈕,如圖5-1圖5-用戶登錄界面用戶注冊界面掛號查詢界面5.2系統(tǒng)關(guān)鍵技術(shù)的實現(xiàn)5.2.1動態(tài)更新的門診時間表的實現(xiàn)通常醫(yī)院的門診時間表都是以星期為時間單位、列出星期-N星期天的一張門診時間安排表。預(yù)約患者根據(jù)這個門診時問去預(yù)約相麻的診次。要通過互聯(lián)網(wǎng)絡(luò)實現(xiàn)舍有剩余號數(shù)量的門診時間表最大的難點就是日期在零點變更后,如何及時更新網(wǎng)絡(luò)上的門診時間表所顯示的剩余號數(shù)量。在本系統(tǒng)中,求醫(yī)者可以預(yù)約門診的時問范圍是“明天到下周的今天”,即:比如今天星期一(1月1日).網(wǎng)上門診時問表所顯示的“周一”指下周一(1月8日).星期二到星期天所指均是本周的星期二到星期天(1月2日到1月7日)。因此當(dāng)日期變更到1月2日時,門診時間表中的星期二(1月9日)的相關(guān)診次的所剩號數(shù)量就得更新成該就診次的默認(rèn)值。5.2.2醫(yī)生查詢排班信息的實現(xiàn)醫(yī)生查詢排班信息的代碼: publicListqueryPb(){ Listlist=newArrayList(); PbFormform=null; Stringsql="select*frompbb"; ResultSetrs=connection.executeQuery(sql); try{ while(rs.next()){ form=newPbForm(); form.setKsname(rs.getString(1)); form.setYsname(rs.getString(2)); form.setXq(rs.getString(3)); form.setSj(rs.getString(4)); form.setZt(rs.getString(5)); list.add(form); } }catch(SQLExceptione){ e.printStackTrace(); } returnlist; } 5.2.3分頁技術(shù)的實現(xiàn)packagetool;importjava.util.ArrayList;importjava.util.List;publicclassMyPagination{ publicList<Object>list=null; privateintrecordCount=0; privateintpagesize=0; privateintmaxPage=0; //初始化分頁信息 publicListgetInitPage(Listlist,intPage,intpagesize){ List<Object>newList=newArrayList<Object>(); this.list=list; recordCount=list.size(); this.pagesize=pagesize; this.maxPage=getMaxPage(); try{ for(inti=(1)*pagesize;i<=Page*pagesize-1;i++){ try{ if(i>=recordCount){break;} }catch(Exceptione){} newList.add((Object)list.get(i)); } }catch(Exceptione){ e.printStackTrace(); } returnnewList; } //獲取指定頁的數(shù)據(jù) publicList<Object>getAppointPage(intPage){ List<Object>newList=newArrayList<Object>(); try{ for(inti=(1)*pagesize;i<=Page*pagesize-1;i++){ try{ if(i>=recordCount){break;} }catch(Exceptione){} newList.add((Object)list.get(i)); } }catch(Exceptione){ e.printStackTrace(); } returnnewList; } //獲取最大記錄數(shù) publicintgetMaxPage(){ intmaxPage=(recordCount%pagesize==0)?(recordCount/pagesize):(recordCount/pagesize+1); returnmaxPage; } //獲取總記錄數(shù) publicintgetRecordSize(){ returnrecordCount; } //獲取當(dāng)前頁數(shù) publicintgetPage(Stringstr){ System.out.println("STR:"+str+"&&&&"+recordCount); if(str==null){ str="0"; } intPage=Integer.parseInt(str); if(Page<1){ Page=1; }else{ if(((1)*pagesize+1)>recordCount){ Page=maxPage; } } returnPage; } publicStringprintCtrl(intPage){ StringstrHtml="<tablewidth='370'border='0'cellspacing='0'cellpadding='0'><tr><tdheight='24'align='right'>當(dāng)前頁數(shù):["+Page+"/"+maxPage+"]  "; try{ if(Page>1){ strHtml=strHtml+"<ahref='?Page=1'>第一頁</a>"; strHtml=strHtml+"  <ahref='?Page="+(1)+"'>上一頁</a>"; } if(Page<maxPage){ strHtml=strHtml+"  <ahref='?Page="+(Page+1)+"'>下一頁</a>  <ahref='?Page="+maxPage+"'>最后一頁 </a>"; } strHtml=strHtml+"</td></tr> </table>"; }catch(Exceptione){ e.printStackTrace(); } returnstrHtml; } publicStringprintCtrl(intPage,Stringid){ id="&id="+id; StringstrHtml="<tablewidth='370'border='0'cellspacing='0'cellpadding='0'><tr><tdheight='24'align='right'>當(dāng)前頁數(shù):["+Page+"/"+maxPage+"]  "; try{ if(Page>1){ strHtml=strHtml+"<ahref='?Page=1"+id+"'>第一頁</a>"; strHtml=strHtml+"  <ahref='?Page="+(1)+id+"'>上一頁</a>"; } if(Page<maxPage){ strHtml=strHtml+"  <ahref='?Page="+(Page+1)+id+"'>下一頁</a>  <ahref='?Page="+maxPage+id+"'>最后一頁 </a>"; } strHtml=strHtml+"</td></tr> </table>"; }catch(Exceptione){ e.printStackTrace(); } returnstrHtml; } }5.2.4連接數(shù)據(jù)操作packagecore;importjava.sql.*;publicclassJDBConnection{privatefinalStringurl="jdbc:oracle:thin:@localhost:1521:orcl";privatefinalStringuserName="test";privatefinalStringpassword="admin";privateConnectioncon=null;//通過構(gòu)造方法加載數(shù)據(jù)庫驅(qū)動static{try{Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();}catch(Exceptionex){System.out.println("數(shù)據(jù)庫加載失敗");}}//創(chuàng)建數(shù)據(jù)庫連接publicbooleancreatConnection(){try{con=DriverManager.getConnection(url,userName,password);con.setAutoCommit(true);}catch(SQLExceptione){System.out.println(e.getMessage());System.out.println("creatConnectionError!");}returntrue;}//對數(shù)據(jù)庫的增加、修改和刪除的操作publicbooleanexecuteUpdate(Stringsql){if(con==null){creatConnection();}try{Statementstmt=con.createStatement();intiCount=stmt.executeUpdate(sql);System.out.println("操作成功,所影響的記錄數(shù)為"+String.valueOf(iCount)); returntrue;}catch(SQLExceptione){System.out.println(e.getMessage()); returnfalse;}}//對數(shù)據(jù)庫的查詢操作publicResultSetexecuteQuery(Stringsql){ResultSetrs;try{if(con==null){creatConnection();}Statementstmt=con.createStatement();try{rs=stmt.executeQuery(sql);}catch(SQLExceptione){System.out.println(e.getMessage());returnnull;}}catch(SQLExceptione){System.out.println(e.getMessage());System.out.println("executeQueryError!");returnnull;}returnrs;}}5.2.5字符轉(zhuǎn)換代碼packagecore;publicclassChinese{publicstaticStringtoChinese(Stringstrvalue){try{if(strvalue==null){return"";}else{strvalue=newString(strvalue.getBytes("ISO8859_1"),"GBK");returnstrvalue;}}catch(Exceptione){return"";}}}5.3系統(tǒng)的安全性5.3.1系統(tǒng)的安全需求醫(yī)院門診管理預(yù)約掛號系統(tǒng)能夠創(chuàng)造出較高的經(jīng)濟(jì)效益和社會效益,但是跟其他開放網(wǎng)絡(luò)一樣面臨著一個很重要的問題——安全問題。保證醫(yī)院預(yù)約掛號系統(tǒng)的安全是醫(yī)院門診管理預(yù)約掛號系統(tǒng)正常運營的重要前提。醫(yī)院預(yù)約掛號系統(tǒng)網(wǎng)絡(luò)覆蓋面廣、用戶多,同時架構(gòu)在開放的Intemet上,因此存在著很大的安全隱患。針對醫(yī)院門診掛號預(yù)約系統(tǒng)的業(yè)務(wù)流程,為保證在整個掛號預(yù)約系統(tǒng)過程中信息完整性和保密性,系統(tǒng)設(shè)計時必須采取如下的安全措施:保證數(shù)據(jù)庫系統(tǒng)不會被惡意地添加數(shù)據(jù),以免造成數(shù)據(jù)庫“爆炸”;預(yù)約者和醫(yī)院之間的通訊連接必須保持?jǐn)?shù)據(jù)的機(jī)密性和完整性;保護(hù)預(yù)約者個人信息的隱私不被泄露,并確保預(yù)約者的信息不能被篡改。5.3.2系統(tǒng)的安全性設(shè)計.為了滿足醫(yī)院門診掛號預(yù)約系統(tǒng)的安全要求,本系統(tǒng)在設(shè)計上主要從數(shù)據(jù)庫管理和應(yīng)用系統(tǒng)兩個方面來保證?!鰯?shù)據(jù)庫管理數(shù)據(jù)庫是其核心,是一種可共享的資源。因此,數(shù)據(jù)庫的安全與保密涉及系統(tǒng)各方面的全局性問題,是保證系統(tǒng)安全的關(guān)鍵。根據(jù)該網(wǎng)上預(yù)約掛

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論