使用 Bluemix 構建一個安全的 IoT 醫療解決方案,第 1 部分
如果您有一個應用程序,該應用程序可以發送來自您的醫生的關于您的心臟速率和其他醫療統計數據的通知,您會怎么做?這個由兩部分組成的系列教程會介紹一家虛構的醫療中心,該醫療中心要求共享來自數千個心臟監控傳感設備的數據。可穿戴監控設備被插入到一個 Android? 設備中,后者會將傳感器數據發送到內部部署系統。應用程序 (Heart Echoer) 的關于患者的部分會發送心跳數據、心電 (ECG) 圖和呼吸率。該應用程序的關于醫生的部分會接收并顯示該數據,以便對它們進行評估。
在第 1 部分中,您將學習如何使用 Bluemix? 中的 IBM? Watson IoT Platform 安全地將數據從心臟監控設備發送到內部部署醫療系統。患者數據和來自救治醫生的后續通知是通過使用 MQTT 消息協議和 TLS V2.1 傳輸的。該解決方案使用了 Bluemix Secure Gateway 服務來連接到一個企業服務總線 (IBM Integration Bus Healthcare Pack V3.0)。IBM Integration Bus 將消息轉換為 Health Level 7 (HL7) 格式,并將它們存儲在一個企業數據存儲庫中。第 2 部分將展示如何設計和實現該解決方案。
“ Bluemix 中的 Watson IoT Platform 提供了一個將設備和應用程序連接到云的安全方法。 ”
IoT 解決方案的安全挑戰
醫療行業中的 IoT
大型和小型醫療機構都在使用 IoT 工具和設備以獨特的方式徹底改善醫療服務。越來越多的醫療傳感器設備(其中不乏可穿戴設備)開始直接與醫療系統相集成。這些設備包括血糖監測儀、心電監護儀、脈搏血氧儀和血壓計。根據 Gartner 和 McKinsey 的調查,到 2020 年,IoT 會給全球經濟帶來 1.9 萬億美元的收益,或者到 2025 年,IoT 會帶來 2.7 至 6.2 萬億美元的潛在影響。參閱 醫療保健和物聯網 。
IoT 設備產生了大量不安全的數據。因此,安全性可能是希望實施 IoT 解決方案的醫療機構面臨的最大挑戰。無論數據是從智能手機、汽車、家電還是從工業傳感器中傳輸過來的,任何端到端 IoT 解決方案都必須滿足數據保密性、安全性、治理和信任方面的要求。
醫療行業中使用的傳感器設備需要通過使用身份驗證、授權、傳輸層安全(加密通信)和聯邦信息處理標準來保障其安全。因此,在與供應商、外包供應商、相關機構和患者接洽時,技術人員必須關注以下需求:
- 必須安全地存儲和傳輸傳感器設備數據。
- 企業系統必須是安全的,必須經過授權才能訪問設備數據。
- 用來連接軟件和設備的 API 必須是安全的。
閱讀: 保障 Watson IoT Platform 的安全
用于應對安全挑戰的 IBM Watson IoT Platform 服務
Bluemix 中的 Watson IoT Platform 提供了一個將設備和應用程序連接到云的安全方法。當設備已經注冊或生成了 API 密鑰,Watson IoT Platform 會提供身份驗證令牌來建立連接。該服務允許設備通過以下方式安全地建立連接:
- 客戶端 ID 和身份驗證令牌的獨特組合,該組合只有您自己知道。
- 通過 TLS V1.2 建立設備連接。
- MQTT V3.1.1,一個開放標準,允許跨多個平臺和多種語言輕松地實現互操作性。
評估 Bluemix 中的 Watson IoT Platform
用于數據傳輸以及與醫療設備的集成的 IBM Integration Bus Healthcare Pack
IBM Integration Bus Healthcare Pack 構建于 IBM Integration Bus 之上,支持醫療環境中的應用。它包含以下功能:
- 用于解析、路由和轉換消息流中的 HL7 消息的消息模型。
- 用于集成 HL7 臨床應用程序與消息流的輸入和輸出節點。
- 與醫療設備相集成,以便捕獲數據。
- 解決方案中使用的特定于醫療的模式,用于連接醫療應用程序。
- 將數據傳輸到醫療應用程序的數據傳輸。
- 審計活動,以支持患者信息保密性、數據完整性和用戶責任。
- 從消息流中的醫療數據中提取信息的能力,并將該信息發送到數據倉庫進行分析。
醫療場景示例
FictLifeCenter 是一家虛構的位于美國的集中醫療中心。FictLifeCenter 希望每小時一次將數據從心臟監控傳感器設備傳送到其 IT 系統。該中心建議實現 Heart Echoer,這是一個 Android 應用程序,可以插入到監控設備中來捕獲和發送數據。Heart Echoer 有兩個部分:一部分針對醫生,另一部分針對患者。
該應用程序的關于患者的部分會發送心跳、心電波和呼吸率的傳感器數據。該應用程序的關于醫生部分會接收并顯示數據進行評估。它還會列出所有已注冊并分配給該醫生的患者個人資料。患者會將監控設備連接到其胸部,Heart Echoer 應用程序會每小時捕獲一次數據。所捕獲的數據被轉換成行業標準 HL7 格式。然后,通過使用 Watson IoT Platform 服務和 IBM Integration Bus Healthcare Pack 中的消息流,將數據集成到醫療系統中。
FictLifeCenter 的注冊醫生會拉取每位患者的分析報告,檢查患者的心臟狀況。他會評估數據并發送一個通知。患者會收到建議患者是否去咨詢家庭醫生的一則通知。
下圖顯示了醫療解決方案的工作流程順序:
工作流程的順序是:
- 患者可以通過 FictLifeCenter 呼叫中心進行離線注冊并接收登錄憑證。
- 患者將心臟監控傳感器設備連接到他的胸部,并在其移動設備上打開 Heart Echoer 應用程序。設備信息被登記到云中,憑證被本地存儲在移動設備上。注冊是一個一次性的活動,只在患者第一次打開應用程式時需要注冊。
- 患者登錄訪問 FictLifecenter 的 Heart Echoer 服務。他可以選擇一項或多項服務:心跳速率、心電情況和呼吸率。
- 根據每個服務的設置(開或關),傳感器開始采用 HL7 格式每小時向 FictLifeCenter 發送一次心臟健康數據。
- FictLifeCenter 將傳感器醫療數據持續保存到其醫療數據存儲中。
- 醫生使用 Heart Echoer 應用程序來顯示其名下注冊的所有患者的列表。
- 當醫生選中一個患者姓名和日期時,該應用程序會檢索并顯示該患者的分析報告(來自醫療數據存儲)。
- 醫生會評估心臟數據,然后使用該應用程序向患者發送一則通知。該服務的開關在患者的應用程序中必須設置為 ON。
- 患者會收到關于其心臟狀況的通知(OK 或 NOT OK - Visit Doctor)。
Heart Echoer Android 應用程序的用戶界面
Heart Echoer Android 應用程序的用戶界面包括:一個針對患者和醫生的登錄頁面、一個針對患者的服務選擇頁面、一個發送通知的頁面和一個收到通知的頁面。
登錄頁面(患者應用程序)
- 患者通過聯系 FictLifeCenter 的呼叫中心來完成脫機注冊。
- 在患者首次打開 Heart Echoer 應用程序時,已向 Watson IoT Platform 注冊的設備如下圖所示 [1]。傳感器設備必須物理插入移動設備。
- 登錄頁面顯示了 Plug-in Heart Echoer Device 的 ON|OFF 開關。在下圖中,開關被設置為 ON [1]。
- 患者登錄到應用程序,如下圖所示 [2]。
服務選擇頁面(患者應用程序)
- 在登錄后,患者可以查看服務選擇頁面。患者需要將傳感器設備插入移動設備。
- 患者該設備的設置切換到 ON,如下圖所示 [1]。患者選擇他想收到相關通知的一項或多項服務(心跳、心電圖和呼吸),如圖所示 [2]。
- 對于患者選擇的每項服務,傳感器數據被發送到醫療保健中心(以 HL7 消息格式),由醫生進行評估。
- 醫生在評估數據之后會發送一個通知。患者接收該通知,如果 Notification 開關為 ON,患者可以查看結果,如圖中所示 [3]。
- 最初,沒有任何信息顯示在服務通知頁面中,如圖中所示 [4]。
患者選擇頁面(醫生應用程序)
當醫生打開 Heart Echoer 應用程序時,患者選擇頁面就會打開。
- 醫生可以查看其名下注冊的患者的列表。
- 要在一個 PDF 窗口中查看心跳、心電圖和呼吸數據,醫生可以點擊某位患者的報告按鈕,如下圖所示 [1]。
- 然后醫生可以評估該報告。
- 醫生可以選擇患者的姓名(在圖中所示 [2])來查看患者的詳細信息,然后向該患者發送一則通知(OK 或 Not-OK)。
發送通知的頁面(醫生應用程序)
醫生選擇一位患者,查看您該患者的心臟數據報告,評估數據,然后根據患者選擇的服務發送一則通知。
- 在醫生查看患者的詳細信息后,他可以表明他對每個服務的評估結果。
- 如果他對某項服務點擊 x ,那么發送的通知就是 Not OK ,患者需要去看醫生。
- 如果醫生對某項服務點擊復選標記 (?),那么發送的通知就是 OK 。
- 如下圖所示 [1],患者的心電圖有問題,但心跳和呼吸率都是正常的,如圖所示 [2]。
- 醫生可以點擊 Send Notification 向患者發送通知,如圖所示 [3]。
接收通知的頁面(患者應用程序)
患者會收到指示其心臟狀況是否正常的通知(根據他所選擇的心臟監控服務)。
- 在醫生發送通知之后,患者可以查看結果。Notification 開關必須設置為 ON,如下圖所示 [1]。
- 結果是 OK 或 Not OK – Visit Doctor ,如圖所示 [2]。
FictLifeCenter 技術解決方案
FictLifeCenter 醫療解決方案的核心基于 IBM Bluemix 服務的內置技術。它使用了 Watson IoT Platform、SSO、Node-RED 和 Secure Gateway 服務,如下圖所示。Android 應用程序(適用于患者和醫生)和 IBM Integration Bus 是外部系統。它們通過使用底層 MQTT 和 HTTP 協議連接到核心。
架構概述
下圖顯示了醫療解決方案的架構模型。
The sequence of activities is:
- Heart Echoer Android 應用程序(患者和醫生版本)是作為一個設備向 Watson IoT Platform 進行注冊的。注冊信息通過使用 SQLLite 存儲在一個 Android 本地存儲中。
- 在該解決方案中,患者是通過使用 Bluemix SSO 服務和安全斷言標記語言 (SAML) 身份提供者 (IdP) 進行身份驗證的。您可以使用您喜愛的登錄機制。Bluemix SSO 目前不支持移動。
- 患者應用程序:
- 使用設備 ID 和身份驗證令牌連接到 Watson IoT Platform。
- 訂閱特定主題,以接收來自某個醫生的通知。
- 接收來自傳感器設備的心臟傳感器消息,并采用 HL7 格式將它們發布到 Watson IoT Platform。
- Bluemix Node-RED 應用程序通過使用 Watson IoT Platform 輸入節點來接收傳感器數據。應用程序通過使用 MQTT 輸出節點將數據發布到 FictLifeCenter MQTT Broker 端點。
- 該通信使用了 Bluemix 中的 Secure Gateway Service 與一個企業 MQTT Broker 端點。
- IBM Integration Bus 消息流會接收消息,在 IBM Integration Bus Healthcare Pack 的幫助下轉換消息,并將信息存儲在數據庫中。
- Cognos? BI Report Studio 被用于分析轉換后的數據,并準備了一份報告。
- 醫生會訪問某個特定患者的報告并評估數據。
- 醫生使用應用程序,通過一個特定的主題向 Bluemix Watson IoT Platform 發布一則通知。患者應用程序將會接收并顯示該通知。
- 所有 REST API 都被開發和部署到企業應用服務器中。
閱讀: Node-RED
閱讀: 開源 HAPI
組件協作模式
下圖顯示了 FictLifeCenter 解決方案的組件以及它們彼此之間的關系。
下表描述了 FictLifeCenter 解決方案的每個組件。
FictLifeCenter 解決方案組件的描述
名稱 | 描述 |
---|---|
Device Registrar | 向 Bluemix 中的 Watson IoT Platform 注冊 Health Echoer 傳感器設備。將注冊憑證存儲在移動設備的應用程序存儲中。 |
Heart Echoer UI (Patient/Physician) | 針對患者和醫生的基于 Android 的應用程序的用戶界面。 |
Login | 在 FictLifeCenter 醫療中心處理患者身份驗證。 |
Sensor Data Receiver | 收集來自 Heart Echoer 的傳感器數據(心跳、心電圖和呼吸率),并將它們轉換為移動應用程序中的 HL7 消息。 |
Sensor Data Publisher | 將傳感器數據轉換為 HL7 格式,然后使用特定的主題將該數據發布到 Watson IoT Platform。 |
Patient mobile app MQTT Client | 通過使用 TLS,利用用戶 ID 和密碼來安全地連接到 Watson IoT Platform 云服務。 |
Sensor Data Subscriber | 一個 Node-RED 應用程序,它將所有發布的傳感器設備消息都收入到 Watson IoT Platform 服務中。標識患者的移動傳感器信息。 |
Watson IoT Platform Cloud (Bluemix component) | Watson IoT Platform 的云組件。 |
Physician's Notification Subscriber | 訂閱 Watson IoT Platform 云中的特定主題并接收醫生的消息(如果有)。將消息傳遞給 Health Echoer 應用程序,以便獲得患者 UI 組件。 |
Sensor Data Publisher for Enterprise Broker | 通過來自 Bluemix 的 Bluemix Secure Gateway 連接器將傳感器數據(HL7 格式)發布到企業 MQTT Broker。 |
Secure gateway Docker Client (Ready Component) |
一個安裝在企業網絡的 DMZ 服務器中的內置組件。通過 Secure Gateway 服務,使用 Docker 容器功能訪問來自 Bluemix 公共云的企業端點。 |
Sensor Message Subscriber | 訂閱了某個特定主題的 IBM Integration Bus 消息流。接收傳感器消息(HL7 格式),并將消息寫入 WebSphere? MQ 隊列。 |
Sensor Message Parser | 從 WebSphere MQ 隊列中獲取傳感器消息的 IBM Integration Bus 消息流。通過使用 IBM Integration Bus 解析消息。對擴展的結構化查詢語言 (ESQL) 使用 HL7 轉換模式,并將消息存儲在一個數據庫中。 |
Medical Data Storage | 持久性區域,是 Sensor Message Parser 的一部分。用于將解析后的數據存儲到所需的數據庫模式中。 |
Patient Data Storage | 持久性區域,保存患者數據和人口統計詳細信息(例如,患者姓名、ID、住址、家庭醫生 ID 和健康卡 ID)。 |
Patient Data Puller | 從數據庫中檢索某個醫生 ID 的所有注冊患者并顯示列表。 |
Patient Medical Data Report generator | 檢索某位患者的心臟數據,生成一個分析報告并顯示它。 |
Physician's Notification Publisher | 在醫生應用程序中,向 Watson IoT Platform 云發布通知,后者隨后將該通知發送給患者應用程序。 |
Physician Mobile App MQTT Client | 在醫生應用程序中,通過 MQTT 協議,利用用戶 ID 和身份驗證令牌安全地連接到Watson IoT Platform 云。 |
結束語
在本教程(第 1 部分)中,您學習了如何通過使用 Bluemix 中的 IBM Watson IoT Platform,安全地將來自醫療傳感器設備的數據傳輸到企業系統。在示例解決方案中,連接到心臟監控設備的 Android 應用程序將患者的數據傳輸到了一個假想的醫療中心。該解決方案使用了 Bluemix Secure 服務和 IBM Integration Bus Healthcare Pack。在第 2 部分中,您將學習如何設計和實現該解決方案的每個組件。
致謝
作者非常感謝 IBM 認證的 IT 架構師 Jay Patro 和 IBM 認證的 IT 專家 Radha Mohan Dey 對本教程的巨大貢獻,以及他們的重要評論和建議。
相關主題: MessageSight 和移動設備
相關主題: 使用 MessageSight 實現高可用性