周书旺 李佳慧 舒明雷 高天雷 杨明
摘要:为了实现用户对自身血压变化趋势的掌握,提高高血压患者的知晓率、治疗率和控制率,利用移动终端的蓝牙通信技术、SpringMVC框架技术、持久层框架MyBatis,构建基于移动终端的实时血压监测系统。系统实现了血压数据的底层传输、网络传输、平台接收、数据存储和数据查询等功能。经系统测试运行表明,用户通过手机APP可实时将血压数据上传至健康云平台,子女通过手机APP可同步了解用户的血压变化趋势,医生通过健康云平台可及时调整用户治疗方案。
关键词:血压监测;蓝牙;SpringMVC;MyBatis
DOIDOI:10.11907/rjdk.172581
中图分类号:TP319文献标识码:A文章编号:16727800(2017)010009204
0引言
调查研究发现[1],我国高血压患病率为27.86%,其中男性患病率为34.72%,女性为25.34%,男性明显高于女性,并且随着年龄的增长,患病率逐渐增加。国家卫计委和计划生育委员会在2015年发布了高血压防治信息[2],2012年我国高血压的知晓率、治疗率和控制率分别为46.5%、41.1%和13.8%,比2002年的30.6%、24.7%和6.1%[34]有所提升。然而与发达国家相比,我国高血压防治水平依然较低。本文通过移动终端和健康云平台构建实时血压监测系统,可明显提高用户对自身血压变化趋势的了解,并有助于医生对患者治疗方案的及时调整,提高治愈率。
1关键技术介绍
1.1蓝牙技术
蓝牙通信技术是一种抗干扰性强、成本低、功耗低、组网容易、实现方便、工作在2.4GHz频段的近场通信技术[5]。目前,蓝牙技术已广泛应用于智能移动终端、智能穿戴式设备和便携式医疗检测设备等。蓝牙主要分为经典蓝牙和BLE蓝牙,本文通过经典蓝牙实现便携式医疗检测设备与智能移动终端的无线连接和底层数据传输。
1.2SpringMVC技术
SpringMVC是一个包含Dispatcherservlet的MVC框架[6],Spring MVC的设计围绕DispatcherServlet展开,DispatcherServlet负责将请求派发到特定的handler,通过可配置的handler mappings、locale、view resolution和theme resolution处理请求并且转到对应的视图。Spring MVC利用ModelViewController模式将数据、业务与展现实现分离。本文利用Spring MVC技术实现健康云平台的数据接收、存储和查询等。
1.3MyBatis持久层框架
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架[7]。利用MyBatis可消除JDBC代码和参数的手工设置,并且可以取消对查询结果的封装。在MyBatis中可以通过简单的XML或注解实现配置和原始映射,完成将接口和Java的POJO(普通的Java对象,Plain Old Java Objects)映射成数据库中的记录。
2血压监测系统整体设计
如图1所示,系统以健康云平台为核心,有机整合居民、医生团队和行政机构。血压计通过蓝牙将测量结果上传至用户手机APP,通过手机网络上传至健康云平台;健康云平台为用户提供健康档案管理、健康监测、健康咨询、健康评估和健康预警等服务;医生团队作为云健康平台的医务中心为用户提供日常饮食、用药方案和运动方案等。同时,健康云平台还具有大数据分析功能,为政府决策提供高血压大数据分析服务,作为政府制定健康政策的数据支撑。
3血压监测系统实现
3.1用户端实现
3.1.1用户端总体流程
用户端总体流程如图2所示,用户通过用户名和密码登录手机APP,进入血压测量界面,启动以AsyncTask为父类的蓝牙连接异步线程,线程在确认智能移动终端蓝牙已打开、设备与智能移动终端与蓝牙配对后,通过BluetoothSocket的成员方法connect()完成蓝牙连接[811]。蓝牙连接成功后界面提示蓝牙已连接,并通过InputStream的read()方法启动数据接收异步线程,使线程处于等待状态。启动血压测量,在测量完成后测量结果会通过蓝牙自动上传到移动终端,通过数据解析获得最终的血压测量结果,将测量结果在界面进行显示,并通过WiFi上传至云平台进行存储和分析,健康云平台的智能分析模块根据用户血压的异常变化情况向医生推送告警信息,医生团队通过人工确认后向用户推送健康指导意见。
3.1.2蓝牙连接过程
蓝牙连接子流程主要目的是完成智能移动终端与蓝牙血压计的无线连接,如图3所示。主要步骤如下:①启动蓝牙状态监听广播用于实时更新蓝牙连接状态;②通过BluetoothAdapter的静态方法getDefaultAdapter()获得移动终端的蓝牙适配器adapter对象;③通过BluetoothAdapter的成员方法isEnabled()判断移动终端的蓝牙是否已
打开,若未打开,提示用户打开移动终端蓝牙;④通过BluetoothAdapter的成员方法getBondedDevices()获得移动终端已配对的设备列表,并与血压计蓝牙名称相比较,确认血压计是否已配对,若未配对,提示用户进行配对。其中,血压计蓝牙名称在APP开发过程中提前写入;⑤通过当前配对设备BluetoothDevice获取BluetoothSocket,然后通过BluetoothSocket的connect()方法完成蓝牙连接。
3.1.3數据上传过程
数据上传子流程主要目的是将采集到的血压数据进行加密、封装和上传,如图4所示。endprint
具体步骤如下:①用户点击页面保存按钮,若测量未完成则提示“测量未完成”,若测量已完成,检查WiFi网络是否打开;②若WiFi网络未打开,对测量结果进行未上传标记并保存本地,待WiFi网络连通后,进行数据补传;③若WiFi网络已打开,首先进行本地保存,然后启动网络上传;④将血压测量结果和用户ID生成JSON字符串,并对JSON字符串进行Base64加密;⑤将加密后的数据利用POST方法异步上传健康云平台,并返回上传结果。
3.2平台端实现
3.2.1数据接收
数据接收主要实现用户血压检测数据的接收与存储,如图5所示。SpringMVCController类中由@RequestMapping注解的数据接收方法uploadBpData(String userId,String bpData)作为后台数据接收接口,接口参数包括用户编号userId和用户血压检测数据bpData。
后台控制层接口接收到数据后调用服务层方法对数据进行Base64解密,然后将JSON字符串转换成Bean对象,最终在数据访问层利用持久层框架MyBatis,通过XML代码将Bean对象映射到数据库中,实现数据插入。
3.2.2数据查询
数据查询主要实现用户血压检测数据查询,如图6所示,SpringMVCController类中由@RequestMapping注解的数据查询方法getBpData(String userId, int page, int pageSize,int ascFlag)作为后台数据接收接口,其中userId为用户编号,page为查询页,pageSize为每页的数据条数,ascFlag为排序标记,当ascFlag等于1时为升序,否则为降序[1213]。
数据查询接口依次调用服务层、数据访问层方法完成数据库查询,并将查询结果以List集合的方式返回,服务层将查询结果转换为JSON字符串后,由控制层返回页面[1415]。
4系统运行效果
系统运行效果如图7所示。
图7(a)为血压测量界面,测量过程中实时显示袖带压力,测量结束后,袖带压力为0,界面显示收缩压和舒张压测量结果,若测量过程中出现异常,由弹出框提示用户重新测量。图7(b)为血压测量结果查询界面,包括历史曲线图和数据列表两种展现方式,其中历史曲线图可以清楚地展示出用户血压变化趋势。
5结语
本文通过蓝牙通信技术将血压数据由采集终端传输至用户Android移动端,然后通过移动网络经Base64加密和JSON封装上传至健康云平台接收接口。基于SpringMVC框架的数据接收接口收到数据后通过解析与解密得到用户血压原始数据,然后通过Mybatis将数据以映射的方式存入数据库。用户及其子女可通过手机APP及时了解用户血压变化趋势,有助于提高高血压患者的知晓率。同时通过健康云平台分析,实时将用户异常数据推送至医生端,医生对患者治疗方案及时调整,有助于提高高血压患者的治疗率和控制率。
参考文献参考文献:
[1]赵秀丽,陈捷,崔艳丽,等.中国14省市高血压现状的流行病学研究[J].中华医学杂志,2006,86(16):11481152.
[2]林晓斐.《中国居民营养与慢性病状况报告(2015年)》发布[J].中医药管理杂志,2015(13):8989.
[3]王陇德.中国居民营养与健康状况调查报告之一:2002综合报告[M].北京:人民卫生出版社,2005.
[4]李立明.中国居民营养与健康状况调查报告之四:2002高血压[M].北京:人民卫生出版社,2008.
[5]钱志鸿,刘丹.蓝牙技术数据传输综述[J].通信学报,2012,33(4):143151.
[6]戴克.Spring MVC学习指南[M].北京:人民邮电出版社,2015.
[7]XU W, GAO J.Research of web application framework based on spring mvc and mybatis[J].Microcomputer Applications,2012.
[8]熊狮,吴效明.基于Android系统的生理数据蓝牙传输技术[J].中国医学物理学杂志,2012,29(6):38013803.
[9]郭宏志.ANDROID应用开发详解[M].北京:电子工业出版社,2011.
[10]PAPCUN P,ZOLOTOVA I,TAFSI K.Control and teleoperation of robot khepera via android mobile device through bluetooth and wifi[J].IFACPapersOnLine,2016,49(25):188193.
[11]BOUKHECHBA M,BOUZOUANE A,GABOURY S.A novel bluetooth low energy based system for spatial exploration in smart cities[J].Expert Systems With Applications,2017,77:7182.
[12]REN Y,XING T,XING Z.Application research for integrated ssh combination framework to achieve mvc mode[C].International Conference On Computational And Information Sciences.IEEE Computer Society,2011:499502.
[13]REN Y,SHEN H H.Research of core configuration file for integrated ssh framework[C].International Conference On Automation, Mechanical Control And Computational Engineering,2017.
[14]HUANG M,ZHANG G P,Universitity P.The design of college educational administration evaluation system based on spring mvc[J].Electronic Design Engineering,2016.
[15]ZHANG B,ZHANG D,ZENG C.Design of public facilities patrol system based on spring mvc[J].Electronic Science & Technology,2016.
責任编辑(责任编辑:孙娟)endprint