任方針 秀友
摘要:在當(dāng)今人們?cè)絹碓街匾暽眢w健康的情況下,人們體檢需求大大增加,傳統(tǒng)的體檢預(yù)約方式較需要去機(jī)構(gòu)進(jìn)行預(yù)約,較為低效,基于這種情況,介紹一種體檢預(yù)約系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),該系統(tǒng)采用了Spring+SpringMVC+Mybatis框架來實(shí)現(xiàn),通過該系統(tǒng),醫(yī)院可以設(shè)置體檢項(xiàng)目、體檢日期等信息,需要體檢的人可以通過公眾號(hào)或者瀏覽器查看可以預(yù)約的項(xiàng)目和日期,并在線提交預(yù)約信息,充分利用了互聯(lián)網(wǎng)的便利性,提高了預(yù)約的效率。
關(guān)鍵詞:體檢預(yù)約系統(tǒng);SSM;系統(tǒng)設(shè)計(jì);數(shù)據(jù)庫設(shè)計(jì)
中圖分類號(hào):TP311 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)34-0010-04
Abstract:As people pay more and more attention to physical health,peoples medical examination needs have greatly increased. The traditional medical examination appointment method requires more appointments at institutions and is relatively inefficient. Based on this situation,the design and implementation of a physical examination appointment system are introduced. The system adopts the Spring+SpringMVC+Mybatis framework to achieve. Through this system,the hospital can set information such as physical examination items and physical examination dates. People who need physical examination can view the items and dates that can be reserved through the official account or browser,and online Submitting appointment information makes full use of the convenience of the Internet and improves the efficiency of appointments.
Key words: medical examination appointment system; SSM; system design;Database Design
1背景
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,人們的飲食和生活條件雖然得到了改善,但是由于工作節(jié)奏的加快,心理壓力的增加,生活環(huán)境的變化,人們常處于亞健康狀態(tài)。因此,每個(gè)人都在關(guān)注健康,每個(gè)人都在追求健康,健康體檢逐漸成為一種時(shí)尚[1]。健康體檢機(jī)構(gòu)在健康信息收集、風(fēng)險(xiǎn)評(píng)估和預(yù)測、健康維護(hù)和健康教育及健康指導(dǎo)等方面均發(fā)揮重要作用[2],健康體檢已經(jīng)成為人們生活的一部分,定期健康體檢,及時(shí)早期發(fā)現(xiàn)異常體征,做出正確診斷和有效處理措施,將疾病消滅于萌芽時(shí)期,為健康提供了超前保障,成為一種促進(jìn)身心健康的最好方式,在這種背景下,為了更高效地進(jìn)行體檢預(yù)約,我們?cè)O(shè)計(jì)了這個(gè)系統(tǒng)。
2需求分析
在設(shè)計(jì)系統(tǒng)之前,先對(duì)系統(tǒng)進(jìn)行需求分析,明確系統(tǒng)所要實(shí)現(xiàn)的功能以及要達(dá)成的目標(biāo),因此,先進(jìn)行功能需求分析然后進(jìn)行業(yè)務(wù)流程分析。
2.1功能需求分析
根據(jù)體檢預(yù)約的過程進(jìn)行需求分析,首先由系統(tǒng)管理員給提供體檢服務(wù)的機(jī)構(gòu)進(jìn)行體檢項(xiàng)目的設(shè)置,比如有哪些體檢項(xiàng)目服務(wù)提供,屬于什么套餐等,因此系統(tǒng)需要提供體檢項(xiàng)目的添加、刪除和修改等功能。當(dāng)系統(tǒng)管理員設(shè)置好體檢項(xiàng)目信息之后,需要體檢的人應(yīng)該能夠通過公眾號(hào)或者瀏覽器訪問,并且能夠看到這些信息,所以系統(tǒng)應(yīng)該具有展示體檢項(xiàng)目的功能,當(dāng)用戶看到體檢項(xiàng)目之后,應(yīng)該可以選擇自己想要做的體檢項(xiàng)目并提交給后臺(tái),因此系統(tǒng)要具有提交體檢預(yù)約信息的功能,當(dāng)后臺(tái)接收到用戶提交過來的預(yù)約信息之后要對(duì)數(shù)據(jù)進(jìn)行保存,因此需要有體檢信息保存功能,并且能展示給管理員,以便工作人員進(jìn)行相關(guān)準(zhǔn)備。為了更好更直觀地觀察到預(yù)約情況,我們還可以增加體檢信息分析的功能,以便看到用戶通常做了哪些檢測,選擇了哪些套餐,以便我們可以對(duì)項(xiàng)目進(jìn)行調(diào)整,也就是可以更科學(xué)地服務(wù)用戶。由于人們大多使用手機(jī),因此我們要做一個(gè)移動(dòng)端的預(yù)約方式,我們選擇通過微信公眾號(hào)來做,因此需要提供體檢項(xiàng)目在移動(dòng)端的展示以及移動(dòng)端的預(yù)約信息提交功能。
2.2業(yè)務(wù)流程分析
根據(jù)功能需求分析,我們可以梳理出系統(tǒng)的業(yè)務(wù)流程,首先由系統(tǒng)管理員設(shè)置體檢項(xiàng)目,然后用戶根據(jù)這些體檢項(xiàng)目選擇要體檢的項(xiàng)目提交給后臺(tái),后臺(tái)接收后將體檢信息保存并做相應(yīng)工作,然后數(shù)據(jù)分析員對(duì)這些信息進(jìn)行分析。其業(yè)務(wù)流程圖如圖1所示:
3系統(tǒng)設(shè)計(jì)
進(jìn)行需求分析之后,根據(jù)功能設(shè)計(jì)進(jìn)行系統(tǒng)設(shè)計(jì)。本系統(tǒng)采用了SSM框架設(shè)計(jì)模式,全名是Spring MVC+Spring+Mybatis。它包含了一個(gè)四層結(jié)構(gòu)體系,即表示層、控制層、服務(wù)層和數(shù)據(jù)庫訪問層,采用這種設(shè)計(jì)模式使表示層、業(yè)務(wù)邏輯的處理和前后臺(tái)頁面數(shù)據(jù)的交互分開。體現(xiàn)了項(xiàng)目整體各個(gè)模塊之間能夠獨(dú)立存在,并且又緊密相連的特點(diǎn)。利用這種設(shè)計(jì)模式本系統(tǒng)分為以下幾層:Bean、Dao、Mapper文件、Service、ServiceImpl和Controller。其中,Bean層主要存放的是與數(shù)據(jù)庫中的每一個(gè)數(shù)據(jù)表相對(duì)應(yīng)的實(shí)體類,Dao層和Mapper文件主要是為了對(duì)數(shù)據(jù)庫進(jìn)行操作,完成對(duì)數(shù)據(jù)表的增加、刪除、修改、查詢的功能,在SSM框架的Mybatis就是作用于這一層,Service層和ServiceImpl主要是實(shí)現(xiàn)業(yè)務(wù)邏輯處理的工作,而Controller層則是為了前后臺(tái)數(shù)據(jù)交互[3]。
3.1 系統(tǒng)流程設(shè)計(jì)
根據(jù)業(yè)務(wù)流程圖,我們可以對(duì)系統(tǒng)進(jìn)行系統(tǒng)流程設(shè)計(jì),體檢預(yù)約系統(tǒng)采用B/S架構(gòu),用戶通過瀏覽器訪問Web服務(wù)器。系統(tǒng)管理員先通過后臺(tái)設(shè)置預(yù)約項(xiàng)目、可預(yù)約人數(shù)、可預(yù)約日期等。預(yù)約者通過網(wǎng)頁填寫預(yù)約信息并上傳到后臺(tái),然后工作人員統(tǒng)計(jì)這些預(yù)約信息,預(yù)約者按時(shí)體檢。然后后臺(tái)可以將這些信息收集,并進(jìn)行分析,從而調(diào)整體檢項(xiàng)目以更好地服務(wù)用戶。
3.2 系統(tǒng)功能設(shè)計(jì)
根據(jù)功能需求分析,我們?cè)O(shè)計(jì)出系統(tǒng)所需功能,并進(jìn)行模塊劃分。需要體檢項(xiàng)目的添加、刪除、修改等功能,因此需要網(wǎng)頁端后臺(tái)模塊,為系統(tǒng)管理員提供添加、修改、刪除體檢項(xiàng)目功能以及提交用戶網(wǎng)頁端預(yù)約信息等功能,同樣,也需要移動(dòng)端后臺(tái)模塊,提供手機(jī)用戶登錄及移動(dòng)端預(yù)約信息提交等功能,用戶登錄后要能夠看到預(yù)約項(xiàng)目,因此要有網(wǎng)頁端網(wǎng)頁模塊,提供網(wǎng)頁端相關(guān)信息展示功能,同樣的,也需要一個(gè)移動(dòng)端網(wǎng)頁模塊來提供移動(dòng)端相關(guān)信息的展示。由于有三種角色,每種角色有不同的權(quán)限,因此,需要有權(quán)限模塊,來控制系統(tǒng)的角色與權(quán)限。因此,系統(tǒng)功能模塊劃分了網(wǎng)頁端后臺(tái)模塊、移動(dòng)端后臺(tái)模塊、網(wǎng)頁端網(wǎng)頁模塊、移動(dòng)端網(wǎng)頁模塊以及權(quán)限模塊。
3.2.1 網(wǎng)頁端后臺(tái)模塊
網(wǎng)頁端后臺(tái)模塊提供體檢項(xiàng)目的添加、刪除、修改等功能;提供預(yù)約相關(guān)信息的設(shè)置功能,即設(shè)置預(yù)約時(shí)間、可預(yù)約人數(shù)等;提供預(yù)約信息提交功能,即當(dāng)用戶通過網(wǎng)頁提交了自己的預(yù)約信息后,將預(yù)約信息提交給后臺(tái)并保存到數(shù)據(jù)庫,以便進(jìn)行準(zhǔn)備;還需要提供為數(shù)據(jù)分析員進(jìn)行數(shù)據(jù)分析的功能,同時(shí)還要負(fù)責(zé)不同角色的登錄校驗(yàn)。
3.2.2 權(quán)限模塊
權(quán)限模塊是對(duì)使用系統(tǒng)的人進(jìn)行角色和權(quán)限的劃分,因此權(quán)限模塊要完成為角色賦權(quán)限,從數(shù)據(jù)庫中查詢角色與權(quán)限,對(duì)登錄的用戶的權(quán)限進(jìn)行校驗(yàn),這個(gè)模塊采用spring-security框架來實(shí)現(xiàn)。
3.2.3 網(wǎng)頁端網(wǎng)頁模塊
網(wǎng)頁端網(wǎng)頁模塊要完成體檢項(xiàng)目等相關(guān)信息在網(wǎng)頁端的展示,包括預(yù)約項(xiàng)目,預(yù)約時(shí)間等等,并且要把用戶在網(wǎng)頁上填的預(yù)約信息提交到網(wǎng)頁端后臺(tái)模塊,由網(wǎng)頁端后臺(tái)來進(jìn)行保存及處理,采用vue來完成。
3.2.4 移動(dòng)端后臺(tái)模塊
移動(dòng)端后臺(tái)模塊與網(wǎng)頁端后臺(tái)模塊類似,要處理從公眾號(hào)入口提交的體檢預(yù)約信息,還要完成手機(jī)用戶用手機(jī)號(hào)通過短信驗(yàn)證碼來登錄的功能。
3.2.5 移動(dòng)端網(wǎng)頁模塊
移動(dòng)端網(wǎng)頁模塊與網(wǎng)頁端網(wǎng)頁模塊類似,要完成移動(dòng)端相關(guān)信息的展示,預(yù)約項(xiàng)目、時(shí)間等,同樣要將移動(dòng)端用戶提交的預(yù)約信息提交到移動(dòng)端后臺(tái)模塊,由移動(dòng)端后臺(tái)來進(jìn)行相應(yīng)的處理。
4數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫是系統(tǒng)的核心和基礎(chǔ),通過對(duì)系統(tǒng)各功能模塊的分析,對(duì)數(shù)據(jù)庫進(jìn)行設(shè)計(jì),由功能分析及模塊劃分,明確需要存儲(chǔ)的信息包括體檢項(xiàng)目信息、會(huì)員信息、角色權(quán)限信息等。
4.1 數(shù)據(jù)庫概念設(shè)計(jì)
數(shù)據(jù)庫的合理設(shè)計(jì)是系統(tǒng)能夠高效運(yùn)行和存儲(chǔ)數(shù)據(jù)的前提之一,先進(jìn)行數(shù)據(jù)庫的概念設(shè)計(jì),然后進(jìn)行數(shù)據(jù)庫邏輯設(shè)計(jì)[4],數(shù)據(jù)庫的概念模型如圖2所示:
4.2.1 邏輯設(shè)計(jì)
由概念模型圖對(duì)數(shù)據(jù)庫進(jìn)行邏輯設(shè)計(jì),設(shè)計(jì)出數(shù)據(jù)庫中各表。
t_checkgroup檢查組表(檢查組編號(hào)id、檢查組編碼code、檢查組名稱name、檢查組助記碼helpCode、性別gender、注意事項(xiàng)attention、標(biāo)簽remark),記錄檢查組的各項(xiàng)信息。
t_checkitem檢查項(xiàng)表(檢查項(xiàng)編號(hào)id、檢查項(xiàng)編碼code、檢查項(xiàng)名稱name、性別gender、年齡age、價(jià)格price、類型type、注意事項(xiàng)attention、標(biāo)簽remark),記錄檢查項(xiàng)的各項(xiàng)信息,也就是體檢項(xiàng)目的信息。
t_checkgroup_checkitem檢查組檢查項(xiàng)中間表(檢查組編號(hào)checkgroup_id、檢查項(xiàng)編號(hào)checkitem_id),將檢查組與檢查項(xiàng)關(guān)聯(lián)起來。
t_member會(huì)員表(會(huì)員編號(hào)id、會(huì)員名name、性別gender、身份證號(hào)idCard、電話號(hào)碼phoneNumber、注冊(cè)時(shí)間regTime、密碼password、郵件email、生日birthday),記錄會(huì)員的各項(xiàng)信息,某些用戶注冊(cè)為會(huì)員時(shí),將記錄在此表。
t_menu菜單表(菜單編號(hào)id、菜單名name、鏈接地址linkUrl、路徑path、優(yōu)先級(jí)priority、圖標(biāo)icon、描述description、父菜單編號(hào)parentMenuId),記錄菜單的各項(xiàng)信息,用來進(jìn)行菜單展示。
t_order預(yù)約表(預(yù)約編號(hào)id、會(huì)員編號(hào)member_id、預(yù)約日期orderDate、預(yù)約類型orderType、預(yù)約狀態(tài)orderStatus、套餐編號(hào)setmeal_id)記錄用戶的預(yù)約信息,也是主要業(yè)務(wù)。
t_ordersetting預(yù)約設(shè)置表(預(yù)約設(shè)置編號(hào)id、預(yù)約日期orderDate、預(yù)約數(shù)量number、已預(yù)約人數(shù)reservations)記錄預(yù)約設(shè)置的各項(xiàng)信息,如預(yù)約日期、預(yù)約數(shù)量。
t_permission權(quán)限表(權(quán)限編號(hào)id、權(quán)限名稱name、權(quán)限關(guān)鍵字keyword、描述description),記錄用戶的權(quán)限。
t_role角色表(角色編號(hào)id、角色名稱name、角色關(guān)鍵字keyword、描述description),記錄系統(tǒng)所有的角色。
t_role_menu角色菜單中間表(角色編號(hào)role_id、菜單編號(hào)menu_id),將角色和菜單關(guān)聯(lián)起來,使不同角色看到與自己角色對(duì)應(yīng)的菜單。
t_role_permission角色權(quán)限中間表(角色編號(hào)role_id、權(quán)限編號(hào)permission_id),將角色與權(quán)限關(guān)聯(lián)起來。
t_setmeal套餐表(套餐編號(hào)id、套餐名稱name、套餐編碼code、套餐助記碼helpCode、性別gender、年齡age、價(jià)格price、套餐標(biāo)簽remark、注意事項(xiàng)attention、套餐圖片img),記錄套餐信息。
t_setmeal_checkgroup套餐檢查組中間表(套餐編號(hào)setmeal_id、檢查組編號(hào)checkgroup_id),將套餐與檢查組關(guān)聯(lián)起來,就是將知名套餐包含哪些檢查組。
t_user用戶表(用戶編號(hào)id、用戶生日birthday、性別gender、用戶名username、密碼password),記錄用戶信息。
t_user_role用戶角色中間表(用戶編號(hào)user_id、角色編號(hào)role_id),將用戶與角色關(guān)聯(lián)起來。
5系統(tǒng)實(shí)現(xiàn)
完成初步系統(tǒng)設(shè)計(jì)之后,進(jìn)行系統(tǒng)的實(shí)現(xiàn),根據(jù)系統(tǒng)的流程設(shè)計(jì),以及功能模塊的劃分來進(jìn)行系統(tǒng)實(shí)現(xiàn)。
5.1 界面展示模塊實(shí)現(xiàn)
網(wǎng)頁端網(wǎng)頁模塊主要是網(wǎng)頁端體檢項(xiàng)目等信息的展示,并且用戶通過此模塊來填寫網(wǎng)頁端的體檢預(yù)約信息并提交給網(wǎng)頁端后臺(tái),因此主要是前端頁面,采用了vue來實(shí)現(xiàn)。網(wǎng)頁端主頁面如圖3所示:
移動(dòng)端網(wǎng)頁模塊與網(wǎng)頁端網(wǎng)頁模塊類似,主要是移動(dòng)端的體檢項(xiàng)目等信息的展示,同時(shí)也要提交用戶通過移動(dòng)端填寫的體檢預(yù)約信息給移動(dòng)端后臺(tái),因此同樣主要是前端網(wǎng)頁。移動(dòng)端主頁面如圖3所示。
5.2 后臺(tái)模塊實(shí)現(xiàn)
包括網(wǎng)頁端后臺(tái)模塊和移動(dòng)端后臺(tái)模塊,用戶通過網(wǎng)頁端或者移動(dòng)端進(jìn)入系統(tǒng)并提交體檢預(yù)約信息后,將會(huì)將信息提交給對(duì)應(yīng)的后臺(tái)模塊,并由后臺(tái)模塊對(duì)這些體檢預(yù)約信息進(jìn)行處理,比如有數(shù)據(jù)分析員進(jìn)行數(shù)據(jù)分析,比如將這些信息保存到數(shù)據(jù)庫,然后展示給對(duì)應(yīng)的角色,因此該模塊是將網(wǎng)頁端提交的預(yù)約信息保存到數(shù)據(jù)庫,及將數(shù)據(jù)庫查詢到的數(shù)據(jù)傳到前端網(wǎng)頁,該模塊要完成與數(shù)據(jù)庫進(jìn)行交互的職責(zé)。
網(wǎng)頁端后臺(tái)控制器部分代碼如下,負(fù)責(zé)接收前端頁面?zhèn)鬟^來的數(shù)據(jù)。
還要負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行交互,將頁面?zhèn)鬟^來的信息保存到數(shù)據(jù)庫,并將頁面所需要的數(shù)據(jù)從數(shù)據(jù)庫查詢出來后再傳給前端頁面,因此還要有與數(shù)據(jù)庫進(jìn)行交互的實(shí)現(xiàn),以檢查項(xiàng)為例,檢查項(xiàng)實(shí)現(xiàn)類部分代碼如下,完成查詢數(shù)據(jù)庫信息傳到前端頁面。
5.3權(quán)限模塊實(shí)現(xiàn)
權(quán)限模塊是對(duì)用戶進(jìn)行角色劃分并賦予權(quán)限的模塊,不同用戶具有不同的權(quán)限和職責(zé),通過本模塊來進(jìn)行權(quán)限和角色的賦予,本模塊采用了Spring-Security安全框架。部分實(shí)現(xiàn)控制器代碼如下。
6結(jié)束語
為解決醫(yī)療資源合理充分利用的問題,本文設(shè)計(jì)了這個(gè)系統(tǒng)。通過這個(gè)系統(tǒng),醫(yī)院工作人員和用戶之間有了一個(gè)平臺(tái)來協(xié)調(diào)體檢項(xiàng)目的預(yù)約問題。本文在對(duì)系統(tǒng)展開充分需求分析和系統(tǒng)設(shè)計(jì)的基礎(chǔ)上,綜合運(yùn)用SSM、Ajax和數(shù)據(jù)庫等相關(guān)技術(shù),實(shí)現(xiàn)體檢預(yù)約各項(xiàng)功能[5]。同時(shí)本系統(tǒng)采用了接口抽取,因此擴(kuò)展性大大增加,模塊耦合度低,本系統(tǒng)若想擴(kuò)展其他功能,只需增加接口及相應(yīng)的處理即可。
參考文獻(xiàn):
[1] 蔡穗珍,黃守清,林建著,等.預(yù)約系統(tǒng)在健康體檢中的應(yīng)用[J].中國醫(yī)藥指南,2012,10(10):719-720.
[2] 李鵬,陳軍偉,辛海燕,等.基于支付寶平臺(tái)下體檢預(yù)約系統(tǒng)的解決方案[J].中國數(shù)字醫(yī)學(xué),2017,12(7):67-68,71.
[3] 陳培龍,仁增多杰.基于SSM框架旅游網(wǎng)站后臺(tái)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2018(10):28-29.
[4] 楊永琪,董國泰,朱文豪.基于Java和數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)的航空售票系統(tǒng)[J].電腦知識(shí)與技術(shù),2020,16(6):75-76.
[5] 劉昊,李民.基于SSM框架的客戶管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2017,16(7):87-89.
【通聯(lián)編輯:謝媛媛】