APP下载

基于Android的移动互联网健康监测系统的研究*

2014-07-25赵大磊张正平陆安江

网络安全与数据管理 2014年8期
关键词:监测中心数据结构蓝牙

赵大磊,张正平,贺 松,陆安江

(贵州大学 电子信息学院,贵州 贵阳 550025)

目前,许多地区都存在人口老龄化、空巢老人的问题,如何对老年人身体状况持续监测,保证老年人的身体健康,是我国的一个社会和医疗难题。另外随着社会经济的发展和人们生活水平的提高,人们的生活节奏越来越快,压力越来越大,加上环境的污染等因素,以至于很多人(据2010年统计数据,城市白领大约有76%)处于“亚健康”状态,引发血压升高、心率增快、加速血管硬化等的可能性增大[1]。随着3G、4G技术的成熟,WiFi热点的日益增多,高速率的移动数字传输带宽已经成为现实;同时智能移动通信终端的使用越来越普及,利用便携的智能终端设备辅助移动医疗监测也成为国内外的关注点。本系统结合Android操作系统移动设备和移动网络的特点及优势,以血压监测为案例,研究如何针对常见的人体生理指标进行监测。

1 系统概述

系统划分为三大模块:人体局域网、安卓移动终端和健康监测中心。系统总体结构模型如图1所示。

1.1 人体局域网(BAN)

图1 基于移动互联网与Android终端的健康监测系统模型

典型的BAN[2]的个人健康监护系统包含多个穿戴在人体上的体征传感器节点。每个传感器节点负责采集体征参数,采集数据后发送到客户端。使用的传感器一般会要求指定其重要生理参数的精度、低功耗信号处理的水平,并要求具备无线连接功能。

1.2 Android设备

Android设备上安装系统客户端,主要功能:(1)通过低功耗无线或者USB有线的方式发送请求数据的命令至传感器,接收数据后果显示结果;(2)将初步处理的采集数据通过3G、WiFi等移动互联网的方式发送至监测中心服务器,并接收监测中心反馈的信息。包含以下部分:数据采集服务、数据初步处理、结果显示和网络服务。

1.3 健康监测中心

健康中心对被监测者的基本信息和生理数据进行存储和管理,通过调阅实时数据,综合历史数据,给出建议或诊断。主要包含网络服务、电子档案和数据分析三部分。

2 HL7简介

卫生信息交换标准(Health Level 7)[3]是医疗领域不同应用之间电子传输的协议。HL7汇集了不同厂商用来设计应用软件之间界面的标准格式,允许各个医疗机构在异构系统之间进行数据交互。其宗旨是开发和研制医院数据信息传输协议和标准,规范临床医学和管理信息格式,降低医院信息系统互连的成本,提高医院信息系统之间数据信息共享的程度。

在HL7通信协议中,消息(Message)是数据交换的基本单位。HL7的消息是自动生成的,它将HL7标准文档自动转化为一个HL7规则数据库和部分程序数据结构代码。实现一个通信标准的具体工作是生成数据结构,以及实现一个构造器(Builder)和一个解析器(Parser)。数据结构表现了标准中各个数据对象的相互关系。构造器将数据结构中的数据转化成能在电子数据交换媒介中传输的数据串。而解析器能够将数据串解析还原原数据结构。HL7标准是一个文本结构的文档。首先,利用一些文字处理工具将文档中的各个数据定义抽取成数据结构,再将结构的形式存入预先定义的HL7规则数据库。然后,开发一种代码生成器,它根据规则数据库的内容自动生成某一种计算机语言代码。最后,可将这些代码加入实际应用的程序框架中。

3 Android SDK对蓝牙和USB的支持

3.1 低功耗蓝牙通信技术及Android蓝牙APIs

蓝牙技术[4-5]是一种无线数据与语音通信的开放性全球性规范,它以低成本的近距离无线 (一般为10 m)连接为基础,为固定与移动设备通信环境建立一个特别连接。特别是蓝牙4.0标准,提供了用于保健及健康、个人设备、汽车及自动化行业的低功率传感设备和新的网络服务的低耗能技术。

Android自SDK2.0开始支持Linux官方蓝牙协议栈 (BlueZ),新版本的Android 4.3支持Bluetooth 4.0 Low Energy。 Android应用框架层为蓝牙通信提供了大量API,通过这些API可以实现蓝牙设备间的无线连接,建立点到点、点到多点通信模式。

3.2 USB技术及Android USB APIs

USB,中文简称为“通串线”,是一个外部总线标准,用于规范主机与外设的连接和通信[6-7]。USB版本经历了多年的发展,已经发展为3.1版本。

Android通过两种模式来支持Android USB外设:USB外设模式和USB主机模式。在 USB外设模式下,外部USB硬件充当 USB主机,这种模式给予不具备主机功能的 Android设备以与USB硬件交互的能力。主机模式下,装有 Android的设备扮演主机的角色。Android SDK对USB的支持APIs包含在android.hardware.usb包下。

4 系统实现

客户端软件的主要作用包括:与体征传感器间建立通信链路,接收、保存来自传感器、监测中心服务器的数据,发送数据及结果的显示,以及与用户间的互动。

4.1 生理特征数据采集

