吳劉海,喻洪流
(1.上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093;2.上海理工大學(xué) 醫(yī)療器械與食品學(xué)院,上海 200093)
?
一種康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺的設(shè)計(jì)
吳劉海1,喻洪流2
(1.上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093;2.上海理工大學(xué) 醫(yī)療器械與食品學(xué)院,上海 200093)
針對目前醫(yī)院康復(fù)科設(shè)備管理方式滯后和醫(yī)患信息共享不暢的問題,提出了一種康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺的設(shè)計(jì)方案。該平臺基于MVC框架進(jìn)行設(shè)計(jì),采用J2EE技術(shù)和B/S架構(gòu),以Apache公司的Tomcat服務(wù)器作為Web容器,采用MySQL5.1版本數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲,結(jié)合JSP、HTML5語言、jQuery等技術(shù)對平臺進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。應(yīng)用結(jié)果表明,該平臺操作簡便、數(shù)據(jù)收發(fā)效率高,實(shí)現(xiàn)了康復(fù)設(shè)備數(shù)字化管理和醫(yī)患信息共享,達(dá)到了設(shè)計(jì)要求。
康復(fù)設(shè)備;網(wǎng)絡(luò)監(jiān)控平臺;MVC架構(gòu);J2EE
設(shè)計(jì)了一種康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺,旨在幫助康復(fù)科醫(yī)生在線監(jiān)控康復(fù)設(shè)備和存儲康復(fù)訓(xùn)練數(shù)據(jù),實(shí)現(xiàn)對設(shè)備的數(shù)字化管理,同時(shí)使醫(yī)患雙方能在多平臺進(jìn)行溝通交流和信息共享[1]。
該康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺是集國內(nèi)外康復(fù)信息展示、醫(yī)生制定康復(fù)計(jì)劃和在線監(jiān)控設(shè)備、患者查看康復(fù)計(jì)劃和在線康復(fù)訓(xùn)練于一體的綜合康復(fù)系統(tǒng),從用戶實(shí)用性和便捷性方面考慮,采用B/S架構(gòu),只要能連接網(wǎng)絡(luò),用戶在任何一臺裝有瀏覽器的設(shè)備上均能訪問,無需安裝軟件,同時(shí)兼容多種系統(tǒng),方便了用戶操作。
本平臺主要使用J2EE(Java 2 Platform Enterprise Edition)技術(shù)進(jìn)行服務(wù)器端程序開發(fā),采用MVC設(shè)計(jì)模式中的S2SH(Struts2 + Hibernate + Spring)架構(gòu)設(shè)計(jì)實(shí)現(xiàn)[2],該康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺的整體框架如圖1所示。
圖1 康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺的整體框架圖
根據(jù)該康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺的功能進(jìn)行需求分析可知,本平臺主要有4類用戶,分別是游客、系統(tǒng)管理員、醫(yī)生和患者,游客能訪問平臺首頁中展示的所有信息,其他3類用戶可通過賬號登錄進(jìn)入個人中心,在個人中心內(nèi)的所有資源均可訪問,用戶也可進(jìn)行相關(guān)操作。
2.1 醫(yī)生中心及患者中心
醫(yī)生登錄到醫(yī)生中心后的界面如圖2所示,醫(yī)生可進(jìn)行相關(guān)操作,但醫(yī)生在這里的操作只能針對和自身關(guān)聯(lián)的病人,只能對自己的病人進(jìn)行相關(guān)操作,如查看病人信息、制定康復(fù)訓(xùn)練計(jì)劃、進(jìn)行在線康復(fù)訓(xùn)練和制定康復(fù)評估報(bào)告等。
圖2 醫(yī)生中心
患者登錄到患者中心后的界面如圖3所示,在我的賬戶模塊中患者可查看自己的相關(guān)信息;在訓(xùn)練計(jì)劃模塊中患者可以查看自身的康復(fù)訓(xùn)練計(jì)劃及完成情況;在康復(fù)狀況模塊患者可看到自己階段性的康復(fù)訓(xùn)練效果圖,還可以進(jìn)行自我康復(fù)評定;站內(nèi)信息模塊可以查看系統(tǒng)通知信息和編輯站內(nèi)信發(fā)送給康復(fù)醫(yī)生。
圖3 患者中心
2.2 訓(xùn)練監(jiān)控及數(shù)據(jù)展示界面
醫(yī)生在“工作計(jì)劃”中通過進(jìn)行訓(xùn)練的按鈕即可跳轉(zhuǎn)到到執(zhí)行康復(fù)訓(xùn)練計(jì)劃界面,圖4(a)是上肢康復(fù)訓(xùn)練系統(tǒng)的介紹;圖4(b)是該訓(xùn)練系統(tǒng)的使用幫助;圖4(c)是與該設(shè)備有關(guān)的患者列表;圖4(d)是對于康復(fù)計(jì)劃的一些編輯操作;圖4(e)是康復(fù)訓(xùn)練進(jìn)行中實(shí)時(shí)顯示設(shè)備采集的數(shù)據(jù)的曲線圖。
圖4 上肢康復(fù)訓(xùn)練系統(tǒng)界面
圖5為患者在訓(xùn)練過程中某一時(shí)刻的各參數(shù)曲線圖。圖6為康復(fù)訓(xùn)練報(bào)告圖,將患者在被動訓(xùn)練時(shí)的訓(xùn)練數(shù)據(jù)展示到頁面上,供醫(yī)師進(jìn)行分析和診斷,該訓(xùn)練制定被動訓(xùn)練畫菱形10次,可看出各曲線是周期性循環(huán)變化的,誤差較小,說明數(shù)據(jù)保存完好。
圖5 患者訓(xùn)練某時(shí)刻參數(shù)曲線圖
圖6 康復(fù)訓(xùn)練報(bào)告圖
該平臺后臺程序主要使用Java編程語言基于S2SH架構(gòu)進(jìn)行開發(fā),頁面通過JSP和HTML5展示。S2SH是Java EE輕量級開發(fā)的主流架構(gòu)[3],即Struts2+Hibernate+Spring這3大框架,其中Struts2主要涉及的是MVC(Model,View,Controller)設(shè)計(jì)思想,它還提供了特有的標(biāo)簽庫供JSP頁面使用;Hibernate即對象關(guān)系映射框架,是對數(shù)據(jù)庫操作(JDBC)的輕量級封裝[4-5],完成對數(shù)據(jù)庫存取數(shù)據(jù)的操作過程;Spring主要涉及的是AOP(面向切面編程)和IOC(控制反轉(zhuǎn)),實(shí)現(xiàn)對后臺程序中各層對象的管理,從而實(shí)現(xiàn)軟件編程中提倡的高內(nèi)聚低耦合的思想,保證系統(tǒng)的可擴(kuò)展性和可移植性。
3.1 實(shí)體類設(shè)計(jì)
根據(jù)本平臺的功能進(jìn)行需求分析可知,本平臺涉及到的實(shí)體類主要有用戶(User)、設(shè)備(Equipment)、康復(fù)工作計(jì)劃(Rehabplan)、康復(fù)訓(xùn)練數(shù)據(jù)(ReExeData)、站內(nèi)信(SysMessage)等。實(shí)體類設(shè)計(jì)的UML(Unified Modeling Language)如圖7所示,用戶類User做為父類,醫(yī)生類Doctor和患者類Patient是User的子類,均繼承于User。醫(yī)生類和患者類、醫(yī)生類和康復(fù)計(jì)劃類都是一對多的雙向關(guān)系,通過Doctor.patients和Patient.doctor、Doctor.rehabPlans和RehabPlan.doctor實(shí)現(xiàn);患者類和康復(fù)工作計(jì)劃類也是一對多的雙向關(guān)系,通過Patient.rehabPlans和RehabPlan.patient實(shí)現(xiàn);康復(fù)工作計(jì)劃類和康復(fù)訓(xùn)練數(shù)據(jù)類也是一對多的關(guān)系,通過Rehabplan.reExeDatas和ReExeData. rehabPlan實(shí)現(xiàn)[6-10]。
圖7 康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺實(shí)體UML圖
3.2 業(yè)務(wù)邏輯層設(shè)計(jì)
在SSH框架實(shí)現(xiàn)的系統(tǒng)中,業(yè)務(wù)邏輯層由Struts來實(shí)現(xiàn),由繼承ActionSupport類的各個Action類來處理對應(yīng)實(shí)體所擁有的業(yè)務(wù)邏輯[5],由各個Service層中的業(yè)務(wù)邏輯方法進(jìn)行相關(guān)業(yè)務(wù)處理,由各個實(shí)體對應(yīng)的Dao類調(diào)用Hibernate接口對數(shù)據(jù)庫進(jìn)行持久化操作。將每個實(shí)體通用的一些操作建立抽象方法提取出來作為公共接口(BaseDao),具體的功能在公共基類(BaseDaoImpl)中實(shí)現(xiàn),各實(shí)體類對應(yīng)的XxxDao接口繼承公共接口(BaseDao),同時(shí)XxxDaoImpl類(XxxDao實(shí)現(xiàn)類)繼承公共基類(BaseDaoImpl)。
以本平臺兩個用戶角色醫(yī)生和患者為例,主要業(yè)務(wù)邏輯如圖8所示,其最基礎(chǔ)的操作權(quán)限為登錄、注冊和注銷。用戶通過用戶名和密碼成功登陸系統(tǒng)后,后臺根據(jù)用戶的身份跳轉(zhuǎn)到對應(yīng)的界面(如醫(yī)生中心和患者中心),在平臺中醫(yī)生和患者的操作權(quán)限如圖8所示[11-16]。
圖8 康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺用例圖
以用戶登錄為例,用戶在首頁中輸入用戶名、密碼、驗(yàn)證碼信息提交登錄請求,后臺接收到userAction_login.do請求,struts.xml文件對該請求進(jìn)行解析,定位到用戶控制類UserAction,在UserAction中通過Spring以注解的方式(@Resource(name="userService"))注入業(yè)務(wù)邏輯操作接口,在login()方法中驗(yàn)證存儲在session中的驗(yàn)證碼與用戶輸入的驗(yàn)證碼是否一致,若不一致,則方法返回值為“l(fā)ogin”,根據(jù)struts.xml文件中UserAction對應(yīng)映射為:,返回登錄頁面并提示“驗(yàn)證碼錯誤,請重新輸入!”;若一致,將用戶名和MD5算法加密后的密碼通過UserService接口調(diào)用UserDao中validateUserInfo ()方法,通過Hibernate查詢數(shù)據(jù)庫的用戶表中是否存在該用戶名和密碼,存在則根據(jù)返回值和struts.xml文件的映射跳轉(zhuǎn)到用戶中心界面,不存在則返回登錄界面并提示用戶“用戶名或密碼輸入有誤,請重新輸入!”。在平臺中醫(yī)師需要對設(shè)備進(jìn)行在線監(jiān)控,出于安全性考慮對于醫(yī)師身份指定了單點(diǎn)登錄的權(quán)限,若用戶登錄成功,通過ActionContext.getContext().getApplication().put(user.getUsername(), sessionID);將用戶名和sessionID以鍵值對的方式存入application中, 每當(dāng)有用戶登錄就會查詢application中是否包含了該鍵,若包含則提示用戶該賬號已登錄,除非用戶自動退出或該會話過期,后臺程序自動移除application中對應(yīng)的鍵值對。
3.3 設(shè)備與平臺通信協(xié)議的制定
該平臺與康復(fù)設(shè)備之間的通信以http協(xié)議實(shí)現(xiàn),平臺向設(shè)備開放上傳數(shù)據(jù)接口reExeDataJsonAction_uploadData.do?equData=xxx ,參數(shù)equData是將采集的數(shù)據(jù)和設(shè)備編號及命令通過JSON格式包裝而成,如{“equNum”: 1, “command”:”uploadData”, “data”: {“id”:5,”armSpeed”:0.68;”armDegree”:68.8977,”shoulderSpeed”:1.10,”shoulderDegree”:23.4149,”elbowSpeed”:0.79,”elbowDegree”:42.5373,”positionX”:237.301,”postionY”:670.073,”positionZ”:605.011,”samplingTime”:200}},患者訓(xùn)練時(shí)設(shè)備每秒向服務(wù)器發(fā)送兩次存儲請求,即存儲兩次數(shù)據(jù)。若服務(wù)器要向設(shè)備發(fā)送指令,先將指令以json格式保存到application中的指令表cmdList,如{“equID”: 1, “command”:”stop”, “data”:0 },設(shè)備上傳數(shù)據(jù)的請求過程中會查詢是指令表中否有指令,若有,則通過上傳數(shù)據(jù)請求的響應(yīng)過程傳達(dá)給設(shè)備。
本文提出的康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺在滿足醫(yī)院康復(fù)科醫(yī)生的工作需求的同時(shí),為患者提供了一個共享信息的平臺,以B/S架構(gòu)作為平臺實(shí)現(xiàn)形式,方便用戶使用,同時(shí)在云端建立康復(fù)云數(shù)據(jù)系統(tǒng)[6],便于醫(yī)生分析診斷,提高了醫(yī)生的工作效率。
該康復(fù)設(shè)備網(wǎng)絡(luò)監(jiān)控平臺后續(xù)還會推出微信公眾號[7],用戶只要在微信上關(guān)注公眾號,將自身的微信號與平臺賬號綁定,平臺每天會通過微信公眾號告訴用戶是否有康復(fù)訓(xùn)練計(jì)劃,同時(shí)推送一些康復(fù)行業(yè)信息,用戶也可輸入關(guān)鍵字進(jìn)行查詢,讓用戶在移動端能更加便捷的查看信息。
[1] Hemrajani A.Agile java development with spring, hibernate and eclipse[M].Carmel,Indiana:Sams publishing,2006.
[2] 王希望,孟祥書,王福順.基于 SSH 架構(gòu)的 Web 系統(tǒng)的開發(fā)方法[J].河北農(nóng)業(yè)大學(xué)學(xué)報(bào):農(nóng)林教育版,2010,12(4):538-541.
[3] 李榮國,王見. MySQL數(shù)據(jù)庫在自動測試系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2011,31(z2):169-171.
[4] Run-min F.Design and implementation of high education student management system based on struts & hibernate & spring[J].Computer Engineering,2009(6):280-282.
[5] Wojciechowski J,Sakowicz B,Dura K,et al.MVC model, struts framework and file upload issues in web applications based on J2EE platform[C].MA,USA:Proceedings of the International Conference on Modern Problems of Radio Engineering, Telecommunications and Computer Science,2004.
[6] 顏延,秦興彬,樊建平,等.醫(yī)療健康大數(shù)據(jù)研究綜述[J].科研信息化技術(shù)與應(yīng)用,2014(5):3-16.
[7] 馬飛煒,賀曉鳴,呂伯東.醫(yī)院微信公眾平臺的應(yīng)用實(shí)踐研究[J].中醫(yī)藥管理雜志,2014(2):254-254.
[8] 王立達(dá),萬江文.基于Web的中央空調(diào)遠(yuǎn)程實(shí)時(shí)監(jiān)控系統(tǒng)[J].郵電設(shè)計(jì)技術(shù),2005(1):48-51.
[9] 徐繞山.Java Web應(yīng)用開發(fā)模式研究[J].信息化研究,2012(3):1-4.
[10] 常俊玲,孫波.運(yùn)動再學(xué)習(xí)對偏癱患者上肢功能恢復(fù)的影響[J].現(xiàn)代康復(fù),2000(5):684-685.
[11] 明日科技,王國輝,王春斌.Java Web編程寶典[M].北京:人民郵電出版社,2011.
[12] 白瑞林,吳廣霖.嵌入式TCP/IP協(xié)議棧多線程應(yīng)用的實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2006,32(18):84-86.
[13] 張道德.單片機(jī)接口技術(shù)[M].北京:中國水利水電出版社,2007.
[14] 汪成義,田峰.基于嵌入式Web服務(wù)器的智能家居遠(yuǎn)程控制[J].科技信息,2009(6):27-28.
[15] You X B,Liu Y M,Xu W M.The design of a remote monitoring system based on java[C].Guangzhou:IEEE International Conference on Computer Science & Information Technolgy, 2010.
[16] Wojciechowski J,Sakowicz B,Dura K,et al.MVC model, struts framework and file upload issues in web applications based on J2EE platform[C].MA,USA:Proceedings of the International Conference on Modern Problems of Radio Engineering, Telecommunications and Computer Science IEEE,2004.
Design of the Rehabilitation Equipment Monitoring Network Platform
WU Liuhai1,YU Hongliu2
(1.School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology,Shanghai 200093, China; 2.School of Rehabilitation Engineering & Technology, University of Shanghai for Science and Technology,Shanghai 200093, China)
Refering to the current problems of backward management for hospital rehabilitation equipment and inexpedience for information sharing between doctors and patients , this paper proposed a design of rehabilitation equipment monitoring network platform . The platform constructed based on the MVC framework, used J2EE technology and B/S framework, utilized Apache’s Tomcat server as the web container and MySQL5.1 version of the database for data storage, combined with JSP technology, HTML5 language, jQuery technology for the design and implementation . The application shows that this platform is easy to operate and high of data transmission efficiency, implements digital management of rehabilitation equipment and information sharing between doctors and patients, meeting the design requirments.
rehabilitation equipment; monitor network platform; MVC framework; J2EE
10.16180/j.cnki.issn1007-7820.2016.12.013
2016- 03- 02
上海市科技支撐基金資助項(xiàng)目(1444190442);新型多姿態(tài)智能康復(fù)訓(xùn)練輪椅關(guān)鍵技術(shù)研究基金資助項(xiàng)目(15DZ1941902);上海康復(fù)器械工程技術(shù)研究中心基金資助項(xiàng)目(15DZ2251700)
吳劉海(1991-),男,碩士研究生。研究方向:Java軟件開發(fā)等。喻洪流(1966-),男,博士,教授,博士生導(dǎo)師。研究方向:人體仿生機(jī)械及智能控制等。
TP277.2
A
1007-7820(2016)12-044-04