在 Azure 上建置遠端健康系統

適用於 PostgreSQL 的 Azure 資料庫
Azure Functions
Azure Kubernetes Service (AKS)
Azure 儲存體
Azure 流量管理員

本文說明如何使用 Azure 雲端平臺建 置遠端健康系統

架構

遠端健康系統中所含 Azure 元件的架構概觀。

下載此架構的 Visio 檔案

工作流程

此解決方案是以四大要素為基礎建置,包括:

  • 用戶端
  • 通訊元件
  • API 和商業規則
  • 儲存體和基礎結構服務

在架構圖的左側,有兩組客戶,醫療保健專業人員和病人。 醫療保健專業人員會使用合適的軟體和入口網站用戶端與其患者通訊。 另一方面,患者使用透過 藍牙 連線連結到醫療器械的行動應用程式。 此來回通訊是使用後端服務來達成:

  • 公開的 API
  • 負責工作流程的內部微服務,例如透過 Web RTC 或用戶端對客戶端通訊使用 Signal 的視訊通話。 signal 是 Microsoft ASP.NET 的軟體連結庫,可讓伺服器程式代碼將異步通知傳送至用戶端 Web 應用程式。

這些服務的狀態會保存在數個 Azure 服務中,例如 適用於 PostgreSQL 的 Azure 資料庫。 媒體檔案會儲存在 Azure 記憶體帳戶。 所有服務的記錄都會收集在使用 Azure 應用程式 Insights 的集中式記錄解決方案中。 最後,您可以使用 Azure 通知中樞協助,透過推播通知在客戶端之間達成異步通訊。

解決方案已透過下列方式設定:

  • 受益於在後端執行的雲端服務延展性。

  • 提高小組建置解決方案的自主權。 每個小組都會監督功能網域,並推動其元件的演進。 由於功能網域不會重疊,因此每個小組都可以以自己的步調進行創新。 此外,由於服務的程式代碼基底是獨立的,因此會簡化整個解決方案的 CI/CD 管線。

  • 建置微服務之間功能散發所需的服務間通訊和協調機制。 本檔所述的解決方案會使用 Azure Cache for Redis 來完成這項工作。

  • 達成集中監視,並增強針對解決方案進行疑難解答的能力。

  • 簡化秘密、認證、憑證和密鑰的管理,利用受控識別來保護服務之間的通訊。

元件

  • 適用於 PostgreSQL 的 Azure 資料庫 儲存使用者(患者和醫療保健專業人員)和裝置相關數據。 因為服務穩定、輕量且沒有廠商鎖定,所以已選擇此服務。
  • Azure Kubernetes Service 會裝載應用程式商業規則,並提供輕鬆的部署和自定義彈性。 服務也會從下面使用的實際硬體中擷取解決方案。
  • Azure Cache for Redis 會裝載用於服務內部數據(共用數據)的暫存數據。 如果數據從快取過期,可以從資料庫重新建立服務
  • Azure 通知中樞 會通知患者傳入內容:聊天、視訊通話、裝置組態設定。
  • Azure Functions 會排程工作。 例如,對大量使用者的廣泛通訊,協調分析工作在後端 (匯總...)。
  • Azure 應用程式 Insights 會集中來自系統的訊號/事件(來自微服務、前端和裝置記錄的記錄、遙測數據),以進行疑難解答。
  • Azure 內容傳遞網路 (CDN) 用於維護和更新(傳遞 java 腳本檔案)至入口網站,以及透過入口網站傳遞媒體檔案(影片、影像)。 此內容全都會儲存在背景的 Azure 記憶體帳戶中。
  • Azure 流量管理員 地理位置之間的負載平衡。
  • Azure SignalR 可讓伺服器程式代碼將異步通知傳送至用戶端 Web 應用程式。 用戶裝置可以在標準進階模式中設定。

替代項目

在資料庫端,可以使用任何其他 PaaS 資料庫服務。 裝載應用程式邏輯,而不是使用 Azure Kubernetes Service 時,您可以考慮使用 Azure App 服務。

案例詳細資料

詳細數據是以真正的客戶實作為基礎,將專業醫療保健組織與其遠端患者聯繫起來。 雖然還有其他方法可以建置這類系統,但所述的解決方案已成功啟用患者與其遠端護理提供者之間的通訊,以及從遠端調整患者攜帶的醫療設備。

約有7億人患有聽力障礙。 然而,只有10%的人使用助聽器來改善他們的生活。 在某些地理位置或情況下,患者不可能在需要時獲得直接協助。 例如,請考慮下列專案的患者:

  • 需要特定聽證情況的説明(例如,在公園散步、參加聚會或在家裡),這不能在聽證護理專業人員辦公室重現。
  • 有行動問題,或與聽力護理專業人員保持距離。
  • 生活在一個新興的國家/地區,有有限的聽力護理專業人員。

為了克服這些困難,必須能夠遠端提供聽力護理服務。 在此情況下,醫療保健專業人員會使用聊天或視訊通訊來與遠端患者互動。 人員 聽力困難的人使用智慧手機允許在遠端會話期間訪問助聽器設備。 當聽力護理專業人員即時部署對助聽器裝置的設定進行變更時,患者會立即體驗改善聽力。