鉴于生理体征采集传感器的型号众多、通信形式不一,在此考虑三种常见的数据采集方式,体征数据采集流程如图2所示。

4.1.1 USB采集方式

图2 生理特征数据采集流程图

首先为了获得USB设备挂载的系统通知,需要在Mainfest文件中添加过滤器之后使用getDeviceList()方法获得一个包含所有已挂载的USB设备的HashMap,调用requestPermission()方法获得设备的使用权限。之后确定外设的UsbInterface以及用于与这个接口交互的合适的UsbEndpoint,成功后在这个端点上打开连接UsbDevice-Connection。为避免阻塞UI主线程,在新线程中使用方法bulkTransfer()或者controlTransfer()传输数据。异步地发送数据时,使用类UsbRequest来初始化(initialize)和序列化(queue)一个异步的请求,然后调用方法requestWait()等待请求。

4.1.2 蓝牙采集方式

蓝牙作为低成本的近距离的无线标准广泛使用。Android提供了大量可以管理蓝牙通信的API。

调用mBluetoothAdapter=BluetoothAdapter.getDefault-Adapter()方法获得本地蓝牙适配器,if(mBluetoothAdapter!=null),说明Android设备支持蓝牙。使用startDiscovery()方法查找新的蓝牙设备、getBondedDevices()获取已经绑定的蓝牙设备,构造ArrayAdapter来存储这些蓝牙设备。

通过BluetoothSocket的createRfcommSocketToService Record()方法传入 UUID,为避免阻塞UI主线程,在新线程中创建BluetoothSocket对象,并通过connect方法建立连接,使用 BluetoothSocket的 getInputStream()和 getOutput-Stream()方法来读写蓝牙设备。

4.1.3 人工记录

一些老式的生理特征采集设备不能通过无线或者有线的方式与Android客户端相连,可以采取人工记录的方式录入特征数据,传输到监测中心。

4.2 HL7消息构建存储上传及监测中心接收

在HL7框架中,ORU消息提供患者的临床数据的传输,消息段有:(1)MSH:定义消息的来源、目的、目标和某些语法的细节。(2)PID:用于记录患者的基本信息,如身份证号码、性别、住址、联系电话等。(3)OBR:用于传输检验、观察、诊断信息。ORU码格式如图3所示。

图3 ORU码格式

现在的主流移动设备(如 Android、iPhone等)都使用SQLite[4]作为复杂数据的存储引擎,客户端系统使用 SQLite存储采集到的生理体征数据。使用openOrCreateDatabase()方法创建或打开数据库,用 execSQL()和 rawQuery()方法添加、修改采集到的数据。

将构建完毕HL7的消息转换为JSON格式,通过HTTP连接方式将数据发送到监测中心服务器。在发送前,通过 getNetworkInfo()、getDetailedState()方法判断 Android设备处于何种移动网络状态下,供用户控制。监测中心对被监测者的基本信息和生理数据进行存储和管理,通过调阅实时数据、综合历史数据,给出建议或诊断。

4.3 客户端体征数据显示

为直观显示出数据趋势,历史记录模块采用了开源图形库AChartEngine[8],用于绘制多种图表。线条颜色、点形状的不同,可以区分显示的不同内容。如图4所示。

图4 历史记录图

该健康监测系统完成了被监测者的特征数据采集及管理,但仍有许多功能需要完善,比如监测中心对数据的智能分析、与医疗机构信息系统互联互通,这样就能够为更多的人提供健康支持并减少医生的工作量。随着应用于远程控制医疗、保健及运动感应器等领域的低功耗器件越来越多,移动互联网的带宽日益增大,移动医疗必将成为一个新趋势。

[1]赵瑞芹,宋振峰.亚健康问题的研究进展[J].国外医学(社会 医学分册),2002(1):10-13.

[2]KARULF E.Body area networks(BAN)[EB/OL].(2008-04-23)[2013-12-22].http://www.cse.wustl.edu/~jain/cse574-08/ftp/ban/index.html.

[3]齐国隆,孔令人,邹宗峰.HL7在公共卫生信息系统中的应用[J].现代预防医学,2006(06):962-964.

[4]Android developers[EB/OL].(2013-05-20)[2013-12-22].http://developer.android.com/intl/zh-cn/guide/components/index.html.

[5]熊狮,吴效明.基于Android系统的生理数据蓝牙传输技术[J].中国医学物理学杂志,2012(6):3801-3803.

[6]吕超,张玉霞,王立欣.USB接口高速数据传输的实现[J].计算机测量与控制,2009(5):1003-1012.

[7]苏维嘉,唐宇,杨静.基于 Android平台的 USB数据采集系统[J].计算机系统应用,2012(8):39-42.

[8]AChartEngine Javadoc[EB/OL].(2013-09-10)[2013-12-22].http://ach-artengine.org.

猜你喜欢

监测中心数据结构蓝牙
蓝牙音箱的直线之美
数据结构线上线下混合教学模式探讨
黑龙江省节能监测中心
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
砥砺奋进的五年
学习考察,这十个城市是首选
紧急:蓝牙指尖陀螺自燃!安全隐患频出
责任源于使命——访辽宁省环保厅核与辐射监测中心副主任林殿科
高职高专数据结构教学改革探讨