国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

社區(qū)醫(yī)療系統(tǒng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

2022-09-18 17:30 作者:指南針畢業(yè)設(shè)計(jì)  | 我要投稿

?作者主頁(yè):編程指南針

作者簡(jiǎn)介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家 、掘金特邀作者、多年架構(gòu)師設(shè)計(jì)經(jīng)驗(yàn)、騰訊課堂常駐講師

主要內(nèi)容:Java項(xiàng)目、畢業(yè)設(shè)計(jì)、簡(jiǎn)歷模板、學(xué)習(xí)資料、面試題庫(kù)、技術(shù)互助

文末獲取源碼?

項(xiàng)目編號(hào):BS-YL-019

一,項(xiàng)目簡(jiǎn)介

現(xiàn)在互聯(lián)網(wǎng)是日新月異發(fā)展越來越快,已經(jīng)在各行各業(yè)中不斷受到大家的重視,也得到在不同的行業(yè)中進(jìn)行使用。不管在那個(gè)行業(yè)都面臨著現(xiàn)代化信息時(shí)代的挑戰(zhàn)。同樣醫(yī)院行業(yè)也是如此,一個(gè)完善的社區(qū)醫(yī)療平臺(tái),要具有一般醫(yī)院所具備的基本功能條件還有信息的管理功能,但是現(xiàn)在的一些社區(qū)衛(wèi)生醫(yī)療基本上是通過原來的街道辦診所改建而來的,雖然可以滿足日?;颊呖床〉男枨?,但是在對(duì)于現(xiàn)在的人們來說已經(jīng)越來越滿足不了大家的需求了,同時(shí)對(duì)患者一些信息的管理也存在著嚴(yán)重的不中,還是純手工的進(jìn)行記錄,如果要查詢患者的一些信息是極為不方便的?,F(xiàn)在我國(guó)的醫(yī)療行業(yè)的改革正在穩(wěn)步前進(jìn),要實(shí)現(xiàn)居民看病不再難,不再排隊(duì),對(duì)患者信息有一種更有效的手段管理機(jī)制。

綜以上所述,所以本次畢業(yè)項(xiàng)目我將開發(fā)一個(gè)社區(qū)醫(yī)療系統(tǒng)平臺(tái),來服務(wù)本社區(qū)的所有的居民。實(shí)現(xiàn)讓居民看病不再困難,不再排隊(duì)的問題,讓居民感受到社區(qū)的服務(wù)很到位!本社區(qū)醫(yī)療系統(tǒng)平臺(tái)將采用最流行的B/S結(jié)構(gòu)和SSM框架做為項(xiàng)目的架構(gòu),使用IDEA工具進(jìn)行編碼,采用主流的MySql數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。社區(qū)醫(yī)療系統(tǒng)主要有超級(jí)管理員、社區(qū)醫(yī)生和患者三個(gè)角色。超級(jí)管理員可以對(duì)本系統(tǒng)中所有的數(shù)據(jù)進(jìn)行操作。醫(yī)生角色對(duì)患者進(jìn)行接診、添加病歷等操作?;颊呖梢栽诰€預(yù)約和瀏覽社區(qū)醫(yī)院的相關(guān)信息。此系統(tǒng)有效的減少了大量的人力投入和工作效率以及社區(qū)患者的看病效率極大的提供了方便和效率!

關(guān)鍵詞:SSM;MySQL;MVC;LayUi;社區(qū)醫(yī)療


1.1.1業(yè)務(wù)流程

本系統(tǒng)一共有三個(gè)角色管理員、醫(yī)生、患者。管理員和醫(yī)生是通過后臺(tái)登錄進(jìn)入到管理頁(yè)面。而患者則是不同,患者先進(jìn)入到社區(qū)醫(yī)療系統(tǒng)首頁(yè),在首頁(yè)中可以登錄也可以注冊(cè)。登錄成功后點(diǎn)擊【個(gè)人中心】進(jìn)入到后臺(tái)管理,進(jìn)行對(duì)患者的信息做操作。

社區(qū)醫(yī)療系統(tǒng)平臺(tái)的超級(jí)管理員功能主要有以下幾個(gè):管理患者和醫(yī)生信息、本社區(qū)醫(yī)院有那些科室等功能。超級(jí)管理員業(yè)務(wù)流程圖如圖3.1所示。

編輯


圖1.1 系統(tǒng)管理員業(yè)務(wù)流程圖


社區(qū)醫(yī)療系統(tǒng)平臺(tái)的醫(yī)生功能主要包括以下幾個(gè):修改個(gè)人信息及密碼,以及在線診斷和病歷管理功能。

醫(yī)生業(yè)務(wù)流程圖如圖1.2所示。

編輯

?圖1.2醫(yī)生業(yè)務(wù)流程圖


社區(qū)醫(yī)療系統(tǒng)平臺(tái)患者功能主要包括以下幾個(gè):修改個(gè)人資料、瀏覽本社區(qū)醫(yī)院的醫(yī)生的一些基本信息,在線預(yù)約和取消預(yù)約,查看自己的以往的就診歷史。

患者業(yè)務(wù)流程圖如圖1.3所示。


編輯


圖1.3 患者業(yè)務(wù)流程圖


1.1.2數(shù)據(jù)流圖

使用數(shù)據(jù)流圖對(duì)系統(tǒng)進(jìn)行分析,關(guān)注系統(tǒng)中的數(shù)據(jù),主要展示系統(tǒng)的數(shù)據(jù)之間的處理過程。它采取分層描繪的方法,在頂層圖中能展現(xiàn)系統(tǒng)與外部實(shí)體之間的信息關(guān)聯(lián),可以察看是否有輸入信息、需要處理的信息和輸出信息的疏漏,能盡早發(fā)現(xiàn)系統(tǒng)中的邏輯錯(cuò)誤,并對(duì)其糾正。就這樣逐層分解下去,系統(tǒng)的框架就可以被展現(xiàn)出來。系統(tǒng)頂層數(shù)據(jù)流圖如圖3.4所示。

編輯



圖1.4系統(tǒng)頂層數(shù)據(jù)流圖

系統(tǒng)1層數(shù)據(jù)流圖如圖1.5所示

編輯



圖1.5系統(tǒng)1層數(shù)據(jù)流圖

1.1.4功能需求

經(jīng)過前期在社區(qū)的走訪調(diào)研和網(wǎng)上查閱資料再根據(jù)目前所掌握的技術(shù),具體的功能需求分析如下:

社區(qū)醫(yī)療系統(tǒng)平臺(tái)主要有超級(jí)管理員、醫(yī)生、患者三大角色和個(gè)人信息管理、醫(yī)生管理、患者管理等14個(gè)功能。在這里管理員權(quán)限的級(jí)別是最高的同樣它的功能也是最多的。接下來我們將根據(jù)不同的角色簡(jiǎn)單說明一下各個(gè)角色的功能需求:

1)管理員角色:管理員可以對(duì)醫(yī)生信息的管理、患者信息的管理、醫(yī)院公告、科室的管理、藥品的管理等進(jìn)行操作。

