程書玲
(浙江工貿職業技術學院,浙江 溫州 325000)
智慧健康管理系統可為人們提供專業的健康管理建議、實時獲取用戶硬件檢測數據并提供個性化的健康管理服務。其也提供專業的醫療平臺為用戶提供線上問診,用戶無需出門就可得到檢測報告[1]。設計了一款應用于健康管理機構的業務系統,采用B/S架構一級成熟穩定Spring+SpringMVC+Mybatis框架,服務器采用開源的、性能穩定的Tomcat服務器,底層使用mysql數據庫[2],為用戶制定個性化的健康方案。
本智慧健康管理系統可以讓人們足不出戶就能獲得專業的醫療解答,其可為用戶提供可視化的健康項目,對其進行專業化的健康解答,健康干預流程簡單。健康檢測報告可定制,檢測數據為實時的。為了減少用戶的等待時間,可提供回訪任務的自動生成,分析報告也可一鍵生成。其可向用戶推送健康知識,系統具有會員管理模塊,進行預約管理、健康評估、體檢管理、慢病管理、醫生在線、健康咨詢、運動與養生服務。配套服務包括體檢方案定制、輔助就醫服務[3]、專家遠程會診。系統功能如圖1所示。
圖1 系統功能圖Fig.1 System function
系統前后端分離,后端包括基于SSM框架的智慧健康后臺管理系統與移動端應用兩部分。后臺系統由健康機構人員使用,移動端由用戶使用。技術架構為SOA(Service-Oriented Architecture),即面向服務的架構,將重復功能或模塊抽取成組件形式,對外提供服務。在項目與服務之間使用ESB(企業服務總線)形式作為通信橋梁,從而提高開發效率[4]。技術架構的組件包括基于網絡的分布式應用程序協調服務ZooKeeper和基于Java RPC高性能優秀的服務框架Dubbo。為了滿足數據突發性增長或流量并發,采用集群方式,將應用部署在多臺服務器上。Dubbo具備智能容錯和負載均衡能力,可將用戶的每次訪問請求發送到壓力較小的服務器上,從而保證業務突發猛增時的正常運行。數據庫使用mysql技術,采用集群模式應用部署在多個服務器[5]。為了減輕數據服務器的讀寫壓力,采用讀寫分離技術。移動前端基于手機瀏覽器開發,使用html5技術。技術架構如圖2所示。
圖2 技術架構圖Fig.2 Technical framework
用戶通過微信小程序登錄,登錄方式采用手機號快速登錄。前端功能模塊包括體檢預約、報告查詢、健康評估、健康干預、健康檔案、健康咨詢等。其中,體檢預約模塊可根據用戶時間預約體檢。報告查詢模塊可查詢體檢報告,健康評估可實時了解身體狀況,包括生活習慣評估、體檢運動飲食評估、體檢檢測報告評估等[6]。健康干預是基于健康體檢結果給出健康狀況評估,并有針對性地提出專業的健康管理方案。健康檔案是根據用戶體檢報告建立專屬檔案,為健康評估提供依據。健康咨詢是由健康管理師為用戶提供咨詢服務和專業的解答。
前端采用成熟的SSM框架,頁面與后臺數據交互采用ajax異步請求模型,可在不更新整個頁面的條件下加載數據,使Web應用程序能夠更為迅捷地回應用戶動作,節省網絡資源。為了減少數據庫壓力、提高系統性能,采用頁面靜態化技術,系統上線后,用戶訪問量較大,但數據變化頻率不高,如果每次訪問數據都要實時從數據庫取出,會對數據庫造成很大的訪問壓力,因此將原來的動態網頁通過靜態化技術生成靜態網頁,用戶在請求數據時服務器直接給出已經響應后的靜態頁面,沒有動態查詢數據庫的過程,從而提高響應速度。
后端主要由醫生、健康管理師登錄操作,包括會員管理、預約管理、體檢管理、健康評估、健康干預等功能。會員管理包括會員信息、會員等級、會員優惠、會員分析4大模塊,保存用戶的基本信息,方便用戶登錄,并根據消費記錄進行用戶升級,以提供優惠,吸引用戶注冊。會員分析用于數據挖掘,目的是找出潛在客戶及更具競爭力的健康服務。體檢管理包括檢查項管理、檢查組管理、套餐管理、預約列表、預約設置。檢查項是單一的項目,如身高、體重、肝功能、腎功等。檢查組是多個檢查項的集合,如身高、體重、血常規檢查等。套餐管理是多個檢查組的集合,如入職套餐,由多個檢查組組成。預約設置是設置每天的體檢預約最大數量,客戶可通過微信端在線預約,選擇體檢時間,如果約滿則無法預約。預約列表可查看某一天的預約情況,如用戶預約的健康項目、預約時間。體檢管理根據用戶預約時間、家庭住址、工作地址為其自動分配最近的三甲醫院。健康評估是根據用戶健康體檢報告,對其健康狀況做出客觀評價。健康干預對存在的健康危險因素及危險度進行分析,給出專業綜合的定制化健康方案。
系統的技術數據庫為mysql數據庫,存儲結構化數據,而redis數據庫則保存圖片和驗證碼。針對系統功能進行數據庫表的設計,涉及的數據庫表包括檢查項表(t_checkitem)、檢查組表(t_checkgroup)、套餐表(t_setmeal)、訂單表(t_order)、預約設置表(t_ordersetting)。其中,檢查項表存儲檢查項基本信息,包括檢查項編碼、檢查項名稱及適用的性別、年齡、價格、注意事項。檢查項基本信息表如表1所示。
表1 檢查項基本信息Tab.1 Basic information of test items
檢查組表存儲基本信息,包括檢查組編碼、檢查組名稱及適用的性別、年齡、價格、注意事項。檢查組基本信息表如表2所示。
表2 檢查組基本信息Tab.2 Basic information of test team
套餐表用來存儲套餐基本信息,套餐表和檢查組表是多對一的關系,因此在進行數據庫設計時需要添加一個外鍵,指向檢查組id。
預約表用來存儲用戶預約體檢的基本信息,該表有兩個外鍵,分別指向用戶id、檢查項id、檢查組id、套餐id。
表3 套餐基本信息Tab.3 Basic information of the set
表4 預約基本信息Tab.4 Basic information of the appointment
設計了一套基于SSM框架的智慧健康管理系統,可為用戶提供優質的健康服務,制定個性化的健康方案,以提高人們生命的質量,并降低醫療費用[7]的使用。