《基于微信小程序的專家門診預(yù)約系統(tǒng)設(shè)計》11000字(論文)_第1頁
《基于微信小程序的專家門診預(yù)約系統(tǒng)設(shè)計》11000字(論文)_第2頁
《基于微信小程序的專家門診預(yù)約系統(tǒng)設(shè)計》11000字(論文)_第3頁
《基于微信小程序的專家門診預(yù)約系統(tǒng)設(shè)計》11000字(論文)_第4頁
《基于微信小程序的專家門診預(yù)約系統(tǒng)設(shè)計》11000字(論文)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

I頁共37頁【內(nèi)容摘要】在移動端發(fā)展日漸強大的今天,擁有便利性、易用性、高用戶數(shù)等特點的微信小程序成為了更多人的生活“伙伴”。在此背景下本項目為了緩解掛號難、專家號掛號更難的問題,使用微信開發(fā)者工具設(shè)計微信小程序前端界面,搭配SSM框架對專家門診預(yù)約系統(tǒng)進行框架設(shè)計,詳細設(shè)計了前端功能界面和預(yù)約掛號業(yè)務(wù)流程,創(chuàng)建相對應(yīng)的MySQL數(shù)據(jù)庫表提供后臺數(shù)據(jù)存取支持,實現(xiàn)微信小程序?qū)<议T診預(yù)約系統(tǒng)的開發(fā)。使用微信小程序?qū)<议T診預(yù)約系統(tǒng),不僅可以提高醫(yī)院門診掛號的工作效率,節(jié)約醫(yī)患雙方的時間,又合理的利用了門診資源,發(fā)揮了專家的優(yōu)勢。本系統(tǒng)無須安裝,打開手機掃一掃或者搜索一下微信小程序便可實現(xiàn)靈活快捷使用,真正做到了“足不出戶選醫(yī)生”。【關(guān)鍵詞】預(yù)約掛號;Spring框架;Mybatis框架;MySQL;Tomcat前言目前關(guān)于專家門診預(yù)約系統(tǒng)的微信小程序已經(jīng)有較為完善的系統(tǒng),但仍有許多醫(yī)院通過官網(wǎng)或其他傳統(tǒng)形式進行掛號。關(guān)乎民生的就醫(yī)掛號問題,一直以來都被世人密切關(guān)注?!叭L一短”中的掛號時間長問題依舊是一大難題。在移動互聯(lián)網(wǎng)、大數(shù)據(jù)時代這樣的背景下,開發(fā)此微信小程序?qū)<议T診預(yù)約系統(tǒng)將一直遵循著以方便群眾就醫(yī)、提高醫(yī)院門診掛號的工作效率為主要目標(biāo),通過微信小程序?qū)<议T診預(yù)約系統(tǒng)來方便人民群眾的生活的同時有效的減少掛號時間長這一難題。開發(fā)技術(shù)與開發(fā)環(huán)境介紹開發(fā)框架SpringMVC負責(zé)將整個請求的控制轉(zhuǎn)發(fā)并且調(diào)用表示層從而進行顯示;Spring框架實現(xiàn)核心業(yè)務(wù)對象的管理,實現(xiàn)業(yè)務(wù)邏輯;Mybatis框架作為數(shù)據(jù)對象的持久層,可以為系統(tǒng)提供數(shù)據(jù)管理。SpringMVC框架采用SpringMVC框架的原因是因為SpringMVC功能強大,使用起來非常的靈活,是Spring的一個低耦合、可插拔的模塊。使用SpringMVC框架,可以使得代碼層面模塊分為四層架構(gòu)模型REF_Ref3261\r\h[4]。每個模塊層面都有自己的分工,好處是將小程序系統(tǒng)的后臺功能模塊層面顯示的更為明確,方便開發(fā)者管理開發(fā)。Spring框架給整個項目裝配bean的Spring框架,在項目中可以提供非常多的技術(shù)支持,可以說是一個很全面的功能齊全的大型供貨工廠,它使用起來非常的簡單,不需要麻煩的去一個個“new”對象,而是可以在配置文件中寫好指定的名稱或特定的參數(shù)去調(diào)用實體類Entity的構(gòu)造方法來實例化對象REF_Ref3637\r\h[5]REF_Ref28251\r\h。Spring框架還很“大方”,它可以支持其他框架配合使用,其內(nèi)部更是“大方”的提供了一些優(yōu)秀的框架方便開發(fā)者使用。MyBatis框架MyBatis框架技術(shù)可以將業(yè)務(wù)實體與數(shù)據(jù)庫表聯(lián)系起來,對操作數(shù)據(jù)庫的增刪改查功能來說非常方便。MyBatis可以說是控制層-Controller層中一部分,也就是Dao層-持久層,它可以做到將數(shù)據(jù)持久化。MyBatis框架技術(shù)使用起來相當(dāng)?shù)撵`活,它不會對現(xiàn)有項目的結(jié)構(gòu)、程序代碼或者數(shù)據(jù)庫強加其他的影響REF_Ref3950\r\h[6],同時它使用起來也很簡便,在.XML文件中寫與MySQL數(shù)據(jù)庫中高度相似的增刪改查語句,它還可以讓項目中數(shù)據(jù)的增刪改查語句單獨寫在一個.XML文件中,降低耦合度的同時,又便于開發(fā)者的開發(fā)和更好的去集中管理,對于后期的優(yōu)化代碼質(zhì)量還很友善,它還可以重用,在一些SQL語句一樣的情況下,可以直接調(diào)用該方法名的方法,減少代碼編寫量。對于數(shù)據(jù)庫中有外鍵關(guān)系的數(shù)據(jù)庫表來說,它還提供映射標(biāo)簽,通過映射關(guān)系可以實現(xiàn)數(shù)據(jù)庫表之間的有關(guān)聯(lián)的增加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)REF_Ref4313\r\h[7]等操作。微信開發(fā)者工具微信小程序分為視圖層和邏輯層。微信小程序中渲染頁面結(jié)構(gòu)在視圖層完成REF_Ref4463\r\h[8],而微信小程序的.js文件便是微信小程序邏輯層,數(shù)據(jù)的請求、接口的調(diào)用、數(shù)據(jù)的邏輯處理等都可以通過.js文件來處理。本系統(tǒng)通過后臺的URL地址傳輸數(shù)據(jù)到微信小程序的.js文件中,微信小程序接受請求成功后在.js文件中使用this.setData()傳遞和賦值參數(shù),從URL獲取回來的數(shù)據(jù)可以保存到頁面儲存數(shù)據(jù)的data{}中,之后.js頁面發(fā)送請求并渲染數(shù)據(jù)到.wxml文件中,從而可以在.wxml獲取數(shù)據(jù)并顯示數(shù)據(jù)信息在頁面中。微信小程序前端頁面的樣式則是通過.wxss文件來設(shè)置頁面中組件的樣式,用class中屬性名的值來使得樣式與組件樣式綁定從而顯示出排版合適、簡潔大方的界面。本小程序傳遞的數(shù)據(jù)類型是鍵值對的方式,從而使用默認的item.鍵名在wx:for循環(huán)中取數(shù)據(jù)。微信小程序的結(jié)構(gòu)(如圖1)。圖1小程序結(jié)構(gòu)圖MySQL數(shù)據(jù)庫數(shù)據(jù)庫的選擇是使用MySQL關(guān)系型數(shù)據(jù)庫,其數(shù)據(jù)庫體積小、數(shù)據(jù)處理速度快、成本低REF_Ref4946\r\h[10],應(yīng)用非常廣泛。使用MySQL數(shù)據(jù)庫,在數(shù)據(jù)庫中設(shè)計和編寫不同的表REF_Ref4659\r\h[9],添加表之間的關(guān)系(主鍵、外鍵),為后臺調(diào)用數(shù)據(jù)時提供數(shù)據(jù),是后臺數(shù)據(jù)的“倉庫”。在MySQL數(shù)據(jù)庫中的查詢數(shù)據(jù)、修改數(shù)據(jù)、添加數(shù)據(jù)、刪除數(shù)據(jù)語句與本系統(tǒng)在.XML文件中查詢數(shù)據(jù)、修改數(shù)據(jù)、添加數(shù)據(jù)、刪除數(shù)據(jù)語句基本一致,使用方便的同時還方便開發(fā)者進行測試檢驗。Tomcat服務(wù)器技術(shù)眾所周知,Tomcat服務(wù)器是一個免費的、開放源代碼的Web應(yīng)用服務(wù)器。配置Tomcat后運行Tomcat時是它實際上是運行JSP頁面和servletREF_Ref5191\r\h[11],可以運行JSP頁面從而實現(xiàn)后臺管理員管理醫(yī)生、科室和排班,醫(yī)生查看患者等功能。開發(fā)環(huán)境操作系統(tǒng)Windows10;服務(wù)端開發(fā)工具使用的是EclipseIDEVersion:2020-03(4.15.0);Web服務(wù)器采用ApacheTomcatv9.0;JDK采用JDKVersion:1.8.0_311;微信小程序界面采用微信開發(fā)者工具開發(fā)。系統(tǒng)需求分析系統(tǒng)可行性分析技術(shù)可行性本文作者對軟件工程的設(shè)計思想、SSM框架技術(shù)和數(shù)據(jù)庫技術(shù)知識有一定的掌握,為系統(tǒng)的開發(fā)奠定了知識基礎(chǔ)。開發(fā)本微信小程序的技術(shù)要求中等,以Windows10為操作系統(tǒng),使用EclipseIDE軟件作為開發(fā)后臺軟件,使用MySQL數(shù)據(jù)庫可以把前端獲取的數(shù)據(jù)存儲起來,獲取獲取數(shù)據(jù)庫的數(shù)據(jù)顯示在前端界面上,可以當(dāng)作數(shù)據(jù)存儲的“倉庫”,使用微信開發(fā)者工具編寫前端代碼,因此在技術(shù)方面是可行的。用戶操作可行性用戶只需要通過微信打開微信小程序即可進行相關(guān)操作,無需進行下載、安裝等操作。普通用戶通過微信授權(quán)登錄即可實現(xiàn)查看醫(yī)生、科室以及預(yù)約掛號,取消掛號等操作。社會因素可行性分析從2018年國務(wù)院發(fā)布的《關(guān)于促進“互聯(lián)網(wǎng)+醫(yī)療健康”發(fā)展的意見》中提出充分利用互聯(lián)網(wǎng)等信息技術(shù),可知建立覆蓋就診前、就診中、就診后的線上線下相結(jié)合的醫(yī)療服務(wù)模式是受到社會的廣泛認同和關(guān)注的REF_Ref5681\r\h[12]。近年來頒布了許多政策來緩解掛號難的問題,以及互聯(lián)網(wǎng)技術(shù)發(fā)展和移動醫(yī)療技術(shù)快速發(fā)展的背景下REF_Ref5681\r\h[12],基于微信小程序的專家預(yù)約掛號系統(tǒng)的開發(fā)是必然的也是可行的。需求分析功能需求該微信小程序系統(tǒng)要求從登錄模塊開始,不同的用戶擁有不同的頁面以及功能權(quán)限,所有的用戶都可以通過微信授權(quán)登錄后,通過科室列表,選擇相對應(yīng)科室后,顯示出該科室的所有醫(yī)生,用戶點擊選擇醫(yī)生后可以查看該醫(yī)生的號源信息,通過點擊日期可以查看醫(yī)生的出診可預(yù)約人數(shù)情況,并選擇有號源的日期進行預(yù)約掛號。用戶預(yù)約掛號后該醫(yī)生的當(dāng)天日期的號源可預(yù)約人數(shù)減少1,在預(yù)約時間前可以取消預(yù)約,取消預(yù)約后該醫(yī)生的當(dāng)天日期的號源可預(yù)約人數(shù)加1;當(dāng)某一個醫(yī)生的某天的可預(yù)約人數(shù)等于預(yù)約的總?cè)藬?shù)時,顯示“已約滿”且用戶無法再點擊預(yù)約。用戶在個人主頁可以查看預(yù)約掛號信息,待就診信息、全部的預(yù)約掛號信息等。醫(yī)生登錄后,可以查看當(dāng)天掛了自己號源的患者的信息,點擊完成就診后,患者就診狀態(tài)變成已就診。在管理員添加醫(yī)生的出診信息成功后,患者可以看到當(dāng)天到未來第五天的醫(yī)生的排班信息,若沒有該醫(yī)生當(dāng)天沒有排班信息則顯示“當(dāng)天沒有號源”。管理員登錄后,在管理員頁面可以查看所有科室信息、所有醫(yī)生信息和全部醫(yī)生的出診排班信息;并對醫(yī)生信息、科室信息和醫(yī)生的出診時間進行增刪改查數(shù)據(jù)等功能。非功能需求患者預(yù)約掛號后,沒有及時就診,會造成號源的浪費所以設(shè)計黑名單功能,當(dāng)患者逾期未就診,達到三次逾期未就診的情況,則在一定的時間內(nèi)無法再次預(yù)約掛號。管理員可以查看每個醫(yī)生每天的接診人數(shù)、所有醫(yī)生的接診人數(shù)等?;颊呖梢苑謩e查看待就診信息、已就診信息、以及取消訂單信息。在醫(yī)生排班頁面,根據(jù)患者選擇的科室以及相對應(yīng)的醫(yī)生信息顯示出對應(yīng)醫(yī)生的個人簡介。系統(tǒng)用例分析本微信小程序系統(tǒng)主要的用戶角色包括:管理員、醫(yī)生、患者(普通用戶)。圖2小程序用戶角色圖不同的角色擁有不同的權(quán)限以及不同的管理用例,下面將介紹核心用例:圖3管理員管理科室、醫(yī)生、排班管理用例后臺管理-科室管理添加科室信息表1添加科室信息用例用例名稱新增科室信息用例IDHIS_1角色SM用例說明管理員添加新的科室信息前置條件管理員通過賬戶密碼完成登錄基本事件流①管理員進入管理科室頁面②在新增科室輸入框中輸入科室名稱、圖標(biāo)③管理員點擊“確定添加”按鈕④系統(tǒng)保存新增的科室信息并在科室管理頁面刷新顯示科室信息其他事件流①管理員取消新增科室,則取消新增操作②管理員未輸入科室名稱,系統(tǒng)彈窗提示輸入科室名稱,且無法點擊新增科室信息③管理員未輸入科室圖標(biāo),可以點擊新增科室信息異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤后置條件無修改科室信息表2修改科室信息用例用例名稱修改科室信息用例IDHIS_2角色SM用例說明管理員修改科室信息前置條件管理員通過賬戶密碼完成登錄

續(xù)表2基本事件流①管理員進入管理科室頁面②在科室管理頁面,點擊“修改”科室按鈕③在修改彈窗中,輸入新的科室信息④管理員點擊“確定修改”按鈕⑤系統(tǒng)保存修改的科室信息并在科室管理頁面刷新顯示科室信息其他事件流①管理員取消修改科室信息,則取消新增操作②管理員未輸入新的科室信息,點擊保存“確定修改”按鈕,保存原有的科室信息③管理員點擊“重置”按鈕,修改彈窗中的科室信息被清空,可以輸入新的科室信息④管理員點擊“重置”按鈕,管理員未輸入新的科室信息,提示“請輸入”異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤后置條件無刪除科室信息表3刪除科室信息用例用例名稱刪除科室信息用例IDHIS_3角色SM用例說明管理員刪除科室信息前置條件管理員通過賬戶密碼完成登錄

續(xù)表3基本事件流①管理員進入管理科室頁面②在科室管理頁面,點擊“刪除”科室按鈕③提示彈窗“確認刪除?”④管理員點擊“確認刪除”按鈕⑤系統(tǒng)刪除科室信息并在科室管理頁面刷新顯示科室信息其他事件流①管理員取消刪除科室信息,則取消操作異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤后置條件無后臺管理-醫(yī)生管理添加醫(yī)生信息表4添加醫(yī)生信息用例用例名稱新增醫(yī)生信息用例IDHIS_4角色SM用例說明管理員添加醫(yī)生信息前置條件管理員通過賬戶密碼完成登錄基本事件流①管理員進入管理醫(yī)生頁面②在新增醫(yī)生輸入框中輸入醫(yī)生名稱、頭像、簡介、科室id等信息③管理員點擊“確定添加”按鈕④系統(tǒng)保存新增的醫(yī)生信息并在醫(yī)生管理頁面刷新顯示醫(yī)生

續(xù)表4其他事件流①管理員取消新增醫(yī)生信息按鈕,則取消新增操作②管理員未輸入醫(yī)生名稱,系統(tǒng)彈窗提示輸入醫(yī)生名稱,且無法點擊新增醫(yī)生信息③管理員未輸入醫(yī)生頭像,可以點擊新增醫(yī)生信息④管理員未輸入科室信息,系統(tǒng)彈窗提示輸入信息,且無法點擊新增醫(yī)生信息異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤后置條件無修改醫(yī)生信息表5修改醫(yī)生信息用例用例名稱修改醫(yī)生信息用例IDHIS_5角色SM用例說明管理員修改醫(yī)生信息前置條件管理員通過賬戶密碼完成登錄基本事件流①管理員進入管理醫(yī)生頁面②在醫(yī)生管理頁面,點擊“修改”醫(yī)生按鈕③在修改彈窗中,輸入新的醫(yī)生信息④管理員點擊“確定修改”按鈕⑤系統(tǒng)保存修改的醫(yī)生信息并在醫(yī)生管理頁面刷新顯示醫(yī)生信息

續(xù)表5其他事件流①管理員取消修改醫(yī)生信息按鈕,則取消修改操作②管理員未輸入新的醫(yī)生信息,點擊保存“確定修改”按鈕,保存原有的醫(yī)生信息③管理員點擊“重置”按鈕,修改彈窗中的醫(yī)生信息被清空,可以輸入新的醫(yī)生信息④管理員點擊“重置”按鈕,管理員未輸入新的醫(yī)生信息,提示“請輸入”異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤后置條件無刪除醫(yī)生信息表6刪除醫(yī)生信息用例用例名稱刪除醫(yī)生信息用例IDHIS_6角色SM用例說明管理員刪除醫(yī)生信息前置條件管理員通過賬戶密碼完成登錄基本事件流①管理員進入管理醫(yī)生頁面②在醫(yī)生管理頁面,點擊“刪除”醫(yī)生信息按鈕③彈窗提示“確認刪除?”④管理員點擊“確認刪除”按鈕⑤系統(tǒng)刪除醫(yī)生信息并在醫(yī)生管理頁面刷新顯示醫(yī)生信息其他事件流①管理員取消刪除醫(yī)生信息,則取消操作異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤

續(xù)表6后置條件無后臺管理-排班管理添加排班信息表7添加醫(yī)生排班信息用例用例名稱新增排班信息用例IDHIS_7角色SM用例說明管理員新增醫(yī)生排班信息前置條件管理員通過賬戶密碼完成登錄基本事件流①管理員進入管理醫(yī)生排班頁面②在新增醫(yī)生排班輸入框中輸入醫(yī)生名稱、排班時間、可預(yù)約總?cè)藬?shù)等信息③管理員點擊“確定添加”按鈕④系統(tǒng)保存新增的醫(yī)生排班信息并在醫(yī)生排班管理頁面刷新顯示醫(yī)生排班其他事件流①管理員取消新增醫(yī)生排班信息按鈕,則取消新增操作②管理員未輸入醫(yī)生名稱,系統(tǒng)彈窗提示輸入醫(yī)生名稱,且無法點擊新增醫(yī)生排班信息③管理員未輸入醫(yī)生排班日期,系統(tǒng)彈窗提示輸入信息,且無法點擊新增醫(yī)生排班信息④管理員未輸入可預(yù)約總?cè)藬?shù),系統(tǒng)彈窗提示輸入信息,且無法點擊新增醫(yī)生信息異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤后置條件無修改排班信息表8修改醫(yī)生排班信息用例用例名稱修改醫(yī)生排班信息用例IDHIS_8角色SM用例說明管理員修改醫(yī)生排班信息前置條件管理員通過賬戶密碼完成登錄基本事件流①管理員進入管理醫(yī)生排班頁面②在醫(yī)生排班管理頁面,點擊“修改”醫(yī)生排班按鈕③在修改彈窗中,輸入新的醫(yī)生排班信息④管理員點擊“確定修改”按鈕⑤系統(tǒng)保存修改的醫(yī)生排班信息并在醫(yī)生管理頁面刷新顯示醫(yī)生排班信息其他事件流①管理員取消修改醫(yī)生排班信息按鈕,則取消修改操作②管理員未輸入新的醫(yī)生排班信息,點擊保存“確定修改”按鈕,保存原有的醫(yī)生排班信息③管理員點擊“重置”按鈕,修改彈窗中的醫(yī)生排班信息被清空,可以輸入新的醫(yī)生排班信息④管理員點擊“重置”按鈕,管理員未輸入新的醫(yī)生排班信息,提示“請輸入”異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤后置條件無刪除排班信息表9刪除醫(yī)生排班信息用例用例名稱刪除醫(yī)生排班信息用例IDHIS_9角色SM用例說明管理員刪除醫(yī)生排班信息前置條件管理員通過賬戶密碼完成登錄基本事件流①管理員進入管理醫(yī)生排班頁面②在醫(yī)生排班管理頁面,點擊“刪除”醫(yī)生排班信息按鈕③彈窗提示“確認刪除?”④管理員點擊“確認刪除”按鈕⑤系統(tǒng)刪除醫(yī)生排班信息并在醫(yī)生排班管理頁面刷新顯示醫(yī)生排班信息其他事件流①管理員取消刪除醫(yī)生排班信息,則取消操作異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異常或錯誤后置條件無微信小程序-普通用戶登陸患者(普通用戶)授權(quán)微信登陸。表10患者登陸用例用例名稱患者(普通用戶)授權(quán)微信登陸用例IDHIS_10角色USER用例說明患者(普通用戶)授權(quán)微信登陸前置條件患者暫未進行微信授權(quán)登陸

續(xù)表10基本事件流①用戶進入微信小程序個人頁面②在個人頁面,點擊“登陸”按鈕③彈窗提示“允許授權(quán)”與“拒絕授權(quán)”按鈕④用戶點擊“允許授權(quán)”按鈕⑤授權(quán)登陸小程序成功其他事件流①用戶點擊“允許授權(quán)”按鈕②授權(quán)登陸小程序失敗,可再次點擊登陸異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤后置條件無微信小程序-患者預(yù)約掛號患者(普通用戶)根據(jù)選擇的科室信息后,跳轉(zhuǎn)相關(guān)醫(yī)生頁面,選擇醫(yī)生后點擊預(yù)約掛號。表11患者預(yù)約掛號用例用例名稱患者(普通用戶)預(yù)約掛號用例IDHIS_11角色USER用例說明患者(普通用戶)預(yù)約掛號前置條件患者授權(quán)微信登陸

續(xù)表11基本事件流①用戶微信授權(quán)登陸②在首頁,點擊“科室”圖標(biāo),跳轉(zhuǎn)科室頁面③在科室頁面,選擇科室,跳轉(zhuǎn)醫(yī)生頁面④在醫(yī)生頁面,選擇醫(yī)生及預(yù)約時間,跳轉(zhuǎn)預(yù)約頁面⑤點擊預(yù)約按鈕⑥系統(tǒng)保存提交掛號信息,并刷新顯示在預(yù)約訂單頁面其他事件流①用戶在首頁直接點擊醫(yī)生信息,跳轉(zhuǎn)醫(yī)生頁面②選擇醫(yī)生及預(yù)約時間,跳轉(zhuǎn)預(yù)約頁面③點擊預(yù)約按鈕④系統(tǒng)保存提交掛號信息,并刷新顯示在預(yù)約訂單頁面①用戶在首頁直接點擊醫(yī)生信息,跳轉(zhuǎn)醫(yī)生頁面②選擇醫(yī)生及預(yù)約時間,跳轉(zhuǎn)預(yù)約頁面③點擊取消按鈕④取消掛號操作異常事件流系統(tǒng)出現(xiàn)故障,彈窗提示異?;蝈e誤后置條件無系統(tǒng)總體設(shè)計系統(tǒng)的業(yè)務(wù)流程用戶層面用戶進來小程序后,在首頁可以按照導(dǎo)航欄選擇頁面,或在首頁中直接選擇醫(yī)生后選擇日期進行掛號;進行預(yù)約掛號前,需要進行微信授權(quán)登陸,登陸成功后便可選擇科室、醫(yī)生、時間進行掛號;在預(yù)約就診的時間前可以取消掛號,取消當(dāng)天的某個醫(yī)生的掛號信息后才能繼續(xù)預(yù)約掛號該醫(yī)生;同一天用戶可以掛多個醫(yī)生的號,但不能掛同一個醫(yī)生的號(取消后可繼續(xù)掛號),流程(如圖4)。圖4患者掛號流程圖醫(yī)生層面醫(yī)生通過微信授權(quán)登錄系統(tǒng)后,可以實現(xiàn)普通用戶的全部功能,醫(yī)生擁有普通用戶額外的權(quán)限和頁面。醫(yī)生點擊醫(yī)生頁面后,可以查看當(dāng)天掛號的患者信息,并在就診完成后(模擬就診完成后掛號流程結(jié)束)點擊完成按鈕后修改患者看診狀態(tài),完成掛號流程(如圖5)。圖5醫(yī)生問診流程圖管理員層面管理員通過賬戶密碼登錄后,可以查看相關(guān)的科室和醫(yī)生信息,并對相關(guān)的科室信息和醫(yī)生信息進行增加相關(guān)數(shù)據(jù)、刪除相關(guān)數(shù)據(jù)、修改相關(guān)數(shù)據(jù)、查詢相關(guān)數(shù)據(jù)功能。管理員點擊排班后跳轉(zhuǎn)醫(yī)生排班頁面,可以進行添加醫(yī)生的出診排班信息、修改醫(yī)生的出診排班信息、刪除醫(yī)生的出診排班信息等操作(如圖6)。圖6管理員管理排班、科室、醫(yī)生、用戶流程圖系統(tǒng)功能模塊患者登錄注冊模塊普通用戶(患者)登陸:通過微信授權(quán)直接登錄。用戶個人中心頁面:用戶在個人中心可以查看就診記錄、全部就診記錄、已取消的就診記錄、待就診的就診記錄。醫(yī)生登錄注冊模塊微信小程序端醫(yī)生登陸:微信授權(quán)登陸,需要判斷用戶是否是醫(yī)生(醫(yī)生數(shù)據(jù)庫表中有醫(yī)生的微信的標(biāo)識)判斷是醫(yī)生登陸后顯示醫(yī)生頁面,醫(yī)生登陸也可以顯示普通用戶頁面。PC端醫(yī)生登陸:通過醫(yī)生的賬戶密碼登陸,需要判斷是否是醫(yī)生權(quán)限或管理員權(quán)限,判斷是醫(yī)生權(quán)限后則顯示該醫(yī)生的患者預(yù)約信息。管理員登錄注冊模塊管理員登陸:通過賬戶密碼登陸。掛號模塊預(yù)約掛號方式一:通過頁面醫(yī)生介紹,進入醫(yī)生出診時間頁面,選擇可掛號的時間,輸入姓名、確定預(yù)約時間、預(yù)約的科室、醫(yī)生后點擊確定預(yù)約即完成預(yù)約掛號。預(yù)約掛號方式二:通過掛號頁面,選擇科室,通過科室篩選出的屬于該科室的醫(yī)生的信息后,選擇可掛號的日期,輸入姓名、確定預(yù)約時間、預(yù)約的科室、醫(yī)生后點擊確定預(yù)約即完成預(yù)約掛號。預(yù)約掛號方式三:通過科室下拉框,選擇科室后從根據(jù)科室篩選出的醫(yī)生列表中選擇醫(yī)生后可以根據(jù)時間來進行預(yù)約掛號。預(yù)約掛號人數(shù):患者預(yù)約掛號某個醫(yī)生的某天的號源后,該醫(yī)生的當(dāng)天的號源可預(yù)約人數(shù)相對應(yīng)減少1,當(dāng)患者在預(yù)約日期前取消時,點擊取消預(yù)約則該醫(yī)生當(dāng)天的號源可預(yù)約人數(shù)相對應(yīng)增加1(每一個預(yù)約訂單只可取消一次);當(dāng)某醫(yī)生的某天可預(yù)約人數(shù)等于可預(yù)約總?cè)藬?shù)時,患者無法再繼續(xù)預(yù)約該醫(yī)生的號源,該醫(yī)生的號源信息顯示為“已約滿”否則為“可預(yù)約”??剖夷K科室顯示:通過用戶點擊掛號跳轉(zhuǎn)到選科室頁面,方式一:通過頁面科室圖標(biāo)和文字介紹選擇科室;方式二:通過下拉框來選擇科室。醫(yī)生模塊醫(yī)生頁面:顯示當(dāng)天掛號的患者列表,點擊完成就診后,刷新頁面,在醫(yī)生頁面顯示該患者已就診,患者的預(yù)約頁面顯示已就診。智能回復(fù)模塊智能回復(fù):通過用戶輸入病癥或相關(guān)疾病的關(guān)鍵詞,小程序通過關(guān)鍵詞判斷后,自動回復(fù)推薦可以預(yù)約掛號的科室。黑名單模塊 黑名單功能:患者掛號后逾期未就診,記錄達到三次則被記錄為黑名單人員,在規(guī)定的一個月內(nèi)不能進行掛號功能。系統(tǒng)詳細設(shè)計科室列表頁面在后端中通過SQL查詢語句查詢所有的數(shù)據(jù)庫表中科室表的信息,用HashMap把數(shù)據(jù)通過鍵值對的形式返回一個數(shù)組,微信小程序前端JS中通過GET方法獲取這個數(shù)據(jù)信息,并把這個數(shù)組信息顯示科室信息到科室頁面中。主要的后端代碼如下:@RequestMapping("/queryDeptAndLevel")@ResponseBodypublicMap<String,Object>queryDeptAndLevel(){Map<String,Object>map=newHashMap<>();List<Dept>deptList=deptService.queryAllDept();map.put("deptList",deptList);returnmap;}主要的前端JS代碼和WXML代碼如下:

getDeptList()

{

wx.request({

url:

'http://localhost:8888/his/home/queryDeptAndLevel',

method:

'GET',

success:

(res)

=>

{

this.setData({

deptList:

res.data.deptList

})

}

})

}<view

class="grid-list">

<view

class="grid-item"

wx:for="{{deptList}}"

wx:key="deptId"

data-item="{{item}}"

bindtap="queryBtnClick">

<image

src="{{item.deptIcon}}"></image>

<text>{{item.deptName}}</text>

</view></view>醫(yī)生列表頁面通過科室頁面選擇科室后,在前端頁面中獲取鼠標(biāo)點擊事件時點擊的科室信息,把獲取的科室信息中的科室id傳到獲取數(shù)據(jù)的URL上,再通過GET方法獲取相對應(yīng)科室的所有醫(yī)生的信息。主要的前端JS代碼如下:

getAllpatient(){

wx.request({

url:

'http://localhost:8888/his/home/selectPatientBydoctor?doctorId='+app.globalData.doctorId+'®isteredDate='+app.globalData.today,

method:

'GET',

success:

res

=>

{

this.setData({

patientList:

res.data.patientList,

})

}

})

},患者掛號頁面通過患者輸入的患者姓名、選擇的科室信息、相對應(yīng)的鼠標(biāo)點擊時獲取到的醫(yī)生的id、預(yù)約日期等,從而通過POST請求在掛號表中存入一條掛號信息,掛號信息主要包括:患者編號、患者姓名、掛號日期、主治醫(yī)生等。主要的前端JS代碼如下:

wx.request({

url:

'http://localhost:8888/his/home/insertRegister?patientName='+_this.data.input+'®isteredDate='+_this.data.date+'&dept.deptId='+_this.data.deptId+'&doctor.doctorId='+_this.data.doctorId+'&openId='+app.globalData.openid+'&time='+app.globalData.time,

data:{

registeredDate:

_this.data.date,

deptId:

_this.data.deptId,

doctorId:

_this.data.doctorId

},

method:'POST',

header:{

'content-type':'application/x-www-form-urlencoded'

}

})數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫概念設(shè)計本小程序設(shè)計實體包括掛號信息、用戶信息、醫(yī)生信息、科室信息等。具體各實體屬性總結(jié)如下:掛號實體信息主要包括用戶微信的唯一標(biāo)識、患者編號、患者姓名、科室編號、醫(yī)生姓名、掛號日期、就診狀態(tài)等。具體實體屬性(如圖7)。圖7掛號實體屬性圖用戶實體屬性主要包括用戶昵稱、密碼、用戶微信標(biāo)識等。具體實體屬性(如圖8)。圖8用戶實體屬性圖醫(yī)生實體屬性主要包括醫(yī)生編號、醫(yī)生姓名、醫(yī)生簡介、醫(yī)生微信標(biāo)識等。具體實體屬性(如圖9)。圖9醫(yī)生實體屬性圖科室實體屬性主要包括科室編號、科室名稱、科室圖標(biāo)等。具體實體屬性(如圖10)。圖10科室實體屬性圖通過以上的實體及屬性分析總結(jié)出來本微信小程序系統(tǒng)的E-R(如圖11)。圖11系統(tǒng)E-R圖數(shù)據(jù)庫邏輯設(shè)計通過所總結(jié)出來的實體屬性以及微信小程序系統(tǒng)的E-R圖,將本微信小程序系統(tǒng)的數(shù)據(jù)總結(jié)為以下四張表(主要)。掛號數(shù)據(jù)表主要記錄患者掛號信息以及相關(guān)科室及醫(yī)生信息。表12his_register掛號表字段名稱數(shù)據(jù)類型長度是否為空約束說明patientIdint4Nonull主鍵患者編號,自增patientNamevarchar255null患者姓名deptIdint4null外鍵科室編號doctorIdint4null外鍵醫(yī)生編號registeredDatedate0null掛號日期seeStatusint4null1:未就診2:已就診registeredStatusint4null1:已掛號2:已退號openIdvarchar255null微信標(biāo)識timeint4null1:上午2:下午用戶數(shù)據(jù)表主要記錄用戶登錄的個人信息及管理員信息。表13his_user用戶表字段名稱數(shù)據(jù)類型長度是否為空約束說明nickNamevarchar255null用戶昵稱userIdint4Nonull主鍵用戶編號,自增usernamevarchar255null用戶賬戶passwordvarchar4null用戶密碼openIdvarchar255null微信標(biāo)識userTypeint4null用戶標(biāo)識醫(yī)生數(shù)據(jù)表主要記錄醫(yī)生的個人信息。表14his_doctor醫(yī)生表字段名稱數(shù)據(jù)類型長度是否為空約束說明doctorIdint4Nonull主鍵醫(yī)生編號,自增doctorNamevarchar255null醫(yī)生姓名avatarUrlvarchar255null醫(yī)生頭像deptIdint4null外鍵科室編號doctorLevelvarchar255null醫(yī)生級別doctorSpeciltyvarchar255null醫(yī)生簡介passwordvarchar255null密碼openIdvarchar255null微信標(biāo)識userTypeint4null用戶標(biāo)識科室數(shù)據(jù)表主要記錄科室信息。表15his_dept科室表字段名稱數(shù)據(jù)類型長度是否為空約束說明deptIdint4Nonull主鍵科室編號,自增deptNamevarchar255null科室名稱deptIconlongtext0null科室圖標(biāo)系統(tǒng)測試軟件測試的目的和意義軟件測試的目的之一就是在軟件發(fā)布之前發(fā)現(xiàn)軟件缺陷,從而提高軟件質(zhì)量。通過軟件測試而發(fā)現(xiàn)軟件缺陷,分析導(dǎo)致該缺陷的原因并進行度量分析,從而確保軟件產(chǎn)品的質(zhì)量REF_Ref6168\r\h[13],而不僅僅是找出軟件的缺陷。通過分析缺陷產(chǎn)生的原因和缺陷的分布特征,可以幫助項目經(jīng)理或測試人員改進其工作REF_Ref6432\r\h[14]。同時還可以使得開發(fā)人員更早的發(fā)現(xiàn)并修復(fù)問題,以免造成更大的危害。測試主要內(nèi)容用戶登錄功能測試用戶沒有登錄是否能掛號。用戶登錄后能否掛號。醫(yī)生登錄功能測試醫(yī)生登錄后是否顯示醫(yī)生頁面。醫(yī)生權(quán)限頁面,有患者掛號前提下是否顯示患者掛號信息。掛號功能測試用戶掛某個醫(yī)生的號后,該醫(yī)生的號源人數(shù)是否增加。用戶取消某個醫(yī)生的掛號后,該醫(yī)生的號源人數(shù)是否減少。用戶掛號成功后醫(yī)生頁面是否能顯示患者掛號信息。某個醫(yī)生的號源達到總?cè)藬?shù)時,患者是否還能掛號。用戶是否可以同時掛某個醫(yī)生的某天的號無數(shù)次。功能測試登錄系統(tǒng)功能測試用戶通過微信授權(quán)登錄后是否可以顯示微信登錄成功,用戶確認登錄后該用戶信息是否顯示;用戶拒絕登錄后,是否還會顯示用戶信息以及能否再次登錄。表16系統(tǒng)用戶登錄測試用例測試編號HIS_001測試項描述用戶微信授權(quán)是否成功前置條件用戶未登錄用例編號操作期望結(jié)果001用戶點擊允許授權(quán)登錄成功002用戶點擊拒絕授權(quán)登錄失敗003①用戶點擊拒絕授權(quán)②點擊登錄允許授權(quán)登錄成功用戶掛號功能測試在主頁,點擊掛號后是否可以跳轉(zhuǎn)頁面并提示用戶需要登錄后才可以預(yù)約掛號,用戶成功登錄后是否可以成功掛號,是否有掛號信息顯示。用戶是否掛同一個醫(yī)生同一天的號。表17系統(tǒng)用戶掛號用例表測試編號HIS_002測試項描述用戶掛號是否有相對應(yīng)提示前置條件用戶點擊掛號用例編號操作期望結(jié)果001用戶在首頁點擊掛號提示先登錄再掛號,跳轉(zhuǎn)頁面

續(xù)表17002用戶在醫(yī)生頁面點擊掛號提示先登錄再掛號,跳轉(zhuǎn)頁面003①用戶已成功掛某醫(yī)生號②再次點擊掛該醫(yī)生號提示您今日已掛該醫(yī)生號004用戶登錄后點擊掛號掛號成功005①用戶已成功掛某醫(yī)生號②用戶取消掛該醫(yī)生號掛號成功用戶取消掛號功能測試在用戶掛號成功后,是否有掛號成功的掛號信息顯示,以及是否可以取消掛號,取消掛號后是否可以重新掛號。表18系統(tǒng)用戶取消掛號用例表測試編號HIS_003測試項描述用戶取消掛號是否有相對應(yīng)提示前置條件用戶點擊取消掛號用例編號操作期望結(jié)果001在訂單頁面點擊取消掛號提示取消掛號成功醫(yī)生登錄顯示醫(yī)生頁面醫(yī)生用戶登錄后是否顯示醫(yī)生頁面,能否行使醫(yī)生權(quán)限;醫(yī)生授權(quán)登錄后是否可以查看掛號患者信息。表19醫(yī)生登錄用例表測試編號HIS_004測試項描述醫(yī)生登錄后判斷是否有醫(yī)生權(quán)限頁面前置條件登錄的用戶權(quán)限是醫(yī)生用例編號操作期望結(jié)果001醫(yī)生點擊允許授權(quán)登錄成功,顯示醫(yī)生頁面002醫(yī)生點擊拒絕授權(quán)登錄失敗

續(xù)表19003①醫(yī)生點擊拒絕授權(quán)②點擊登錄允許授權(quán)登錄成功,顯示醫(yī)生頁面004醫(yī)生點擊允許授權(quán)登錄成功,顯示醫(yī)生頁面系統(tǒng)運行效果圖12主頁圖13醫(yī)生顯示圖14登錄圖15科室顯示圖16掛號圖17掛號信息圖18掛號圖19取消掛號圖20管理員后臺醫(yī)生管理圖21管理

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論