亞洲健康互聯
優化產業的推手,生醫商機的GPS!

首頁產業資訊醫材報導醫材產業基於樹莓派的無線病床呼叫系統研究與實現

基於樹莓派的無線病床呼叫系統研究與實現

來源 : 中國醫療設備雜誌2020年第3期
update : 2020/05/07
引言
床邊醫療與護理是醫療品質安全的關鍵環節,是醫療過程管理的核心 [1]。即時、快速地將床邊患者的呼叫資訊傳遞給醫護人員,並及時處理,是保障患者安全,減少醫療事故,提高醫護人員工作效率的重要舉措 [2-3]。作為患者與醫護之間直接通訊的載體——病床呼叫系統,顯得尤為重要。現在廣泛使用的病床呼叫系統多以有線方式連接,具體實現方案有以下兩種。

(1)採用數位電路的邏輯門實現解碼-編碼電路,完成信號傳輸 [4]。該類電路穩定可靠、即時性好,但系統擴展性較差、電路由大量的邏輯單元組成,實現複雜、不便於排查故障。

(2) 采 用 二、 四 線 制 方 式 傳 輸 信 號, 如 RS485 或MBUS 匯流排 [5]、或電力載波方式 [6] 傳輸信號,各個模組組建“星型 - 集線器”拓撲網路,通過微處理器(或單片機)將信號編碼成特定格式的協定傳輸 [7]。該設計的缺點是維修不便,當某個模組短路,會導致整個科室的呼叫系統癱瘓;並且,查找短路模組只能逐一斷路排查,費時費力。

另外,有線呼叫系統還存在以下隱患 :當科室的病床發生動態調整時候,有線呼叫系統均需要對所有床號進行逐一重新編排,過程複雜。呼叫系統各個運行獨立的時間模組,會有累積誤差,造成與護士站電腦時間不一致。針對病床呼叫系統存在上述不足,我們提出了一套基於樹莓派(Raspberry Pi,RPi)和 ZigBee 自組網的無線病床呼叫系統。

1 系統框架設計
本文提出的無線病床呼叫系統(圖 1),由主機、副屏、過道屏、門燈、病床呼叫終端和廁所應急終端六部分組成,各部分通過無線傳輸更新狀態。當病床端觸發呼叫時,病床呼叫終端將信號發給主機,主機接收到資料,然後根據智慧定址邏輯判斷,改變對應病房的門燈狀態,將呼叫資訊依次發給副屏,過道屏,實現整個呼叫的過程。廁所應急終端亦有上述類似的傳輸鏈路,不同點在於廁所應急終端呼叫的優先順序高於病床終端呼叫,廁所應急終端呼叫時會優先顯示並臨時遮罩病床終端呼叫,直至廁所應急終端呼叫確認後。

圖1 無線病床呼叫系統

2 核心演算法設計
為了實現無線病床呼叫系統的動態調整床號便捷,呼叫系統時間一致,信號傳輸穩定可靠,我們應用 RPi 作為主機,在 RPi 上設計並實現了智慧編址 - 定址演算法、時間同步演算法和信號碰撞重傳機制。

2.1 智慧編址-定址演算法
無線病床呼叫系統的關鍵問題包括主機如何分辨呼叫請求來源於哪個終端以及主機如何給指定終端發送狀態更新命令。為了解決上述問題,本設計採用 RPi 作為主機,通過運行 Linux 內核的作業系統,設計了一種智慧編址 - 定址演算法。智慧編址 - 定址演算法包括編址演算法和定址演算法兩部分,編址演算法用於主機識別呼叫請求來自哪個終端,定址演算法用於主機給指定終端發送命令。