(1)醫(yī)生管理模塊中可以對(duì)醫(yī)生實(shí)現(xiàn)添加醫(yī)生,在添加醫(yī)生界面中可以選擇該醫(yī)生所對(duì)應(yīng)的的科室。修改操作只能對(duì)醫(yī)生的用戶名、真實(shí)姓名、科室、以及該醫(yī)生所對(duì)應(yīng)的級(jí)別進(jìn)行修改。刪除操作必須要通過主鍵id進(jìn)行刪除。查詢是可以根據(jù)多條件進(jìn)行查詢并分頁(yè)展示。條件查詢可以根據(jù)用戶輸入的用戶名、醫(yī)生的真實(shí)姓名、性別、科室、級(jí)別、注冊(cè)時(shí)間進(jìn)行全方位的查詢。

(2)對(duì)患者管理管理員沒有添加功能,如果患者沒有賬戶是需要通過患者在主頁(yè)中點(diǎn)擊注冊(cè)進(jìn)行注冊(cè)用戶之后,才可以進(jìn)行預(yù)約。所以管理員只能對(duì)患者進(jìn)行修改、刪除和多條件分頁(yè)查詢。管理員可以修改患者的用戶名、真實(shí)姓名、郵箱、級(jí)別(普通/VIP)、性別、手機(jī)號(hào)這些信息,在提交數(shù)據(jù)時(shí)是通過患者的唯一主鍵id進(jìn)行修改用戶信息。刪除操作必須要通過主鍵id進(jìn)行刪除。條件查詢可以根據(jù)管理員的任意組合方式進(jìn)行全方位的查詢。

(3)對(duì)公告管理功能管理員只有添加和刪除功能??梢蕴砑庸嬉恍┗緝?nèi)容,添加完成之后立即發(fā)布公告。刪除公告則通過主鍵id進(jìn)行唯一刪除。

(4)對(duì)科室管理功能管理員可以對(duì)科室進(jìn)行添加、修改、刪除功能。添加科室時(shí)要注意科室的名稱不能重復(fù)的。修改科室通過id修改對(duì)應(yīng)的科室的名稱。刪除科室功能要先查詢?cè)摽剖蚁率欠裼衅渌t(yī)生,如果有其他醫(yī)生則不是直接刪除,需要管理員回到醫(yī)生管理中刪除該分類下的醫(yī)生,才可以刪除科室,反之則可以直接刪除科室。

(5)對(duì)藥品管理功能管理員可以做藥品添加、藥品修改、藥品刪除和多條件查詢操作。藥品添加可以將藥品的一些常見信息的錄入。藥品修改可以對(duì)藥品的信息進(jìn)行修改其他的生產(chǎn)日期和有效期是不能修改的,因?yàn)檫@是藥品出廠已經(jīng)規(guī)定好的。藥品刪除只能根據(jù)id刪除,點(diǎn)擊按鈕把id傳遞到后臺(tái),在數(shù)據(jù)庫(kù)刪除記錄即可。藥品查詢可以多條件查詢條件可以輸入藥品的編號(hào)、藥品的名稱、藥品的類別、主治功能、生產(chǎn)日期、藥品價(jià)格進(jìn)行模糊查詢并分頁(yè)展示在頁(yè)面!

2)醫(yī)生角色: 醫(yī)生可對(duì)預(yù)約管理、患者病歷、藥品信息、醫(yī)生信息、社保信息等進(jìn)操作。

(1)預(yù)約管理功能分為兩個(gè)操作一個(gè)是查看預(yù)約患者列表另外一個(gè)是已接診的患者功能。在預(yù)約患者列表中查看預(yù)約信息,醫(yī)生只能看到自己的患者預(yù)約信息。醫(yī)生可以通過點(diǎn)擊按鈕進(jìn)行接診處理。接完診就可以在已接診的預(yù)約列表中查看,在這里醫(yī)生就可以進(jìn)行看病診斷添加病歷信息了。

(2)患者病歷功能醫(yī)生可查看以往患者的病歷信息,同時(shí)對(duì)病歷可編輯,編輯的內(nèi)容有患者的姓名、性別、病歷的創(chuàng)建日期、診斷結(jié)論和診斷詳情進(jìn)行修改。刪除只能通過id進(jìn)行刪除。

(3)藥品信息功能,醫(yī)生只有查看的權(quán)限沒有添加、刪除、修改的權(quán)限這些權(quán)限只有管理員才有。這個(gè)功能只是幫助醫(yī)生在開藥的時(shí)候方便查看藥品的一些詳情信息進(jìn)行錄入診斷記錄。

(4)醫(yī)生信息功能主要是修改個(gè)人資料及密碼。

(5)社保信息功能主要是讓醫(yī)生看看當(dāng)前的患者有沒有社保信息,如果有社??梢栽陂_藥的時(shí)候進(jìn)行開一些可以報(bào)銷的藥品。醫(yī)生對(duì)社保這塊的功能只有查詢。其他操作只有患者本人才有。查詢社保信息時(shí)也可以多條件的查詢并分頁(yè)。

3)患者角色:系統(tǒng)啟動(dòng)后自動(dòng)進(jìn)入門戶系統(tǒng),在門戶系統(tǒng)中患者可以瀏覽本社區(qū)醫(yī)療系統(tǒng)的一些其他信息,比如門診科室、社區(qū)醫(yī)院的醫(yī)療特色、醫(yī)院簡(jiǎn)介、醫(yī)室團(tuán)隊(duì)、新聞動(dòng)態(tài)等內(nèi)容。在門診科室和醫(yī)師團(tuán)隊(duì)頁(yè)面中可以在線預(yù)約就診。在點(diǎn)擊【預(yù)約】時(shí)如果患者沒有登錄則會(huì)提示患者登錄。點(diǎn)擊【個(gè)人中心】進(jìn)入到患者的后臺(tái)管理進(jìn)行查看患者的預(yù)約信息以及個(gè)人資料和以往的病歷信息。

