一种康复设备网络监控平台的设计
2016-12-26吴刘海喻洪流
吴刘海,喻洪流
(1.上海理工大学 光电信息与计算机工程学院,上海 200093;2.上海理工大学 医疗器械与食品学院,上海 200093)
一种康复设备网络监控平台的设计
吴刘海1,喻洪流2
(1.上海理工大学 光电信息与计算机工程学院,上海 200093;2.上海理工大学 医疗器械与食品学院,上海 200093)
针对目前医院康复科设备管理方式滞后和医患信息共享不畅的问题,提出了一种康复设备网络监控平台的设计方案。该平台基于MVC框架进行设计,采用J2EE技术和B/S架构,以Apache公司的Tomcat服务器作为Web容器,采用MySQL5.1版本数据库进行数据存储,结合JSP、HTML5语言、jQuery等技术对平台进行设计和实现。应用结果表明,该平台操作简便、数据收发效率高,实现了康复设备数字化管理和医患信息共享,达到了设计要求。
康复设备;网络监控平台;MVC架构;J2EE
设计了一种康复设备网络监控平台,旨在帮助康复科医生在线监控康复设备和存储康复训练数据,实现对设备的数字化管理,同时使医患双方能在多平台进行沟通交流和信息共享[1]。
1 总体方案设计
该康复设备网络监控平台是集国内外康复信息展示、医生制定康复计划和在线监控设备、患者查看康复计划和在线康复训练于一体的综合康复系统,从用户实用性和便捷性方面考虑,采用B/S架构,只要能连接网络,用户在任何一台装有浏览器的设备上均能访问,无需安装软件,同时兼容多种系统,方便了用户操作。
本平台主要使用J2EE(Java 2 Platform Enterprise Edition)技术进行服务器端程序开发,采用MVC设计模式中的S2SH(Struts2 + Hibernate + Spring)架构设计实现[2],该康复设备网络监控平台的整体框架如图1所示。
图1 康复设备网络监控平台的整体框架图
2 页面设计
根据该康复设备网络监控平台的功能进行需求分析可知,本平台主要有4类用户,分别是游客、系统管理员、医生和患者,游客能访问平台首页中展示的所有信息,其他3类用户可通过账号登录进入个人中心,在个人中心内的所有资源均可访问,用户也可进行相关操作。
2.1 医生中心及患者中心
医生登录到医生中心后的界面如图2所示,医生可进行相关操作,但医生在这里的操作只能针对和自身关联的病人,只能对自己的病人进行相关操作,如查看病人信息、制定康复训练计划、进行在线康复训练和制定康复评估报告等。
图2 医生中心
患者登录到患者中心后的界面如图3所示,在我的账户模块中患者可查看自己的相关信息;在训练计划模块中患者可以查看自身的康复训练计划及完成情况;在康复状况模块患者可看到自己阶段性的康复训练效果图,还可以进行自我康复评定;站内信息模块可以查看系统通知信息和编辑站内信发送给康复医生。
图3 患者中心
2.2 训练监控及数据展示界面
医生在“工作计划”中通过进行训练的按钮即可跳转到到执行康复训练计划界面,图4(a)是上肢康复训练系统的介绍;图4(b)是该训练系统的使用帮助;图4(c)是与该设备有关的患者列表;图4(d)是对于康复计划的一些编辑操作;图4(e)是康复训练进行中实时显示设备采集的数据的曲线图。
图4 上肢康复训练系统界面
图5为患者在训练过程中某一时刻的各参数曲线图。图6为康复训练报告图,将患者在被动训练时的训练数据展示到页面上,供医师进行分析和诊断,该训练制定被动训练画菱形10次,可看出各曲线是周期性循环变化的,误差较小,说明数据保存完好。
图5 患者训练某时刻参数曲线图
图6 康复训练报告图
3 Java程序设计
该平台后台程序主要使用Java编程语言基于S2SH架构进行开发,页面通过JSP和HTML5展示。S2SH是Java EE轻量级开发的主流架构[3],即Struts2+Hibernate+Spring这3大框架,其中Struts2主要涉及的是MVC(Model,View,Controller)设计思想,它还提供了特有的标签库供JSP页面使用;Hibernate即对象关系映射框架,是对数据库操作(JDBC)的轻量级封装[4-5],完成对数据库存取数据的操作过程;Spring主要涉及的是AOP(面向切面编程)和IOC(控制反转),实现对后台程序中各层对象的管理,从而实现软件编程中提倡的高内聚低耦合的思想,保证系统的可扩展性和可移植性。
3.1 实体类设计
根据本平台的功能进行需求分析可知,本平台涉及到的实体类主要有用户(User)、设备(Equipment)、康复工作计划(Rehabplan)、康复训练数据(ReExeData)、站内信(SysMessage)等。实体类设计的UML(Unified Modeling Language)如图7所示,用户类User做为父类,医生类Doctor和患者类Patient是User的子类,均继承于User。医生类和患者类、医生类和康复计划类都是一对多的双向关系,通过Doctor.patients和Patient.doctor、Doctor.rehabPlans和RehabPlan.doctor实现;患者类和康复工作计划类也是一对多的双向关系,通过Patient.rehabPlans和RehabPlan.patient实现;康复工作计划类和康复训练数据类也是一对多的关系,通过Rehabplan.reExeDatas和ReExeData. rehabPlan实现[6-10]。
图7 康复设备网络监控平台实体UML图
3.2 业务逻辑层设计
在SSH框架实现的系统中,业务逻辑层由Struts来实现,由继承ActionSupport类的各个Action类来处理对应实体所拥有的业务逻辑[5],由各个Service层中的业务逻辑方法进行相关业务处理,由各个实体对应的Dao类调用Hibernate接口对数据库进行持久化操作。将每个实体通用的一些操作建立抽象方法提取出来作为公共接口(BaseDao),具体的功能在公共基类(BaseDaoImpl)中实现,各实体类对应的XxxDao接口继承公共接口(BaseDao),同时XxxDaoImpl类(XxxDao实现类)继承公共基类(BaseDaoImpl)。
以本平台两个用户角色医生和患者为例,主要业务逻辑如图8所示,其最基础的操作权限为登录、注册和注销。用户通过用户名和密码成功登陆系统后,后台根据用户的身份跳转到对应的界面(如医生中心和患者中心),在平台中医生和患者的操作权限如图8所示[11-16]。
图8 康复设备网络监控平台用例图
以用户登录为例,用户在首页中输入用户名、密码、验证码信息提交登录请求,后台接收到userAction_login.do请求,struts.xml文件对该请求进行解析,定位到用户控制类UserAction,在UserAction中通过Spring以注解的方式(@Resource(name="userService"))注入业务逻辑操作接口,在login()方法中验证存储在session中的验证码与用户输入的验证码是否一致,若不一致,则方法返回值为“login”,根据struts.xml文件中UserAction对应映射为:,返回登录页面并提示“验证码错误,请重新输入!”;若一致,将用户名和MD5算法加密后的密码通过UserService接口调用UserDao中validateUserInfo ()方法,通过Hibernate查询数据库的用户表中是否存在该用户名和密码,存在则根据返回值和struts.xml文件的映射跳转到用户中心界面,不存在则返回登录界面并提示用户“用户名或密码输入有误,请重新输入!”。在平台中医师需要对设备进行在线监控,出于安全性考虑对于医师身份指定了单点登录的权限,若用户登录成功,通过ActionContext.getContext().getApplication().put(user.getUsername(), sessionID);将用户名和sessionID以键值对的方式存入application中, 每当有用户登录就会查询application中是否包含了该键,若包含则提示用户该账号已登录,除非用户自动退出或该会话过期,后台程序自动移除application中对应的键值对。
3.3 设备与平台通信协议的制定
该平台与康复设备之间的通信以http协议实现,平台向设备开放上传数据接口reExeDataJsonAction_uploadData.do?equData=xxx ,参数equData是将采集的数据和设备编号及命令通过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}},患者训练时设备每秒向服务器发送两次存储请求,即存储两次数据。若服务器要向设备发送指令,先将指令以json格式保存到application中的指令表cmdList,如{“equID”: 1, “command”:”stop”, “data”:0 },设备上传数据的请求过程中会查询是指令表中否有指令,若有,则通过上传数据请求的响应过程传达给设备。
4 结束语
本文提出的康复设备网络监控平台在满足医院康复科医生的工作需求的同时,为患者提供了一个共享信息的平台,以B/S架构作为平台实现形式,方便用户使用,同时在云端建立康复云数据系统[6],便于医生分析诊断,提高了医生的工作效率。
该康复设备网络监控平台后续还会推出微信公众号[7],用户只要在微信上关注公众号,将自身的微信号与平台账号绑定,平台每天会通过微信公众号告诉用户是否有康复训练计划,同时推送一些康复行业信息,用户也可输入关键字进行查询,让用户在移动端能更加便捷的查看信息。
[1] Hemrajani A.Agile java development with spring, hibernate and eclipse[M].Carmel,Indiana:Sams publishing,2006.
[2] 王希望,孟祥书,王福顺.基于 SSH 架构的 Web 系统的开发方法[J].河北农业大学学报:农林教育版,2010,12(4):538-541.
[3] 李荣国,王见. MySQL数据库在自动测试系统中的应用[J].计算机应用,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] 颜延,秦兴彬,樊建平,等.医疗健康大数据研究综述[J].科研信息化技术与应用,2014(5):3-16.
[7] 马飞炜,贺晓鸣,吕伯东.医院微信公众平台的应用实践研究[J].中医药管理杂志,2014(2):254-254.
[8] 王立达,万江文.基于Web的中央空调远程实时监控系统[J].邮电设计技术,2005(1):48-51.
[9] 徐绕山.Java Web应用开发模式研究[J].信息化研究,2012(3):1-4.
[10] 常俊玲,孙波.运动再学习对偏瘫患者上肢功能恢复的影响[J].现代康复,2000(5):684-685.
[11] 明日科技,王国辉,王春斌.Java Web编程宝典[M].北京:人民邮电出版社,2011.
[12] 白瑞林,吴广霖.嵌入式TCP/IP协议栈多线程应用的实现[J].计算机工程,2006,32(18):84-86.
[13] 张道德.单片机接口技术[M].北京:中国水利水电出版社,2007.
[14] 汪成义,田峰.基于嵌入式Web服务器的智能家居远程控制[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
上海市科技支撑基金资助项目(1444190442);新型多姿态智能康复训练轮椅关键技术研究基金资助项目(15DZ1941902);上海康复器械工程技术研究中心基金资助项目(15DZ2251700)
吴刘海(1991-),男,硕士研究生。研究方向:Java软件开发等。喻洪流(1966-),男,博士,教授,博士生导师。研究方向:人体仿生机械及智能控制等。
TP277.2
A
1007-7820(2016)12-044-04