版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、 基于 Android 的就醫(yī)預約系統(tǒng)摘要醫(yī)院看病難的問題是當下熱議的話題之一。預約掛號是患者尋診問藥的第一階段, 如果能夠提高預約掛號的效率,不僅能提高醫(yī)院工作效率,同時可以減少患者的候診時 間。就醫(yī)預約系統(tǒng)是基于 Android 操作系統(tǒng)的手機進行設計和研究的,實現(xiàn)在手機上完 成醫(yī)院預約掛號功能。系統(tǒng)基于 C/S 體系設計結(jié)構(gòu), 客戶端使用 Android SDK 開發(fā)工具, 根據(jù)預約掛號業(yè) 務流程,提供用戶注冊登陸、預約掛號、語音提示等功能,服務器端支持管理員、醫(yī)生 登錄管理功能。服務器和客戶端間的通信采用 HTTP 協(xié)議和 JSON 格式進行的數(shù)據(jù)傳輸。 系統(tǒng)利用 Android AP
2、I 提供的各種組件模仿 Windows8 操作系統(tǒng)的扁平化風格進行界面 設計,預約就診時間精確到分鐘,掛號成功語音提示,能夠很好地滿足用戶體驗,通過 技術(shù)手段解決患者看病難的問題。關(guān)鍵詞 預約掛號;An droid SDK ;扁平化;JSON格式Based on the Androids Appointment Registration SystemAbstractThe problem of hospital medical difficulty is one of the hot topics.Appointment of patients seeking the first stage
3、of diagnosis and asks the pharmacist, if we can improve the efficiency of appointment register, not only can improve the work efficiency of the hospital, at the same time, can reduce the waiting time of patients. The reservation registration system is based on the Android operating system for mobile
4、 phone design and research, realize the hospital booking registration functions on the phone.System based on C/S system structure design, the client uses the Android SDK tools, according to appointment registration business processes, providing registered users landing, registration, the voice promp
5、t, etc., the server support administrators, doctors log management function. The communication between the server and the client is transmitted by HTTP protocol and JSON format. System use the Android API to provide the various components of the imitation Windows 8 flat style interface design, sched
6、ule an appointment time, accurate to the minute, successfully registered the voice prompt, can well meet the user experience, through technical means solving the patient to see a doctor difficult question.Keywords Android SDK; Delayering; Appointment registration; JSON format目錄 TOC o 1-5 h z HYPERLI
7、NK l bookmark4 o Current Document 第 1 章 緒論 1 HYPERLINK l bookmark6 o Current Document 1.1 研究背景和意義 11.2 國內(nèi)外研究概況 2 HYPERLINK l bookmark8 o Current Document 第 2 章 需求分析與總體設計 4 HYPERLINK l bookmark10 o Current Document 2.1 系統(tǒng)業(yè)務流程 4 HYPERLINK l bookmark12 o Current Document 2.2 系統(tǒng)功能需求分析 5Android 客戶端 52.2.
8、2 web 醫(yī)生端 62.2.3 web 管理員端 6 HYPERLINK l bookmark14 o Current Document 2.3 系統(tǒng)結(jié)構(gòu)設計 62.3.1 系統(tǒng)體系架構(gòu) 62.3.2 系統(tǒng)采用的設計模式 62.3.3 系統(tǒng)的技術(shù)方案 7 HYPERLINK l bookmark16 o Current Document 2.4 系統(tǒng)功能模塊劃分 92.4.1 客戶端功能模塊 92.4.2 服務器端功能模塊 9 HYPERLINK l bookmark18 o Current Document 2.5 功能模塊設計 10注冊登錄模塊 102.5.2 用戶 UI 模塊 10數(shù)據(jù)
9、傳輸模塊 10數(shù)據(jù)處理模塊 11數(shù)據(jù)存儲模塊 11 HYPERLINK l bookmark20 o Current Document 第 3 章 數(shù)據(jù)庫設計 12 HYPERLINK l bookmark22 o Current Document 3.1 數(shù)據(jù)庫類型 12 HYPERLINK l bookmark24 o Current Document 3.2 數(shù)據(jù)表設計 133.2.2 醫(yī)生表 133.2.3 排診表 143.2.4 掛號表 143.2.5 收藏表 153.2.6 數(shù)據(jù)庫整體 E-R 圖 15 HYPERLINK l bookmark30 o Current Docume
10、nt 第 4 章 系統(tǒng)功能實現(xiàn) 16 HYPERLINK l bookmark32 o Current Document 客戶端 16Activity 管理機制 164.1.2 HttpPost 網(wǎng)絡訪問實現(xiàn) 174.1.3 注冊功能實現(xiàn) 184.1.4 登陸功能實現(xiàn) 204.1.5 預約掛號功能實現(xiàn) 234.1.6 我的醫(yī)生功能實現(xiàn) 304.1.7 最近預約功能實現(xiàn) 324.1.8 個人中心功能實現(xiàn) 334.1.9 語音提示功能實現(xiàn) 36 HYPERLINK l bookmark38 o Current Document 服務器端 37管理員登陸 374.2.2 醫(yī)生登陸 38 HYPERL
11、INK l bookmark44 o Current Document 第 5 章系統(tǒng)測試 39 HYPERLINK l bookmark46 o Current Document 5.1數(shù)據(jù)庫加密測試 39 HYPERLINK l bookmark48 o Current Document 功能測試 40 HYPERLINK l bookmark58 o Current Document 性能測試 46結(jié)論 47致謝 48參 考 文 獻 49 第 1 章 緒論1.1 研究背景和意義近幾年來,隨著科技發(fā)展的日新月異,智能手機的功能也在不斷的完善,比如大家 除了使用手機打電話、發(fā)短信、瀏覽網(wǎng)頁、
12、聽音樂等基本功能,還可以利用手機轉(zhuǎn)賬, 炒股,訂餐以及智能家居等強大的功能,如果說電腦的發(fā)展帶來了第三次科技革命,那 么智能手機將必定帶來第四次科技革命。手機預約掛號就是這次科技革命的成果。 雖然科技在不斷進步, 但是面對中國近 14 億的人口情況下也無濟于事,醫(yī)院的就診掛號一直是個老生常談的問題,包括怎樣做到 以病人為中心,將掛號、就診、交費、取藥的步驟統(tǒng)一管理,緩解病人掛號排長隊、等 待時間長、繳費難等問題。使用手機預約掛號,患者不需要親自前往醫(yī)院,也就避免看 病的”三長一短”問題,能夠輕松的查看醫(yī)生個人信息、排班信息,根據(jù)個人情況選擇 就診時間和醫(yī)生,完成預約掛號的服務,享受科技帶來的便
13、捷。目前網(wǎng)絡上可供下載的醫(yī)院掛號 APP 不在少數(shù),比如掛號管家、掛號助手、掛號 找我等等。但是很多 APP 要么是收費,要么操作起來很難上手,降低用戶體驗,還有 的只是簡單實現(xiàn)了掛號功能,沒有給出醫(yī)生具體的排班情況,仍然需要患者現(xiàn)場確認時 間,可以說真正適合用戶使用的一款軟件并不是很多。通過上述對問題的研究以及用戶的真實需求,本次基于 Android 的預約掛號系統(tǒng)設 計和實現(xiàn)具體重要意義,大致包括以下幾點:一、減少患者掛號排隊時間手機進行預約掛號,患者可以享受預約優(yōu)先服務,即優(yōu)先掛號、優(yōu)先檢查,使得患 者看病等待時間大大的減少。二、掛號方便、準確、安全 患者通過手機查看醫(yī)生排班時間,依據(jù)自
14、己的實際情況選擇合適的時間就診,可以 選擇現(xiàn)場支付或者在線支付,現(xiàn)場支付需要憑預約號至指定窗口領號,而在線支付患者 只需憑預約號直接到醫(yī)院的相關(guān)科室就診。如果在規(guī)定時間沒有前來就診,掛號費會自 動返回到用戶賬戶,安全可靠。三、醫(yī)院信息透明化醫(yī)院信息通過一個平臺對外共享,患者和有關(guān)部門能夠監(jiān)督醫(yī)院工作動態(tài)。醫(yī)院將 醫(yī)生的預約掛號信息第一時間上傳至網(wǎng)絡,所有的患者可以及時瀏覽醫(yī)生排班信息,保 證了預約掛號的公平、公正性,有效的改善病人對醫(yī)院的信任關(guān)系。四、提高醫(yī)院的服務品質(zhì) 救死扶傷是醫(yī)生必須具備的本質(zhì),醫(yī)院應當更好的發(fā)揮為人們服務的態(tài)度,包括降低患者的等待時間,醫(yī)療資源的合理分配,醫(yī)院能夠合理、
15、有序的運行,成為廣大患者 值得信賴的醫(yī)療單位。五、增加醫(yī)院的社會競爭力 手機預約掛號工作的大力推廣,不但可以減輕醫(yī)院窗口掛號的人口流量,患者可以 第一時間得到醫(yī)生的就診,遏制病情拖延帶來的危險,提升了醫(yī)院的服務質(zhì)量,同時患 者有需要會及時前來復診,保障醫(yī)院病人來源的保持和增長,這對于醫(yī)院的改革和發(fā)展 是至關(guān)重要的因素之一。六、平臺開放性 在手機市場的激烈競爭中, Android 操作系統(tǒng)以強大的優(yōu)勢獨樹一幟。 Android 操作 系統(tǒng)是基于 Linux 內(nèi)核開發(fā),開放源代碼,開發(fā)人員可以定制系統(tǒng)。在平板電腦、智能 手機等領域占有很大的地位,因此吸引了大量的移動終端廠商前赴后繼的加入進來。本
16、次畢業(yè)設計的醫(yī)院就診預約掛號系統(tǒng)就是基于 Android 操作系統(tǒng)進行設計和實現(xiàn)的,面 向 Android 手機用戶群。1.2 國內(nèi)外研究概況 自從上世紀 60 年代初,醫(yī)院信息管理系統(tǒng)( HMIS )在很多發(fā)達國家就得到了大力 的發(fā)展和進一步的研究, 70-80 年代美國的 HMIS 有了較大的進步,尤其是在解決醫(yī)院 預約掛號的問題上取得了累累碩果。 在很多歐美國家, 通常患者看病都需要先進行預約 掛號,除非急診,很少有人直接到醫(yī)院找醫(yī)生,沒有預約報告單醫(yī)生無法進行接診?;?者看病具體步驟如下:1)除急診以外,先由社區(qū)家庭醫(yī)生為患者診療,一旦認為有必要,會建議患者轉(zhuǎn) 診到??漆t(yī)療中心或?qū)?漆t(yī)
17、院治療。2)患者同意轉(zhuǎn)診,家庭醫(yī)生聯(lián)系??漆t(yī)生,為患者開轉(zhuǎn)診單。3)患者聯(lián)系待轉(zhuǎn)診醫(yī)院,電話預約就診時間。4)在預約的時間內(nèi)憑轉(zhuǎn)診單及時前往醫(yī)院就診。各級醫(yī)生的工作分工明確,有條不紊的進行。醫(yī)療機構(gòu)間建立的有效轉(zhuǎn)診制度,為 醫(yī)療質(zhì)量提供了保障。和發(fā)達國家相比,我們國內(nèi)的預約掛號在近幾年發(fā)展也很迅速, 手機預約掛號服務在很多醫(yī)院也進行了實施。 在開展預約掛號服務的大部分醫(yī)院, 存在 數(shù)據(jù)不準確、推廣力度低等問題, 患者實際使用預約掛號軟件的比例少, 醫(yī)院看病的 “三 長一短”現(xiàn)狀仍然沒有的得到改善,對于用戶失約和黃牛倒號賣號的現(xiàn)象,沒有出臺有 效的防范措施,相比國外的醫(yī)療水平仍然有很大的差距。國
18、內(nèi)醫(yī)院預約掛號方式多種多樣,主要分為以下幾種:一、窗口預約病人需要花費很多時間前往醫(yī)院,通過和工作人員交流,填寫預約信息,但是由于 工作人員不能方便的了解患者的病史以及確定上次就診的醫(yī)生, 也就不能保證患者正常 預約到同一位醫(yī)生進行診療。二、電話預約電話預約不需要患者到醫(yī)院窗口掛號以及人工的方式填寫預約的相關(guān)資料。 避免被 安排到不同醫(yī)生的狀況,但是對于很多初次使用該方式的患者而言,由于不熟悉語音系 統(tǒng),將需要花費許多時間聽系統(tǒng)將所有的就診選項的代號播報結(jié)束才能做選擇,并且一 旦輸入錯誤,需要重新輸入預約信息,耽誤及時就診時機。三、網(wǎng)絡預約 網(wǎng)絡預約掛號是由醫(yī)院相關(guān)部門建立的網(wǎng)站,通過互聯(lián)網(wǎng)預
19、約掛號的一種方式。網(wǎng) 絡預約相比現(xiàn)場預約和電話預約,很好的避免患者擁堵現(xiàn)象。在年輕人中廣泛使用,由 于很多老年人沒有接觸過計算機,也就很少采用這種方式。四、自助掛號終端預約 患者通過在醫(yī)院里的自動掛號終端進行預約,通常終端上有操作流程和方法,方便 患者完成掛號,但是需要患者到醫(yī)院掛號終端排隊使用。五、公共服務平臺預約一些大型醫(yī)院和通信運營商合作, 提供的公共預約掛號服務平臺, 比如電信的 114, 移動的 12580。用戶通過撥打服務電話預約,但是由于這類平臺同時也提供了很多其他 的功能,所以用戶經(jīng)常會出現(xiàn)搶線,斷線等狀況。第2章需求分析與總體設計2.1系統(tǒng)業(yè)務流程經(jīng)過對網(wǎng)絡上現(xiàn)有的大量預約掛
20、號平臺的研究和醫(yī)院實地考察,使用預約掛號客戶端到醫(yī)院看病的總體流程一般需要經(jīng)過如下幾個步驟:1)用戶注冊、登陸系統(tǒng)。2)選擇就診的科室、醫(yī)生、預約時間。3)選擇支付方式,提交訂單。4)系統(tǒng)給用戶返回確認信息及預約碼5)用戶選擇窗口支付,提供預約碼到醫(yī)院指定窗口繳費并領取掛號單,憑掛號單 到門診科室醫(yī)生就診;如果是在線支付,可直接憑預約碼到門診科室醫(yī)生就診。6)根據(jù)專家醫(yī)生開出的處方到收費窗口繳納費用。7)憑收據(jù)到藥房取藥。8)離院。如果有需要可至醫(yī)院進行復診。醫(yī)院預約掛號流程具體詳情如下圖所示:圖2-1手機預約掛號流程圖2.2 系統(tǒng)功能需求分析截止 2014 年年底,根據(jù)國際電信聯(lián)盟公布的 I
21、CT 報告數(shù)據(jù)顯示,全球已經(jīng)有超過 30 億人使用互聯(lián)網(wǎng),而在這近 30 億的人口中接近 2/3 的互聯(lián)網(wǎng)用戶來自發(fā)展中國家。 中國作為一個人口超過 13 億的發(fā)展中國家,對互聯(lián)網(wǎng)的依賴越來越大。全球信息化風 暴給信息技術(shù)帶來了翻天覆地的革新, 這也要求社會各行各業(yè)的信息化建設需要創(chuàng)新和 完善以滿足時代的需求。醫(yī)療行業(yè)同樣面臨著這樣的難題,包括怎樣建設滿足客觀需求 的醫(yī)療信息化系統(tǒng)、 病人及時就醫(yī)、 保護醫(yī)院投資、 以及方便醫(yī)院往后的擴張等等問題。 針對我國現(xiàn)有的醫(yī)療資源緊缺、分配不合理、工作效率低從而導致病人看病難,就診不 及時的情況,醫(yī)療系統(tǒng)的信息化推廣建設勢在必行。大力推廣醫(yī)院預約掛號服
22、務不但可 以減少醫(yī)院的窗口服務壓力,而且可以提前通知醫(yī)生安排就診,從而很好的提高醫(yī)院的 服務質(zhì)量,保障了患者及時就診的權(quán)益,也避免了醫(yī)院看病”三長一短”問題。本次醫(yī)院預約掛號系統(tǒng)是通過將病人預約的環(huán)節(jié)轉(zhuǎn)移到手機上操作, 從而實現(xiàn)患者 可以不出家門和排長隊,能夠隨時隨地輕松掛號。通過上節(jié)對預約掛號系統(tǒng)業(yè)務流程的 分析,進行系統(tǒng)的需求設計。系統(tǒng)應具備如下功能。Android 客戶端1)用戶注冊、登陸用戶填寫注冊所需相關(guān)資料,憑賬戶(即身份證號)和密碼登陸系統(tǒng)。2)個人資料修改用戶登陸系統(tǒng)后可以修改除身份證號碼、姓名、性別以外的資料。3)科室、醫(yī)生及排診信息查詢用戶登陸系統(tǒng)后可以瀏覽科室、醫(yī)生以及該
23、醫(yī)生的排診詳情。4)訂單提交 用戶登陸系統(tǒng),根據(jù)自己病情選擇科室、醫(yī)生,選擇合適的時間就診。用戶提交訂 單可以選擇在線支付或者窗口支付,一旦訂單提交成功系統(tǒng)會返回預約碼,憑預約碼到 醫(yī)院就診。5)預約掛號記錄查詢及取消 用戶提交訂單成功后可以瀏覽掛號記錄,如果有特殊問題可以取消掛號。如果用戶 選擇的是在線支付,系統(tǒng)應當在限定時間內(nèi)將診金返回到用戶賬戶中。6)醫(yī)生收藏用戶可以收藏自己喜歡的醫(yī)生,可以方便瀏覽該醫(yī)生的排診信息,能夠及時掛號和 復診。web 醫(yī)生端1)醫(yī)生登陸醫(yī)生輸入員工編號以及密碼登陸后臺。2)瀏覽掛號詳情醫(yī)生登陸系統(tǒng)可以查看哪些患者選擇了自己的排診記錄, 根據(jù)具體時間提前安排出
24、診。web 管理員端1)管理員登陸系統(tǒng)管理員輸入賬號以及密碼登陸后臺。2)管理醫(yī)生管理員登陸系統(tǒng)可以查看所有醫(yī)生、更新醫(yī)生信息、刪除以及添加新醫(yī)生。3)管理用戶管理員可以瀏覽用戶注冊填寫的個人信息。4)管理醫(yī)生排診管理員可以瀏覽所有醫(yī)生的排診信息、添加、刪除以及更新排診記錄。5)管理患者掛號記錄管理員可以查看用戶所有的訂單記錄, 包括用戶、醫(yī)生信息,以及預約時間等信息。2.3 系統(tǒng)結(jié)構(gòu)設計系統(tǒng)體系架構(gòu)系統(tǒng)基于C/S模型,即客戶端(Client)和服務器(Server)兩層架構(gòu)設計。通過分 層設計,可以有效的降低系統(tǒng)設計的耦合度,減少客戶端和服務器間的依賴性,設計人 員可以集中精力實現(xiàn)各自的模塊
25、, 只需要對外提供訪問的接口, 同時可以提供安全認證。 C/S 架構(gòu)間的信息交互只需要通過一層,提高訪問速度。系統(tǒng)采用的設計模式預約掛號系統(tǒng)采用了 MVC 設計模式, MVC 模式是軟件開發(fā)過程中采用的一種架 構(gòu)模式,它把軟件系統(tǒng)開發(fā)分成了模型(Model)、視圖(View)和控制器(Controller) 3 個部分。1)視圖層:提供軟件和用戶直接交互的圖形界面。比如JAVAEE中采用JSP界面顯示數(shù)據(jù),ASP.NET的用戶界面aspx等等,用戶通過視圖查看關(guān)心的業(yè)務數(shù)據(jù),同時 用戶提交的數(shù)據(jù)可以通過視圖中的相關(guān)控件輸入。An droid SDK開發(fā)能夠很好的將視圖層分離,并以XML文件的形
26、式放入“res/目錄中。程序開發(fā)人員能夠方便的調(diào)用數(shù)據(jù), 同時增加了程序的可讀性,也有利于軟件后期的維護和更新。2)模型層:存放程序中調(diào)用的實體類以及處理程序的業(yè)務邏輯,包括對數(shù)據(jù)庫的 操作、網(wǎng)絡通信管理等。在An droid中對應“src/”下的代碼設計,具體可以分為實體模 型層和業(yè)務模型層。3)控制層:用于接收用戶的操作,通過模型和視圖的協(xié)作完成用戶請求。 在An droid 開發(fā)中,用戶點擊視圖上的按鈕或者選項,控制器接受用戶發(fā)送的請求,調(diào)用模型進行 處理,并更新視圖。Activity在An droid中起著控制層角色,調(diào)用業(yè)務模型層處理耗時 操作,避免出現(xiàn)ANR導致系統(tǒng)奔潰。査詢狀態(tài)*
27、 Model通知改變用戶i腎求打View-選擇視圖C AntrollerJ丄圖2-3-1 MVC組件類型關(guān)系圖2.3.3系統(tǒng)的技術(shù)方案1)客戶端:前臺開發(fā)環(huán)境使用 Google提供的An droid SDK開發(fā)工具。2) 服務器:后臺開發(fā)環(huán)境使用MyEcpIice開發(fā)工具。3) 數(shù)據(jù)存儲技術(shù):服務器端數(shù)據(jù)存儲使用JDBC技術(shù)訪問后臺的 MySQL數(shù)據(jù)庫, 進行數(shù)據(jù)操作;客戶端數(shù)據(jù)存儲使用 An droid SDK提供的SharedPrefere nee類,它是- 種通過創(chuàng)建XML文件進行輕量級的數(shù)據(jù)存儲技術(shù)。4)數(shù)據(jù)加密技術(shù):使用MD5報文摘要算法對用戶設置的密碼進行加密存儲,有效 的避免了使
28、用明文存儲敏感數(shù)據(jù)帶來的安全隱患問題。5) 服務器和客戶端交互技術(shù):用戶點擊按鈕,發(fā)送請求命令,客戶端通過 HttpCIiet 接口,采用基于 Apache HTTP協(xié)議,實現(xiàn)服務器與客戶端的通訊,服務器接收客戶端發(fā)送的請求,通過調(diào)用web.xml中對應的Servlet進行相應的處理。其中,服務器與客戶端使用JSON數(shù)據(jù)傳輸,JSON是一種進行輕量級數(shù)據(jù)交換的格式,易于編寫的閱讀,與傳統(tǒng)的XML數(shù)據(jù)傳輸方式相比有著以下幾點優(yōu)勢:(1)JSON比XML體積小;(2)JSON和JavaScript交互更加方便;(3)JSON的速度要遠遠大于XML ;(4)JSON的解析要比XML的解析要方便。服務
29、器與客戶端數(shù)據(jù)通信傳輸技術(shù)實現(xiàn),如下圖所示:圖2-3-2 服務器與客戶端交互圖6)圖片緩存技術(shù):客戶端請求服務器的大量圖片,如果線程沒有進行優(yōu)化處理, 可能出現(xiàn)圖片無法正常顯示、加載緩慢、內(nèi)存溢出,甚至導致系統(tǒng)奔潰等等影響用戶體 驗的問題。An droid開源網(wǎng)站GitHub上提供了一個功能強大的異步加載大量圖片的框 架 An droid-U ni versal-lmage-Loader 很好的解決了這個問題。An droid-U niversal-lmage-Loader作為一個優(yōu)秀的開源圖片處理項目,支持網(wǎng)絡圖片的異步加載、參數(shù)設置、緩存處理等技術(shù),為開發(fā)人員提供了方便的接口。其主要的核
30、心功能如下:(1)支持Widget窗口部件;(2)支持多線程的圖片加載;(3)支持圖片加載過程中的監(jiān)聽;(4)提供內(nèi)存和本地的雙緩存技術(shù);提供圖片的個性化顯示,如圖片圓角處理已經(jīng)漸變動畫等的配置接口;提供多樣化的功能選項,包括線程管理,內(nèi)存和 SDCard卡緩存,參數(shù)初始化工作等等2.4系統(tǒng)功能模塊劃分2.4.1客戶端功能模塊通過在已有的預約掛號業(yè)務基礎上分析,從用戶的角度進行系統(tǒng)設計,滿足功能實用、操作簡單、運行流暢是設計的宗旨。系統(tǒng)客戶端的整體功能劃分如下表:表2-4-1預約掛號客戶端整體功能表系統(tǒng)功能模塊子功能預約掛號客戶端系統(tǒng)注冊無登錄找回密碼記住密碼預約掛號選擇科室、醫(yī)生、時間段提交
31、訂單醫(yī)生收藏我的醫(yī)生繼續(xù)預約該醫(yī)生最近預約取消預約掛號繼續(xù)預約該醫(yī)生個人中心個人資料修改密碼修改電話預約退出當前賬戶最近預約入口我的醫(yī)生入口2.4.2服務器端功能模塊預約掛號系統(tǒng)大量的信息處理以及數(shù)據(jù)存儲工作是在后臺服務器進行實現(xiàn)。服務器和客戶端的交互采用即時通信模式,患者提交預約掛號成功,醫(yī)生可以隨時登陸后臺瀏 覽掛號信息,同時系統(tǒng)管理員可以對數(shù)據(jù)庫進行維護和數(shù)據(jù)更新。系統(tǒng)的web端整體功能需求如下表:表2-4-2預約掛號web端整體功能表系統(tǒng)用戶類型預約掛號后臺系統(tǒng)醫(yī)牛管理員功能模塊子功能瀏覽待就診信息無管理醫(yī)牛瀏覽醫(yī)生信息更新醫(yī)生信息刪除醫(yī)生添加新醫(yī)生管理用戶瀏覽用戶信息管理排診信息瀏覽
32、醫(yī)生排診記錄添加排診記錄刪除排診記錄更新排診信息瀏覽掛號信息無2.5功能模塊設計2.5.1注冊登錄模塊注冊登錄模塊提供用戶登陸認證,只有注冊成功的用戶才可以進行預約掛號。用戶 在注冊時填寫的身份證號碼、手機號碼、郵箱以及密碼等信息需要通過正則表達式驗證, 使用MD5報文摘要算法對密碼進行加密存儲。2.5.2用戶UI模塊用戶UI模塊提供了和用戶交互的界面,包括預約掛號、我的醫(yī)生、最近預約、個 人資料等界面,用戶可以通過瀏覽科室,查看在線醫(yī)生,就診時間段,進行快速預約掛 號,界面設計簡潔,降低用戶的學習成本。2.5.3數(shù)據(jù)傳輸模塊數(shù)據(jù)傳輸模塊包括客戶端和服務器間數(shù)據(jù)實時傳輸、交互功能以及客戶端不同
33、Activity間的數(shù)據(jù)傳遞。客戶端和服務器通過HttpCIient進行通信,基于 Apache HTTP協(xié)議。多個Activity間數(shù)據(jù)傳遞采用了 Intent意圖傳輸機制以及利用 Application實現(xiàn)一 些全局對象的存儲、傳輸和處理。數(shù)據(jù)處理模塊數(shù)據(jù)處理模塊包括服務器對客戶端發(fā)送請求處理和客戶端的數(shù)據(jù)解析。 服務器端響 應客戶端發(fā)送的URL,對請求進行識別,調(diào)用Servlet,將處理后的數(shù)據(jù)以JSON格式通 過網(wǎng)絡返回給客戶端, 客戶端接收數(shù)據(jù)后進行解析處理, 同時服務器將相應的數(shù)據(jù)存儲 在數(shù)據(jù)庫表中。數(shù)據(jù)存儲模塊數(shù)據(jù)存儲模塊實現(xiàn)客戶端和服務器的數(shù)據(jù)存儲??蛻舳死没?Androi
34、d SDK 的 SharePrefere nces類進行存儲。SharePrefere nces是以鍵值對的方式來存儲簡單的數(shù)據(jù), 使用 XML 文件保存到手機。服務器利用 MySQL 數(shù)據(jù)庫,使用 JDBC 技術(shù)對數(shù)據(jù)庫表 進行添加、刪除、查詢、修改等操作。 圖3-1-2層次模型的例子 第3章數(shù)據(jù)庫設計3.1數(shù)據(jù)庫類型預約掛號系統(tǒng)的大量數(shù)據(jù)存儲是在后臺進行, 客戶端發(fā)送請求,服務器查詢數(shù)據(jù)庫 中的信息,將數(shù)據(jù)返回給客戶端并以界面形式呈現(xiàn)給用戶。 根據(jù)不同模型的數(shù)據(jù)結(jié)構(gòu)進 行數(shù)據(jù)存儲和構(gòu)建,可以將數(shù)據(jù)庫分為層次型數(shù)據(jù)庫、網(wǎng)狀型數(shù)據(jù)庫以及關(guān)系型數(shù)據(jù)庫 三種類型。網(wǎng)狀型數(shù)據(jù)庫網(wǎng)狀型數(shù)據(jù)庫采用網(wǎng)狀模
35、型數(shù)據(jù)結(jié)構(gòu)組織數(shù)據(jù)。DBTG( Data Base Task Group系 統(tǒng)是網(wǎng)狀型數(shù)據(jù)庫的典型代表。網(wǎng)狀模型一般需要滿足以下兩個條件的集合:至少有一個結(jié)點沒有雙親結(jié)點;(2)結(jié)點中可以有多個多余一個雙親結(jié)點。肌.1也Tk: :IF圖3-1-1網(wǎng)狀模型的例子層次型數(shù)據(jù)庫在網(wǎng)狀型數(shù)據(jù)庫出現(xiàn)不久,層次型數(shù)據(jù)庫隨即誕生。其中,最典型的層次型數(shù)據(jù)庫代表是IBM公司的IMS (Information Management System)系統(tǒng),它是采用層次模型的數(shù)據(jù)結(jié)構(gòu)進行數(shù)據(jù)存儲的數(shù)據(jù)庫。葉節(jié)點Dt節(jié)點3)關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫是以行和列的形式進行數(shù)據(jù)存儲,方便用戶理解和操作, 同時每個關(guān)系模型頁對
36、應一張表,是現(xiàn)階段開發(fā)人員使用最廣泛、最受歡迎的數(shù)據(jù)庫。ACCESS,Oracle,SQL Server,MySQL都是典型的關(guān)系型數(shù)據(jù)庫。系統(tǒng)的服務器端數(shù)據(jù)庫設計采用了 MySQL數(shù)據(jù)庫。關(guān)系型數(shù)據(jù)庫與其他兩種類型 的數(shù)據(jù)庫相比存在的優(yōu)勢如下:(1)容易理解:關(guān)系型數(shù)據(jù)庫利用二維表進行數(shù)據(jù)存儲操作,完全符合現(xiàn)實世界 中的邏輯概念,相比其他兩種存儲模型理解起來更加簡單。(2) 使用方便:程序員或者數(shù)據(jù)庫管理員可以使用SQL語言對數(shù)據(jù)庫進行操作, 也可以在圖形界面上直接操作數(shù)據(jù)庫。(3)易于維護:關(guān)系型數(shù)據(jù)庫具有嚴格的完整性約束,包括實體完整性、參照完 整性、用戶自定義的完整性,同時可以使用主外
37、鍵關(guān)聯(lián),有效的降低了數(shù)據(jù)冗余,避免 數(shù)據(jù)不一致的問題。3.2數(shù)據(jù)表設計用戶表記錄用戶的個人信息,包括姓名、性別、密碼等字段,具體設計如下表所示:表3-2-1 用戶表序號字段名字段描述數(shù)據(jù)類型長度允許空值備注1id用戶idint50否主鍵2sex性別varchar50否男或者女3birthday生日varchar50否例:1992-10-184realn ame真實姓名varchar50否用戶姓名5telph one手機號varchar50否手機號碼6idcard身份證號varchar50否身份證號碼7password密碼varchar50否不小于6位的字符8email郵箱varchar50否注
38、冊的郵箱3.2.2 醫(yī)生表醫(yī)生表記錄醫(yī)生的個人信息,包括醫(yī)生員工號、姓名,性別、科室、介紹等字段, 具體設計如下表所示:表3-2-2 醫(yī)生表序號字段名字段描述數(shù)據(jù)類型長度允許空值備注1dd醫(yī)牛idint50否主鍵2d_employeelD員工號varchar100否后臺登陸賬戶3d_n ame姓名varchar50否醫(yī)生姓名4d_grade醫(yī)生職稱varchar50否等級分類5d_sex性別varchar50否男或者女6d_departme nt所屬科室varchar50否例:內(nèi)科、外科7dnfo醫(yī)生描述varchar10000否醫(yī)生相關(guān)介紹8d_image頭像varchar1000是顯示頭像
39、或者默認8d_money診金int50否按職稱區(qū)分8d_password登陸密碼varchar50否后臺登陸密碼3.2.3排診表排診表用于保存醫(yī)生的排診記錄,每條記錄包括醫(yī)生編號、就診日期、時間等字段, 具體設計如下表所示:表3-2-3 排診表序號字段名字段描述數(shù)據(jù)類型長度允許空值備注1p_id排診idint50否主鍵2dd醫(yī)牛idint50否外鍵3p_date就診日期varchar50否例:2015/5/144p_time就診時間varchar50否例:9:005p_selected號源狀態(tài)tin yi nt1否1:已選;0 :未選3.2.4掛號表掛號表保存患者的掛號信息,每條記錄包括患者i
40、d、醫(yī)生id、排診id、預約碼、支付狀態(tài)等字段,具體設計如下表所示: 圖3-2-6數(shù)據(jù)庫E-R圖 表3-2-4 掛號表序號字段名字段描述數(shù)據(jù)類型長度允許空值備注1g_id掛號idint50否主鍵2u_id用戶idint50否外鍵3dd醫(yī)牛idint50否外鍵4P_id排診idint50否外鍵5g_code預約碼varchar100否系統(tǒng)返回預約碼6g_payed支付狀態(tài)tin yi nt1否1:已支付;0:未支付3.2.5收藏表收藏保存用戶的醫(yī)生收藏記錄,方便用戶復診預約操作。每條記錄包括收藏id、用戶id、醫(yī)生id字段,具體設計如下表所示:表3-2-5 收藏表序號字段名字段描述數(shù)據(jù)類型長度允
41、許空值備注1c_id掛號idint50否主鍵2u_id用戶idint50否外鍵3dd醫(yī)牛idint50否外鍵3.2.6數(shù)據(jù)庫整體E-R圖通過以上數(shù)據(jù)庫表的設計,分析數(shù)據(jù)庫的所有實體對象以及對象與對象之間的聯(lián) 系,畫出如下E-R圖:第4章系統(tǒng)功能實現(xiàn)4.1客戶端4.1.1 Activity管理機制預約掛號系統(tǒng)的實現(xiàn)是基于多個 Activity間的切換,因此Activity的管理工作至關(guān)重要。Activity的一個生命周期是指從這個Activity啟動一直到它被銷毀的整個階段,并且在一個生命周期中,Activity會經(jīng)歷多種的狀態(tài)變化。Activity生命周期如下圖所示:上圖可以看出一個Activ
42、ity在整個生命周期中的狀態(tài)變換過程,但是當系統(tǒng)存在多個Activity的時候,生命周期變得更加復雜,不易管理。Application的生命周期比 Activity長,當某個 Activity被銷毀時,Application不會銷毀,只有當任務棧中所有的Activity被銷毀,Application才會結(jié)束,所以使用 Application管理Activity,可以實現(xiàn)多個 Activity 間的數(shù)據(jù)共享,以及關(guān)閉應用中所有Activity,安全退出整個程序。預約掛號系統(tǒng)設計利用自定義的MyApplication管理Activity,并且MyApplication的對象是通過單例模式 創(chuàng)建,保
43、證使用一個對象能夠維護和管理多個Activity。核心代碼實現(xiàn)如下: private static Nh Applicaiion instance: public static MyApplication getlnstance() if Unstance = null) instance = new MyApp li cati on();return instance:HttpPost 網(wǎng)絡訪問實現(xiàn)網(wǎng)絡訪問在系統(tǒng)設計的多個模塊中都有涉及,所以可以將網(wǎng)絡訪問功能單獨來實 現(xiàn),封裝成一個通用方法,方便程序在任何需要的地方調(diào)用,同時避免相似功能的代碼 進行重復編寫工作,也為后期功能的擴展提供了公共
44、的訪問接口。核心代碼如下: public String posrRjequestfinal String url, fin乳 XtajKString, Slmig map) throws Exception ( Thread thread = new Biread(new Ruimable() public void run() HttpClient httpClient = new DefaultHttpClient():httpClient.getParamsQ號皆axameter(CoreConnectionPNames.CONNECII口、圧OUT, 5000); hrtpClient
45、.getParamsO、set?arameterCoreCoimectionPNames.SO_TIMEOUT: 5000);HtxpPost post = new HnpPost(uxl);Lia params new ArrayLin();for (Sirin呂 key : nup.keyS弐0) params addtnew BasicNameXTaluePair(ker: map.getfke);try post. setEntity(neT._ UrEncodedFormEntir(params. LLUTF-S );HrtpRjesponse httpResponse = http
46、Chent.executei post);if i hrtpResponse.getSrarusLine().getStaru5Code() = 200j result = E ntitUtils. to S tring httpResponse. getE ntity 0);ProgressDi alogUti 1 s. di smi ssP rogress Di aJ QgO ; else ProgressDialcgUtils.dismissProgressIJialogO; catch (Exception e) Pro gressDialo gUti 1 s. di smi ssPr
47、o gress Di alo g():e.printSrackTraceOireturn; ); thread. startQ;thread.join(): return result;在程序需要訪問服務器的模塊中,通過調(diào)用該方法,只需要傳入對應的URL地址請求參數(shù)。通過EntityUtils.toString方法獲取響應參數(shù),如果返回數(shù)據(jù)以”“開頭,表 明為JSONArray對象,屬于正常響應,通過對 JSONArray進行解析并顯示在界面上。 4.1.3注冊功能實現(xiàn)注冊模塊界面設計如下:用戶注冊出生曰期:請掘入您時生口 手機號瑪:請輸入您的手機號碼身飴證號:更文需大寫 賬號密碼:長JK為&
48、20位字符確認至碼:與雖號墮碼保持一致 電子那箱:請輸入您的郵箱提交圖4-1-3注冊界面用戶填寫注冊信息,點擊提交按鈕,先驗證注冊信息是否完整以及格式是否正確, 最后通過HTTP網(wǎng)絡協(xié)議將信息發(fā)送到服務器端進行處理,核心代碼如下:if (TextUtils.isEmpnusemame) ToastUtils. 5howMessage(thisr,姓名不能為空了return.else if (TextUtils. isEmptr(sex) ToastUtils. showMe ssage(thi s;計生別不能為空 J;return, else if tTextUtils.i5Empnr(bir
49、th.day) ToastUtils. sliowMessage(thist 生日不能為空了return.else if TexfLiilw-isEniptylphoiienumber) ToastUtils. showMe ssage(thi s,手機號碼不能為空);return:)else a f (f RegexUuls. chec Ioba le(phonenumbei) ToastUtils. sho N le ssage( ii;手機號碼格式不正確 J;return:用戶注冊的信息使用正則表達式進行驗證,只有驗證通過才能夠繼續(xù)執(zhí)行網(wǎng)絡請求。發(fā)送請求的核心代碼如下:userlnfb.
50、putf realname username);user Info putt.1 sex sex);userl nfo. putt irthdayh s, bmhday);userlnfo.puti.1 lrephonephonenumber);userl nfo. put(L i de arcard);X1D5 md5 = new MD50;userlnfo put(Lassword7; md5.get5ofStr(password);userlnfo put(1 emaiY email);String result=HttpUtil. postRequestCMvont ants. BAS
51、_UR LUserRegister S en let: userlnfo) tr im):注冊模塊訪問服務器URL、請求參數(shù)、響應參數(shù)如下表所示:表4-1-3注冊模塊參數(shù)表請求鏈接請求參數(shù)響應參數(shù)用戶注冊/UserRegisterServletparams: realn ame=xxx,sex = xxx,birthday = xxx,telph one= xxx,idcard= xxx, password= xxx, email= xxx 正常響應:success異常響應:failed4.1.4登陸功能實現(xiàn)用戶登陸模塊界面設計如下:唳號:密碼:記住密碼圖4-1-4用戶登陸界面登陸模塊包括登陸
52、驗證、記住密碼、忘記密碼以及提供注冊接口功能。登陸驗證用戶填寫賬號密碼,點擊登陸按鈕,與服務端數(shù)據(jù)進行用戶認證。核心代碼實現(xiàn)如下:useilnfo put(v(idcanT idcard);MD5 md5 = nw MD50;userinfo put( passw ord= r mdSP getX? ofStrpassvord);resiilt=-HtrpUtil.postRsque5t(XfyConTants.BaSE UKL- LogmServlef userlnfb).trinX);u&er=GsonUu 1.呂 etGsonO.froniJ soni result. U ser. cl
53、ass);記住密碼用戶登陸時,如果勾選了記住密碼選項,在重新登陸時不必再次輸入密碼,賬戶和 密碼自動填寫,同理,取消記住密碼將不會自動填寫。核心代碼實現(xiàn)如下:if (isChecked) savePwd = true;checkBox setB ackgroundRe source(R. drawabl e i c_logm_check_ sele cr);SharedPreferenceUtils putString(mContext,; tdcard etuseinanie. getTexcQ toStringQ);StaredPreferenceUtils.putStrinmContex
54、t: password1, et_password.get!ext().toString(); else sa ePwd - false;checkBox. setB ackgraundRf source(K drawable, i c_login_ check);SharedPreferenceUti 1 s.putStrinmContext. idcard?SharedP refer enceUtils.putStr ing( mContext; password1*,在用戶忘記登錄密碼并且重新設置的情況下,記住密碼應該是當前設置的新密碼。 核心代碼實現(xiàn)如下:HashAIaSiring,
55、String userinfo = new HashMapxS tri ng, SrrinO;u&erlnib. piK( idcarbidcard);user Info. putClelphone7 teiphone);X1D5 md5 = new X1D50;userinfo. put password md$. gtrMD5 ofStr(p assu:ord);String resiilt =HttpUti L postRjequeEt A h-Cont anis. BAS E URL - Rjes etP assvordS erslet. userlnfo);Intent intent
56、 = new IntentfmContext, LoginActivi vy. class);intent. putE xtra( passw ord password);startActi vit-( mtent);finish();在登錄Activity中,需要將獲取的密碼重新保存一下。String pwd= getlntentO getStrinxtra( password ;SJiar edPreferen c eUnE.putStrin mComexT: pastord:. pwd);忘記密碼用戶忘記了登錄密碼,可以通過點擊”忘記密碼”重新設置,密碼重置成功,使用 Intent將新密
57、碼發(fā)送給登陸Activity 。HasiMap userlnfo = 口亡w HastiAlap0;userlnfb. putf i deard: idcard):userlnfo pu:(Llrelpho口亡, teiphone);MD5 md5 = new MD50;userlnfo. prnf p issword: nidi. getMD? ofStri paisvoTti);String result =HttpUtil postRjequest(M)Contants.BASE_URL -:ResetPasswordSusrlnfo);Iment intern = nev Iment(
58、mContexT. LoginActiin-. class);intent. putExtrafL passvord password);startActnitsX intent);登陸功能訪問服務器的URL、請求參數(shù)、響應參數(shù)如下表所示:表4-1-4登陸模塊功能請求鏈接請求參數(shù)響應參數(shù)用戶登陸/Logi nServletparams: idcard=xxx, password= xxx正常響應:success異常響應:failed4.1.5預約掛號功能實現(xiàn)預約掛號模塊是系統(tǒng)設計的核心部分,提供科室、醫(yī)生以及選擇預約時間功能。1)科室選擇科室選擇界面列出醫(yī)院的科室分類信息,用戶通過點擊相應科室
59、進行操作,界面設計如下圖:圖4-1-5-1科室界面界面布局采用GridView網(wǎng)格樣式控件,使用自定義的 Adapter適配器填充數(shù)據(jù)。pubhc sutic Strmgl血parmi詛汁new StringD “男科;婦科歲中醫(yī)秤;呼吸科丁皮膚科二、口腔 科T眼科防心臟科不孕不肓丁肝病科神經(jīng)科T婦產(chǎn)科耳鼻喉科二骨科:“肛腸科:腦 病科:徵整形內(nèi)科號;private cring( titles = NhContants departments:private int; images = new int Kaxable.naiike, Rdrawable.fiike7dravL-abe.zhon
60、g7iKdraxable.huxiIL drav.able. pi fuke. R drawabl e. kouq an 號:R_ dr awable .vanke. R_ drawab :已 xjnzang. R_ dravabl e. bw.nnbmxLKdravabl已ganbing, Rdrivable.shenjmg.Kdrawahle.chanke, Kdrawable.erbihou, ILdrawable.guken瓦 drawable, gangchang, R. dr3玷 abl e naobi ng: Rabl e. vvei zhengxing, R awable qi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年防靜電滌棉大褂項目可行性研究報告
- 工程簽合同范例
- 2024年衡油潤滑設備項目可行性研究報告
- 2024年背式真空吸塵機項目可行性研究報告
- 熱力管網(wǎng)設計合同范例
- 評估資產(chǎn)合同范例
- 2024年手持面罩項目可行性研究報告
- 2024年變頻大容量脫水機項目可行性研究報告
- 三年級數(shù)學計算題專項練習及答案集錦
- 2024至2030年螺栓專用探傷機項目投資價值分析報告
- 廣東省深圳市2022-2023學年五年級上學期數(shù)學期末考試試卷(含答案)5
- 重污染天氣應急響應“一廠一策”操作方案
- 《人力資源崗必備能力提升課件》
- 《《紅樓夢》中薛寶釵與黛玉的形象分析與人物對比》
- 期末沖刺動員主題班會課件
- 題庫(大氣科學基礎(一)-題庫)
- 部編版小學語文五年級下冊習作5《形形色色的人》教學反思共三篇
- 冷庫冷藏庫施工組織及售后服務投標方案
- 護士n2晉升n3層級申請范文
- 第十三講 全面貫徹落實總體國家安全觀PPT習概論2023優(yōu)化版教學課件
- Unit 7.《It's a dog.》(說課稿)-2022-2023學年英語三年級上冊 湘少版(三起)
評論
0/150
提交評論