羅其敏 陳小榮 梁家芳 莫莉華 韋仲鋒
【摘 要】隨著數(shù)字化時代的迅速發(fā)展,醫(yī)院想緊跟時代發(fā)展的步伐和潮流,也需要實現(xiàn)醫(yī)院全面的信息化管理, 為病人提供便捷的信息化服務(wù)。為此,設(shè)計了基于JSP的醫(yī)院管理系統(tǒng),利用了JSP、Druid數(shù)據(jù)庫連接池、3DES加密技術(shù)和分層設(shè)計的思想實現(xiàn)了醫(yī)院管理系統(tǒng)的設(shè)計。該系統(tǒng)具有對用戶、醫(yī)生、藥品等信息的管理功能,有助于提高醫(yī)院日常管理的工作效率。
【關(guān)鍵詞】JSP;信息管理;Druid;3DES加密
中圖分類號: TP315 文獻標識碼: A 文章編號: 2095-2457(2018)11-0115-003
DOI:10.19694/j.cnki.issn2095-2457.2018.11.048
【Abstract】With the rapid development of the digital age, hospitals want to keep abreast of the pace and trend of The Times, and also need to realize the comprehensive informatization management of hospitals and provide convenient information services for patients. To this end, a jsp-based hospital management system was designed, and the design of the hospital management system was realized by using JSP, Druid database connection pool, 3DES encryption technology and hierarchical design. The system has the function of managing users, doctors, drugs and other information, which can help improve the daily management efficiency of the hospital.
【Key words】JSP;Information management;Druid;3DES encryption
0 前言
為了方便醫(yī)院的行政管理與事務(wù)處理業(yè)務(wù),使醫(yī)院的業(yè)務(wù)操作流程和日常管理規(guī)范化。通過該系統(tǒng)簡化信息流程,為醫(yī)院查詢信息、分類匯總、統(tǒng)計、決策分析提供準確的數(shù)據(jù),減少人工傳送記賬單產(chǎn)生的錯誤、解決病人查賬困難、方便對醫(yī)療活動各階段中產(chǎn)生的數(shù)據(jù)進行采集、存貯、處理、提取、傳輸、匯總、加工生成的有效信息等。本系統(tǒng)主要運用于醫(yī)院信息管理,按照醫(yī)院工作的業(yè)務(wù)流程,運用現(xiàn)代管理理論和方法,對醫(yī)療活動各階段中產(chǎn)生的數(shù)據(jù)進行采集、存貯、處理、提取、傳輸、匯總、加工生成的有效信息等。
1 需求分析
(1)通過對醫(yī)院運轉(zhuǎn)流程的仔細分析調(diào)查,為了使用戶獲得更好的用戶體驗并提高醫(yī)院管理的效率,本系統(tǒng)包括醫(yī)院概況、新聞動態(tài)、醫(yī)師介紹、患者服務(wù)四大前臺功能模塊和門診預(yù)約掛號、門診管理、藥品管理三大后臺功能模塊。以下為開發(fā)本系統(tǒng)設(shè)計的E-R圖如圖1以及需要實現(xiàn)的功能需求描述:
(2)醫(yī)師:醫(yī)師可以注冊登錄本系統(tǒng)進行查詢修改自己的信息、查詢自己的病人信息及查詢修改自己開的藥單信息,并根據(jù)患者的掛號信息可以給患者開藥方。
(3)患者:患者可以注冊登錄本系統(tǒng)進行查詢修改自己的信息、查詢醫(yī)師信息及個人藥單信息等,并且可以在本系統(tǒng)掛號。
(4)藥劑師:藥劑師可以注冊登錄本系統(tǒng),可以查詢個人信息,修改密碼,增加藥品,修改藥品信息,查詢所有藥品信息,下架不需要使用的藥品,查看病人藥單為病人抓藥。
(5)管理員:查詢所有的醫(yī)師信息,并可以把其信息移除,以及設(shè)置其請假狀態(tài),查詢所有的病人,藥劑師信息,刪除他們的信息。
2 系統(tǒng)設(shè)計
2.1 系統(tǒng)結(jié)構(gòu)設(shè)計
本系統(tǒng)設(shè)計的是醫(yī)院管理網(wǎng)站,采用了MVC模式和多層架構(gòu)方法來搭建,共設(shè)置表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層和實體層四層。表現(xiàn)層中用MVC模式來設(shè)計,Model模塊里存放一些屬性和簡單數(shù)據(jù),Controller模塊里存放對各個頁面的控制方法,View模塊里存放網(wǎng)站的各個頁面,各模塊各司其職,實現(xiàn)有效分工[1]。系統(tǒng)的表現(xiàn)層完成對數(shù)據(jù)的展現(xiàn)、用戶數(shù)據(jù)接收等功能,主要用JSP實現(xiàn),HTML用來表達頁面展現(xiàn)的格式[2],JavaScript用于交互時的數(shù)據(jù)檢查,需要用戶完成的一些功能。業(yè)務(wù)邏輯層里存放對數(shù)據(jù)層的邏輯操作,數(shù)據(jù)訪問層里存放對數(shù)據(jù)庫的操作與維護,實體層里存放對各個實體屬性的定義[1]。
2.2 數(shù)據(jù)庫設(shè)計
通過分析得知,醫(yī)院管理系統(tǒng)數(shù)據(jù)庫主要包括9張表,數(shù)據(jù)庫包括如下幾個實體:醫(yī)師,患者,掛號單,藥品,藥單,科室,職位,管理員,藥劑師。系統(tǒng)的后臺數(shù)據(jù)庫采用MySql 5.7來創(chuàng)建,用Navicat作為可視化工具。所設(shè)計的數(shù)據(jù)庫如圖2所示。
3 系統(tǒng)的實現(xiàn)
21世紀是我們經(jīng)濟社會快速發(fā)展的時代,醫(yī)院管理系統(tǒng)網(wǎng)站的實現(xiàn),使用的編程工具是eclipse,數(shù)據(jù)庫是MySql,語言是java,服務(wù)器是tomcat8.0,平臺是Window10系統(tǒng)。實現(xiàn)的功能模塊有:如圖3所示
系統(tǒng)的登陸界面如圖4:包括用戶名、密碼、選擇相應(yīng)的用戶及類型進行登陸或注冊,以及填寫驗證碼,用戶根據(jù)自己的權(quán)限登錄,登陸后進入不同的主界面,驗證碼書寫錯誤也會有相應(yīng)的提示。
對于不用的用戶,他們的注冊界面也不同,因此,用戶注冊時需要選取相應(yīng)的注冊項,注冊信息填寫完后,點擊注冊即可注冊成功并把信息添加到數(shù)據(jù)庫中,跳轉(zhuǎn)到登陸界面,即可使用剛剛注冊的用戶登錄我們的系統(tǒng)。此頁面如果你兩次密碼輸入不一致,也會有密碼書寫不一致的提示。
4 關(guān)鍵技術(shù)
該系統(tǒng)已在Windows 7操作系統(tǒng)環(huán)境下,采用JDK1.8、MYSQL5.7數(shù)據(jù)庫,并再Tomcat9.0 Web服務(wù)器下進行開發(fā)調(diào)試。系統(tǒng)實現(xiàn)的關(guān)鍵技術(shù)包括:
(1)Druid數(shù)據(jù)庫連接池
Druid是目前最好的數(shù)據(jù)庫連接池,在功能、性能、擴展性方面,都超過其他數(shù)據(jù)庫連接池,它可以監(jiān)控數(shù)據(jù)庫訪問性能,Druid內(nèi)置提供了一個功能強大的StatFilter插件,能夠詳細統(tǒng)計SQL的執(zhí)行性能,這對于線上分析數(shù)據(jù)庫訪問性能有幫助。本系統(tǒng)分別有管理員、藥劑師、醫(yī)生、患者、藥品的數(shù)據(jù),數(shù)據(jù)量比較大,因而在數(shù)據(jù)庫連接上采用了Druid數(shù)據(jù)庫連接池,一定程度上提高了本系統(tǒng)用戶對數(shù)據(jù)訪問的性能。
(2)3DES加密技術(shù)
作為開發(fā)者,編寫安全的代碼比編寫優(yōu)雅的代碼更重要,因為安全是一切應(yīng)用之根本[3]!為了提高系統(tǒng)對用戶信息的安全性,本系統(tǒng)采用了數(shù)據(jù)庫加密技術(shù),即所有用戶設(shè)置的密碼都是被加密后才存入數(shù)據(jù)庫,在數(shù)據(jù)庫中看到的用戶密碼全是密文。
(3)驗證碼
驗證碼是在開發(fā)中比較常用到有效防止對某一個特定注冊用戶用特定程序暴力破解方式進行不斷的登陸嘗試的方式[4]。首先定義String codes = “012345678
9ABCDEFGHIJKLMNOPQRSTUVWXYXZ”,隨機選取4個字符構(gòu)成驗證碼,本系統(tǒng)驗證碼的實現(xiàn)是不區(qū)分大小寫的,因為如果是大寫的,就會先被轉(zhuǎn)化為小寫字母;然后獲取隨機生成的顏色,畫出隨機線條生成背景底。最后選取4個字符進行旋轉(zhuǎn)、伸縮后再單個單個繪制;生成4字符驗證碼。
(4)MVC模式
MVC 是模型(Model)、視圖(View)和控制器(Controller)的寫,其目的是實現(xiàn) Web系統(tǒng)的職能分工[1]。其中 Model 層實現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂?JavaBean 或 EJB 來實現(xiàn);View 層用于與用戶的交互,通常用 JSP 來實現(xiàn);Controller 層是 Model 與 View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當?shù)囊晥D以便用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。本系統(tǒng)采用 MVC 模式的管理使得代碼分工明確,降低耦合度。每個層次的實現(xiàn)都是獨立的,不需關(guān)心其他層次的具體實現(xiàn),只需要關(guān)心數(shù)據(jù)的流動,大大提高了開發(fā)的工作效率。
5 結(jié)束語
本文根據(jù)醫(yī)院信息管理以及醫(yī)院的業(yè)務(wù)流程的特點,利用JSP+JavaBean+Servlet技術(shù)和分層的設(shè)計思想實現(xiàn)了醫(yī)院信息管理平臺的設(shè)計,其結(jié)構(gòu)清晰、性能可靠、使用方便,而且具有非常強的可重用性、可維護性和可擴展性。有效的解決了患者掛號難、查賬困難,藥劑師對藥品管理混亂等問題,減少了人工傳送記賬單產(chǎn)生的錯誤,方便對醫(yī)療活動各階段中產(chǎn)生的數(shù)據(jù)進行采集、存貯、處理、提取、傳輸、匯總、加工生成的有效信息,極大地提高了醫(yī)院的總體工作效率。
【參考文獻】
[1]高群霞.基于MVC模式和多層架構(gòu)的電子商務(wù)網(wǎng)站設(shè)計與實現(xiàn)[J].廣東,2017年,第1期:56:58
[2]郭麗.基于JSP的學(xué)生就業(yè)信息管理系統(tǒng)的設(shè)計與實現(xiàn)[J].北京信息職業(yè)技術(shù)學(xué)院, 2013年,第3期:67:68
[3]梁棟.Java加密解密的藝術(shù)[M].機械工業(yè)出版社,2010: 2
[4]ljheee,Web用戶登錄-驗證碼的設(shè)計與實現(xiàn).CSDN博客.2017-.05-29. https://blog.csdn.net/ljheee/article/details/72799746.