APP下载

基于云计算的远程监护系统的设计与实现

2014-09-14王洪强詹永丰

关键词:首长蓝牙监护

王洪强,詹永丰,张 蔚

(1. 沈阳军区总医院,沈阳 110015;2. 解放军第202医院,沈阳 110013)

首长保健工作一直是部队医院承载的一项重要任务.目前我院的情况是,除了年度定期体检外,多数老首长都是由保健医随访的形式来跟踪老首长的健康状态.仅有少数患病的老首长才能得到住院治疗.由于一些心脑血管病的突发性或一些老年病的隐蔽性,保健医也许不能及时发现首长的病情,给首长的保健工作带来了困难.

近几年,云计算的飞速发展可以说给医疗信息化带来了一个很好的机遇.云计算可以很好的解决信息资源、数据资源、计算资源、网络资源的共享和应用.

本文使用微软公司云服务器Windows Azure[1]云服务器开发远程医学护理中心.Azure是一种灵活和支持互操作的平台,它开放式的架构给开发者提供了Web应用、互联设备的应用、个人电脑、服务器、或者提供最优在线解决方案.Windows Azure以云技术为核心,提供了软件加服务的计算方法.Azure能够将微软全球数据中心网络托管的服务,比如存储、计算和网络基础设施服务,紧密结合起来,使开发者就可以在“云端”和“客户端”同时部署应用,使得企业与用户都能共享资源.

在老首长家中配置终端设备包括:电子血压仪、电子血糖仪、心电仪、电子称以及智能Android[2]终端手机(或平板电脑).其中,手机与各监测终端间通过蓝牙无线连接,各监测终端采集的数据将自动传输到手机上以文件形式保存,手机通过WIFI或3G网络连接互联网上传数据到Azure云服务器.

这样,医生可以在办公室轻松的访问首长上传的数据,并且根据本院中老首长的电子病历综合分析首长的身体状况,可以致电询问用药情况并给出建议.有效地预防了各种突发性疾病并且提高了医疗效率.

1 系统设计

远程医学监护系统充分考虑老首长家中使用的便利性,血压仪与血糖仪等设备与智能手机蓝牙匹配一次成功后每次开机将自动连接智能手机,手机将有一个进程持续地等待接收数据,并有另一个进程把接收的数据发送到云端服务器,当监测值超过危急值时,手机将启动紧急预警:本机报警、发送短信给保健医.

远程医学监护系统充分考虑保健医生使用的便利性,保健医生可以在办公室通过防火墙或与医院内网隔离的方式访问互联网上云服务器,并可以结合院内网首长的电子病历系统对老首长的健康状况给出准确的、综合的评估.对于保健医来说,不用频繁的随访一样可以获得准确、实时的信息,而且在紧急情况发生时,保健医会第一时间收到来自首长端及云端的安全警报.可以迅速做出紧急响应,避免一些不该发生的悲剧事件.

远程监护云服务器主要功能:提供安全稳定的24h在线服务;提供WebService服务实时收集各监测终端的数据;提供SQL Server 2008数据库服务,将收集的数据归类写入数据库;提供IIS服务,允许保健医以身份认证的形式登录服务器并访问数据;提供数据分析及报表功能方便保健医观察并得出结论.

远程医学监护系统的模型结构图如图1所示,医院的HIS数据库并不与云服务器直接连接,这样就可以很好的保护了医院数据的私有性.医生靠权限穿过防火墙访问云服务器获得首长的实时监测数据.

图1 远程医学监护中心结构图

2 系统实现

本文采用微软公司的Windows Azure云服务器来建立远程医学监护系统.由于Windows Azure云服务器性能稳定,且提供IIS及SQL Server2008数据库服务,是我们云服务器的首选.本文使用jdk1.6及eclipse在目前流行的Android手机上开发系统原型.

本文在系统实现中主要技术难点为Android手机蓝牙监听器的访问控制和对运服务器WebService的数据提交功能.