(1)我的預(yù)約功能可以取消預(yù)約操作。

(2)個(gè)人資料是修改個(gè)人的基本信息。

(3)病歷信息功能查看患者以往的就診信息,這個(gè)功能只能查詢沒有刪除、修改、添加功能。在查詢時(shí)還可以根據(jù)病例的標(biāo)題、病歷診斷內(nèi)容等多條件查詢并分頁(yè)展示。

二,環(huán)境介紹

語言環(huán)境:Java:? jdk1.8

數(shù)據(jù)庫(kù):Mysql: mysql5.7

應(yīng)用服務(wù)器:Tomcat:? tomcat8.5.31

開發(fā)工具:IDEA或eclipse

后臺(tái)技術(shù):SSM+MAVEN

前臺(tái)技術(shù):layui+jquery+ajax

三,系統(tǒng)展示

5.1 門戶前臺(tái)模塊實(shí)現(xiàn)

前臺(tái)頁(yè)面主要集成了首頁(yè)、門診科室、醫(yī)療特色、醫(yī)院簡(jiǎn)介、醫(yī)師團(tuán)隊(duì)、新聞動(dòng)態(tài)、聯(lián)系我們等信息的展示。方便患者可以從前臺(tái)就能了解社區(qū)醫(yī)院的基本信息,也能讓患者找到相應(yīng)的科室,進(jìn)行預(yù)約自己喜歡的醫(yī)生?;颊咴跒g覽時(shí)是不需要登錄系統(tǒng)的,如果要預(yù)約的話是需要進(jìn)行登錄才能預(yù)約醫(yī)生進(jìn)行就診。門戶前臺(tái)頁(yè)面如圖5.1所示。

編輯


圖5.1門戶前臺(tái)界面

5.2 登錄功能模塊實(shí)現(xiàn)

登錄功能有兩套界面一個(gè)是患者從門戶登錄預(yù)約醫(yī)生另外一個(gè)是管理員和醫(yī)生登錄的界面。居民登錄成功后頁(yè)面跳轉(zhuǎn)到門戶系統(tǒng)的首頁(yè),根據(jù)患者想瀏覽的信息進(jìn)行選擇相應(yīng)的模塊。管理員和醫(yī)生在登錄時(shí)要進(jìn)行選擇相應(yīng)的角色,再填入登錄所需的信息,最后提交正確無誤后才能完成登錄。后臺(tái)會(huì)在以上填寫的信息正確的基礎(chǔ)至上,會(huì)查詢?cè)摻巧鶕碛械牟藛危煌臋?quán)限有不同的菜單選項(xiàng)的,最后就會(huì)在后臺(tái)首頁(yè)展示相應(yīng)的菜單列表進(jìn)行操作。

登錄流程如圖5.2所示:

編輯



圖5.2登錄流程圖

患者登錄界面如圖5.3所示:

編輯



圖5.3患者登錄界面

患者登錄界面如圖5.4所示:

編輯


圖5.4管理員/醫(yī)生登錄界面

5.3 注冊(cè)功能模塊實(shí)現(xiàn)

注冊(cè)功能也是分為兩套,患者和醫(yī)生注冊(cè)。當(dāng)患者第一次在本院就診時(shí)如果沒有用戶必須要注冊(cè)才能在線預(yù)約就診。如果醫(yī)生想在本社區(qū)平臺(tái)進(jìn)行坐診,也是要進(jìn)行注冊(cè)的注冊(cè)成功后管理員進(jìn)行分配科室即可。???

注冊(cè)流程如圖5.5所示:

編輯


圖5.5 注冊(cè)功能流程

注冊(cè)界面如圖5.6所示:


編輯


圖5.6 醫(yī)生注冊(cè)界面


居民注冊(cè)界面如圖5.7所示:

編輯



圖5.7 居民注冊(cè)界面

5.4 科室功能模塊實(shí)現(xiàn)

?? 科室管理功能對(duì)本社區(qū)醫(yī)院所有的科室進(jìn)行管理操作。如果科室類別中已分配醫(yī)生,那么該科室不能被刪除。


科室信息添加頁(yè)面如圖5.7所示:

編輯


圖5.7 科室添加界面

編輯

5.5 醫(yī)生功能模塊實(shí)現(xiàn)

在這個(gè)模塊中管理員可以通過修改功能給醫(yī)生分配科室及修改信息,通過醫(yī)生的唯一標(biāo)識(shí)id刪除醫(yī)生信息。也能通過多條件查詢進(jìn)行詳細(xì)查詢想要的信息并分頁(yè)展示。

醫(yī)生功能管理界面如圖5.9所示:

編輯



圖5.9 醫(yī)生功能管理界面

5.6 藥品功能模塊實(shí)現(xiàn)

藥品功能模塊主要實(shí)現(xiàn)的功能有藥品的多條件查詢并分頁(yè)展示、藥品信息的管理。修改藥品只能修改其名稱、藥品的類別、藥品功效、藥品價(jià)格、藥品說明等內(nèi)容。

藥品功能管理界面如圖5.10所示:


?

編輯



圖5.10 藥品功能管理界面

5.7 患者功能模塊實(shí)現(xiàn)

主要實(shí)現(xiàn)了對(duì)患者進(jìn)行多條件查詢并分頁(yè)展示、修改患者信息,當(dāng)然患者也可以對(duì)自己的信息進(jìn)行修改、刪除患者。在這里管理員不能添加患者的信息內(nèi)容。只有患者自己注冊(cè)才能添加患者的基本信息。因?yàn)榛颊卟豢赡苁锹?lián)系到管理員,讓管理員手動(dòng)添加患者的信息的。

患者功能管理界面如圖5.11所示:


編輯


圖5.11 患者功能管理界面

四,核心代碼展示

