周書旺 李佳慧 舒明雷 高天雷 楊明
摘要:為了實(shí)現(xiàn)用戶對自身血壓變化趨勢的掌握,提高高血壓患者的知曉率、治療率和控制率,利用移動終端的藍(lán)牙通信技術(shù)、SpringMVC框架技術(shù)、持久層框架MyBatis,構(gòu)建基于移動終端的實(shí)時血壓監(jiān)測系統(tǒng)。系統(tǒng)實(shí)現(xiàn)了血壓數(shù)據(jù)的底層傳輸、網(wǎng)絡(luò)傳輸、平臺接收、數(shù)據(jù)存儲和數(shù)據(jù)查詢等功能。經(jīng)系統(tǒng)測試運(yùn)行表明,用戶通過手機(jī)APP可實(shí)時將血壓數(shù)據(jù)上傳至健康云平臺,子女通過手機(jī)APP可同步了解用戶的血壓變化趨勢,醫(yī)生通過健康云平臺可及時調(diào)整用戶治療方案。
關(guān)鍵詞:血壓監(jiān)測;藍(lán)牙;SpringMVC;MyBatis
DOIDOI:10.11907/rjdk.172581
中圖分類號:TP319文獻(xiàn)標(biāo)識碼:A文章編號:16727800(2017)010009204
0引言
調(diào)查研究發(fā)現(xiàn)[1],我國高血壓患病率為27.86%,其中男性患病率為34.72%,女性為25.34%,男性明顯高于女性,并且隨著年齡的增長,患病率逐漸增加。國家衛(wèi)計(jì)委和計(jì)劃生育委員會在2015年發(fā)布了高血壓防治信息[2],2012年我國高血壓的知曉率、治療率和控制率分別為46.5%、41.1%和13.8%,比2002年的30.6%、24.7%和6.1%[34]有所提升。然而與發(fā)達(dá)國家相比,我國高血壓防治水平依然較低。本文通過移動終端和健康云平臺構(gòu)建實(shí)時血壓監(jiān)測系統(tǒng),可明顯提高用戶對自身血壓變化趨勢的了解,并有助于醫(yī)生對患者治療方案的及時調(diào)整,提高治愈率。
1關(guān)鍵技術(shù)介紹
1.1藍(lán)牙技術(shù)
藍(lán)牙通信技術(shù)是一種抗干擾性強(qiáng)、成本低、功耗低、組網(wǎng)容易、實(shí)現(xiàn)方便、工作在2.4GHz頻段的近場通信技術(shù)[5]。目前,藍(lán)牙技術(shù)已廣泛應(yīng)用于智能移動終端、智能穿戴式設(shè)備和便攜式醫(yī)療檢測設(shè)備等。藍(lán)牙主要分為經(jīng)典藍(lán)牙和BLE藍(lán)牙,本文通過經(jīng)典藍(lán)牙實(shí)現(xiàn)便攜式醫(yī)療檢測設(shè)備與智能移動終端的無線連接和底層數(shù)據(jù)傳輸。
1.2SpringMVC技術(shù)
SpringMVC是一個包含Dispatcherservlet的MVC框架[6],Spring MVC的設(shè)計(jì)圍繞DispatcherServlet展開,DispatcherServlet負(fù)責(zé)將請求派發(fā)到特定的handler,通過可配置的handler mappings、locale、view resolution和theme resolution處理請求并且轉(zhuǎn)到對應(yīng)的視圖。Spring MVC利用ModelViewController模式將數(shù)據(jù)、業(yè)務(wù)與展現(xiàn)實(shí)現(xiàn)分離。本文利用Spring MVC技術(shù)實(shí)現(xiàn)健康云平臺的數(shù)據(jù)接收、存儲和查詢等。
1.3MyBatis持久層框架
MyBatis是一個支持普通SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架[7]。利用MyBatis可消除JDBC代碼和參數(shù)的手工設(shè)置,并且可以取消對查詢結(jié)果的封裝。在MyBatis中可以通過簡單的XML或注解實(shí)現(xiàn)配置和原始映射,完成將接口和Java的POJO(普通的Java對象,Plain Old Java Objects)映射成數(shù)據(jù)庫中的記錄。
2血壓監(jiān)測系統(tǒng)整體設(shè)計(jì)
如圖1所示,系統(tǒng)以健康云平臺為核心,有機(jī)整合居民、醫(yī)生團(tuán)隊(duì)和行政機(jī)構(gòu)。血壓計(jì)通過藍(lán)牙將測量結(jié)果上傳至用戶手機(jī)APP,通過手機(jī)網(wǎng)絡(luò)上傳至健康云平臺;健康云平臺為用戶提供健康檔案管理、健康監(jiān)測、健康咨詢、健康評估和健康預(yù)警等服務(wù);醫(yī)生團(tuán)隊(duì)作為云健康平臺的醫(yī)務(wù)中心為用戶提供日常飲食、用藥方案和運(yùn)動方案等。同時,健康云平臺還具有大數(shù)據(jù)分析功能,為政府決策提供高血壓大數(shù)據(jù)分析服務(wù),作為政府制定健康政策的數(shù)據(jù)支撐。
3血壓監(jiān)測系統(tǒng)實(shí)現(xiàn)
3.1用戶端實(shí)現(xiàn)
3.1.1用戶端總體流程
用戶端總體流程如圖2所示,用戶通過用戶名和密碼登錄手機(jī)APP,進(jìn)入血壓測量界面,啟動以AsyncTask為父類的藍(lán)牙連接異步線程,線程在確認(rèn)智能移動終端藍(lán)牙已打開、設(shè)備與智能移動終端與藍(lán)牙配對后,通過BluetoothSocket的成員方法connect()完成藍(lán)牙連接[811]。藍(lán)牙連接成功后界面提示藍(lán)牙已連接,并通過InputStream的read()方法啟動數(shù)據(jù)接收異步線程,使線程處于等待狀態(tài)。啟動血壓測量,在測量完成后測量結(jié)果會通過藍(lán)牙自動上傳到移動終端,通過數(shù)據(jù)解析獲得最終的血壓測量結(jié)果,將測量結(jié)果在界面進(jìn)行顯示,并通過WiFi上傳至云平臺進(jìn)行存儲和分析,健康云平臺的智能分析模塊根據(jù)用戶血壓的異常變化情況向醫(yī)生推送告警信息,醫(yī)生團(tuán)隊(duì)通過人工確認(rèn)后向用戶推送健康指導(dǎo)意見。
3.1.2藍(lán)牙連接過程
藍(lán)牙連接子流程主要目的是完成智能移動終端與藍(lán)牙血壓計(jì)的無線連接,如圖3所示。主要步驟如下:①啟動藍(lán)牙狀態(tài)監(jiān)聽廣播用于實(shí)時更新藍(lán)牙連接狀態(tài);②通過BluetoothAdapter的靜態(tài)方法getDefaultAdapter()獲得移動終端的藍(lán)牙適配器adapter對象;③通過BluetoothAdapter的成員方法isEnabled()判斷移動終端的藍(lán)牙是否已
打開,若未打開,提示用戶打開移動終端藍(lán)牙;④通過BluetoothAdapter的成員方法getBondedDevices()獲得移動終端已配對的設(shè)備列表,并與血壓計(jì)藍(lán)牙名稱相比較,確認(rèn)血壓計(jì)是否已配對,若未配對,提示用戶進(jìn)行配對。其中,血壓計(jì)藍(lán)牙名稱在APP開發(fā)過程中提前寫入;⑤通過當(dāng)前配對設(shè)備BluetoothDevice獲取BluetoothSocket,然后通過BluetoothSocket的connect()方法完成藍(lán)牙連接。
3.1.3數(shù)據(jù)上傳過程
數(shù)據(jù)上傳子流程主要目的是將采集到的血壓數(shù)據(jù)進(jìn)行加密、封裝和上傳,如圖4所示。endprint
具體步驟如下:①用戶點(diǎn)擊頁面保存按鈕,若測量未完成則提示“測量未完成”,若測量已完成,檢查WiFi網(wǎng)絡(luò)是否打開;②若WiFi網(wǎng)絡(luò)未打開,對測量結(jié)果進(jìn)行未上傳標(biāo)記并保存本地,待WiFi網(wǎng)絡(luò)連通后,進(jìn)行數(shù)據(jù)補(bǔ)傳;③若WiFi網(wǎng)絡(luò)已打開,首先進(jìn)行本地保存,然后啟動網(wǎng)絡(luò)上傳;④將血壓測量結(jié)果和用戶ID生成JSON字符串,并對JSON字符串進(jìn)行Base64加密;⑤將加密后的數(shù)據(jù)利用POST方法異步上傳健康云平臺,并返回上傳結(jié)果。
3.2平臺端實(shí)現(xiàn)
3.2.1數(shù)據(jù)接收
數(shù)據(jù)接收主要實(shí)現(xiàn)用戶血壓檢測數(shù)據(jù)的接收與存儲,如圖5所示。SpringMVCController類中由@RequestMapping注解的數(shù)據(jù)接收方法uploadBpData(String userId,String bpData)作為后臺數(shù)據(jù)接收接口,接口參數(shù)包括用戶編號userId和用戶血壓檢測數(shù)據(jù)bpData。
后臺控制層接口接收到數(shù)據(jù)后調(diào)用服務(wù)層方法對數(shù)據(jù)進(jìn)行Base64解密,然后將JSON字符串轉(zhuǎn)換成Bean對象,最終在數(shù)據(jù)訪問層利用持久層框架MyBatis,通過XML代碼將Bean對象映射到數(shù)據(jù)庫中,實(shí)現(xiàn)數(shù)據(jù)插入。
3.2.2數(shù)據(jù)查詢
數(shù)據(jù)查詢主要實(shí)現(xiàn)用戶血壓檢測數(shù)據(jù)查詢,如圖6所示,SpringMVCController類中由@RequestMapping注解的數(shù)據(jù)查詢方法getBpData(String userId, int page, int pageSize,int ascFlag)作為后臺數(shù)據(jù)接收接口,其中userId為用戶編號,page為查詢頁,pageSize為每頁的數(shù)據(jù)條數(shù),ascFlag為排序標(biāo)記,當(dāng)ascFlag等于1時為升序,否則為降序[1213]。
數(shù)據(jù)查詢接口依次調(diào)用服務(wù)層、數(shù)據(jù)訪問層方法完成數(shù)據(jù)庫查詢,并將查詢結(jié)果以List集合的方式返回,服務(wù)層將查詢結(jié)果轉(zhuǎn)換為JSON字符串后,由控制層返回頁面[1415]。
4系統(tǒng)運(yùn)行效果
系統(tǒng)運(yùn)行效果如圖7所示。
圖7(a)為血壓測量界面,測量過程中實(shí)時顯示袖帶壓力,測量結(jié)束后,袖帶壓力為0,界面顯示收縮壓和舒張壓測量結(jié)果,若測量過程中出現(xiàn)異常,由彈出框提示用戶重新測量。圖7(b)為血壓測量結(jié)果查詢界面,包括歷史曲線圖和數(shù)據(jù)列表兩種展現(xiàn)方式,其中歷史曲線圖可以清楚地展示出用戶血壓變化趨勢。
5結(jié)語
本文通過藍(lán)牙通信技術(shù)將血壓數(shù)據(jù)由采集終端傳輸至用戶Android移動端,然后通過移動網(wǎng)絡(luò)經(jīng)Base64加密和JSON封裝上傳至健康云平臺接收接口。基于SpringMVC框架的數(shù)據(jù)接收接口收到數(shù)據(jù)后通過解析與解密得到用戶血壓原始數(shù)據(jù),然后通過Mybatis將數(shù)據(jù)以映射的方式存入數(shù)據(jù)庫。用戶及其子女可通過手機(jī)APP及時了解用戶血壓變化趨勢,有助于提高高血壓患者的知曉率。同時通過健康云平臺分析,實(shí)時將用戶異常數(shù)據(jù)推送至醫(yī)生端,醫(yī)生對患者治療方案及時調(diào)整,有助于提高高血壓患者的治療率和控制率。
參考文獻(xiàn)參考文獻(xiàn):
[1]趙秀麗,陳捷,崔艷麗,等.中國14省市高血壓現(xiàn)狀的流行病學(xué)研究[J].中華醫(yī)學(xué)雜志,2006,86(16):11481152.
[2]林曉斐.《中國居民營養(yǎng)與慢性病狀況報(bào)告(2015年)》發(fā)布[J].中醫(yī)藥管理雜志,2015(13):8989.
[3]王隴德.中國居民營養(yǎng)與健康狀況調(diào)查報(bào)告之一:2002綜合報(bào)告[M].北京:人民衛(wèi)生出版社,2005.
[4]李立明.中國居民營養(yǎng)與健康狀況調(diào)查報(bào)告之四:2002高血壓[M].北京:人民衛(wèi)生出版社,2008.
[5]錢志鴻,劉丹.藍(lán)牙技術(shù)數(shù)據(jù)傳輸綜述[J].通信學(xué)報(bào),2012,33(4):143151.
[6]戴克.Spring MVC學(xué)習(xí)指南[M].北京:人民郵電出版社,2015.
[7]XU W, GAO J.Research of web application framework based on spring mvc and mybatis[J].Microcomputer Applications,2012.
[8]熊獅,吳效明.基于Android系統(tǒng)的生理數(shù)據(jù)藍(lán)牙傳輸技術(shù)[J].中國醫(yī)學(xué)物理學(xué)雜志,2012,29(6):38013803.
[9]郭宏志.ANDROID應(yīng)用開發(fā)詳解[M].北京:電子工業(yè)出版社,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.
責(zé)任編輯(責(zé)任編輯:孫娟)endprint