在設計中,以 ZigBee 的無線模組位址為基礎,定義了一套“無線模組位址 - 房號 - 床號 - 門燈位址”字典(1- 房號、0- 開始床號為 1、3- 結束房號為 4、0x3001- 門燈位址),在軟體編碼中,將每個病房的房號、床號和門燈位址進行的綁定。這個過程實現編址演算法,確保了每個病床呼叫終端和廁所應急終端的呼叫請求能夠被主機識別。當某病床觸發了呼叫(或結束呼叫),呼叫終端會將資料按照一定格式打包發給主機,主機通過起始位址和通道數,計算出床號,更新 GUI 介面。然後,索引到所在的房號,將房號和床號發送到過道屏和副屏同步顯示。最後,匯總當前的廁所應急呼叫和同一病房的其他床號狀態,更新對應的門燈狀態。

智慧定址演算法是指主機給指定終端發送命令的定址實現過程,該演算法同樣基於“無線模組位址 - 房號 - 床號 - 門燈位址”字典清單。定址實現過程 :主機通過遍歷字典清單中定義的起止床號,當檢索到目標床號介於開始床號和結束床號之間,將該字典的主鍵保存,並根據開始床號,計算出通道數。同時,通過主鍵可以索引到目標病床的房號和門燈位址。將房號和床號發送到過道屏和副屏同步顯示 ;最後,匯總當前的廁所應急呼叫和同一病房的其他床號狀態,更新對應的門燈狀態。

智慧編址 - 定址演算法的引入,極大地改善了傳統設計中的單獨燒錄固化程式編址或床邊 - 護士站多次按鍵編址等複雜操作,實現整個系統的編址,並能簡化安裝過程中的房號與床號配置。在動態調整床位的過程中,僅需將調整床號所使用的 ZigBee 無線模組位址修改為新的“無線模組位址 - 房號 - 床號 - 門燈地址”編址列表。同時,相容同一病房大於四個床號的情況,僅需將房號和門燈位址設為與前四張床一致。智慧編址定址模型解析圖如圖 2 所示。

圖2 智慧編址定址模型解析圖

2.2 時間同步演算法
為了確保無線病床呼叫系統時間準確,並與 HIS 的系統時間一致,我們設計了時間自動同步演算法(圖 3)。無線病床呼叫的系統主機開機後,主機發送請求同步指令給護士站電腦獲取 HIS 系統時間,並將獲取的時間設定為本地時間。而且,同步發給過道屏和副屏,確保了系統各個終端時間的一致性和準確性。主機端的同步演算法可以設定某個時間點自動同步,定期消除了各個終端運行的累積偏差。

圖3 時間同步演算法流程圖    注:a. 主機端;b. 終端。

2.3 信號碰撞重傳機制
病床呼叫系統一般需要連接幾十張甚至上百張病床。當多個終端同時觸發呼叫請求時,極易造成信號碰撞的問題,而信號碰撞將導致呼叫符號丟失或遺漏。相比 RF 無線傳輸,ZigBee 協定的底層實現了 CSMA 載波偵聽多路訪問協議 [8],其原理為發射終端在發送資料前先進行載波偵聽,以確認當前使用的通道未被佔用,當偵聽到有其他終端在發送資料時會延時等待,從而有效降低發生衝突的可能性。

為了使主機穩定可靠的回應病床端的呼叫符號,我們基於 CSMA 載波偵聽多路訪問協定,將呼叫終端進一步封裝為一種有回饋信號的呼叫模式,即半雙工握手傳輸機制。當病床端有呼叫符號時,病床端的呼叫終端會按照一定頻率持續發送呼叫符號,直至主機端回饋回信號後,才停止發送呼叫符號,並將呼叫狀態標識燈點亮。同樣,病床端發出結束信號的時候,根據同樣的回饋原理,確保主機和終端狀態一致。基於回饋機制的半雙工通信模型如圖 4 所示。

圖4 基於回饋機制的半雙工通信模型