package com.zhang.hospital.web;import com.zhang.hospital.entity.*;import com.zhang.hospital.service.*;import com.zhang.hospital.util.EncryptUtil;import com.zhang.hospital.util.GsonUtil;import com.zhang.hospital.util.ResultUtil;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.*;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;@Controller@RequestMapping("/admin")public class AdminController { ? ?@Autowired ? ?private AdminService adminService; ? ?@Autowired ? ?private UserService userService; ? ?@Autowired ? ?private DoctorService doctorService; ? ?@Autowired ? ?private DepartService departService; ? ?@Autowired ? ?private YaopinService yaopinService; ? ?@RequestMapping("/login") ? ?@ResponseBody ? ?public ResultUtil login(String username, String password, HttpServletRequest request, HttpSession session) ? ? ? ? ? ?throws ParseException { ? ? ? ?Admin admin = adminService.login(username, EncryptUtil.encrypt(password)); ? ? ? ?if (admin != null) { ? ? ? ? ? ?session.setAttribute("user", admin); //在攔截器中使用 ? ? ? ? ? ?session.setAttribute("admin", admin); //在main.jsp中需要admin ? ? ? ? ? ?session.setAttribute("usertype", "1");//代表是管理員登錄 ? ? ? ? ? ?// 還有修改密碼.jsp等都可以直接取出admin ? ? ? ? ? ?String loginIp = request.getHeader("x-forwarded-for"); ? ? ? ? ? ?if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) { ? ? ? ? ? ? ? ?loginIp = request.getHeader("Proxy-Client-IP");//獲取代理的IP ? ? ? ? ? ?} ? ? ? ? ? ?if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) { ? ? ? ? ? ? ? ?loginIp = request.getHeader("WL-Proxy-Client-IP");//獲取代理的IP ? ? ? ? ? ?} ? ? ? ? ? ?if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) { ? ? ? ? ? ? ? ?loginIp = request.getRemoteAddr(); ? ? ? ? ? ?} ? ? ? ? ? ?Date date = new Date(); ? ? ? ? ? ?SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ? ? ? ? ? ?String nowTime = simpleDateFormat.format(date); ? ? ? ? ? ?Date loginTime = simpleDateFormat.parse(nowTime); ? ? ? ? ? ?Date logoutTime = loginTime; ? ? ? ? ? ?Integer isSafeExit = 0; ? ? ? ? ? ?adminService.insAdminLog(username, loginIp, loginTime, logoutTime, isSafeExit); ? ? ? ? ? ?session.setAttribute("adminloginTime", loginTime); //點(diǎn)擊退出的時(shí)候用的到 ? ? ? ? ? ?return ResultUtil.ok(admin.getId()); ? ? ? ?} else ? ? ? ? ? ?return ResultUtil.error(); ? ?} ? ?//獲取所有的登錄日志 ? ?@RequestMapping("/getAdminLogList") ? ?@ResponseBody ? ?public ResultUtil getAdminLogList(Integer page, Integer limit, HttpSession session) ? ? ? ? ? ?throws ParseException { ? ? ? ?return adminService.getAdminLogList(page, limit); ? ?} ? ?@RequestMapping("/userList") ? ?public String userList() { ? ? ? ?return "/jsp/admin/userList"; ? ?} ? ?@RequestMapping("/yaopinList") ? ?public String yaopinList() { ? ? ? ?return "/jsp/admin/yaopinList"; ? ?} ? ?@RequestMapping("/doctorYaopinList") ? ?public String doctorYaopinList() { ? ? ? ?return "/jsp/yaopin/yaopinList"; ? ?} ? ?@RequestMapping("/shebaoList") ? ?public String shebaoList() { ? ? ? ?return "/jsp/shebao/shebaoList"; ? ?} ? ?@RequestMapping("/allshebaoList") ? ?@ResponseBody ? ?public ResultUtil allSheBaoList(Integer page, Integer limit,ShebaoSearch shebaoSearch) { ? ? ? ?// System.out.println("yaopinSearch:" + yaopinSearch); ? ? ? ?return doctorService.allSheBaoList(page, limit,shebaoSearch); ? ?} ? ?@RequestMapping("/getAllUserList") ? ?@ResponseBody ? ?public ResultUtil getAllUserList(Integer page, Integer limit, UserSearch search) { ? ? ? ?return userService.getAllUserList(page, limit, search); ? ?} ? ?@RequestMapping("/bingliList") ? ?public String bingliList() { ? ? ? ?return "/jsp/user/bingliList"; ? ?} ? ?@RequestMapping("/mybingliList") ? ?@ResponseBody ? ?public ResultUtil getMyBingliList(@RequestParam(value = "page",defaultValue = "1") Integer page, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@RequestParam(value = "limit",defaultValue = "10")Integer limit, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?HttpSession session,BingliSearch bingliSearch){ ? ? ? ?return userService.getMyBingliList(page, limit,session,bingliSearch); ? ?} ? ?@RequestMapping("/allYaopinList") ? ?@ResponseBody ? ?public ResultUtil allYaopinList(Integer page, Integer limit,YaopinSearch yaopinSearch) { ? ? ? ?System.out.println("yaopinSearch:" + yaopinSearch); ? ? ? ?return yaopinService.allYaopinList(page, limit,yaopinSearch); ? ?} ? ?@RequestMapping("/doctorList") ? ?public String doctorList(HttpSession session) { ? ? ? ?List<Depart> departs = departService.getAllDeparts(); ? ? ? ?session.setAttribute("departs", departs); ? ? ? ?return "/jsp/admin/doctorList"; ? ?} ? ?@RequestMapping("/getAllDoctorList") ? ?@ResponseBody ? ?public ResultUtil getAllDoctorList(Integer page, Integer limit, DoctorSearch search) { ? ? ? ?return doctorService.getAllDoctorList(page, limit, search); ? ?} ? ?@RequestMapping("/deleteDoctorById") ? ?@ResponseBody ? ?public ResultUtil deleteDoctorById(int doctor_id) { ? ? ? ?return doctorService.deleteDoctorById(doctor_id); ? ?} ? ?@RequestMapping("/deleteYaoPinById") ? ?@ResponseBody ? ?public ResultUtil deleteYaoPinById(Integer id) { ? ? ? ?return yaopinService.deleteYaoPinById(id); ? ?} ? ?@RequestMapping("/deleteUserById") ? ?@ResponseBody ? ?public ResultUtil deleteUserById(int user_id) { ? ? ? ?return userService.deleteUserById(user_id); ? ?} ? ?@RequestMapping("/editUser/{user_id}") ? ?public String editStudent(@PathVariable("user_id") int user_id, HttpSession session) { ? ? ? ?User user = userService.getUserById(user_id); ? ? ? ?session.setAttribute("hospital_user", user); ? ? ? ?return "/jsp/user/editUser"; ? ?} ? ?@RequestMapping("/editYaoPin/{id}") ? ?public String editYaoPin(@PathVariable("id") Integer id, HttpSession session) { ? ? ? ?YaoPin yaoPin = yaopinService.getYaoPinById(id); ? ? ? ?session.setAttribute("yaopin", yaoPin); ? ? ? ?return "/jsp/admin/editYaoPin"; ? ?} ? ?@RequestMapping("/editDoctor/{doctor_id}") ? ?public String editDoctor(@PathVariable("doctor_id") int doctor_id, HttpSession session) { ? ? ? ?Doctor doctor = doctorService.getDoctorById(doctor_id); ? ? ? ?session.setAttribute("hospital_user", doctor); ? ? ? ?return "/jsp/admin/editDoctor"; ? ?} ? ?/********Role相關(guān)*******/ ? ?//獲取角色列表 帶分頁(yè) ? ?@RequestMapping("/getRoleList") ? ?@ResponseBody ? ?public ResultUtil getRoleList(Integer page, Integer limit) { ? ? ? ?return adminService.getRoles(page, limit); ? ?} ? ?//刪除一個(gè)角色 ? ?@RequestMapping("/delRole/{roleId}") ? ?@ResponseBody ? ?public ResultUtil delRole(@PathVariable("roleId") Long roleId) { ? ? ? ?adminService.delRole(roleId); ? ? ? ?return ResultUtil.ok(); ? ?} ? ?//得到指定角色權(quán)限樹 ? ?// 注解RequestMapping中produces屬性可以設(shè)置返回?cái)?shù)據(jù)的類型以及編碼,可以是json ? ?@RequestMapping(value = "/xtreedata", produces = {"text/json;charset=UTF-8"}) ? ?@ResponseBody ? ?public String xtreeData(@RequestParam(value = "roleId", defaultValue = "-1") Long roleId) { ? ? ? ?return GsonUtil.entityToJson(adminService.getXtreeData(roleId)); ? ?} ? ?// 檢查角色是否唯一 ? ?@RequestMapping("/checkRoleName/{roleName}/{roleId}") ? ?@ResponseBody ? ?public ResultUtil checkRoleName(@PathVariable("roleName") String roleName, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@PathVariable("roleId") Long roleId) { ? ? ? ?Role role = adminService.getRoleByRoleName(roleName); ? ? ? ?if (role == null) ? ? ? ?{ ? ? ? ? ? ?return new ResultUtil(0); ? ? ? ?} else if (role.getRoleId() == roleId) //已經(jīng)有這個(gè)角色名 并且就是這個(gè)id 也可以 ? ? ? ?{ ? ? ? ? ? ?return new ResultUtil(0); ? ? ? ?} else ?//此角色名已存在 別的roleId ? ? ? ?{ ? ? ? ? ? ?return new ResultUtil(500, "已經(jīng)存在此角色名"); ? ? ? ?} ? ?} ? ?// 檢查角色是否唯一 添加新角色的時(shí)候用這個(gè)函數(shù) ? ?@RequestMapping("/checkAddRoleName/{roleName}") ? ?@ResponseBody ? ?public ResultUtil checkRoleName(@PathVariable("roleName") String roleName) { ? ? ? ?Role role = adminService.getRoleByRoleName(roleName); ? ? ? ?if (role == null)//沒有這個(gè)角色名 可以 ? ? ? ?{ ? ? ? ? ? ?return new ResultUtil(0); ? ? ? ?} else ?//此角色名已存在 ? ? ? ?{ ? ? ? ? ? ?return new ResultUtil(500, "已經(jīng)存在此角色名"); ? ? ? ?} ? ?} ? ?//更新角色 ? ?@RequestMapping("/updateRole") ? ?@ResponseBody ? ?public void updateRole(Role role, String m) { ? ? ? ?// System.out.println(role); ? ? ? ?// System.out.println(m); ? ? ? ?adminService.updRole(role, m); ? ?} ? ?//添加角色 ? ?@RequestMapping("/insRole") ? ?@ResponseBody ? ?public ResultUtil insertRole(Role role, String m) { ? ? ? ?adminService.insRole(role, m); ? ? ? ?return ResultUtil.ok(); ? ?} ? ?/*******管理員相關(guān)******/ ? ?//查看管理員的個(gè)人信息 ? ?@RequestMapping("/personalDate") ? ?public String personalDate(HttpSession session) { ? ? ? ?Admin admin = (Admin) session.getAttribute("admin"); ? ? ? ?Admin admin1 = adminService.getAdminById(admin.getId()); ? ? ? ?session.setAttribute("admin1", admin1); ? ? ? ?return "/jsp/admin/personalInfo"; ? ?} ? ?@RequestMapping("/getAdminList") ? ?@ResponseBody ? ?//獲取所有管理員列表 帶分頁(yè) ? ?public ResultUtil getAdminList(Integer page, Integer limit) { ? ? ? ?// Tomcat Localhost Log 會(huì)輸出錯(cuò)誤信息 如果下面的sql語句有問題 ? ? ? ?ResultUtil admins = adminService.getAdminList(page, limit); ? ? ? ?return admins; ? ?} ? ?//獲取管理員對(duì)應(yīng)的菜單 用于加載后臺(tái)首頁(yè) ? ?@RequestMapping("/getMenus") ? ?@ResponseBody ? ?public List<Menu> getMenus(HttpSession session) { ? ? ? ?List<Menu> menus = null; ? ? ? ?Admin admin = (Admin) session.getAttribute("admin"); ? ? ? ?Admin admin1 = adminService.getAdminById(admin.getId()); ? ? ? ?if (admin1 != null) { ? ? ? ? ? ?menus = adminService.getMenus(admin1); ? ? ? ?} ? ? ? ?return menus; ? ?} ? ?//編輯管理員 ? ?@RequestMapping("/editAdmin/{id}") ? ?public String editAdmin(HttpServletRequest request, @PathVariable("id") int id) { ? ? ? ?Admin admin = adminService.getAdminById(id); ? ? ? ?List<Role> roles = adminService.getRoles(); ? ? ? ?request.setAttribute("admin", admin); ? ? ? ?request.setAttribute("roles", roles); ? ? ? ?return "/jsp/admin/editAdmin"; ? ?} ? ?//更新管理員 ? ?@RequestMapping("/updateAdmin") ? ?@ResponseBody ? ?public ResultUtil updateAdmin(Admin admin) { ? ? ? ?try { ? ? ? ? ? ?adminService.updAdmin(admin); ? ? ? ? ? ?return ResultUtil.ok(); ? ? ? ?} catch (Exception e) { ? ? ? ? ? ?e.printStackTrace(); ? ? ? ? ? ?return ResultUtil.error(); ? ? ? ?} ? ?} ? ?//更新管理員 ? ?@RequestMapping("/updAdmin") ? ?@ResponseBody ? ?public ResultUtil updAdmin(Admin admin) ? ?{ ? ? ? ?if (admin != null && admin.getId() == 1) { ? ? ? ? ? ?return ResultUtil.error("不允許修改"); ? ? ? ?} ? ? ? ?try ? ? ? ?{ ? ? ? ? ? ?//如果sql執(zhí)行失敗 會(huì)有捕獲異常輸出 ? ? ? ? ? ?adminService.updAdmin(admin); ? ? ? ? ? ?return ResultUtil.ok(); ? ? ? ?} catch (Exception e) { ? ? ? ? ? ?e.printStackTrace(); ? ? ? ? ? ?return ResultUtil.error(); ? ? ? ?} ? ?} ? ?//修改密碼 ? ?@RequestMapping("/changeAdminPassword") ? ?@ResponseBody ? ?public ResultUtil changeAdminPassword(String oldPassword, String newPassword1, String username) { ? ? ? ?Admin admin = adminService.getAdminByUsername(username); ? ? ? ?if (admin != null) { ? ? ? ? ? ?if (admin.getPassword().equals(EncryptUtil.encrypt(oldPassword))) { ? ? ? ? ? ? ? ?admin.setPassword(EncryptUtil.encrypt(newPassword1)); ? ? ? ? ? ? ? ?adminService.updAdmin(admin); ? ? ? ? ? ? ? ?return ResultUtil.ok(); ? ? ? ? ? ?} else { ? ? ? ? ? ? ? ?return ResultUtil.error("舊密碼錯(cuò)誤,請(qǐng)重新填寫"); ? ? ? ? ? ?} ? ? ? ?} ? ? ? ?return ResultUtil.error("請(qǐng)求出錯(cuò)?。?#34;); ? ?} ? ?//刪除一個(gè)管理員 ? ?@RequestMapping("/delAdminById/{id}") ? ?@ResponseBody ? ?public ResultUtil delAdminById(@PathVariable("id") Long id) { ? ? ? ?if (id == 1) { ? ? ? ? ? ?return ResultUtil.error(); ? ? ? ?} ? ? ? ?try { ? ? ? ? ? ?adminService.delAdminById(id); ? ? ? ? ? ?return ResultUtil.ok(); ? ? ? ?} catch (Exception e) { ? ? ? ? ? ?e.printStackTrace(); ? ? ? ? ? ?return ResultUtil.error(); ? ? ? ?} ? ?} ? ?//檢查是否已經(jīng)存在此用戶名 ? ?@RequestMapping("/checkAdminName/{username}") ? ?@ResponseBody ? ?public ResultUtil checkAdminName(@PathVariable("username") String username) { ? ? ? ?Admin admin = adminService.getAdminByUsername(username); ? ? ? ?if (admin != null) { ? ? ? ? ? ?return new ResultUtil(500, "管理員已存在!"); ? ? ? ?} ? ? ? ?return new ResultUtil(0); ? ?} ? ?//添加新管理員 ? ?@RequestMapping("/insAdmin") ? ?@ResponseBody ? ?public ResultUtil insAdmin(Admin admin) { ? ? ? ?adminService.insAdmin(admin); ? ? ? ?return ResultUtil.ok(); ? ?} ? ?/****菜單相關(guān)******/ ? ?//獲取所有菜單 ? ?@RequestMapping("/menuData") ? ?@ResponseBody ? ?public ResultUtil menuData() { ? ? ? ?List<Menu> list = adminService.getAllMenus(); ? ? ? ?ResultUtil resultUtil = new ResultUtil(); ? ? ? ?resultUtil.setCode(0); ? ? ? ?resultUtil.setCount(list.size() + 0L); ? ? ? ?resultUtil.setData(list); ? ? ? ?return resultUtil; ? ?} ? ?@RequestMapping("/updMenuSortingById") ? ?@ResponseBody ? ?public ResultUtil updMenuSortingById(Long menuId, String sorting) { ? ? ? ?Menu menu = new Menu(); ? ? ? ?menu.setMenuId(menuId); ? ? ? ?Long sortingL; ? ? ? ?try { ? ? ? ? ? ?sortingL = Long.parseLong(sorting); //將字符串變成Long ? ? ? ?} catch (Exception e) { ? ? ? ? ? ?e.printStackTrace(); ? ? ? ? ? ?return ResultUtil.error("修改失敗,只允許輸入整數(shù)"); ? ? ? ?} ? ? ? ?menu.setSorting(sortingL); ? ? ? ?adminService.updMenuSortingById(menu); ? ? ? ?return ResultUtil.ok(); ? ?} ? ?@RequestMapping("/toSaveMenu/{menuId}/{menuLevel}") ? ?public String toSaveMenu(@PathVariable("menuId") Long menuId, ? ? ? ? ? ? ? ? ? ? ? ? ? ? @PathVariable("menuLevel") Long menuLevel, Model model) { ? ? ? ?if (menuId != null && menuId != 1) { ? ? ? ? ? ?Menu menus = new Menu(); ? ? ? ? ? ?menus.setMenuId(menuId); ? ? ? ? ? ?model.addAttribute("menuLevel", menuLevel); ? ? ? ? ? ?model.addAttribute("menu", menus); ? ? ? ? ? ?model.addAttribute("flag", "1"); ? ? ? ? ? ?return "/jsp/menu/menuForm"; ? ? ? ?} else { ? ? ? ? ? ?model.addAttribute("msg", "不允許操作!"); ? ? ? ? ? ?return "/jsp/active"; ? ? ? ?} ? ?} ? ?@RequestMapping("/toEditMenu/{menuId}") ? ?public String toEditMenu(@PathVariable("menuId") Long menuId, Model model) { ? ? ? ?if (menuId != null && menuId != 1) { ? ? ? ? ? ?Menu menus = adminService.getMenuById(menuId); ? ? ? ? ? ?model.addAttribute("menu", menus); ? ? ? ? ? ?return "/jsp/menu/menuForm"; ? ? ? ?} else { ? ? ? ? ? ?model.addAttribute("msg", "不允許操作"); ? ? ? ? ? ?return "/jsp/active"; ? ? ? ?} ? ?} ? ?@RequestMapping("/menuForm") ? ?@ResponseBody ? ?public ResultUtil menuForm(Menu menus, String flag) { ? ? ? ?if (StringUtils.isBlank(flag)) ? ? ? ?{ ? ? ? ? ? ?menus.setSpread("false"); ? ? ? ? ? ?adminService.updMenu(menus); ? ? ? ? ? ?return ResultUtil.ok("修改成功"); ? ? ? ?} else if (menus.getMenuId() != 1) ? ? ? ?{ ? ? ? ? ? ?menus.setParentId(menus.getMenuId()); //menuId parentId設(shè)成一樣 情況1: 0,0 ?情況2: 2,2 ?情況3:111,111 ? ? ? ? ? ?Menu m = adminService.getMenuById(menus.getMenuId());// 情況1 m為空 情況2 讀出菜單 我的面板 情況3讀出菜單 測(cè)試菜單 ? ? ? ? ? ?if (m != null && m.getParentId() != 0)//這就是 選中第三級(jí)菜單復(fù)選框或者選中第二級(jí)菜單復(fù)選框的情況 ? ? ? ? ? ?{ ? ? ? ? ? ? ? ?Menu m1 = adminService.getMenuById(m.getParentId()); //獲取第二級(jí)菜單或者第三級(jí)菜單的上級(jí)菜單 ? ? ? ? ? ? ? ?if (m1 != null && m1.getParentId() != 0)//說明是情況3 ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ?return ResultUtil.error("此菜單不允許添加子菜單"); ?//固定最多三級(jí)菜單 ? ? ? ? ? ? ? ?} ? ? ? ? ? ?} ? ? ? ? ? ?List<Menu> data = adminService.checkNameSameLevel(menus); // sql為select * from menu parentId = #{parentId} and name = #{name} ? ? ? ? ? ?//就是判斷頂級(jí)菜單 二級(jí)菜單下有沒有重名的菜單 ? ? ? ? ? ?if (data.size() > 0) { ? ? ? ? ? ? ? ?return ResultUtil.error("同級(jí)菜單名稱不能相同"); ? ? ? ? ? ?} ? ? ? ? ? ?menus.setMenuId(null); ? ? ? ? ? ?menus.setSpread("false"); //默認(rèn)不展開 ? ? ? ? ? ?adminService.insMenu(menus); ? ? ? ? ? ?return ResultUtil.ok("添加成功"); ? ? ? ?} else { ? ? ? ? ? ?return ResultUtil.error("此菜單不允許操作"); ? ? ? ?} ? ?} ? ?@RequestMapping("/delMenuById/{menuId}") ? ?@ResponseBody ? ?public ResultUtil delMenuById(@PathVariable("menuId") Long menuId) { ? ? ? ?try { ? ? ? ? ? ?if (menuId == 1) { ? ? ? ? ? ? ? ?return ResultUtil.error("此菜單不允許刪除!"); ? ? ? ? ? ?} ? ? ? ? ? ?List<Menu> data = adminService.getMenusByParentId(menuId); ? ? ? ? ? ?if (data != null && data.size() > 0) { ? ? ? ? ? ? ? ?return ResultUtil.error("包含子菜單,不允許刪除!"); ? ? ? ? ? ?} ? ? ? ? ? ?List<RoleMenu> roleMenus = adminService.getRoleMenuByMenuId(menuId); ? ? ? ? ? ?if (roleMenus != null && roleMenus.size() > 1) { ? ? ? ? ? ? ? ?return ResultUtil.error("此菜單已經(jīng)分配給此登錄角色,請(qǐng)先解除綁定,再嘗試刪除"); ? ? ? ? ? ?} ? ? ? ? ? ?adminService.delMenuById(menuId); ? ? ? ? ? ?return ResultUtil.ok("刪除成功"); ? ? ? ?} catch (Exception e) { ? ? ? ? ? ?e.printStackTrace(); ? ? ? ? ? ?return ResultUtil.error("數(shù)據(jù)庫(kù)sql有誤查看Log輸出"); ? ? ? ?} ? ?} ? ?/********頁(yè)面跳轉(zhuǎn)*******/ ? ?@RequestMapping("/logOut") ? ?public ModelAndView loginout(ModelAndView modelAndView, HttpSession session) ? ? ? ? ? ?throws ParseException { ? ? ? ?Date loginTime = (Date) session.getAttribute("adminloginTime"); ? ? ? ?AdminLog adminLog = adminService.getAdminLogByLoginTime(loginTime); ? ? ? ?adminLog.setIsSafeExit(1); ? ? ? ?Date date = new Date(); ? ? ? ?SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ? ? ? ?String nowTime = simpleDateFormat.format(date); ? ? ? ?Date logoutTime = simpleDateFormat.parse(nowTime); ? ? ? ?adminLog.setLogoutTime(logoutTime); ? ? ? ?adminService.updateAdminLog(adminLog); ? ? ? ?session.invalidate(); ? ? ? ?modelAndView.setViewName("redirect:/adminindex.jsp"); ? ? ? ?return modelAndView; ? ?} ? ?@RequestMapping("/allmain") ? ?public String index() { ? ? ? ?return "redirect:/admin/toallmain"; ? ?} ? ?@RequestMapping("/toallmain") ? ?public String toallmain(ModelAndView modelAndView) { ? ? ? ?return "/jsp/allmain"; ? ?} ? ?@RequestMapping("/main") ? ?public String getMain() { ? ? ? ?return "/jsp/main"; ? ?} ? ?@RequestMapping("/adminList") ? ?public String adminList() { ? ? ? ?return "/jsp/admin/adminList"; ? ?} ? ?@RequestMapping("/addAdmin") ? ?public String addAdmin(HttpSession session) { ? ? ? ?List<Role> roles = adminService.getRoles(); ? ? ? ?session.setAttribute("roles", roles); ? ? ? ?return "/jsp/admin/addAdmin"; ? ?} ? ?@RequestMapping("/roleList") ? ?public String roleList() { ? ? ? ?return "/jsp/role/roleList"; ? ?} ? ?@RequestMapping("/editRole") ? ?public String editRole(Role role, Model model) { ? ? ? ?role = adminService.getRoleById(role.getRoleId()); ? ? ? ?model.addAttribute("role", role); ? ? ? ?return "/jsp/role/editRole"; ? ?} ? ?@RequestMapping("/addRole") ? ?public String addRole() { ? ? ? ?return "/jsp/role/addRole"; ? ?} ? ?@RequestMapping("/menuList") ? ?public String menuList() { ? ? ? ?return "/jsp/menu/menuList"; ? ?} ? ?@RequestMapping("/changePassword") ? ?public String changePassword() { ? ? ? ?return "/jsp/admin/changePassword"; ? ?} ? ?@RequestMapping("/adminLoginLog") ? ?public String adminLoginLog() { ? ? ? ?return "/jsp/admin/adminLogList"; ? ?} ? ?@RequestMapping("/register") ? ?public String register() { ? ? ? ?return "/jsp/register/register"; ? ?} }

package com.zhang.hospital.web;import com.zhang.hospital.entity.Depart;import com.zhang.hospital.entity.Doctor;import com.zhang.hospital.service.DepartService;import com.zhang.hospital.service.DoctorService;import com.zhang.hospital.util.ResultUtil;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import java.util.List;@Controller@RequestMapping("/depart")public class DepartController { ? ?@Autowired ? ?private DepartService departService; ? ?@Autowired ? ?private DoctorService doctorService; ? ?@RequestMapping("/departList") ? ?public String departList(){ ? ? ? ?return "/jsp/depart/departList"; ? ?} ? ?@RequestMapping("/getDepartList") ? ?@ResponseBody ? ?public ResultUtil getDepartList(Integer page, Integer limit) ? ?{ ? ? ? ?return departService.getDepartList(page,limit); ? ?} ? ?@RequestMapping("/addDepart") ? ?public String ?addDepart() ? ?{ ? ? ? ?return "/jsp/depart/addDepart"; ? ?} ? ?// 檢查角色是否唯一 添加新角色的時(shí)候用這個(gè)函數(shù) ? ?@RequestMapping("/checkDepartName/{depart}") ? ?@ResponseBody ? ?public ResultUtil checkDepartName(@PathVariable("depart") String depart) ? ?{ ? ? ? ?Depart depart1=departService.getDepartByDepartName(depart); ? ? ? ?if(depart1==null) ? ? ? ?{ ? ? ? ? ? ?return new ResultUtil(0); ? ? ? ?} ? ? ? ?else ?//此角色名已存在 ? ? ? ?{ ? ? ? ? ? ?return new ResultUtil(500,"已經(jīng)存在此科室名稱"); ? ? ? ?} ? ?} ? ?@RequestMapping("/insDepart") ? ?@ResponseBody ? ?public ResultUtil insDepart(Depart depart) ? ?{ ? ? ? ?departService.addDepart(depart); ? ? ? ?return ResultUtil.ok(); ? ?} ? ?@RequestMapping("/editDepart/{depart_id}") ? ?public String editDepart(@PathVariable("depart_id") Integer depart_id, Model model) ? ?{ ? ? ? ?Depart depart=departService.getDepartById(depart_id); ? ? ? ?model.addAttribute("depart",depart); ? ? ? ?return "/jsp/depart/editDepart"; ? ?} ? ?@RequestMapping("/updateDepart") ? ?@ResponseBody ? ?public void updateDepart(Depart depart) ? ?{ ? ? ? ?departService.updateDepart(depart); ? ?} ? ?@RequestMapping("/delDepartById/{depart_id}") ? ?@ResponseBody ? ?public ResultUtil delDepartById(@PathVariable("depart_id")Integer depart_id) ? ?{ ? ? ? ?//先檢查此科室下有沒有醫(yī)生 ? ? ? ?List<Doctor> doctors=doctorService.getDoctorByDepartId(depart_id); ? ? ? ?if(doctors.size()==0)//此科室下沒有醫(yī)生可以刪除 ? ? ? ?{ ? ? ? ? ? ?departService.delDepartById(depart_id); ? ? ? ? ? ?return ResultUtil.ok("此科室刪除成功"); ? ? ? ?} ? ? ? // departService.delDepartById(depart_id); ? ? ? ?return ResultUtil.error("此科室下有醫(yī)生,不可以刪除"); ? ?} }



五,項(xiàng)目總結(jié)

社區(qū)醫(yī)療系統(tǒng)平臺(tái)主要針對(duì)一些老社區(qū)或者醫(yī)療資源短缺的地方進(jìn)行提供方便、快捷看病的渠道。社區(qū)醫(yī)療平臺(tái)實(shí)現(xiàn)了醫(yī)生在線對(duì)預(yù)約的患者進(jìn)行診斷和添加病歷,而且還有社區(qū)基本信息管理的功能,比如發(fā)布社區(qū)公告信息等來提高社區(qū)醫(yī)療管理效率。優(yōu)化社區(qū)看病的管理流程、工作流程,幫助醫(yī)院解決患者掛號(hào)掛不上、交費(fèi)排隊(duì)時(shí)間長(zhǎng)、取藥不方便、看病時(shí)間短的“三長(zhǎng)一短”的問題;增加對(duì)患者的透明度,方便患者就診、提高服務(wù)水平、加強(qiáng)藥品管理;輔助社區(qū)醫(yī)療服務(wù)的行政管理與事務(wù)處理,實(shí)現(xiàn)社區(qū)信息的數(shù)字無紙化辦公,從而降低管理費(fèi)用,減輕門診工作人員勞動(dòng)強(qiáng)度;加快信息流通速度,輔助決策支持,提高工作效率,使社區(qū)能以較少的投入獲得更大的社會(huì)效益與經(jīng)濟(jì)效益。因此,開發(fā)一套能夠?yàn)橛脩籼峁┏渥愕男畔?、提供功能齊全易操作和快捷的查詢方式的社區(qū)醫(yī)療系統(tǒng)平臺(tái),將是非常必要及時(shí)的。




社區(qū)醫(yī)療系統(tǒng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宜黄县| 荣成市| 桦甸市| 库尔勒市| 宜宾市| 凤翔县| 仪陇县| 富顺县| 泸定县| 临沭县| 惠安县| 泾川县| 府谷县| 德江县| 张掖市| 岑溪市| SHOW| 大名县| 万荣县| 乌审旗| 寻乌县| 徐州市| 丰镇市| 遂平县| 静安区| 长治市| 宜兰县| 江城| 北宁市| 土默特右旗| 勐海县| 聂拉木县| 明溪县| 诏安县| 承德县| 开封县| 丰台区| 怀远县| 江门市| 东乌珠穆沁旗| 余江县|