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

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

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

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

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

  系統(tǒng)需求分析

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

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

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

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

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

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

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

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

  1.普通用戶需求

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

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

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

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

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

  系統(tǒng)總體設計

  系統(tǒng)總體技術架構設計

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

  系統(tǒng)物理拓撲架構設計

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

  系統(tǒng)設計與實現(xiàn)

  系統(tǒng)流程

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

  登錄模塊

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

  IPv6協(xié)議支持

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

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

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

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

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

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

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

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

  搜索

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

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

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

  醫(yī)生咨詢

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

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

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

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

  計步、資訊和鬧鈴

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

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

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

  個人信息

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

  總結

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

 ?。ㄗ髡邌挝荒暇┐髮W計算機科學與技術系)

相關知識

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

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

推薦資訊