3 功能模組實現
3.1 無線傳輸設計
現有的無線病床呼叫系統多採用射頻 RF 技術傳輸信號,射頻晶片的工作頻率為 315 MHz,射頻晶片通常頻段與許多 RF 設備頻率相同,較容易產生同頻干擾 [9-10]。當同時有多個呼叫器進行呼叫時會產生信號碰撞、造成呼叫符號丟失、疏漏病房報警[11]。同時,RF傳輸方式的組網能力差,當距離超出點對點傳輸的最大距離時,會發生資料丟包的問題、無法確保資料傳輸的可靠性。

ZigBee 技術是一種新興的近距離、低功耗、低成本、低資料率、低複雜度的雙向無線通訊技術,它是基於 IEEE802.15.4 標準開發的無線協議。近年來,ZigBee技術在無線傳感領域應用非常廣泛 [12-13]。基於 CC2530 的ZigBee 模組內部已經集成了相關的協議。根據設計需求,我們採用點對點方式設計的上述資料傳輸格式包括 :FE- 包頭,07- 資料長度,80- 發送埠,82- 接收埠,16 位元目標位址 - 位址低位元 / 位址高位,BedNo-1 位元組,RoomNo-1位元組,CmdType-1 位元組,FF- 包尾。

一幀完整的資料包,共長 10 位元組。其中,發送埠 1位元組,接收埠為 1 位元組,目標位址為 16 位元二進位,對應2 位元組,床號和房號位元各 1 位元組,命令類型 1 位元組,上述共計 7 位元組,為資料長度;包頭、包尾和資料長度各 1 位元組。

發送埠和接收埠,可用於區分不同類型的信號,如呼叫符號,或者時間同步信號等。

16 位元目標位址為接收端 ZigBee 模組位址。在接收端,16 位元目標位址自動填充為發送方的 ZigBee 模組位址。解包後,根據 ZigBee 模組位址,判斷資料是從哪個終端發出的。

3.2 呼叫終端設計
呼叫終端是本設計中數量最多的模組,分為病床呼叫終端和廁所應急終端兩類。病床終端是安裝在床旁的呼叫終端,包括無線收發模組,單片機最小系統,電源模組和按鍵面板及手柄組成。單片機內部的計時器中斷掃描四個通道的按鍵狀態,直至找到一個下降沿,即當前狀態為低電平,前次為高電平,則認為一次有效按鍵觸發。任何一次有效的按鍵,結合當前是否呼叫的狀態,編碼打包發給主機進行決策。

廁所應急終端亦採用類似病床終端的設計思路,不同在於按鍵手柄換成了具有防水功能的拉線開關。這樣的設計既考慮了廁所的潮濕環境,又充分考慮了病人的便利性。

本設計中,我們在 Altium Design 軟體中完成了呼叫終端 PCB 板設計如圖 5 所示。

圖5 PCB模組設計與實物圖

對於病床呼叫終端,我們設計了一種能同時接 4 張病床的呼叫終端。根據實際的佈線難度,可以選擇安裝 1~4個按鍵手柄到床旁。而且,大於 4 張床的病房,也可以由多個呼叫終端來完成佈線。這樣設計有三個優點 :① 靈活性大,完全從佈線施工角度設計,提高了實際施工的效率;② 能減少終端的數量,直接降低了系統的成本 ;③ 能提高系統的穩定性,對於自組網的 ZigBee 網路而言,每個節點既承擔著資料發送的功能,還承擔著路由的功能,當節點過多,會導致消耗較大的資源在路由功能上,更有甚者會影響資料傳輸的可靠性。

考慮到系統的相容性,無線病床呼叫系統的門燈、過道屏、副屏硬體電路,均複用了上述 PCB 板,縮短了整個設計的研發週期。

3.3 主機設計
本設計將開源硬體平臺的 RPi 作為無線病房呼叫系統主機。RPi 由 RPi 基金會設計,表現為信用卡大小、廉價、基於 ARM 處理器微型電腦、能運行 Linux 系統以及包括HDMI、USB 介面、乙太網埠和 TF 卡等介面 [14-15]。目前,RPi 已廣泛應用于智慧家居、物聯網、多媒體、醫療等領域 [17-18]。在本設計中,將 RPi 的 HDMI 介面接入觸屏顯示器,不需要額外的電路即可完成顯示和交互,操作簡單,能輸出音訊。

