王永艷 魚兆虎
摘要:該文旨在通過MVC架構(gòu)來實現(xiàn)HIS數(shù)據(jù)的綜合查詢平臺,為管理者、為科研、為臨床工作者提供多維度的查詢界面,提供靈活多變的數(shù)據(jù)表現(xiàn)方式,更直觀的呈現(xiàn)統(tǒng)計、分析數(shù)據(jù)。從而獲得臨床科研、運營管理、健康風險評估等的數(shù)據(jù)分析報告。進而探索更好的醫(yī)院服務(wù)新模式。
關(guān)鍵詞:MVC;數(shù)據(jù)查詢;搜索器;視圖;工作臺
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)29-0040-02
Abstract: This article aims to realize the comprehensive query platform of HIS data through the MVC architecture, provide multi-dimensional query interface for managers, scientific researcher, and clinical practitioners, provide flexible and changeable data representation, and present statistics and analysis data more intuitively. In order to obtain clinical research, operation management, health risk assessment and other data analysis reports. Then explore a better hospital service model.
Key words: MVC; data queries; searchers; view; workbench
1 背景
隨著醫(yī)院信息化建設(shè)的發(fā)展,對HIS數(shù)據(jù)的需求已經(jīng)發(fā)生了改變,從追求數(shù)據(jù)量大、傳輸快、種類多、有價值到各個部門業(yè)務(wù)的協(xié)同需求對數(shù)據(jù)進行全面的整合和應(yīng)用。這才是當前和未來需要解決的問題。數(shù)據(jù)的挖掘分析和利用不僅要滿足醫(yī)聯(lián)體、區(qū)域醫(yī)療的未來服務(wù)模式,還能實現(xiàn)利用大數(shù)據(jù)實現(xiàn)醫(yī)院服務(wù)的優(yōu)化,科學評價醫(yī)院的服務(wù)與效率、技術(shù)水平、費用控制、資源配置的合理性。這樣醫(yī)院的服務(wù)產(chǎn)出才更有價值。
2 MVC原理
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,是一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。MVC被獨特地發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中[1]。對于每一個用戶輸入的請求,首先被控制器接收,并決定由哪個模型來進行處理,然后模型通過業(yè)務(wù)邏輯處理用戶的請求并返回數(shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過顯示頁面呈現(xiàn)給用戶[2]。
3 系統(tǒng)設(shè)計
該系統(tǒng)是建立在Linux平臺上,基于B/S結(jié)構(gòu)的一個醫(yī)院數(shù)據(jù)可視化分析。通過這個網(wǎng)站,可以更加方便查看、統(tǒng)計、分析數(shù)據(jù),需求分析如圖1所示。
傳統(tǒng)的查詢軟件界面,定制的查詢界面提供的查詢需求單一,多種查詢需要創(chuàng)建多種查詢頁面,界面繁雜。為了滿足用戶多變、多層次、多維度的查詢需求,提供了靈活易編輯的查詢方式和數(shù)據(jù)呈現(xiàn)方式,更利于數(shù)據(jù)分析[3]。想要查看的信息由自己創(chuàng)建搜索器查詢保存,然后綁定到視圖上,視圖再綁定到工作臺上,最終在工作臺顯示;用戶再次登錄的時候就無需再次創(chuàng)建搜索器,只需點開工作臺即可。系統(tǒng)設(shè)計如圖2所示。系統(tǒng)分為工作臺管理、視圖管理、搜索器管理由SpringMVC架構(gòu)來實現(xiàn)。
4 系統(tǒng)實現(xiàn)
系統(tǒng)描述:前端調(diào)用java[4]接口,然后由java來調(diào)用Mongodb API接口,java先對Mongodb API接口返回的數(shù)據(jù)進行處理,最終返回給前端,流程圖如3。
SpringIOC 管理程序中的組件,以注入的方式建立關(guān)聯(lián)操作;SpringAOP 異常處理,在業(yè)務(wù)層對事務(wù)進行控制,對控制層拋出的異常進行追加,異常日志記錄寫入數(shù)據(jù)庫,用errorlogtable表進行記錄;MyBatis 對com.dao下面的接口進行掃描,與/src/main/resources/mapper下的xml關(guān)聯(lián)起來進行數(shù)據(jù)庫操作。Ajax發(fā)送異步請求和處理,實現(xiàn)頁面局部刷新,改善用戶體驗(使用 MD5和 Base4算法對用戶名和密碼進行加密處理)。
4.3 MVC各層代碼詳細解
4.3.1 Entity層創(chuàng)建實體類來實現(xiàn)創(chuàng)建數(shù)據(jù)庫中表的功能
Mainsearchtable對搜索器的分類屬性及權(quán)限進行定義。Minorsearchtable實體類對搜索器的次要分類屬性及權(quán)限進行定義。與數(shù)據(jù)庫中的表相對應(yīng)實體類Viewtable對視圖的屬性進行定義,包括視圖的名稱、編號、所屬用戶編號、建立時間、視圖關(guān)聯(lián)的搜索器表等。
4.3.2 Controller層
UserLoginConntroller接口類采用post、get接受用戶登錄、退出的驗證請求;MainsearchtableController接口類對數(shù)據(jù)庫mainsearchtable中的查詢數(shù)據(jù)進行返回;SearchtableConntroller類用addSearch.do、delSearch 、getSearch等方法來讓用戶將自己想要查看的信息的關(guān)鍵字添加到數(shù)據(jù)庫,形成(刪除、查詢)一個搜索器等;yulancontrol類來查詢建立的搜索器中與關(guān)鍵字相關(guān)的數(shù)據(jù)。接口類HttpServletRequest請求協(xié)議來編輯和查詢跟用戶關(guān)聯(lián)的視圖或工作臺。接口類MuenuTableConntroller用來描述用戶登陸以后獲取的菜單、工作臺、視圖以及用戶對其進行的增加、刪除操作。
4.3.3 Service層
接口類SearchtableService來定義顯示(刪除)搜索器、顯示(刪除)搜索器視圖連接表等。
4.3.4 Dao層
實現(xiàn)該層的sql語句是配置在src/main/resources/mapper文件夾下的xml文件。用Mybaties實現(xiàn)的數(shù)據(jù)庫操作,用spring來代理事物控制。
4.4 主要文件配置
5 結(jié)束語
該系統(tǒng)通過spring MVC技術(shù),采用前后端分離的結(jié)構(gòu),前端通過http的方式發(fā)送請求到后端。后端接受請求后按照業(yè)務(wù)規(guī)則處理,然后把數(shù)據(jù)返回給前端。前端通過JavaScript代碼進行解析,瀏覽器渲染展現(xiàn)。該系統(tǒng)通過對用戶及用戶綁定的工作臺、視圖、搜索器進行管理,實現(xiàn)強大的搜索功能。使用spring MVC模式,不僅使系統(tǒng)高效運行,又使得系統(tǒng)的可維護性和擴展性得以提高[6]。
參考文獻:
[1] 吳亞軍. 試析ASP.NET的MVC開發(fā)模式[J]. 電腦編程技巧與維護, 2011(14): 77-78.
[2] 盧俊瑋, 常琳, 陳鈞錕. MVC模式與ASP.NET MVC框架的技術(shù)研究[J]. 電腦知識與技術(shù), 2010(19): 5160-5162.
[3] 鄧晶, 廖小平. 基于WEB的綜合查詢系統(tǒng)的設(shè)計與實現(xiàn)[J]. 南京工程學院學報, 2002, 2(4): 36-38.
[4] 張躍平, 耿祥義. JSP程序設(shè)計[M]. 北京: 清華大學出版社, 2009.
[5] 霍爾, 布朗, 蔡金, 等. Servlet與JSP核心編程[M]. 北京: 清華大學出版社, 2009.
[6] 伍海波, 匡靜, 等. 基于MVC的教學資源管理系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機技術(shù)及發(fā)展, 24(7): 214-217.
【通聯(lián)編輯:謝媛媛】