2.1 Android系统蓝牙功能

使用Android的蓝牙进行设备通信,主要包含四个部分:蓝牙设置、搜索设备、连接、传输数据.其中前面三步可以手动操作,最后一步需要软件开发实现.

以上为创建一个PortListenThread线程并启动一个PortListener侦听器开始侦听,当侦听到数据请求时,修改连接状态,创建输出流m_OutputStream,读取输入流m_InputStream,将输入数据写到输入流,接收完毕.

2.2 向云服务器传输数据

本文使用Apache开源项目HttpClient[3]用于在Android手机上提交文件到云服务器WebService.HttpClient使Java 应用程序可以直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活.HttpClient 提供的主要的功能包括实现了所有 HTTP 的方法(GET, POST, PUT, HEAD 等),支持自动转向,支持 HTTPS 协议,支持代理服务器等[4].

public PortListenThread () { public void run() { // 调用accept接收对方数据请求 BluetoothSocket _BluetoothSocket = m_BluetoothServerSocket.accept(); // 获得输出流 m_OutputStream = _BluetoothSocket. getOutputStream(); // 修改连接状态,表示已连接 m_State = m_StateConnected; // 建立一个长连接持续接收对方数据 while (m_State == m_StateConnected) { // 获得输入流 m_InputStream = _BluetoothSocket. getInputStream(); ReceiverData(); } } } ……

//使用HttpClient提交Web表单 List paramPairs = new ArrayList(); if(params!=null && !params.isEmpty()) { for(Map.Entry entry : params.entrySet()) { paramPairs.add(new BasicNameValuePair (entry.getKey(), entry.getValue())); } } //对请求参数进行编码,得到实体数据 UrlEncodedFormEntity entitydata = new UrlEncodedFormEntity(paramPairs, enc); //构造一个请求路径 HttpPost post = new HttpPost(path); //设置请求实体 post.setEntity(entitydata); //浏览器对象 DefaultHttpClient client = new DefaultHttpClient(); //执行post请求 HttpResponse response = client.execute(post); //从状态行中获取状态码,判断响应码是否符合要求 ……

使用HttpClient提交Web表单首先把需要填写的内容与表单各输入框的名称对应起来建立NameValuePair,之后将数据编码成实体数据entitydata.使用浏览器对象client来提交实体数据entitydata,并根据返回对象response的值来判断提交是否成功.

3 结 语

本文设计并实现了一个基于云服务器的远程医学监护系统,结合Android智能手机和无线心电检测仪等设备解决了我院退休老首长身体保健得到实时监护保障的问题,该系统可以减轻保健医的工作量,提高医疗效率并且可以在出现紧急情况时做出快速的响应.

参考文献:

[1] 微软公司. Windows Azure [CP/DK] http://www.windowsazure.com/zh-cn/, 2013-05-18.

[2] 谷歌公司. Android是一个以Linux为基础的开放源代码操作系统,主要用于移动设备,由Google成立的Open Handset Alliance持续领导与开发中[EB/OL]. http://www.android.com/, 2013-05-29.

[3] Apache开源软件组织. HttpClient是Apache的子项目,可以用来提供高效的HTTP客户端编程工具包[EB/OL]. http://hc.apache.org/httpcomponents-client-4.3.x/index.html, 2013-06-11.

[4] 范 野,伞晓娇.云计算与网格计算比较研究[J].哈尔滨商业大学学报:自然科学版,2012,28(2):222-227.

猜你喜欢

首长蓝牙监护
蓝牙音箱的直线之美
护娃成长尽责监护 有法相伴安全为重
家有『首长』
整建制接管改造COVID-19重症监护病房的实践与探讨
我国成年监护制度之探讨与展望
玉溪市粮食局 粮食安全行政首长责任制取得实效
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
爱丁堡夏洛特广场首长酒店
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出