摘 要: 伴隨著通信技術的發(fā)展,方便快捷的移動互聯(lián)網及功能日益豐富智能終端在生活中扮演的角色越發(fā)重要。在人體局域網和移動互聯(lián)網的基礎上,利用使用廣泛的Android終端智能平臺,設計開發(fā)一種針對人的生理體征數據采集的健康監(jiān)測系統(tǒng)。系統(tǒng)結合HL7醫(yī)學信息傳輸標準,以一種新型的醫(yī)療方式探索移動應用軟件在醫(yī)療領域的發(fā)展。Android終端作為數據采集控制端和監(jiān)控客戶端,通過移動互聯(lián)網將采集的數據上傳至服務器,實現監(jiān)測中心對數據的監(jiān)測。
關鍵詞: Android; 移動互聯(lián)網; 健康監(jiān)測; HL7; 人體局域網
目前,許多地區(qū)都存在人口老齡化、空巢老人的問題,如何對老年人身體狀況持續(xù)監(jiān)測,保證老年人的身體健康,是我國的一個社會和醫(yī)療難題。另外隨著社會經濟的發(fā)展和人們生活水平的提高,人們的生活節(jié)奏越來越快,壓力越來越大,加上環(huán)境的污染等因素,以至于很多人(據2010年統(tǒng)計數據,城市白領大約有76%)處于“亞健康”狀態(tài),引發(fā)血壓升高、心率增快、加速血管硬化等的可能性增大[1]。隨著3G、4G技術的成熟,WiFi熱點的日益增多,高速率的移動數字傳輸帶寬已經成為現實;同時智能移動通信終端的使用越來越普及,利用便攜的智能終端設備輔助移動醫(yī)療監(jiān)測也成為國內外的關注點。本系統(tǒng)結合Android操作系統(tǒng)移動設備和移動網絡的特點及優(yōu)勢,以血壓監(jiān)測為案例,研究如何針對常見的人體生理指標進行監(jiān)測。
1 系統(tǒng)概述
系統(tǒng)劃分為三大模塊:人體局域網、安卓移動終端和健康監(jiān)測中心。系統(tǒng)總體結構模型如圖1所示。
1.1 人體局域網(BAN)
典型的BAN[2]的個人健康監(jiān)護系統(tǒng)包含多個穿戴在人體上的體征傳感器節(jié)點。每個傳感器節(jié)點負責采集體征參數,采集數據后發(fā)送到客戶端。使用的傳感器一般會要求指定其重要生理參數的精度、低功耗信號處理的水平,并要求具備無線連接功能。
1.2 Android設備
Android設備上安裝系統(tǒng)客戶端,主要功能:(1)通過低功耗無線或者USB有線的方式發(fā)送請求數據的命令至傳感器,接收數據后果顯示結果;(2)將初步處理的采集數據通過3G、WiFi等移動互聯(lián)網的方式發(fā)送至監(jiān)測中心服務器,并接收監(jiān)測中心反饋的信息。包含以下部分:數據采集服務、數據初步處理、結果顯示和網絡服務。
1.3 健康監(jiān)測中心
健康中心對被監(jiān)測者的基本信息和生理數據進行存儲和管理,通過調閱實時數據,綜合歷史數據,給出建議或診斷。主要包含網絡服務、電子檔案和數據分析三部分。
2 HL7簡介
衛(wèi)生信息交換標準(Health Level 7)[3]是醫(yī)療領域不同應用之間電子傳輸的協(xié)議。HL7匯集了不同廠商用來設計應用軟件之間界面的標準格式,允許各個醫(yī)療機構在異構系統(tǒng)之間進行數據交互。其宗旨是開發(fā)和研制醫(yī)院數據信息傳輸協(xié)議和標準,規(guī)范臨床醫(yī)學和管理信息格式,降低醫(yī)院信息系統(tǒng)互連的成本,提高醫(yī)院信息系統(tǒng)之間數據信息共享的程度。
在HL7通信協(xié)議中,消息(Message)是數據交換的基本單位。HL7的消息是自動生成的,它將HL7標準文檔自動轉化為一個HL7規(guī)則數據庫和部分程序數據結構代碼。實現一個通信標準的具體工作是生成數據結構,以及實現一個構造器(Builder)和一個解析器(Parser)。數據結構表現了標準中各個數據對象的相互關系。構造器將數據結構中的數據轉化成能在電子數據交換媒介中傳輸的數據串。而解析器能夠將數據串解析還原原數據結構。HL7標準是一個文本結構的文檔。首先,利用一些文字處理工具將文檔中的各個數據定義抽取成數據結構,再將結構的形式存入預先定義的HL7規(guī)則數據庫。然后,開發(fā)一種代碼生成器,它根據規(guī)則數據庫的內容自動生成某一種計算機語言代碼。最后,可將這些代碼加入實際應用的程序框架中。
3 Android SDK 對藍牙和USB的支持
3.1 低功耗藍牙通信技術及Android 藍牙APIs
藍牙技術[4-5]是一種無線數據與語音通信的開放性全球性規(guī)范, 它以低成本的近距離無線(一般為10 m)連接為基礎,為固定與移動設備通信環(huán)境建立一個特別連接。特別是藍牙4.0標準,提供了用于保健及健康、個人設備、汽車及自動化行業(yè)的低功率傳感設備和新的網絡服務的低耗能技術。
Android自SDK2.0開始支持Linux官方藍牙協(xié)議棧(BlueZ),新版本的Android 4.3支持Bluetooth 4.0 Low Energy。 Android應用框架層為藍牙通信提供了大量API,通過這些API可以實現藍牙設備間的無線連接,建立點到點、點到多點通信模式。
3.2 USB技術及Android USB APIs
USB,中文簡稱為“通串線”,是一個外部總線標準,用于規(guī)范主機與外設的連接和通信[6-7]。USB版本經歷了多年的發(fā)展,已經發(fā)展為3.1版本。
Android通過兩種模式來支持Android USB外設:USB外設模式和USB主機模式。在 USB外設模式下,外部USB 硬件充當 USB 主機,這種模式給予不具備主機功能的 Android 設備以與USB硬件交互的能力。主機模式下,裝有 Android 的設備扮演主機的角色。Android SDK對USB的支持APIs包含在android.hardware.usb包下。
4 系統(tǒng)實現
客戶端軟件的主要作用包括:與體征傳感器間建立通信鏈路,接收、保存來自傳感器、監(jiān)測中心服務器的數據,發(fā)送數據及結果的顯示,以及與用戶間的互動。
4.1 生理特征數據采集
鑒于生理體征采集傳感器的型號眾多、通信形式不一,在此考慮三種常見的數據采集方式,體征數據采集流程如圖2所示。
4.1.1 USB采集方式
首先為了獲得USB設備掛載的系統(tǒng)通知,需要在Mainfest文件中添加過濾器之后使用getDeviceList()方法獲得一個包含所有已掛載的USB設備的HashMap,調用requestPermission()方法獲得設備的使用權限。之后確定外設的UsbInterface 以及用于與這個接口交互的合適的UsbEndpoint,成功后在這個端點上打開連接UsbDeviceConnection。為避免阻塞UI主線程,在新線程中使用方法bulkTransfer() 或者controlTransfer() 傳輸數據。異步地發(fā)送數據時,使用類UsbRequest 來初始化(initialize)和序列化(queue)一個異步的請求, 然后調用方法requestWait()等待請求?! ?br/>4.1.2 藍牙采集方式
藍牙作為低成本的近距離的無線標準廣泛使用。Android提供了大量可以管理藍牙通信的API。
調用mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter()方法獲得本地藍牙適配器,if(mBluetoothAdapter != null),說明Android設備支持藍牙。使用startDiscovery()方法查找新的藍牙設備、getBondedDevices()獲取已經綁定的藍牙設備,構造ArrayAdapter來存儲這些藍牙設備。
通過BluetoothSocket的createRfcommSocketToService
Record()方法傳入UUID,為避免阻塞UI主線程,在新線程中創(chuàng)建BluetoothSocket對象,并通過connect方法建立連接,使用BluetoothSocket的getInputStream()和getOutputStream()方法來讀寫藍牙設備。
4.1.3 人工記錄
一些老式的生理特征采集設備不能通過無線或者有線的方式與Android客戶端相連,可以采取人工記錄的方式錄入特征數據,傳輸到監(jiān)測中心。
4.2 HL7消息構建存儲上傳及監(jiān)測中心接收
在HL7框架中,ORU消息提供患者的臨床數據的傳輸,消息段有:(1)MSH:定義消息的來源、目的、目標和某些語法的細節(jié)。(2)PID:用于記錄患者的基本信息,如身份證號碼、性別、住址、聯(lián)系電話等。(3)OBR:用于傳輸檢驗、觀察、診斷信息。ORU碼格式如圖3所示。
現在的主流移動設備(如Android、iPhone等)都使用SQLite[4]作為復雜數據的存儲引擎,客戶端系統(tǒng)使用SQLite存儲采集到的生理體征數據。使用openOrCreateDatabase()方法創(chuàng)建或打開數據庫,用execSQL()和rawQuery()方法添加、修改采集到的數據。
將構建完畢HL7的消息轉換為JSON格式,通過HTTP連接方式將數據發(fā)送到監(jiān)測中心服務器。在發(fā)送前, 通過getNetworkInfo()、getDetailedState()方法判斷Android設備處于何種移動網絡狀態(tài)下,供用戶控制。監(jiān)測中心對被監(jiān)測者的基本信息和生理數據進行存儲和管理,通過調閱實時數據、綜合歷史數據,給出建議或診斷。
4.3 客戶端體征數據顯示
為直觀顯示出數據趨勢,歷史記錄模塊采用了開源圖形庫AChartEngine[8],用于繪制多種圖表。線條顏色、點形狀的不同,可以區(qū)分顯示的不同內容。如圖4所示。
該健康監(jiān)測系統(tǒng)完成了被監(jiān)測者的特征數據采集及管理,但仍有許多功能需要完善,比如監(jiān)測中心對數據的智能分析、與醫(yī)療機構信息系統(tǒng)互聯(lián)互通,這樣就能夠為更多的人提供健康支持并減少醫(yī)生的工作量。隨著應用于遠程控制醫(yī)療、保健及運動感應器等領域的低功耗器件越來越多,移動互聯(lián)網的帶寬日益增大,移動醫(yī)療必將成為一個新趨勢。
參考文獻
[1] 趙瑞芹,宋振峰.亞健康問題的研究進展[J].國外醫(yī)學(社會醫(yī)學分冊),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在公共衛(wèi)生信息系統(tǒng)中的應用[J].現代預防醫(yī)學,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系統(tǒng)的生理數據藍牙傳輸技術[J].中國醫(yī)學物理學雜志,2012(6):3801-3803.
[6] 呂超,張玉霞,王立欣.USB接口高速數據傳輸的實現[J].計算機測量與控制,2009(5):1003-1012.
[7] 蘇維嘉,唐宇,楊靜.基于Android平臺的USB數據采集系統(tǒng)[J].計算機系統(tǒng)應用, 2012(8):39-42.
[8] AChartEngine Javadoc[EB/OL].(2013-09-10)[2013-12-22].http://ach-artengine.org.