潛在的使用案例

此解決方案適用於醫療保健產業。 下列其他使用案例具有類似的設計模式:

  • 任何啟用 藍牙的裝置都可以使用這類解決方案來存取及遠端調整。
  • 遠端設置/內容中的通訊(文字、語音、視頻)或知識交流(教育、滿意度調查)。
  • 全域散發的 Web 內容管理。
  • 物聯網 (IoT)

模式

標準模式

在標準模式中,適合的軟體會準備通知,其中包含裝置的一些組態 JSON 檔案或內容。 接著會將通知傳遞至 Azure 通知中樞,以將通知推送至用戶的電話。

進階模式

在進階模式中,助聽器專業人員會使用配件軟體將詳細的設定推送到裝置。 這需要後端與裝置之間的穩定且可靠的連線,SignalR 是使用 WebSockets 達成的。 用戶的電話位於此通道的接收端。 從電話中,藍牙 聯機會建立與裝置的最終通訊連結。

考量

這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework

建議您在不同的叢集前面使用流量管理員,以將區域之間的延遲優化,並在叢集無法使用時作為後援機制。 針對資料庫,我們建議針對需要載入和匯總大量數據的查詢使用只讀複本。 我們建議使用內容傳遞網路 (CDN) 全域傳遞靜態 Web 檔案(.html、.js、影像等),透過快取來改善速度。

部署

部署此案例時要考慮的最重要層面是協調跨雲端式後端和前端(電話/裝置)的部署。 請考慮使用功能旗標的概念來達成此目的。

管理

為了更符合使用特定微服務來處理每個功能域的想法,長期而言,有機會將資料庫分割成數個較小的資料庫。 這樣做可讓與每個微服務相關的流程原則隔離和自主性,而不是將所有服務相關的數據集中到單一資料庫。 達成此目標需要自動化布建和管理這些資料庫,這是雲端 PaaS 資料庫服務的核心功能之一。 該資料庫管理層應該整合到解決方案中,以及整合的監視解決方案。

監視

請務必監視每一層,而且每個監視Facet都應該同盟至雲端中的單一貯體。 請務必啟用所有這些記錄和遙測數據點的相互關聯,以確保跨元件和層的整體深入解析。

目前,受監視的層包括:

  • Windows 應用程式(聽覺護理專業桌面上的配件軟體)
  • 裝載的應用程式邏輯
  • 雲端服務

重設大小和調整

請務必將 Azure Kubernetes 叢集的組態優化,以符合隨著一天或地區模式波動的規模需求。 請考慮在 適用於 PostgreSQL 的 Azure 資料庫 中使用讀取複本卸除讀取工作負載(例如匯總查詢)。

使用 PostgreSQL 的 TimescaleDB 擴充功能,可更有效率地處理來自醫療設備的時間相關數據。 請考慮使用向外延展解決方案,例如 適用於 PostgreSQL 的 Azure 資料庫 – 超大規模資料庫 #Citus),藉由布建多個資料庫節點來達到全球規模。

安全性與合規性

安全性可提供針對蓄意攻擊和濫用寶貴數據和系統的保證。 如需詳細資訊,請參閱 安全性要素概觀。

此解決方案會處理 PHI 和個人資料。 因此,請務必使用經過醫療應用程式認證的服務(HIPAA 認證,不僅針對保留在資料庫中的數據,以及記錄和遙測數據)。 如需詳細資訊,請參閱 Microsoft 信任中心的 HIPAA 一節

受控識別應該用於支援這種類型的無密碼驗證的所有 Azure 服務,以簡化密碼管理:AKS、PostgreSQL、Redis 快取、通知中樞、Azure 金鑰保存庫 和 Azure Functions。 請參閱支援 Azure 資源受控識別的所有 服務。

成本最佳化

成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化要素概觀。

對於單一區域中的部署,定價計算機中 提供範例定價資訊

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主要作者:

下一步

若要開始為您的企業實作類似的架構,請考慮建置 Web 服務、資料庫,例如 適用於 PostgreSQL 的 Azure 資料庫 等資料庫,以及 .NET MAUI行動應用程式開發技術和技術。

產品檔案:

即時通訊:

WebRTC 如何在 WebRTC 專案網站上提供行動應用程式即時通訊功能的詳細資訊。

回合伺服器:

使用 Icelink 之類的用戶端連結庫(由手機上的應用程式載入,以及助聽器專業人員桌面的合適軟體)來管理回合伺服器*,以及兩個用戶端之間的連線類型(tcp、udp、p2p)(適合軟體和手機上的應用程式)。 用戶端連結庫:

  • 建立串流通道
  • 建立連線
  • 管理發生錯誤、遺失封包的連線,自動將串流調整為頻寬的變化
  • 在通話期間編碼/譯碼通話(音訊和/或視訊)

*回合伺服器是負責在 VoIP 相關通訊協定中轉譯媒體的網路實體。 在此解決方案中,它們是由 https://xirsys.com/ 全球數個數據中心所裝載。 在相同會話下建立兩個用戶端之間的直接連線。