張亞萍+呂瓊帥
摘要:為了使醫(yī)院的管理實現(xiàn)信息化和智能化,采用了基于Struts2、Hibernate和Spring的框架(SSH)技術(shù)及基于MySql的后臺數(shù)據(jù)庫技術(shù),設(shè)計并實現(xiàn)了符合醫(yī)院管理流程的基于SSH的醫(yī)院管理系統(tǒng),同時給出了該管理系統(tǒng)的部分程序代碼。
關(guān)鍵詞:Struts2;Hibernate;Spring;醫(yī)院管理系統(tǒng);MySql
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)04-0027-02
Design and Implementation of Hospital System Based on SSH
ZHANG Ya-ping1, LV Qiong-shuai2
(1.Luoyang cental hospital, Luoyang 471000, China; 2.Software College, Pingdingshan University, Pingdingshan 467000, China)
Abstract: In order to make the management of the hospital to realize informatization and intelligence,In this paper, based on the framework of Struts2, Hibernate and SSH (Spring) technology and MySql based database technology, design and implementation of the hospital management process based on SSH hospital management system. At the same time, the part of the program code of the management system is given.
Key words: Struts2; Hibernate; Spring; hospital management system; MySql
1 背景
隨著社會的發(fā)展,人們的生活水平不斷地提高,計算機技術(shù)和信息技術(shù)的不斷發(fā)展,使得信息技術(shù)在醫(yī)院的宣傳、管理、醫(yī)療等方面得到了廣泛的應(yīng)用,所以基于信息化、智能化的醫(yī)院管理系統(tǒng)也應(yīng)運而生。為了提高醫(yī)院的運行效率和實現(xiàn)醫(yī)院管理的智能化和信息化建設(shè),充分利用現(xiàn)代科技發(fā)展的成果,所以,設(shè)計并開發(fā)出一套規(guī)范的管理平臺,能夠有效提高醫(yī)院的服務(wù)和管理水平。
2 醫(yī)院管理平臺的需求分析及系統(tǒng)功能
2.1 需求分析
通過對現(xiàn)有醫(yī)院管理模式的研究與分析及客戶對平臺的需求,該系統(tǒng)采用B/S模式,分為前臺模塊和后臺信息管理模塊。前臺宣傳模塊主要包括醫(yī)院的相關(guān)信息,醫(yī)生信息,掛號信息瀏覽,在線預(yù)約、在線留言,查看案例等內(nèi)容;后臺信息管理主要包括病人信息管理、醫(yī)院科室信息管理、醫(yī)生在線管理、診斷和處方信息管理、繳費管理和賬戶管理等六個管理模塊。另外,系統(tǒng)所面向的主要用戶有一般用戶、注冊用戶、科室管理員、系統(tǒng)管理員。一般用戶可以瀏覽醫(yī)院相關(guān)信息,通過注冊可以成為注冊用戶;注冊用戶可以在網(wǎng)上進行掛號、預(yù)約、留言等功能;科室管理員和系統(tǒng)管理員都是屬于管理員級別的用戶,科室管理員主要是對本科室內(nèi)部的醫(yī)療人員及日常事務(wù)進行管理,系統(tǒng)管理員則主要負責(zé)該平臺的日常運行維護等工作。
2.2 系統(tǒng)功能
根據(jù)醫(yī)院的日常業(yè)務(wù)運行流程及系統(tǒng)的需求分析可以確定該系統(tǒng)主要包含以下幾個功能:
1)日常信息管理功能。該功能主要包括顯示和查看醫(yī)療人員信息管理、科室信息,同時還要對疾病的治療方法及常識進行介紹。
2)診斷管理功能。該功能主要包含查看病歷和處方信息,以及對病歷和處方進行修改、增加和刪除操作。
3)繳費管理功能。該功能主要是對醫(yī)生所開的處方及藥物進行下單和病人的繳費管理,包括處方查詢,完成病人繳費拿藥等基本操作。
3 醫(yī)院管理系統(tǒng)的設(shè)計
3.1 框架設(shè)計及技術(shù)分析
經(jīng)過對醫(yī)院日常的業(yè)務(wù)邏輯和功能的劃分,在進行系統(tǒng)設(shè)計時,采用了MVC三層架構(gòu)設(shè)計,將管理系統(tǒng)的輸入、處理和輸出分開,把整個應(yīng)用程序分成三個核心模塊模型、視圖和控制器。其中,模型可以表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯。表示業(yè)務(wù)數(shù)據(jù)的模型稱為狀態(tài)模型,它定義當(dāng)前值的集合;表示業(yè)務(wù)邏輯的模型稱為動作模型,它修改狀態(tài)模型的狀態(tài),是控制器與狀態(tài)模型交互的中間層。視圖并不會去處理數(shù)據(jù),它主要是向用戶顯示相關(guān)的信息并接收和處理用戶的請求,還可以接收模型發(fā)出的數(shù)據(jù)更新及修改、刪除事件,從而對用戶的界面進行同步的更新,同時還可以向模型查詢業(yè)務(wù)狀態(tài),但是視圖不能修改模型。當(dāng)系統(tǒng)用戶提交用戶的請求來向系統(tǒng)發(fā)送表單數(shù)據(jù)時,該請求會由控制器接收,并進行處理,調(diào)用相應(yīng)的系統(tǒng)組件,最后會用相應(yīng)的視圖顯示出請求處理的結(jié)果??刂破鞒私邮照埱?,還會負責(zé)一些底層的工作,比如轉(zhuǎn)發(fā)控制請求和顯示新的Web頁面的處理結(jié)果。
本系統(tǒng)中,主要的業(yè)務(wù)邏輯處理交由SSH框架中的Struts組件來完成,Struts組件可以將視圖與業(yè)務(wù)邏輯進行相互的分離,這樣攔截所有用戶的請求交由控制器來負責(zé),如果用戶請求與系統(tǒng)配置文件的中配制一致,則將該請求交給Struts組件完成。而用戶的Action類的各實例交由業(yè)務(wù)邏輯層控制器完成,通過對該實例的處理返回一個ActionForward,用來確定返回的頁面。模型角色存放在com.hospital.bean包中,視圖文件存放在Hospital文件夾中,com.hospital.action中的java文件充當(dāng)控制器的角色,負責(zé)處理用戶請求、創(chuàng)建JSP頁面需要使用的Java Bean對象、根據(jù)用戶的請求選擇合適的JSP頁面返回給用戶。
3.2 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計的目標(biāo)是產(chǎn)生反映全組織信息需求的整體數(shù)據(jù)庫概念結(jié)構(gòu)。數(shù)據(jù)庫設(shè)計的主要任務(wù)是將上述需求分析過程中得到的信息轉(zhuǎn)化為計算機可以處理的信息,是一個數(shù)據(jù)抽象的過程,也是平臺設(shè)計的重點。本系統(tǒng)選用MySql作為系統(tǒng)的后臺數(shù)據(jù)庫的數(shù)據(jù)。如圖1所示,本系統(tǒng)平臺的E-R圖。
其中在數(shù)據(jù)庫中添加用戶信息的核心代碼如下:
public String saveCommon() throws IOException{
if(common.getCadress().trim().length()==0||common.getCage().trim().length()==0||common.getCbirthday().trim().length()==0||common.getCeducation().trim().length()==0||common.getCemail().trim().length()==0||common.getCname().trim().length()==0||common.getCoffice().trim().length()==0||common.getCpost().trim().length()==0||common.getCsex().trim().length()==0||common.getCtel().trim().length()==0||common.getCworkid().trim().length()==0||uploadFileName==null)
{
ServletActionContext.getRequest().setAttribute("msg", "所有表單都為必填項,不能為空!");
return "commonInput";
}
else{
Common common1= adminService.getCommonByworkid(
common.getCworkid());
if(common1!=null){
ServletActionContext.getRequest().setAttribute("msg", "工號已存在,請重寫!");
return "commonInput";
}
else{
String path= ServletActionContext.getServletContext().
getRealPath("/Employee");
File file =new File(path+"/"+uploadFileName);
FileUtils.copyFile(upload, file);
File reFile=new File("/Hospital/Employee/"+uploadFileName);
common.setCphoto(reFile.toString());
adminService.saveCommon(common);
return "commonSuccess";
}
}
}
4 醫(yī)院管理系統(tǒng)的規(guī)劃
5 結(jié)束語
該文本文以SSH框架為平臺,根據(jù)醫(yī)院管理系統(tǒng)的需求分析,設(shè)計了一個基于SSH的醫(yī)院管理系統(tǒng),并給出了該系統(tǒng)的整體網(wǎng)絡(luò)規(guī)劃。該系統(tǒng)在一定程度上能夠滿足醫(yī)院現(xiàn)實的業(yè)務(wù)需求,基本達到了預(yù)期的設(shè)計目標(biāo),對醫(yī)院實現(xiàn)信息化管理起到了一定的推動作用。
參考文獻:
[1] 萬明, 李娟娟. 基于Android的社區(qū)信息管理系統(tǒng)的設(shè)計與實現(xiàn)[J]. 電腦知識與技術(shù), 2014, 10(3): 561-563.
[2] 張宗耀. 計算機網(wǎng)絡(luò)與辦公自動化[M]. 西安: 西安電子科技大學(xué)出版社, 2003.
[3] 鄒竹彪. JSP寶典[M]. 北京: 電子工業(yè)出版社, 2007.
[4] 劉中兵. 開發(fā)者突擊:Java Web主流框架整合開發(fā)[M]. 北京: 電子工業(yè)出版社, 2009.
[5] 孫衛(wèi)琴. 精通Hibernate[M]. 北京: 電子工業(yè)出版社, 2005.
[6] 李淑娟, 李言. 基于JSP的合同管理系統(tǒng)開發(fā)[J]. 計算機工程, 2004, 30(24): 147-149.
[7] 朱少民. 軟件測試方法和技術(shù)[M]. 北京: 清華大學(xué)出版社, 2010.