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