無線病房呼叫系統主機採用跨平臺的 Python 語言來實現整個軟體架構。Python 是一種視覺化的、物件導向和採用事件驅動方式的結構化高級程式語言。通過安裝 pyserial模組,調用內部封裝的 API 介面,可以讀寫串口。主架構採用了 PyQt 內部多執行緒技術 [19],一個執行緒負責通過Pyserial 即時讀取無線模組接收的資料(模組接收後存入串口緩衝區),進行解包 ;一個執行緒負責將更新 GUI。GUI 介面顯示即時接入的床號和狀態、系統時間以及最近三次的呼叫資訊。整個開發調試過程分為三步 :① 在 Windows 平臺完成相應的開發調試 ;② 在運行 Linux 平臺的 RPi 主機端配置好相應的庫檔 ;③ 在 RPi 主機上搭建 Samba 伺服器,將Windows平臺調試正常的代碼移植到主機端,並運行。作者任職的惠州市中心人民醫院無線病床呼叫系統的觸屏介面如圖 6 所示。

圖6 無線病床呼叫系統的觸屏介面

基於 RPi 的主機,資料接收與解包、病床呼叫與廁所應急呼叫優先順序判斷以及即時呼叫資訊狀態更新至副屏、過道屏和門燈、聲音提醒、呼叫記錄存儲和走廊時間同步功能均被實現。本系統能在呼叫觸發瞬間記錄下相關資訊,並寫入相關文本文檔中,一方面為醫療行為溯源提供了可參考性,另一方面可以量化呈現護理的工作量,統計呼叫的次數與處理時間等,提升醫療服務水準。

4 系統測試與結果
4.1 自組網路測試
為了測試無線病床呼叫系統的各個模組連接情況,我們在網路中加入了一個嗅探節點 0x1000(如圖 7 中黑色標識所示),通過網路拓撲軟體繪製出各個模組的連接(圖7)。測試發現以下兩點 :① 各個節點均加到網路中,無孤立節點 ;② 各個節點能通過自組網功能,實現全部節點可靠連接。

圖7 系統的網路拓撲圖(黑色為嗅探節點)

4.2 功能測試
根據功能需求,我們從呼叫功能、時間同步、傳輸距離與可靠性等方面,制定了一套測試方案,重點測試其呼叫功能(表 1)。

表1 測試報告(部分)

測試結果表明 :在 150 m 範圍內,無線病床呼叫系統能穩定可靠傳遞呼叫符號,各個模組正常聯動,符合設計預期。連續測試 72 h,主機、過道屏、副屏三者的顯示時間與 HIS 時間累計偏差均小於 1 min,時間準確一致,同步功能正常。

5 結論
本文詳細介紹了基於 RPi 和 ZigBee 的無線病床呼叫系統,包括系統組成、核心演算法設計、功能設計和系統測試等。本研究創新點有 : ① 採用 ZigBee 自組網技術傳輸信號,解決了傳統呼叫系統因短路造成整個網路癱瘓的問題;② 將開源硬體 RPi 應用於呼叫系統的主機,設計了一種智慧編址 - 定址演算法,通過軟體演算法代替人工的編排床號,提高了系統的維護便利性和床位可擴展性 ;③ 設計了時間同步演算法,確保整個系統各個終端的時間一致性和準確性。與目前廣泛使用的病床呼叫系統相比,該系統的優勢是無線化、智慧化。同時,採用基於模組化的開源硬體 RPi 作為主機,也是一種低成本的實現方案。

