張 明,戴友元
(湖北工業(yè)職業(yè)技術學院信息與智能工程系,十堰 442000)
隨著社會的發(fā)展和人口老齡化的趨勢,社區(qū)衛(wèi)生服務已從單純面對面的社區(qū)醫(yī)療服務發(fā)展出了以未病預防保健監(jiān)測為主的醫(yī)療模式。大病進醫(yī)院,小病進社區(qū)是比較合理的醫(yī)療資源配置方式,社區(qū)醫(yī)療機構將成為預防保健、基本醫(yī)療、健康教育、疾病控制等社區(qū)衛(wèi)生服務的主體[1]。但社區(qū)醫(yī)療機構其設施、診療水平等客觀條件與大醫(yī)院之間仍存在較大差距,并且許多社區(qū)醫(yī)療機構業(yè)務單一、技術水平偏低,普遍缺乏全科醫(yī)生和高級人才。
本文針對社區(qū)醫(yī)療系統(tǒng)存在的缺陷結合當代醫(yī)療系統(tǒng)發(fā)展的趨勢,使用Android智能終端接收由便攜式藍牙醫(yī)療設備采集到的社區(qū)居民的生理指標,通過無線通信網絡上傳到服務器,由專業(yè)醫(yī)師進行診斷,在社區(qū)患者和專業(yè)醫(yī)師之間架設醫(yī)療信息平臺,使社區(qū)居民在家就能享受到優(yōu)質的醫(yī)療資源,同時減輕了大醫(yī)院的壓力。
系統(tǒng)主要包括各種便攜藍牙醫(yī)療數據采集設備、嵌入式采集節(jié)點、Android移動智能醫(yī)療終端,無線通信網絡、社區(qū)醫(yī)療軟件模塊、醫(yī)院健康監(jiān)護模塊等。
圖1 系統(tǒng)架構圖
便攜藍牙醫(yī)療數據采集設備采用藍牙方式與醫(yī)療終端進行短距離通信,既可以保證數據傳輸的穩(wěn)定性,又降低了上門服務或家用的復雜性。醫(yī)療終端與遠程服務器間使用低成本的Wifi或3G通信方式,既可以滿足家用又適用于一些特定沒有網絡的場合。
系統(tǒng)通過各種便攜式藍牙醫(yī)療設備采集患者的生理參數:藍牙血壓計、藍牙心電傳儀、手持藍牙體溫儀、藍牙血糖儀,在選用設備時要保證其實時性、穩(wěn)定性和準確性。當便攜式醫(yī)療數據采集器出現問題或者收發(fā)數據出現錯誤時,能及時報警并提示用戶作出相應處理。
藍牙(Bluetooth)是一個標準的無線通訊協(xié)議[2],基于設備低成本的收發(fā)器芯片,傳輸距離近、低功耗。藍牙協(xié)議是基于數據包、有著主從架構的協(xié)議。一個主設備至多可和同一微網中的七個從設備通訊。便攜式藍牙數據設備節(jié)點采集到的數據通過藍牙無線技術傳送到智能終端中,進行處理,若出現設備節(jié)點連接失敗,智能終端必須及時進行通告,并進行重新掃描、連接設備的操作。
智能終端采用Android平臺,通過藍牙醫(yī)療數據采集設備采集患者的生理參數,然后對獲取的數據進行處理如心電信號的最大最小RR間期[3]、心率統(tǒng)計等操作,同時對獲取的數據作出簡單分析和處理,并簡單分析患者的健康狀態(tài),最后將數據上傳到醫(yī)師工作系統(tǒng)。
Android移動智能醫(yī)療終端使用WIFI/3G/4G無線通信網絡與遠程服務器連接,將患者數據上傳,并建立患者健康檔案,實現患者的個人信息管理、歷史健康檔案查詢等功能。在醫(yī)師工作站,醫(yī)護人員可以通過查看患者的各種生理特征參數對患者進行實時診斷,并給出分析報告,為用戶提供及時、便捷、準確的醫(yī)療服務。同時對于需要進一步進行治療的患者,為其住院或者轉院治療提供診斷數據支持。
Android移動智能醫(yī)療終端主要包括:登錄模塊、同步任務模塊、患者選擇、系統(tǒng)設置模塊、數據統(tǒng)計顯示模塊、心電采集模塊、血壓采集模塊、血糖采集模塊、體溫檢測模塊、藍牙數據通信模塊。
圖2 模塊圖
醫(yī)師輸入用戶名和密碼(或通過RFID刷卡登錄),其中密碼是經過MD5加密,將用戶和密碼發(fā)送到服務器端進行驗證,驗證通過后,進入系統(tǒng)主界面,并根據用戶ID來顯示該醫(yī)師的病人信息。用戶信息的管理采用Android系統(tǒng)自帶的輕量級數據庫SQLite,SQLite是遵守ACID的關聯(lián)式數據庫,資源占用率低,只需要幾百K的內存。服務器端采用MySql數據庫,MySql是開源的關聯(lián)數據庫管理系統(tǒng),它為多種編程語言提供了API。這些編程語言包括 C/C++、Java、PHP等,支持多線程操作,能充分利用CPU資源。
患者選擇模塊有三個功能:當醫(yī)師點擊“患者選擇”按鈕后,進入患者選擇模塊。進入該模塊時,自動從遠程服務器端下載“待診治患者名單”及“患者診治任務”,同時顯示患者的基本信息;當醫(yī)師選擇了待診治患者后,進入“診治任務選擇界面”,該界面顯示當前患者的診治項目;點擊進入診治項目開始對患者進行診治。
當醫(yī)師選擇一個診治后,系統(tǒng)啟用藍牙任務處理服務,通過傳遞的任務TASK名稱啟動對應服務,如Task.BT_READ_BAT表示啟動心電圖服務,然后啟動后臺的一個數據處理服務,顯示測量界面的Activity窗口。
藍牙通信模塊主要實現三個功能:藍牙設備的連接和匹配,由BluetoothConnection類實現;藍牙設備的數據輸入輸出處理,由BluetoothIO類實現;對用選擇的藍牙設備進行調用,由BluetoothTalkService類實現。當用戶登錄系統(tǒng)后系統(tǒng)首選會打開Android智能終端的藍牙開關,對搜索到的藍牙設備進行匹配。當用戶選擇啟動相關的藍牙設備后,首先創(chuàng)建一個藍牙廣播接收對象BluetoothReceiver用來獲取藍牙設備相關的信息。然后創(chuàng)建連接藍牙線程ReadyConnectThrea用來連接藍牙設備,通過藍牙設備套接字BluetoothSocket得到輸入輸出流,最終將設備測量數據返回到BluetoothTalkService類中動態(tài)更新測量界面,顯示測量結果。程序使用的語句如下:
數據顯示模塊主要包括體溫、血壓、心率、心電數據的顯示。體溫、血壓、心率通過自定義協(xié)議類按照設備數據的傳輸參數獲取相關數據,例如體溫數據通過自定義體溫計數據協(xié)議類TempertureProtocol來獲得。
心電數據包含的數據較多并且構成復雜,而Android客戶端需要顯示患者心電測量數據的所有信息,并兼顧界面的友好性,同時又受到Android智能設備的屏幕尺寸的限制,心電波形的顯示使用了Android的canvas.drawLine()方法。
心電數據的獲取需要啟動一個service在后臺運行,在service中首先定義一個類XdProtocol按照心電設備的參數和校驗方法獲取心電數據。然后定義類XdDateHolder,在類中建立并維護一個緩沖區(qū),用來保存心電數據。最后使用自定義的心電圖類XdView,來實現心電圖的繪制,在繪制心電圖示每個心電數據數量繪制一個像素點。
圖3 心電數據圖
服務器端采用ASP.NET+SqlSever+Ajax架構[5],向客戶端提供 WebServices服務,Android 智能終端通過訪問服務器提供的WebServices服務上傳采集到并且處理好的患者生理數據到醫(yī)師平臺。
由于Android智能終端訪問服務器端是一種異構程序訪問機制,在兩者之間傳輸的數據格式會存在不同,這時需要考慮數據的兼容性,要對數據進行封裝。常用的數據封裝格式有json和xml,json具有簡單易用優(yōu)點,在讀寫時耗費的資源也較少,可以基本滿足大部分數據的封裝要求。本例中采用json格式對患者的數據進行封裝,然后上傳。心電數據的格式采用 byte[]保存,然后再封裝到封裝類JsonUploadResult對象中。服務器接收到上傳的數據后會返回醫(yī)師的檢驗結果,醫(yī)師的檢驗結果也是以json格式返回的,Android智能終端對結果解析后提供給患者。
基于Android的社區(qū)智能醫(yī)療系統(tǒng)操作簡單,能夠有效地提高社區(qū)醫(yī)療質量,同時能夠提高老年患者的健康監(jiān)護水平,解決目前人口老齡化帶來的社會難題。同時本系統(tǒng)硬件設備具有便攜移動特點,能實時地為患者提供服務,通過醫(yī)師平臺實現遠程診斷,擴大了移動醫(yī)療的范圍,更好地造福于民。本系統(tǒng)在遠程醫(yī)療、個人家庭護理、社區(qū)醫(yī)療護理、慢性病防治等方面有重要的應用價值。
[1]陳平平,譚定英,劉慧玲.基于云計算的移動社區(qū)醫(yī)療服務平臺應用[J].計算機工程與設計,2012(3):99-101.
[2]石永芳,姜 宏,尹 川.Android平臺移動醫(yī)療監(jiān)控客戶端設計與實現[J].軟件導刊,2015(1):121-122.
[3]陳銓琨,馬忠梅,曾 禮.Android系統(tǒng)的藍牙遠程控制研究[J].專題論述,2015(1):16-19.
[4]孟歡歡,張 躍.基于Android心電信息管理系統(tǒng)的設計與實現[J].計算機工程與設計,2015(1):276-281.
[5]張玉泉,方麗華,邱 悅.基于Android手機的移動移動健康醫(yī)療輔助系統(tǒng)[J].衛(wèi)生與健康,2014(3):623-624.