基于Android平台的无线智能社区医疗系统设计与实现
摘 要: 针对当前社区居民“看病难”和医师资源匮乏,以及如何提高社区医疗机构的诊断水平这一问题,本系统提出基于Android平台的无线社区智能医疗系统设计方案,采用Android智能终端接收传感器采集到的社区居民的生理指标,通过无线通信网络上传到服务器,由专业医师进行诊断,形成居民健康档案。社区居民也可通过系统实时查看自己的健康档案。
关键词: Android;Bluetooth;社区卫生服务;移动医疗系统
中图分类号: TP319 文献标识码: A 文章编号: 2095-8153(2015)03-0103-04
作者简介: 张 明(1976-),男,湖北工业职业技术学院信息与智能工程系讲师;戴友元(1962-),男,湖北工业职业技术学院信息与智能工程系教授。 0 引言
随着社会的发展和人口老龄化的趋势,社区卫生服务已从单纯面对面的社区医疗服务发展出了以未病预防保健监测为主的医疗模式。大病进医院,小病进社区是比较合理的医疗资源配置方式,社区医疗机构将成为预防保健、基本医
疗、健康教育、疾病控制等社区卫生服务的主体[1]。但社区医疗机构其设施、诊疗水平等客观条件与大医院之间仍存在较大差距,并且许多社区医疗机构业务单一、技术水平偏低,普遍缺乏全科医生和高级人才。
本文针对社区医疗系统存在的缺陷结合当代医疗系统发展的趋势,使用Android智能终端接收由便携式蓝牙医疗设备采集到的社区居民的生理指标,通过无线通信网络上传到服务器,由专业医师进行诊断,在社区患者和专业医师之间架设医疗信息平台,使社区居民在家就能享受到优质的医疗资源,同时减轻了大医院的压力。 1 系统结构
系统主要包括各种便携蓝牙医疗数据采集设备、嵌入式采集节点、Android移动智能医疗终端,无线通信网络、社区医疗软件模块、医院健康监护模块等。
便携蓝牙医疗数据采集设备采用蓝牙方式与医疗终端进行短距离通信,既可以保证数据传输的稳定性,又降低了上门服务或家用的复杂性。医疗终端与远程服务器间使用低成本的Wifi或3G通信方式,既可以满足家用又适用于一些特定没有网络的场合。 1.1 蓝牙医疗数据采集设备
系统通过各种便携式蓝牙医疗设备采集患者的生理参数:蓝牙血压计、蓝牙心电传仪、手持蓝牙体温仪、蓝牙血
糖仪,在选用设备时要保证其实时性、稳定性和准确性。当便携式医疗数据采集器出现问题或者收发数据出现错误时,能及时报警并提示用户作出相应处理。 1.2 蓝牙通信协议
蓝牙(Bluetooth)是一个标准的无线通讯协议[2],基于设备低成本的收发器芯片,传输距离近、低功耗。蓝牙协议是基于数据包、有着主从架构的协议。一个主设备至多可和同一微网中的七个从设备通讯。便携式蓝牙数据设备节点采集到的数据通过蓝牙无线技术传送到智能终端中,进行处理,若出现设备节点连接失败,智能终端必须及时进行通告,并进行重新扫描、连接设备的操作。 1.3 智能终端平台
智能终端采用Android平台,通过蓝牙医疗数据采集设备采集患者的生理参数,然后对获取的数据进行处理如心电信号的最大最小RR间期[3]、心率统计等操作,同时对获取的数据作出简单分析和处理,并简单分析患者的健康状态,最后将数据上传到医师工作系统。 1.4 医师工作站
Android移动智能医疗终端使用WIFI/3G/4G无线通信网络与远程服务器连接,将患者数据上传,并建立患者健康档案,实现患者的个人信息管理、历史健康档案查询等功能。在医师工作站,医护人员可以通过查看患者的各种生理特征
参数对患者进行实时诊断,并给出分析报告,为用户提供及时、便捷、准确的医疗服务。同时对于需要进一步进行治疗的患者,为其住院或者转院治疗提供诊断数据支持。 2 系统设计与实现
2.1 Android移动智能医疗终端设计
Android移动智能医疗终端主要包括:登录模块、同步任务模块、患者选择、系统设置模块、数据统计显示模块、心电采集模块、血压采集模块、血糖采集模块、体温检测模块、蓝牙数据通信模块。 2.2 用户登录模块
医师输入用户名和密码(或通过RFID刷卡登录),其中密码是经过MD5加密,将用户和密码发送到服务器端进行验证,验证通过后,进入系统主界面,并根据用户ID来显示该医师的病人信息。用户信息的管理采用Android系统自带的轻量级数据库SQLite,SQLite是遵守ACID的关联式数据库,资源占用率低,只需要几百K的内存。服务器端采用MySql数据库,MySql是开源的关联数据库管理系统,它为多种编程语言提供了API。这些编程语言包括 C/C++、Java、PHP等,支持多线程操作,能充分利用 CPU 资源。 2.3 患者选择模块
患者选择模块有三个功能:当医师点击“患者选择”按钮后,进入患者选择模块。进入该模块时,自动从远程服务
器端下载“待诊治患者名单”及“患者诊治任务”,同时显示患者的基本信息;当医师选择了待诊治患者后,进入“诊治任务选择界面”,该界面显示当前患者的诊治项目;点击进入诊治项目开始对患者进行诊治。
当医师选择一个诊治后,系统启用蓝牙任务处理服务,通过传递的任务TASK名称启动对应服务,如
Task.BT_READ_BAT表示启动心电图服务,然后启动后台的一个数据处理服务,显示测量界面的Activity窗口。 代码如下:
if(BluetoothConnection.getConnection(this).initBluetoothService(this,
BluetoothConnection.TYPE_BLOOD_PRESSURE)) {// 启动蓝牙任务处理服务 startService(new Intent(this, BluetoothTalkService.class));// 启动后台数据处理服务 startService(new Intent(this, TaskService.class)); receiver = new BTReceiver();
registerReceiver(receiver, new IntentFilter(
BluetoothConnection.ACTION_BLUETOOTH_CONNECTED));
btnBack.setEnabled(false); // 启动计数线程