首頁 資訊 私人健康助理系統(tǒng):“App+硬件+云端”管理個(gè)人健康

私人健康助理系統(tǒng):“App+硬件+云端”管理個(gè)人健康

來源:泰然健康網(wǎng) 時(shí)間:2024年12月21日 05:33

  隨著“互聯(lián)網(wǎng)+醫(yī)療”模式的應(yīng)用和發(fā)展,“App+硬件+云端”逐漸成為移動醫(yī)療發(fā)展的主流趨勢,越來越多的移動醫(yī)療App內(nèi)置在手機(jī)中來借助傳感器記錄人體指標(biāo)和收集數(shù)據(jù),通過移動醫(yī)療App+智能穿戴設(shè)備為用戶提供自動化的數(shù)據(jù)輸人服務(wù)。這些數(shù)據(jù)為可以提供疾病診斷的智能診斷式移動醫(yī)療App的研發(fā)提供有力支撐,極大提高了醫(yī)療數(shù)據(jù)收集的準(zhǔn)確性和便利性,在未來的醫(yī)藥健康領(lǐng)域必將發(fā)揮更重要的作用。

  本文介紹了個(gè)人健康助理App的設(shè)計(jì)與實(shí)現(xiàn)。調(diào)研市場主流App,通過分析App功能以及界面的優(yōu)缺點(diǎn),結(jié)合現(xiàn)有資源和用戶需求,設(shè)計(jì)出個(gè)人健康助理App的總體架構(gòu),在架構(gòu)的基礎(chǔ)上設(shè)計(jì)代碼并實(shí)現(xiàn),最后完成對App的測試工作。

  系統(tǒng)需求分析

  系統(tǒng)總體功能架構(gòu)分析

  個(gè)人健康助理系統(tǒng)在整體功能結(jié)構(gòu)上將系統(tǒng)分為數(shù)據(jù)、主頁、醫(yī)生個(gè)人四個(gè)模塊,詳見圖1。

  數(shù)據(jù)模塊:主要實(shí)現(xiàn)血壓、血糖等數(shù)據(jù)的記錄,包括手動輸入和自動錄入,將數(shù)據(jù)庫中的數(shù)據(jù)以折線圖形式直觀地顯示出來,以及計(jì)步功能。

  主頁模塊:主要實(shí)現(xiàn)疾病和癥狀的搜索功能,健康資訊即科普類文章的推送,健康提醒功能可以設(shè)置鬧鐘提醒人們按時(shí)吃藥或進(jìn)行測量。

  醫(yī)生模塊:實(shí)現(xiàn)私人醫(yī)生咨詢,用戶可以按科室、地區(qū)、醫(yī)院等查找醫(yī)生,并可向醫(yī)生咨詢問題。

  個(gè)人模塊:實(shí)現(xiàn)了個(gè)人基本信息的獲取,健康檔案中可以查看最近一次的身體情況報(bào)告,在消息中心中可以查看向醫(yī)生咨詢記錄。

  系統(tǒng)功能性需求分析

  經(jīng)過調(diào)研發(fā)現(xiàn),個(gè)人健康助理系統(tǒng)的用戶可分為兩類,分別是醫(yī)生用戶和普通用戶。普通用戶可查詢個(gè)人健康助理各項(xiàng)功能,醫(yī)生用戶需要向普通用戶提供咨詢服務(wù)。

  1.普通用戶需求

  普通用戶通過系統(tǒng)可以完成對健康數(shù)據(jù)的管理,疾病搜索,向醫(yī)生咨詢,查看推送的資訊以及設(shè)置提醒事項(xiàng)。

  2.醫(yī)生用戶需求

  醫(yī)生用戶通過系統(tǒng)可以管理自己的個(gè)人信息,維護(hù)自己的用戶列表。

  系統(tǒng)性能需求分析

  系統(tǒng)可用性:要求保證功能正常使用,所有通信均支持IPv6協(xié)議,界面符合邏輯,便于操作,頁面最長響應(yīng)時(shí)間不超過5秒。系統(tǒng)安全性:要求系統(tǒng)前后端提供密碼加密措施;確保系統(tǒng)和個(gè)人信息的安全;基本的漏洞防范。

  系統(tǒng)總體設(shè)計(jì)

  系統(tǒng)總體技術(shù)架構(gòu)設(shè)計(jì)

  個(gè)人健康助理系統(tǒng)采用MVC架構(gòu),見圖2。MVC模式(Model-View-Controller)是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller)。其中M層處理數(shù)據(jù),業(yè)務(wù)邏輯等;V層處理界面處理的結(jié)果;C層起橋梁作用,控制V層和M層通信來分離視圖和業(yè)務(wù)邏輯。在Android中,對于模型層,我們針對業(yè)務(wù)模型,建立數(shù)據(jù)結(jié)構(gòu)和相關(guān)的類,Model是與View無關(guān),但和業(yè)務(wù)相關(guān),比如對數(shù)據(jù)庫的操作、對網(wǎng)絡(luò)的請求都應(yīng)該在Model里面處理;對于視圖層,使用XML文件進(jìn)行界面的描述;對于控制層,Activity和Fragment一般處理用戶交互問題,它可以讀取視圖層的數(shù)據(jù),并向模型層發(fā)送數(shù)據(jù)請求。

  系統(tǒng)物理拓?fù)浼軜?gòu)設(shè)計(jì)

  個(gè)人健康助理系統(tǒng)中主要有手機(jī)客戶端、檢測設(shè)備、App后臺服務(wù)器、環(huán)信服務(wù)器四類實(shí)體。其中檢測設(shè)備通過藍(lán)牙與手機(jī)客戶端連接,將數(shù)據(jù)傳輸至手機(jī),手機(jī)客戶端通過Http協(xié)議與App后臺服務(wù)和環(huán)信服務(wù)器相連,實(shí)現(xiàn)數(shù)據(jù)上傳至服務(wù)器。圖3為系統(tǒng)物理拓?fù)浣Y(jié)構(gòu)圖。

  系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

  系統(tǒng)流程

  經(jīng)過調(diào)研,結(jié)合項(xiàng)目需求與現(xiàn)有資源,本文設(shè)計(jì)出如下系統(tǒng)流程。首先,用戶打開App進(jìn)入登錄頁面,用戶可根據(jù)需要登入或注冊新用戶;用戶登入后進(jìn)入主界面。主界面分為四個(gè)Tab,依次為數(shù)據(jù),首頁,醫(yī)生和個(gè)人。在數(shù)據(jù)界面,可選擇需要測量種類進(jìn)行測量或記錄,查看步數(shù)以及最近一次的測量數(shù)據(jù)。當(dāng)點(diǎn)擊某一項(xiàng)數(shù)據(jù)時(shí),可以在新的頁面顯示更多該項(xiàng)數(shù)據(jù)以及它的圖表;在首頁界面,可以通過搜索框搜索疾病,查看健康資訊以及設(shè)置健康提醒;在醫(yī)生界面,顯示各個(gè)科室的列表,當(dāng)點(diǎn)擊具體科室可以顯示此科室的醫(yī)生列表,此外,還可以通過位置和排序方式進(jìn)一步篩選列表中的醫(yī)生,選中一位醫(yī)生時(shí),進(jìn)入醫(yī)生詳情界面,在此界面可以查看醫(yī)生詳情以及咨詢醫(yī)生;在個(gè)人界面,可以對個(gè)人信息進(jìn)行設(shè)置,填寫健康檔案信息、查看醫(yī)生消息等。

  登錄模塊

  客戶端安裝運(yùn)行后進(jìn)入登錄界面。未注冊用戶通過“注冊”按鈕進(jìn)入注冊界面,系統(tǒng)通過EditText獲取用戶名、密碼后,上傳至服務(wù)器,根據(jù)服務(wù)器的返回值來確定用戶是否注冊成功。已注冊用戶輸入用戶名密碼,同樣將用戶名密碼上傳至服務(wù)器,根據(jù)服務(wù)器返回值提示是否登錄成功。

  IPv6協(xié)議支持

  本系統(tǒng)涉及到通信部分有兩種,一種是Android手機(jī)與服務(wù)器之間的通信,另一種是Android手機(jī)與檢測設(shè)備之間的通信。對于前者,Android4.0版本以上的手機(jī)均支持IPv6,同時(shí),還需要在與服務(wù)器通信的過程中使用IPv4/v6兼容API;對于后者,系統(tǒng)使用的藍(lán)牙協(xié)議規(guī)范最低標(biāo)準(zhǔn)設(shè)置為藍(lán)牙4.2標(biāo)準(zhǔn)。藍(lán)牙4.2是藍(lán)牙技術(shù)聯(lián)盟于2014年12月推出的新的規(guī)范,提出了IPv6網(wǎng)絡(luò)支持。

  數(shù)據(jù)模塊

  數(shù)據(jù)模塊包括血壓、血糖等數(shù)據(jù)收集、存儲和圖形化展示。

  數(shù)據(jù)收集包括手動輸入數(shù)據(jù)和通過藍(lán)牙連接設(shè)備自動錄入數(shù)據(jù)。手動輸入通過EditText獲取已輸入的數(shù)據(jù),并判斷數(shù)據(jù)的合理性;自動輸入通過藍(lán)牙連接設(shè)備,藍(lán)牙連接的具體實(shí)現(xiàn)步驟如下:

  首先檢測終端是否支持藍(lán)牙,并判斷藍(lán)牙是否可用。然后,自定義一個(gè)繼承自Service并實(shí)現(xiàn)了BluetoothAdapter.LeScanCallback接口的BleService類,在BleService中實(shí)現(xiàn)BluetoothGattCallback()方法完成藍(lán)牙連接后的回調(diào)。同時(shí),使用Handler實(shí)現(xiàn)藍(lán)牙線程與主線程之間的通信。接著,在主線程中通過bindService()方法啟動BleService,分別通過BleService的MSG_REGISTER關(guān)鍵字注冊藍(lán)牙服務(wù),MSG_START_SCAN關(guān)鍵字掃描藍(lán)牙服務(wù),最后通過MSG_DEVICE_CONNECT關(guān)鍵字連接藍(lán)牙設(shè)備,實(shí)現(xiàn)設(shè)備的連接過程。

  數(shù)據(jù)存儲分為本地存儲和服務(wù)器存儲。本地存儲使用Sqlite實(shí)現(xiàn)。Sqlite的實(shí)現(xiàn)過程如下:

  首先,自定義一個(gè)繼承自SQLiteOpenHelper的DbHelper類,通過實(shí)例化DbHelper類,獲取數(shù)據(jù)庫寫權(quán)限,然后通過表名實(shí)現(xiàn)對數(shù)據(jù)庫表的增刪改查操作;服務(wù)器存儲通過HttpClient類實(shí)現(xiàn),首先對HttpClient類的實(shí)例設(shè)置Url和連接超時(shí)時(shí)間等參數(shù),將數(shù)據(jù)封裝在類型為NameValuePair的List中,然后通過HttpClient實(shí)例的execute()方法獲取服務(wù)器響應(yīng),最后根據(jù)相應(yīng)結(jié)果判斷數(shù)據(jù)是否上傳成功。

  數(shù)據(jù)的圖形化展示使用第三方庫MPAndroidChart和helloCharts實(shí)現(xiàn)圖表的繪制。

  搜索

  搜索功能主要使用貝葉斯網(wǎng)絡(luò)(BayesNetwork)結(jié)構(gòu)實(shí)現(xiàn)。貝葉斯網(wǎng)絡(luò)是一種概率圖型模型,借由有向無環(huán)圖得知一組隨機(jī)變量及其n組條件概率分配的性質(zhì)。用貝葉斯網(wǎng)絡(luò)來表示疾病和其相關(guān)癥狀之間的概率關(guān)系。

  通過JSMILE建立一個(gè)已知結(jié)構(gòu)的有向圖,設(shè)置他們的初始概率以及條件概率,來構(gòu)造一個(gè)由疾病、癥狀節(jié)點(diǎn)構(gòu)成的貝葉斯網(wǎng)絡(luò),如圖4所示。

  圖中的葉子節(jié)點(diǎn)表示癥狀,非葉子節(jié)點(diǎn)表示疾病,用箭頭表示因果關(guān)系,在已知節(jié)點(diǎn)概率以及疾病對應(yīng)癥狀條件概率的情況下,根據(jù)癥狀可以計(jì)算出某些潛在疾病的概率,供用戶參考。

  醫(yī)生咨詢

  醫(yī)生咨詢,主要包括根據(jù)條件篩選醫(yī)生與同醫(yī)生的即時(shí)通訊功能。

  醫(yī)生的篩選通過選擇位置、科室以及排序?qū)崿F(xiàn)。當(dāng)點(diǎn)擊其中一個(gè)選項(xiàng)時(shí),彈出一個(gè)由左右兩個(gè)List組成的兩級列表,以位置為例,左邊列表顯示省列表,右邊列表顯示市列表。根據(jù)選擇的選項(xiàng)篩選出符合條件的醫(yī)生,以列表的形式顯示出來。

  與醫(yī)生的即時(shí)通訊通過第三方的即時(shí)通訊接口“環(huán)信”實(shí)現(xiàn)。消息通信的過程大致如圖4所示。

  用戶之間的消息傳遞,首先發(fā)送到環(huán)信服務(wù)器,環(huán)信服務(wù)器可將消息直接送達(dá)目標(biāo)用戶。同時(shí),App后臺服務(wù)器處理消息回調(diào)并通過RESTAPI返回至環(huán)信服務(wù)器。RESTAPI是一種設(shè)計(jì)風(fēng)格。由于前端設(shè)備層出不窮,包括手機(jī)、平板、桌面電腦、其他專用設(shè)備等,必須要有一種統(tǒng)一的機(jī)制,方便前端設(shè)備與后端進(jìn)行通信。由此而產(chǎn)生了RESTAPI。

  計(jì)步、資訊和鬧鈴

  計(jì)步功能通過Service實(shí)現(xiàn)。在MainActivity中啟動一個(gè)繼承自Service類的StepService類,在StepService類中可以獲取傳感器的實(shí)例,通過傳感器實(shí)例獲取當(dāng)時(shí)的步數(shù)。在計(jì)步界面中,我們通過一個(gè)線程每500ms向傳感器請求更新一次數(shù)據(jù),以期在計(jì)步界面實(shí)時(shí)更新計(jì)步數(shù)據(jù)。每次存在數(shù)據(jù)更新操作或在Activity的生命周期更替時(shí),將計(jì)步數(shù)據(jù)更新至數(shù)據(jù)庫。

  資訊功能通過用戶喜好對用戶設(shè)置標(biāo)簽,服務(wù)器根據(jù)標(biāo)簽向用戶推送相應(yīng)的科普類文章。

  鬧鈴功能通過四大組件之一的BroadcastReceiver實(shí)現(xiàn)。首選自定義一個(gè)類繼承BroadcastReceiver類,并重寫onReceive()函數(shù),在onReceive()函數(shù)中實(shí)現(xiàn)觸發(fā)鬧鈴后的效果。然后在鬧鈴界面完成鬧鈴的注冊,最后通過AlarmManager設(shè)置廣播延遲的時(shí)間。當(dāng)廣播發(fā)出后觸發(fā)onReceive()函數(shù)從而達(dá)到鬧鈴提醒的效果。

  個(gè)人信息

  在健康檔案界面,收集個(gè)人資料、生活習(xí)慣及健康記錄等信息,當(dāng)用戶填寫完成后,通過SharedPreference保存到本地,并上傳至服務(wù)器。在消息中心界面可以查看同醫(yī)生通信的記錄。

  總結(jié)

  個(gè)人健康助理系統(tǒng)能夠管理自身的健康,達(dá)到健康助理的效果。在功能上,App實(shí)現(xiàn)數(shù)據(jù)的記錄及查詢,使用戶隨時(shí)隨地了解自身的健康狀態(tài),醫(yī)生咨詢功能使用戶在有疑慮時(shí)得到專業(yè)的解答,同時(shí)實(shí)現(xiàn)了癥狀-疾病的搜索,并以概率形式展示出來,使用戶了解可能會發(fā)生的疾病及其概率,這也是本項(xiàng)目的一個(gè)創(chuàng)新點(diǎn)。項(xiàng)目的不足之處在于,現(xiàn)在沒有足夠的醫(yī)生資源和疾病數(shù)據(jù),在醫(yī)生咨詢和搜索模塊沒有完整的實(shí)現(xiàn)??偟膩碚f,個(gè)人健康助理系統(tǒng)能夠促進(jìn)個(gè)人的健康,提高人們的健康意識,有著良好的應(yīng)用前景。

  (作者單位南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系)

相關(guān)知識

三體云動SaaS健身管理系統(tǒng)
個(gè)人健康信息管理系統(tǒng)
心理健康大數(shù)據(jù)云平臺(手機(jī)APP端)
老年人健康管理系統(tǒng)方案/APP/小程序/公眾號/網(wǎng)站
個(gè)人健康管理app有哪些
遠(yuǎn)程健康管理系統(tǒng)報(bào)價(jià)
健康管理云平臺系統(tǒng)
健康管理軟件體檢系統(tǒng)心理健康軟件介紹
健康管理系統(tǒng)
智能健康管理終端

網(wǎng)址: 私人健康助理系統(tǒng):“App+硬件+云端”管理個(gè)人健康 http://m.u1s5d6.cn/newsview690563.html

推薦資訊