蘇偉,李允俊
(延邊大學(xué) 工學(xué)院,延吉 133002)
?
針對特殊人群用藥提醒的醫(yī)聯(lián)網(wǎng)系統(tǒng)設(shè)計
蘇偉,李允俊
(延邊大學(xué) 工學(xué)院,延吉 133002)
摘要:針對現(xiàn)有用藥提醒系統(tǒng)功能單一、操作復(fù)雜、使用地點(diǎn)受限等缺點(diǎn),設(shè)計了一種基于特殊人群的用藥提醒系統(tǒng)。本系統(tǒng)結(jié)合RFID標(biāo)簽、藍(lán)牙模塊以及智能手機(jī),通過STM32單片機(jī)將模塊整合,并設(shè)計醫(yī)院處方服務(wù)器、手機(jī)端的用藥數(shù)據(jù)庫以及語音提醒模塊,實(shí)現(xiàn)了病人刷藥品上的RFID標(biāo)簽后,智能手機(jī)會以語音形式提醒正確用藥的功能。測試結(jié)果表明,本系統(tǒng)功能穩(wěn)定、性能可靠,具有一定的實(shí)用價值。
關(guān)鍵詞:用藥提醒;STM32單片機(jī);RFID;藍(lán)牙
引言
由于老年人認(rèn)知力和記憶力的下降,在用藥時經(jīng)常不能正確地按照醫(yī)囑用藥,對不同的藥很難辨別,經(jīng)常會出現(xiàn)錯誤用藥的現(xiàn)象,而視障人由于視力問題,在用藥時對藥物的辨別很困難,也經(jīng)常會出現(xiàn)錯誤用藥的現(xiàn)象。隨著物聯(lián)網(wǎng)的出現(xiàn)和發(fā)展,其相關(guān)技術(shù)逐步融入到了智慧醫(yī)療領(lǐng)域,目前針對上述特殊人群的用藥提醒應(yīng)用正在興起[1-2]。
本設(shè)計以智能手機(jī)為終端,結(jié)合單片機(jī)技術(shù)、RFID標(biāo)簽識別技術(shù)、藍(lán)牙技術(shù)和嵌入式技術(shù),實(shí)現(xiàn)對特殊人群用藥信息的采集、實(shí)時用藥監(jiān)督以及提醒等功能,改進(jìn)現(xiàn)有用藥提醒設(shè)備功能單一、操作復(fù)雜和使用地點(diǎn)受限等缺點(diǎn),為特殊人群提供方便、準(zhǔn)確、可靠的用藥提醒服務(wù)。
1系統(tǒng)架構(gòu)設(shè)計
用藥提醒系統(tǒng)主要分為手持終端、智能手機(jī)終端和醫(yī)院服務(wù)器端3個部分。手持終端以STM32單片機(jī)為平臺,包括RFID閱讀器模塊和藍(lán)牙通信模塊。智能手機(jī)終端由數(shù)據(jù)庫模塊、數(shù)據(jù)分析模塊、藍(lán)牙模塊和語音提醒模塊4部分組成。醫(yī)院服務(wù)器端負(fù)責(zé)存儲與病人相關(guān)的用藥信息,并提供數(shù)據(jù)源,方便病人下載與自己相關(guān)的用藥信息到手機(jī)數(shù)據(jù)庫。本文設(shè)計的用藥提醒系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
2手持終端設(shè)計
手持終端包括STM32單片機(jī)、RFID模塊和藍(lán)牙模塊。STM32單片機(jī)是手持終端的核心處理模塊,其基本功能是通過驅(qū)動RFID讀卡器讀取RFID標(biāo)簽的內(nèi)容,然后將讀取的內(nèi)容封裝成自定義幀,通過藍(lán)牙模塊發(fā)送到手機(jī)終端。
本系統(tǒng)采用32位的STM32F103ZET6單片機(jī),選擇無操作系統(tǒng)運(yùn)行[3],因此需要配置單片機(jī)時鐘源、中斷等信息,同時需要對RFID讀卡器的GPIO接口、藍(lán)牙模塊的串口進(jìn)行相關(guān)配置,以保證數(shù)據(jù)的正常傳輸。單片機(jī)無操作系統(tǒng)運(yùn)行,需要編寫啟動文件,調(diào)用main()函數(shù)來實(shí)現(xiàn)各項功能,其程序流程圖如圖2所示。
圖2 STM32程序流程圖
其主要匯編程序如下:
① 從外部文件中引入main()函數(shù)
IMPORT_MAIN
② 把main()函數(shù)調(diào)用地址加載到通用寄存器R0
BLX R0=_MAIN
③ 跳轉(zhuǎn)到R0中保存的地址執(zhí)行程序
BXR0
為了保證數(shù)據(jù)在傳送過程中的準(zhǔn)確性,本系統(tǒng)設(shè)計自定義數(shù)據(jù)幀,即在RFID標(biāo)簽信息的基礎(chǔ)之上,添加幀頭以及FCS校驗碼,自定義數(shù)據(jù)幀格式如下所示。
幀 頭RFID標(biāo)簽內(nèi)碼FCS8位64位16位
根據(jù)實(shí)際需求,考慮到RFID標(biāo)簽要貼到每個藥瓶之上,因此選擇了無源125 kHz的RFID,滿足了低成本的要求。藍(lán)牙模塊則是選擇了HC-06型號模塊,該型號藍(lán)牙具有低功耗、高性能和低成本的特征,常用于車載免提、藍(lán)牙GPS和數(shù)據(jù)傳送領(lǐng)域[4-5]。藍(lán)牙模塊和單片機(jī)之間通過串口方式進(jìn)行連接,數(shù)據(jù)經(jīng)過單片機(jī)處理后,通過串口將數(shù)據(jù)傳送到藍(lán)牙模塊。
數(shù)據(jù)通信過程中,手機(jī)藍(lán)牙屬于藍(lán)牙主設(shè)備,主動向藍(lán)牙從設(shè)備發(fā)起連接請求,并進(jìn)行自動配對,配對成功后建立連接,此時,手機(jī)藍(lán)牙主設(shè)備與藍(lán)牙從設(shè)備組成了一個簡單的微微網(wǎng)。
3智能手機(jī)終端設(shè)計
3.1手機(jī)數(shù)據(jù)庫模塊設(shè)計
本系統(tǒng)需要在手機(jī)終端設(shè)計一個存儲病人用藥信息的用藥信息數(shù)據(jù)庫,通過調(diào)用數(shù)據(jù)庫的信息來分析判斷用戶當(dāng)前的狀態(tài),以此實(shí)現(xiàn)對用戶用藥的監(jiān)督與提醒等功能。
客戶端使用安卓系統(tǒng)內(nèi)置的SQLite數(shù)據(jù)庫,用戶用藥信息數(shù)據(jù)庫如表1所列。
表1 存儲用藥信息的數(shù)據(jù)庫
手機(jī)數(shù)據(jù)庫的數(shù)據(jù)來源于醫(yī)院服務(wù)器端的數(shù)據(jù)庫,當(dāng)病人看病時,可將數(shù)據(jù)從醫(yī)院服務(wù)器下載到手機(jī)里,數(shù)據(jù)有更新或者變動時,只要重新從服務(wù)器端下載,進(jìn)行數(shù)據(jù)覆蓋即可。
為了辨別用戶在規(guī)定的時間內(nèi)是否服用了相應(yīng)的藥,本系統(tǒng)設(shè)計了一個日志數(shù)據(jù)庫,用來對用戶的用藥歷史進(jìn)行記錄。當(dāng)用戶服藥時,日志數(shù)據(jù)庫會存儲用戶所服用藥的標(biāo)簽、日期和時間等信息。系統(tǒng)對用戶進(jìn)行提醒時,會先遍歷日志數(shù)據(jù)庫,查看病人服藥的信息,以此判斷哪一條用藥信息需要提醒,哪一條不需要提醒。日志數(shù)據(jù)庫如表2所列。
表2 日志數(shù)據(jù)庫
3.2語音合成模塊設(shè)計
本系統(tǒng)中所實(shí)現(xiàn)的語音提醒功能的關(guān)鍵技術(shù)是語音合成技術(shù)。文本轉(zhuǎn)語音技術(shù)采用科大訊飛的MSP移動語音平臺來實(shí)現(xiàn),其提供的語音合成技術(shù)有兩種:語音合成控件(SynthesizerDialog)及語音合成播放器(SynthesizerPlayer)。本系統(tǒng)采用的是語音合成控件(SynthesizerDialog)方法。
語音合成控件(SynthesizerDialog)主要由創(chuàng)建對象函數(shù)、設(shè)置合成文本函數(shù)、設(shè)置回調(diào)接口函數(shù)、設(shè)置合成音頻采樣率函數(shù)、設(shè)置發(fā)音人函數(shù)、設(shè)置合成語速函數(shù)和設(shè)置合成音量函數(shù)來實(shí)現(xiàn)。
在本系統(tǒng)中,監(jiān)督線程與提醒線程都用到了語音提醒模塊,監(jiān)督線程、提醒線程和語音合成控件通過Handle通信機(jī)制傳遞消息,語音合成控件通過調(diào)用離線語音庫實(shí)現(xiàn)對用戶的語音提醒。其數(shù)據(jù)流圖如圖3所示。
圖3 語音合成模塊的數(shù)據(jù)流圖
3.3用藥管理模塊設(shè)計
用藥管理模塊是整個系統(tǒng)的邏輯分析判斷部分,主要負(fù)責(zé)對整個系統(tǒng)的信息進(jìn)行分析與判斷。首先用藥管理模塊可以讀取手機(jī)數(shù)據(jù)庫中的內(nèi)容并且接收手持設(shè)備終端發(fā)送過來的信息,通過對信息進(jìn)行分析與判斷,對相應(yīng)的情況作出反應(yīng),以此實(shí)現(xiàn)對用戶狀態(tài)的實(shí)時監(jiān)督與提醒功能。
本系統(tǒng)的用藥管理模塊分為監(jiān)控程序和提醒程序兩部分,監(jiān)控部分負(fù)責(zé)對用戶進(jìn)行實(shí)時監(jiān)控,當(dāng)病人用藥時根據(jù)所獲得的藥品標(biāo)簽信息、數(shù)據(jù)庫的內(nèi)容和當(dāng)天的日期時間進(jìn)行分析判斷,若所用藥正確,則語音提醒現(xiàn)在所持藥品的名稱,告知可以食用此藥,并向日志數(shù)據(jù)庫發(fā)送相應(yīng)的信息來記錄某日某時已服用某藥;若所用藥不正確,則語音提醒所持藥品的名稱,告知此時不可食用此藥,并默認(rèn)用戶聽到警告后未食用此藥。若用戶在用藥時未得到任何提醒則需要重新刷藥品標(biāo)簽上的信息。提醒程序根據(jù)用藥信息數(shù)據(jù)庫和當(dāng)日數(shù)據(jù)庫的內(nèi)容對用戶進(jìn)行定時的提醒。其程序流程圖如圖4所示。
圖4 用藥管理程序流程圖
3.4藍(lán)牙通信模塊設(shè)計
手機(jī)終端藍(lán)牙通信模塊負(fù)責(zé)接收手持終端發(fā)送過來的藥品的標(biāo)簽信息。根據(jù)本系統(tǒng)的功能需求,手機(jī)終端的藍(lán)牙模塊應(yīng)與手持終端的藍(lán)牙模塊自動連接并接收數(shù)據(jù)。由于藥品標(biāo)簽在發(fā)送過來時對數(shù)據(jù)包重新進(jìn)行了封裝,因此手機(jī)終端藍(lán)牙接收到數(shù)據(jù)后需要對數(shù)據(jù)包進(jìn)行解析,判斷數(shù)據(jù)是否正確,若正確,用藥管理模塊會讀取數(shù)據(jù)并進(jìn)行相應(yīng)的處理,若錯誤則摒棄數(shù)據(jù)。當(dāng)用戶用藥時未聽到任何提醒,則證明數(shù)據(jù)傳輸錯誤,此時需重新對藥品信息進(jìn)行閱讀并發(fā)送藥品信息。
圖5 藍(lán)牙程序流程圖
由于手機(jī)終端藍(lán)牙模塊與手持終端藍(lán)牙模塊自動連接,因此手機(jī)終端藍(lán)牙程序需要自動設(shè)定PIN,實(shí)現(xiàn)自動連接的功能。藍(lán)牙接收到正確數(shù)據(jù)后,用藥管理模塊需要對數(shù)據(jù)進(jìn)行處理,因此藍(lán)牙模塊配對成功后會創(chuàng)建新的線程負(fù)責(zé)接收與處理數(shù)據(jù)。手機(jī)端藍(lán)牙模塊的程序流程圖如圖5所示。
4醫(yī)院處方服務(wù)器軟件設(shè)計
特殊人群用藥的藥方是從醫(yī)院處方數(shù)據(jù)庫中獲取的,因此,本系統(tǒng)選擇了操作相對簡單、應(yīng)用廣泛的B/S模式完成數(shù)據(jù)庫的下載,即采用Web服務(wù)器的方式。醫(yī)院處方數(shù)據(jù)服務(wù)器架構(gòu)圖如圖6所示。
圖6 醫(yī)院處方服務(wù)器架構(gòu)圖
醫(yī)院處方服務(wù)器包括了手機(jī)端用藥信息數(shù)據(jù)庫和Web服務(wù)器兩部分,醫(yī)生將電子處方以數(shù)據(jù)庫表的形式寫入數(shù)據(jù)庫中,并存儲到醫(yī)院服務(wù)器中,每個病人都有自己獨(dú)立的數(shù)據(jù)庫來存儲信息。
病人通過手機(jī)訪問醫(yī)院數(shù)據(jù)服務(wù)器,獲取醫(yī)生開出的處方信息,下載到本地手機(jī)端。手機(jī)端通過URLConnect提交請求獲取醫(yī)院處方服務(wù)器端的數(shù)據(jù),首先要調(diào)用一個URL對象openConnection()來創(chuàng)建URLConnect對象;然后設(shè)置URLConnect參數(shù)和POST請求屬性;其次獲取URLConnect實(shí)例對應(yīng)的輸出流來發(fā)送請求參數(shù);最后讀取醫(yī)院處方服務(wù)器的數(shù)據(jù)。
5測試與結(jié)果
數(shù)據(jù)的有效傳輸分為兩個部分:第一部分是RFID閱讀器能否正確閱讀標(biāo)簽信息,第二部分是藍(lán)牙能否正確傳輸數(shù)據(jù)。由測試結(jié)果可知,RFID閱讀器能夠在0~5 cm的距離內(nèi)正確閱讀標(biāo)簽信息,藍(lán)牙間數(shù)據(jù)傳輸?shù)恼_率為100%,即手持端設(shè)備運(yùn)行正常,并且可以和手機(jī)設(shè)備進(jìn)行穩(wěn)定的數(shù)據(jù)傳輸。
本系統(tǒng)用PC機(jī)上的Apache服務(wù)器來模擬醫(yī)院服務(wù)器,首先啟動Apache服務(wù)器,然后打開手機(jī)端軟件,界面如圖7(a)所示,手機(jī)界面有默認(rèn)的醫(yī)院服務(wù)器地址,當(dāng)醫(yī)院服務(wù)器地址需要更換時,可通過“設(shè)置ID”按鈕來設(shè)置,最后,通過“獲取用藥信息”按鈕可一鍵獲取用藥信息。圖7(b)為手機(jī)data目錄下已下載的用戶用藥信息數(shù)據(jù)庫。
圖7 數(shù)據(jù)庫下載
本文對用藥提醒系統(tǒng)的監(jiān)督和提醒功能進(jìn)行了測試以驗證系統(tǒng)的準(zhǔn)確率。測試結(jié)果表明,用藥提醒系統(tǒng)對于數(shù)據(jù)的下載、藥品標(biāo)簽的閱讀、數(shù)據(jù)的傳送以及邏輯處理的正確率較高,接近100%。因此,本系統(tǒng)具有較高可靠性及一定實(shí)用價值。
結(jié)語
本系統(tǒng)結(jié)合RFID標(biāo)簽識別技術(shù)、藍(lán)牙通信技術(shù)以及智能手機(jī)APP的開發(fā),設(shè)計了針對老年人和視障人等特殊人群的用藥提醒系統(tǒng)。
參考文獻(xiàn)
[1] 何國平,章笠中,何前鋒.智慧醫(yī)療及醫(yī)療物聯(lián)網(wǎng)應(yīng)用概述[J].電信網(wǎng)技術(shù),2013(8):19-26.
[2] 薛青.智慧醫(yī)療:物聯(lián)網(wǎng)在醫(yī)療衛(wèi)生領(lǐng)域的應(yīng)用[J].信息化建設(shè),2010,5(6):56-58.
[3] 阮曉東.醫(yī)療物聯(lián)網(wǎng)開啟全新醫(yī)療模式[J].新經(jīng)濟(jì)導(dǎo)刊,2014,7(3):36-44.
[4] 王西平.藍(lán)牙無線通信技術(shù)在溫度實(shí)時監(jiān)控中的應(yīng)用[J].信息通信,2014(2):31.
[5] 陳鑫,秦宏偉,陳春雨,等.基于Cortex-M3內(nèi)核的STM32微控制器研究與電路設(shè)計[J].大慶師范學(xué)院學(xué)報,2013(6):44-47.
蘇偉(碩士研究生)、李允俊(教授),研究方向為嵌入式系統(tǒng)應(yīng)用。
Medical Network System for Special Populations to Remind
Su Wei,Li Yunjun
(Institute of Technology,Yanbian University,Yanji 133002,China)
Abstract:Aiming at the problem of the current medication reminder system that the function is sigle,the operation is complex,the use of location is limited,and so on,a new medication reminder system for special population is designed.The system combines with RFID tag,Bluetooth module and the smart phone,which are integrated using STM32 microcontroller.Moreover,the hospital server,the medical information database in mobile and the voice reminding module are also designed.The smart phone will send a voice reminder to use medicine after the patients brushing the RFID tag on the drugs.The experiment results show that the system has the characteristics of high reliability and good stability,which has some practical value.
Key words:medication reminder;STM32 microcontroller;RFID;Bluetooth
收稿日期:(責(zé)任編輯:薛士然2015-08-26)
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A