無線病床呼叫系統已於 2018 年 6 月份在作者任職的惠州市中心人民醫院的感染科上線,替換了科室的有線呼叫系統,試運行穩定可靠 ;並已陸續在肝病科、產科二區等臨床科室完成安裝調試。無線病床呼叫系統安裝效果圖如圖 8 所示。實踐表明,該系統具有成本低廉、可靠性好、穩定性高、佈線方便、易於維護等優點,一方面解決了科室動態調整床位編排複雜、時間不同步等問題,另一方面,提升醫療工作效率和服務品質,保障了醫療安全,有一定的推廣意義。

同時,該系統的研製是物聯網技術在醫療行業應用的一次嘗試,為後續開發急救生命支援類設備定位,輸液報警系統管理 [20],設備開機率監測等奠定了基礎。將進一步推動醫療設備和醫療服務的資訊化、自動化、智慧化的發展。

圖8 無線病床呼叫系統安裝效果圖

[參考文獻]
[1] 陳一君.基於物聯網技術的數位化病床系統研究[J].中國數字醫學,2014,9(9):102-104.
[2] 陳玲,侯詩箐,任博,等.醫療物聯網在病區臨床護理中的應用[J].醫學資訊學雜誌, 2018,39(2):43-46.
[3] 姚文坡,周昂,王娣,等.呼叫器在醫院病房合理配置的研究[J].中國醫療設備,2014,(9):87-89.
[4] 賀娟,熊飛嶠,袁頌嶽.病房呼叫系統的設計與研究[J].微電腦資訊,2012,28(10):266-267.
[5] 魏萊.醫院病房語音呼叫系統設計與實現[D].成都:電子科技大學,2015.
[6] 熊平,雷英俊,徐敏,等.基於低壓電力線的病房呼叫系統[J].醫療衛生裝備,2009,30(11):4-6.
[7] 王廣德,王立忠,劉洪波,等.醫用局域有線呼叫系統的硬體設計[J].吉林師範大學學報(自然科學版),2010,31(2):113-115.
[8] 劉闖,惠曉威.基於CSMA的無線射頻識別防碰撞演算法[J].電腦工程,2011,37(18):284-286.
[9] 張靈芝,吳國華,張群,等.可移動無線病房呼叫器的設計與製作[J].中國實用護理雜誌,2016,32(z1):88-89.
[10] 孫黎明,李雷雨,廖樂,等.基於單片機的無線呼叫系統研究[J].福建電腦,2016,32(6):49-50.
[11] 王國罡.無線病房呼叫系統主控機與可擕式應答器的設計與研究[D].昆明:昆明理工大學,2011.
[12] 吳超,江貴平.基於ZigBee的可擕式睡眠監測儀設計與實現[J].電腦工程與設計,2014,35(2):478-483.
[13] 王世平,王志武,顏國正.基於ZigBee的可穿戴式病房無線監護系統[J].傳感技術學報,2015,28(10):1563-1569.
[14] 張偉,王宜懷.基於Raspberry Pi 3的智慧家居系統設計[J].單片機與嵌入式系統應用,2018,18(2):43-46.
[15] 王琳,雷長海,楊勇驥,等.一種顯微鏡視頻無線示教裝置的設計[J].中國醫療設備,2018,33(12):91-93.
[16] France P.Rasperry Pi le guide de l’utilisateur[J].Pears Schweiz Ag,2013.
[17] Gao L,Wang ZX,Zhou JL,et al.Design of smart home system based on zigbee technology and R&D for application[J].Energy Power Eng,2016,8(1):13-22.
[18] Valliappan CA,Balaji A,Thandayam SR,et al.A Portable real time ECG device for arrhythmia detection using Raspberry Pi[A].MobiHealth 2016: Wireless Mobile Communication and Healthcare[C].Milan:Springer-Cham,2016,177-184.
[19] Summerfield M.Rapid GUI Programming With Python and Qt: The Definitive Guide to PyQt Programming[M].Jersey:Prentice Hall,2008.
[20] 吳鵬,俞衛林,薛以鋒.醫護患智慧呼叫資訊系統的設計與實現[J].中國醫療設備,2015(3):76-78.