成都信息工程大學電子工程學院 張瀚坤 李嘉源 原 暢 范銀玲 黃啟宏
提供一種新型的靜脈輸液監(jiān)測系統(tǒng)設計方案。該系統(tǒng)數(shù)據(jù)采集端采用拉力傳感,精度高且穩(wěn)定性高;其主控芯片選擇集成藍牙、WiFi模塊的ESP32,在擁有強大運算能力的同時又降低了成本;同時在系統(tǒng)中加入如云服務等網(wǎng)絡功能使系統(tǒng)更能夠適應醫(yī)療領域的智能化浪潮。
隨著醫(yī)療領域的科技發(fā)展,越來越多的手段能夠用來提高醫(yī)療服務質(zhì)量和節(jié)約人力成本,其中臨床輸液監(jiān)測系統(tǒng)就是一個典型的例子。在許多發(fā)達國家輸液監(jiān)測已經(jīng)高度自動化,但我國在輸液監(jiān)測系統(tǒng)方面的研究起步較晚,國內(nèi)市場上常見的光電式輸液監(jiān)測系統(tǒng)因為成本和技術(shù)原因而導致測量精度低下,功能單一,已經(jīng)無法滿足各大醫(yī)院的需求。針對現(xiàn)有系統(tǒng)的缺點,本文提供一種新型的輸液監(jiān)測設計方案。
系統(tǒng)工作時,監(jiān)測器上的拉力傳感器會采集掛載的輸液瓶質(zhì)量,實時將數(shù)據(jù)傳至ESP32系統(tǒng)板。ESP32系統(tǒng)板在接收到原始數(shù)據(jù)后會進行計算,并整合從藍牙模塊獲取的第三方數(shù)據(jù)。在ESP32系統(tǒng)板將數(shù)據(jù)整合完畢后,通過WiFi模塊將處理過的數(shù)據(jù)發(fā)送至位于護士站或者監(jiān)測室的管理機。護士能夠通過管理機能夠?qū)ΡO(jiān)測機進行設置,并能從管理機獲取病人信息。管理機定時將數(shù)據(jù)上傳至云服務器,云服務器在后臺能夠?qū)?shù)據(jù)進行分析,從而達到改進醫(yī)療方案的目的,進而推動醫(yī)療事業(yè)的發(fā)展。
輸液監(jiān)測端硬件包括ESP32系統(tǒng)板和HX711拉力傳感器模塊。
本輸液系統(tǒng)病房端主控芯片選用的是ESP32。系統(tǒng)板上集成了藍牙和WIFI模塊,功能強大,用途廣泛,而且功耗較小,其睡眠電流小于5uA,比較適用于因空間有限而多使用電池供電的醫(yī)療設備。
WiFi模塊支持極大范圍的通信連接,也支持通過路由器直接連接互聯(lián)網(wǎng);藍牙模塊可以支持第三方醫(yī)療設備的接入,便于醫(yī)療信息的整合;主控MCU可搭載Freertos實時操作系統(tǒng),并能通過有線連接通訊實現(xiàn)與HX711模塊進行通信。這種多合一的設計能夠有效地減少整個設備的外設數(shù)量以及大小和成本。
ESP-WROOM-32支持的數(shù)據(jù)傳輸速率較快,可實現(xiàn)最大范圍的無線通信。系統(tǒng)板原理圖如圖1所示。
HX711是一款專為高精度稱重傳感器而設計的24位A/D 轉(zhuǎn) 換器芯片。能夠?qū)?.01g的液滴產(chǎn)生反應,完全滿足檢測的精度要求。同時該芯片集成了包括穩(wěn)壓電源、片內(nèi)時鐘振蕩器等外圍電路。有集成度高、 響應速度快、抗干擾性強等優(yōu)點。
圖1 ESP32系統(tǒng)板原理圖
拉力傳感器工作時,應電片粘貼在受力的力敏型彈性元件上,當彈性元件受力產(chǎn)生形變時,應電片產(chǎn)生相應的電阻變化,從而輸出變化的電壓信號。該電壓信號經(jīng)過HX711的轉(zhuǎn)換送入ESP32系統(tǒng)板進行計算。HX711模塊原理圖如圖2所示。
圖2 HX711AD模塊原理圖
圖3 HX711輸出電壓與質(zhì)量關系
通過實驗,繪制出拉力傳感器輸出電壓與質(zhì)量關系圖,如圖3所示。
醫(yī)院輸液袋全重一般在500g以下,實驗結(jié)果表明,在500g的量程下,HX711輸出電壓與質(zhì)量呈線性關系。因此該拉力傳感器可用于輸液時輸液袋質(zhì)量變化的測量。
本系統(tǒng)基于Freertos實時操作系統(tǒng)編寫,共分三大模塊。分別為數(shù)據(jù)采集模塊、藍牙傳輸模塊以及數(shù)據(jù)發(fā)送模塊。
ESP32上的數(shù)據(jù)采集模塊每秒通過串行通信從HX711取出原始數(shù)據(jù),并對原始數(shù)據(jù)進行滑動平均濾波,然后把當前質(zhì)量,以及相較上一秒質(zhì)量的變化量存入全局變量,流程如圖4所示。
圖4 數(shù)據(jù)采集模塊流程圖
3.1.1 計算質(zhì)量
ESP32從HX711處獲取到的數(shù)據(jù)與實際的質(zhì)量數(shù)據(jù)之間滿足斜率特性曲線,因此算出對應傳感器斜率值,即可計算出質(zhì)量。
傳感器斜率值k計算公式:
其中, M為模塊所稱質(zhì)量,單位為kg;5代表的是5kg質(zhì)量的傳感器;128代表著128倍增益;100為單位換算。VBG為1.25V 。
利用砝碼進行標定,精確計算出傳感器斜率值k,即可精確計算出質(zhì)量:
其中M為ESP32測得質(zhì)量;Data為ESP32從HX711處獲取的數(shù)據(jù);k為之前標定的傳感器斜率值。
整個數(shù)據(jù)通信過程主要涉及BLE兩大傳輸協(xié)議,GAP協(xié)議和GATT協(xié)議。GAP協(xié)議主要用于建立連接,GATT協(xié)議主要用于數(shù)據(jù)傳輸。在進行BLE初始化后,ESP32通過GAP協(xié)議與已經(jīng)開始向外廣播自身地址的藍牙手環(huán)進行藍牙配對。配對成功后,ESP32作為中心設備,通過標準characteristic里的Heart Rate Service提供的UUID,進行GATT連接,從而將藍牙手環(huán)里的心跳數(shù)據(jù)傳入ESP32。ESP32內(nèi)搭載的Freertos系統(tǒng),通過事件以及回調(diào)函數(shù),實現(xiàn)上述功能。
每隔一段時間對數(shù)據(jù)進行消抖處理后將各項數(shù)據(jù)存入結(jié)構(gòu)體,然后與目標服務器建立socket連接,將結(jié)構(gòu)體打包發(fā)送,發(fā)送完畢后斷開連接,流程如圖5所示。
圖5 數(shù)據(jù)發(fā)送模塊流程圖
3.3.1 數(shù)據(jù)消抖處理
在整個輸液過程中,由于會存在人為的晃動造成數(shù)據(jù)的抖動,因此在數(shù)據(jù)發(fā)送前加入消抖處理,將異常數(shù)據(jù)消除。設定一個閥值,將此次發(fā)送的數(shù)據(jù)變化量與上一次發(fā)送時的數(shù)據(jù)變化量作比較,若二者的差超過閥值,則放棄此次數(shù)據(jù),否則繼續(xù)發(fā)送。
3.3.2 結(jié)構(gòu)體封裝
因為要往護士站服務器發(fā)送的數(shù)據(jù)有很多項,如心跳值、液量剩余量等。數(shù)據(jù)若沒經(jīng)過整理就會很難處理,通過使用結(jié)構(gòu)體來對要發(fā)送的數(shù)據(jù)進行封裝,方便稍后的socket數(shù)據(jù)發(fā)送,也方便服務器端的數(shù)據(jù)接收。發(fā)送數(shù)據(jù)時通過強制轉(zhuǎn)換使結(jié)構(gòu)體以字符串的形式發(fā)送即可。
護士站服務器軟件選擇的開發(fā)平臺為QT。QT具有極強的可移植性,同樣的程序可實現(xiàn)快速在Windows或者Linux這兩種不同的操作系統(tǒng)上部署。這樣可以忽略不同操作系統(tǒng)對程序設計造成的影響。程序主要分兩大模塊,第一個模塊為數(shù)據(jù)接收模塊,用于接收輸液監(jiān)測端發(fā)送的數(shù)據(jù);第二個模塊為數(shù)據(jù)顯示及報警模塊,將接收到的數(shù)據(jù)進行顯示,并且對異常數(shù)據(jù)進行報警。
創(chuàng)建一個線程,用于監(jiān)聽端口,若有連接請求,響應請求并建立連接,然后開始接收數(shù)據(jù),用與輸液監(jiān)測端處封裝的結(jié)構(gòu)體相同的格式把接收到的數(shù)據(jù)保存下來,從而完成數(shù)據(jù)接收過程。
用戶交互界面主要是在顯示屏上顯示病人個性化信息與當前輸液瓶中液體剩余量,而且當剩余量到達警戒線,或者心跳值異常,會生成的輸液報警信息進行報警。
圖6 護士站效果圖
4.2.1 基本信息顯示
基本信息主要通過QTtableView創(chuàng)建表格來進行數(shù)據(jù)顯示。在完成數(shù)據(jù)接收后,把接收的數(shù)據(jù)傳入tableView中。判斷結(jié)構(gòu)體中的id是否存在于表格中,若已有此id,則進行數(shù)據(jù)更新,若沒有此id,則新建一行并將數(shù)據(jù)分列進行顯示。判斷液量剩余量以及心跳值,若達到報警條件,則標紅對應id的數(shù)據(jù)并置頂進行報警?;拘畔@示效果如圖6所示。
4.2.2 心跳值折線圖
為了更加直觀的觀察輸液過程心跳值的變化,通過基本的繪圖函數(shù)類,創(chuàng)建橫坐標為時間縱坐標為心跳值的坐標系,每次接收到數(shù)據(jù)后,在傳入tableView進行顯示的同時,將心跳值傳入坐標系行標點,以此完成折線圖的繪畫。心跳值折線圖效果如圖7所示。
圖7 心率折線圖
本系統(tǒng)使用阿里云對象存儲服務(Object Storage Service,簡稱OSS)。因為OSS支持直接上傳文件,所以先按照患病的種類,將各個病例輸液時的心率變化圖、輸液針眼圖進行整理然后直接將整理完畢的圖片上傳入云端,實現(xiàn)關鍵數(shù)據(jù)存儲,方便后面進行數(shù)據(jù)分析。
本新型輸液系統(tǒng)設計方案有著智能化、低成本的優(yōu)勢。在功能上有著強大的性能支撐,不僅是一套輸液監(jiān)測系統(tǒng),還能通過整合第三方醫(yī)療數(shù)據(jù)成為新一代的醫(yī)療數(shù)據(jù)平臺。