劉彥偉,孟慶琰,張?zhí)m芹
1. 泰安市中心醫(yī)院 設(shè)備科,山東 泰安 271000;2. 山東第一醫(yī)科大學(xué)第二附屬醫(yī)院 醫(yī)學(xué)裝備部,山東 泰安 271000
人體生理多參數(shù)監(jiān)護(hù)儀可以實(shí)時(shí)監(jiān)測(cè)病人的血壓、血氧飽和度、心率和體溫等人體生命體征[1-2],對(duì)實(shí)時(shí)了解病人的狀況具有很大的意義,隨著Android手機(jī)的普及和物聯(lián)網(wǎng)技術(shù)的發(fā)展,使通過手機(jī)遠(yuǎn)程監(jiān)測(cè)病人的生理參數(shù)信息成為可能[3-4]。本文設(shè)計(jì)了一款多參數(shù)監(jiān)護(hù)儀及遠(yuǎn)程監(jiān)測(cè)系統(tǒng),該監(jiān)護(hù)儀可以準(zhǔn)確測(cè)出人體的生理參數(shù)信息并將信息通過Wi-Fi上傳到服務(wù)器。遠(yuǎn)程監(jiān)測(cè)系統(tǒng)通過Android手機(jī)客戶端實(shí)現(xiàn)多個(gè)病人的生理參數(shù)信息的查詢、顯示、保存本地手機(jī)SD卡及語(yǔ)音播報(bào)功能,方便及時(shí)了解病人的身體狀況。
本文設(shè)計(jì)的監(jiān)護(hù)儀主要測(cè)量人體的血壓、血氧飽和度、心率和體溫四項(xiàng)生理參數(shù)信息,監(jiān)護(hù)儀采用STM32F103作為系統(tǒng)的控制芯片,其主要功能是利用人體生理參數(shù)各部分的傳感器及檢測(cè)處理電路準(zhǔn)確、快速測(cè)出人體的生理參數(shù)信息,STM32F103內(nèi)部程序檢測(cè)到生理參數(shù)信息采集完成后,將生理參數(shù)信息通過監(jiān)護(hù)儀內(nèi)部的Wi-Fi模塊實(shí)時(shí)上傳到服務(wù)器。本文設(shè)計(jì)的多參數(shù)監(jiān)護(hù)儀硬件主要包括血壓、血氧飽和度、心率和體溫的檢測(cè)及處理電路、Wi-Fi模塊電路,監(jiān)護(hù)儀硬件的結(jié)構(gòu)框圖如圖1所示。
圖1 監(jiān)護(hù)儀硬件結(jié)構(gòu)框圖
本文設(shè)計(jì)的人體血壓測(cè)量是通過示波法的方法來(lái)檢測(cè)的,該部分主要由電源電路、氣泵和電磁閥驅(qū)動(dòng)電路、血壓檢測(cè)及轉(zhuǎn)換電路并配合外部袖帶組成。該部分電路框圖如圖2所示。
圖2 人體多生理參數(shù)監(jiān)護(hù)儀血壓測(cè)量電路框圖
預(yù)先在控制芯片STM32F103程序中設(shè)置充氣的最大壓力值(本文設(shè)定220 mmHg),當(dāng)STM32F103內(nèi)部程序檢測(cè)到血壓測(cè)量按鈕按下時(shí),會(huì)通過控制氣泵驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)氣泵給袖帶充氣,當(dāng)檢測(cè)到壓力達(dá)到220 mmHg時(shí),停止給袖帶充氣,并開始控制放氣電磁閥給袖帶放氣。當(dāng)袖帶開始放氣時(shí),血壓檢測(cè)電路內(nèi)部的壓力傳感器實(shí)時(shí)檢測(cè)壓力值,當(dāng)檢測(cè)到脈搏波跳動(dòng)強(qiáng)度隨著血壓袖帶內(nèi)部氣體壓力的減小而增強(qiáng)時(shí),這個(gè)拐點(diǎn)測(cè)到的血壓值為收縮壓,當(dāng)袖帶繼續(xù)放氣達(dá)到某一點(diǎn)時(shí),脈搏波跳動(dòng)強(qiáng)度會(huì)隨著袖帶內(nèi)氣壓得較小而減弱,這個(gè)拐點(diǎn)測(cè)到的血壓值為平均壓值,利用測(cè)出的收縮壓和平均壓可以計(jì)算出舒張壓[5-6]。
本文設(shè)計(jì)的血氧檢測(cè)探頭由發(fā)紅光和紅外光的兩個(gè)不同波長(zhǎng)的二極管反向并聯(lián)構(gòu)成,紅光和紅外光的波長(zhǎng)分別為660 nm和940 nm[7-8]。血氧檢測(cè)探頭的紅光驅(qū)動(dòng)電路由2個(gè)MMBT05L三極管和相應(yīng)的電路組成,紅外光的驅(qū)動(dòng)電路由2個(gè)MMBT55LT1三極管和相應(yīng)電路組成,利用控制芯片STM32F103的4個(gè)端口分別控制輸出電壓和二極管的發(fā)光強(qiáng)度。
當(dāng)血氧傳感器探頭夾上手指后, STM32F103會(huì)產(chǎn)生兩路時(shí)序脈沖信號(hào)驅(qū)動(dòng)血氧探頭內(nèi)的兩個(gè)不同波長(zhǎng)的二極管交替發(fā)光[9],發(fā)光二極管發(fā)出的光通過人體指端后由光電三極管接收并通過前置差分濾波及轉(zhuǎn)換電路濾波放大后轉(zhuǎn)換成數(shù)字信號(hào)反饋給STM32F103芯片,由控制芯片STM32F103根據(jù)血氧飽和度的計(jì)算公式測(cè)量出人體的血氧飽和度值。本文設(shè)計(jì)的血氧飽和度的電路框圖如3所示。
圖3 人體多生理參數(shù)監(jiān)護(hù)儀血氧飽和度電路框圖
本文設(shè)計(jì)的血氧飽和度采集電路可以同時(shí)采集到人體指端的容積脈搏波信號(hào),通過提取兩個(gè)相鄰脈搏波波峰點(diǎn)的采樣點(diǎn)數(shù),設(shè)為n,根據(jù)本文指端脈搏波采集設(shè)置的采樣時(shí)間T=0.007s,即可計(jì)算出人體的心率值(Heart Rate,HR),HR的計(jì)算公式[10]如公式(1)所示。
本論文設(shè)計(jì)體溫測(cè)量電路由測(cè)溫電橋電路、電壓基準(zhǔn)電路和差分放大反饋電路組成,其電路框圖如圖4所示。
圖4 人體多生理參數(shù)監(jiān)護(hù)儀體溫測(cè)量電路框圖
溫度變化在較小范圍內(nèi)時(shí),利用高精度鉑電阻PT100的阻值與溫度良好的線性關(guān)系(式2)與其他四個(gè)精密電阻組成測(cè)溫電橋電路[11],電壓基準(zhǔn)電路由電壓基準(zhǔn)芯片REF3030和相應(yīng)電路組成,主要功能為測(cè)溫電橋電路提供3.0 V標(biāo)準(zhǔn)基準(zhǔn)電壓,測(cè)溫電橋電路測(cè)出電阻值由差分放大電路由差分放大反饋放大后,經(jīng)模數(shù)轉(zhuǎn)換電路轉(zhuǎn)換成數(shù)字信號(hào)反饋給控制芯片STM32F103。
根據(jù)公式(2),即可計(jì)算出人體的體溫值T,如公式(3)所示。
當(dāng)鉑電阻的溫度為0℃時(shí),其阻值為100 Ω[12],PT100阻值Rt與溫度T的線性系數(shù)A為0.385。
人體生理參數(shù)信息采集后保存在存儲(chǔ)器內(nèi),當(dāng)STM32F103檢測(cè)到所有數(shù)據(jù)采集完成后,把血壓、血氧飽和度、心率和體溫通過串口 UART依次發(fā)送到Wi-Fi模塊ST-MW-08 S,Wi-Fi模塊ST-MW-08 S將接收到的數(shù)據(jù)信息上傳至服務(wù)器[13]。Wi-Fi模塊的工作參數(shù)和工作方式可以通過串口軟件實(shí)現(xiàn)配置,Wi-Fi模塊ST-MW-08 S內(nèi)部集成了Wi-Fi的驅(qū)動(dòng),同時(shí)支持 ARP、ICMP、UDP、TCP/IP、DHCP 客戶端以及 DHCP 服務(wù)器等諸多協(xié)議,具備多路通用 I/O的輸入輸出接口,編程方便等優(yōu)點(diǎn)[14]。
本文設(shè)計(jì)的監(jiān)護(hù)儀遠(yuǎn)程監(jiān)測(cè)系統(tǒng)是一款基于Android手機(jī)的APP軟件,它可以實(shí)現(xiàn)醫(yī)生注冊(cè)、登錄,多病人歷史信息查詢、顯示,病人生理參數(shù)信息數(shù)據(jù)保存和查詢到的病人生理參數(shù)信息的語(yǔ)音播報(bào),該APP軟件結(jié)構(gòu)框圖如圖5所示。
圖5 監(jiān)護(hù)儀遠(yuǎn)程監(jiān)測(cè)系統(tǒng)框圖
有注冊(cè)權(quán)限的醫(yī)生信息會(huì)預(yù)先保存在數(shù)據(jù)庫(kù)中,當(dāng)醫(yī)生首次登陸時(shí),軟件會(huì)提示醫(yī)生填寫注冊(cè)信息,注冊(cè)信息包括用戶名(真實(shí)姓名)、手機(jī)號(hào)、密碼及性別的選擇,當(dāng)醫(yī)生的信息與數(shù)據(jù)庫(kù)中的信息匹配時(shí),才能注冊(cè)成功。當(dāng)醫(yī)生注冊(cè)成功后,可通過用戶名和密碼實(shí)現(xiàn)登陸,若登陸信息忘記時(shí),可以通過手機(jī)號(hào)找回密碼,本文設(shè)計(jì)的App軟件的注冊(cè)、登錄界面如圖6所示。在設(shè)計(jì)注冊(cè)界面時(shí),添加了4個(gè)TableRow 表格行,在其中添加了4個(gè)TextView文本框 和4個(gè)EditText 編輯框控件,分別用來(lái)顯示和填寫用戶名、手機(jī)號(hào)、密碼和確認(rèn)密碼。在EditText 控件中的 android:singleLine = “true”表示單行輸入文本, android:inputType= “password” 表示輸入的內(nèi)容為密碼,并用 “ . ” 代替輸入的內(nèi)容,避免密碼泄露。設(shè)計(jì)登錄界面時(shí),添加了2個(gè)TableRow 表格行,在其中添加了2個(gè)TextView文本框 和2個(gè)EditText 編輯框控件。
圖6 遠(yuǎn)程監(jiān)測(cè)系統(tǒng)注冊(cè)及登錄界面
該功能采用通過POST的請(qǐng)求方法同服務(wù)器進(jìn)行交互,POST請(qǐng)求是把所有的要訪問服務(wù)器提交的數(shù)據(jù)放在請(qǐng)求的請(qǐng)求體當(dāng)中,POST向服務(wù)器提交的數(shù)據(jù)沒有限制,可以大數(shù)據(jù)訪問數(shù)據(jù)庫(kù)數(shù)據(jù)。要實(shí)現(xiàn)POST請(qǐng)求,需在Manifest文件中注冊(cè)打開訪問網(wǎng)絡(luò)的權(quán)限:<uses-permission android:name =“android.permission.INTERNET” />, 輸 入 病人名字后,點(diǎn)擊查詢按鍵,界面會(huì)跳轉(zhuǎn)到病人生理參數(shù)信息顯示界面,該界面會(huì)從上到下依次顯示從服務(wù)器上獲得的人體血壓、血氧飽和度、心率和體溫值,該界面如圖7所示。
醫(yī)生通過輸入病人的姓名和床號(hào)查詢病人的生理參數(shù)信息,通過POST方式將提交到服務(wù)器數(shù)據(jù)轉(zhuǎn)換為JSON格式數(shù)據(jù)字符串,代碼如下:
在主程序中利用text.setText("" + value)顯示從服務(wù)器上返回的數(shù)據(jù),其中text為定義的血壓、血氧飽和度、心率和體溫生理參數(shù),value為從服務(wù)器上返回的生理參數(shù)數(shù)據(jù)。
點(diǎn)擊圖7界面上的保存按鍵,程序會(huì)檢測(cè)手機(jī)本地的SD卡是否已準(zhǔn)備好,若SD卡已準(zhǔn)備就緒,系統(tǒng)內(nèi)部程序利用File sdCardDir = Environment.getExternalStorageDirectory()得到SD卡根的目錄,在SD卡的data文件夾下創(chuàng)建以病人名字命名的文件夾,程序如下所示:
圖7 遠(yuǎn)程監(jiān)測(cè)系統(tǒng)查詢到的生理參數(shù)顯示界面
病人的基本信息及生理參數(shù)信息會(huì)以日期+時(shí)間.txt文檔的命名形式保存在手機(jī)的內(nèi)部存儲(chǔ)卡中,獲得當(dāng)前日期及時(shí)間的方法的程序如下:
獲得當(dāng)前日期的方法:
圖8 保存在SD中的病人信息文檔及生理參數(shù)信息
醫(yī)生查看病人信息時(shí),可以選擇打開語(yǔ)音播報(bào)功能,打開后該APP軟件會(huì)自動(dòng)播報(bào)病人的信息,當(dāng)醫(yī)生忙碌無(wú)法觀看手機(jī)時(shí),該功能可以方便醫(yī)生了解病人的情況。默認(rèn)情況下,Android平臺(tái)無(wú)法實(shí)現(xiàn)中文到語(yǔ)音的轉(zhuǎn)換,必須安裝中文文字轉(zhuǎn)換語(yǔ)音Text To Speech(TTS)的語(yǔ)音包,并將該包引入到所建工程的buildPath中。導(dǎo)入第三方科大訊飛語(yǔ)音包的方法是右鍵工程,選擇Build path,Configure Build Path,選擇libraries選項(xiàng)卡中選擇右側(cè)的Add External JARs,然后選擇要導(dǎo)入的第三方的jar 包,點(diǎn)擊“確定”,語(yǔ)音jar包會(huì)被一起打包到apk中,本文采用第三方科大訊飛開發(fā)提供的TTS語(yǔ)音包,導(dǎo)入工程后如圖9所示,下載并安裝訊飛語(yǔ)音APK軟件,安裝成功后,在語(yǔ)音設(shè)置選項(xiàng)中打開系統(tǒng)識(shí)別接口、設(shè)置發(fā)音的方式、語(yǔ)速和音效,如圖10所示。
圖9 工程中導(dǎo)入訊飛語(yǔ)音包
圖10 安裝訊飛APK后及語(yǔ)音設(shè)置界面
當(dāng)醫(yī)生打開語(yǔ)音播報(bào)功能后,即可實(shí)現(xiàn)對(duì)病人信息的語(yǔ)音播報(bào)功能,語(yǔ)音播報(bào)的程序如下:
實(shí)驗(yàn)者靜息5 min待身體完全放松后,采用醫(yī)院常用的邁瑞PM 7000監(jiān)護(hù)儀作為參照,分別用本文設(shè)計(jì)的監(jiān)護(hù)儀和邁瑞PM 7000監(jiān)護(hù)儀采集10名實(shí)驗(yàn)者的血壓、心率、血氧飽和度和體溫值。
利用Bland-Altman方法[15]對(duì)兩種儀器測(cè)量的血壓值進(jìn)行一致性分析,分析結(jié)果是這10個(gè)數(shù)據(jù)均在一致性界限以內(nèi),其中收縮壓和舒張壓兩者差值的均值和標(biāo)準(zhǔn)差分別為 -0.6000和-0.9000, 1.5793和 1.7640,收縮壓和舒張壓的95%一致性界限分別為(-3.6954,2.4954)和(-4.3575,2.5575)。兩種儀器測(cè)出的10名實(shí)驗(yàn)者的心率的相關(guān)系數(shù)r=0.9830;血氧飽和度數(shù)據(jù)的最大絕對(duì)誤差為1,最小絕對(duì)誤差為0,最大相對(duì)誤差為1.01%;體溫值的最大絕對(duì)誤差為0.5℃,最小絕對(duì)誤差為0,最大相對(duì)誤差為1.43%。
血壓實(shí)驗(yàn)數(shù)據(jù)分析說明本論文設(shè)計(jì)的監(jiān)護(hù)儀測(cè)出的血壓值與邁瑞PM7000監(jiān)護(hù)儀測(cè)出的血壓具有很好的一致性。兩種儀器測(cè)出的HR的相關(guān)性很大,說明本文設(shè)計(jì)的監(jiān)護(hù)儀測(cè)出的HR具有很高的準(zhǔn)確性[16];兩種儀器測(cè)出的血氧飽和度和體溫值的相對(duì)誤差均很小,說明了本論文設(shè)計(jì)的監(jiān)護(hù)儀測(cè)出的血氧飽和度和體溫值具有很高準(zhǔn)確性,符合人體生理參數(shù)測(cè)量的要求。
本文設(shè)計(jì)出了一款人體多生理參數(shù)的監(jiān)護(hù)儀及遠(yuǎn)程監(jiān)測(cè)系統(tǒng),監(jiān)護(hù)儀硬件部分能夠快速測(cè)準(zhǔn)確測(cè)出人體的血壓、血氧飽和度、心率和體溫值,利用邁瑞PM 7000監(jiān)護(hù)儀作為對(duì)比,分析了10名實(shí)驗(yàn)者的測(cè)試數(shù)據(jù),結(jié)果證明了本文設(shè)計(jì)的監(jiān)護(hù)儀測(cè)量人體生理參數(shù)的可靠性和準(zhǔn)確性,并實(shí)現(xiàn)了將病人基本信息和生理參數(shù)信息上傳到服務(wù)器。本文設(shè)計(jì)的遠(yuǎn)程監(jiān)測(cè)系統(tǒng)Android手機(jī)APP軟件,實(shí)現(xiàn)了從服務(wù)器上查詢病人歷史信息并顯示,實(shí)現(xiàn)了病人信息保 存到本地SD卡功能,實(shí)現(xiàn)了病人信息的語(yǔ)音播報(bào)功能,達(dá)到了本文設(shè)計(jì)的要求。