共用方式為


教學課程:透過 Azure IoT 中樞接收裝置訊息

醫療技術服務可以從您在 Azure IoT 中樞中透過 IoT 中樞建立和管理的裝置接收訊息。 本教學課程使用 Azure Resource Manager 範本 (ARM 範本) 和 [部署至 Azure] 按鈕來部署醫療技術服務。 此範本也會部署 IoT 中樞來建立和管理裝置,並將裝置訊息路由傳送至事件中樞,以供醫療技術服務讀取和處理。 在裝置資料處理之後,FHIR® 資源會保存在 FHIR 服務中,此服務也會包含在範本中。

Diagram of the IoT device message flow through an IoT hub and event hub, and then into the MedTech service.

提示

若要瞭解 MedTech 服務如何以 FHIR 資源的形式將裝置資料轉換成 FHIR 服務,請參閱醫療技術服務裝置資料處理階段的概觀。

在本教學課程中,您將了解如何:

  • 在 Azure 入口網站中開啟 ARM 範本。
  • 為您的部署設定範本。
  • 建立裝置。
  • 傳送測試訊息。
  • 檢閱測試訊息的計量。

提示

若要深入了解 ARM 範本,請參閱什麼是 ARM 範本?

必要條件

若要開始部署並完成本快速入門,您必須具備下列先決條件:

  • 有效的 Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請參閱訂用帳戶決策指南

  • 在 Azure 訂用帳戶中的 [擁有者] 或 [參與者和使用者存取系統管理員] 角色指派。 如需詳細資訊,請參閱什麼是 Azure 角色型存取控制 (Azure RBAC)?

  • 向 Azure 訂用帳戶註冊的 Microsoft.HealthcareApis、Microsoft.EventHub 和 Microsoft.Devices 資源提供者。 若要深入瞭解,請參閱 Azure 資源提供者和類型

  • 已在本機安裝 Visual Studio Code

  • 為 Visual Studio Code 安裝 Azure IoT Tools。 Azure IoT Tools 是擴充功能集合,可讓您輕鬆地連線到 IoT 中樞、建立裝置及傳送訊息。 在本教學課程中,您會使用 Visual Studio Code 中的 Azure IoT 中樞擴充功能連線到已部署的 IoT 中樞、建立裝置,以及將測試訊息從裝置傳送至 IoT 中樞。

當您具備這些必要條件時,即可使用 [部署至 Azure] 按鈕來設定 ARM 範本。

檢閱 ARM 範本

本教學課程中用來部署資源的 ARM 範例可在 Azure 快速入門範例使用 GitHub 上的 azuredeploy.json 檔案來取得。

使用 [部署至 Azure] 按鈕

若要開始在 Azure 入口網站中部署範本,請選取 [部署至 Azure] 按鈕:

Deploy to Azure

設定部署

  1. 在 Azure 入口網站,Azure 快速入門範例的 [基本] 索引標籤上,選取或輸入部署的下列資訊:

    • 訂用帳戶:用於部署的 Azure 訂用帳戶。

    • 資源群組:現有的資源群組,或您可以建立新的資源群組。

    • 區域:用於部署之資源群組的 Azure 區域。 使用資源群組區域自動填滿區域

    • Basename:附加至所部署 Azure 資源和服務名稱的值。 本教學課程中的範例使用的 Basename 為 azuredocsdemo。 您可以選擇自己的 Basename 值。

    • 位置:Azure 健康資料服務支援的 Azure 區域 (此值可以和資源群組所在的區域相同或不同)。 如需可使用健康資料服務的 Azure 區域清單,請參閱依區域提供的產品

    • FHIR 參與者主體識別碼 (可選):Microsoft Entra 使用者物件識別碼,用於提供 FHIR 服務讀取/寫入許可權。

      您可以使用此帳戶來授與 FHIR 服務的存取權,以檢視本教學課程中產生的 FHIR 觀察。 建議您使用自己的 Microsoft Entra 使用者物件識別碼,以便存取 FHIR 服務中的訊息。 如果您選擇不使用 [FHIR 參與者主體識別符] 選項,請清除文字框。

      若要瞭解如何取得 Microsoft Entra 使用者物件識別碼,請參閱尋找使用者物件識別碼 (英文)。 本教學課程中使用的用戶物件識別碼只是範例。 如果您使用此選項,請使用自己的使用者物件識別碼或其他您希望能夠存取 FHIR 服務之人員的物件識別碼。

    • 裝置對應:您可以保留預設值以用於本教學課程。

    • 目的地對應:您可以保留預設值以用於本教學課程。

    Screenshot that shows deployment options for the MedTech service for Health Data Services in the Azure portal.

  2. 選取 [檢閱 + 建立] 以驗證您的設定。

    Screenshot that shows the Review + create button selected in the Azure portal.

  3. 在 [檢閱 + 建立] 中,檢查範本驗證狀態。 如果驗證成功,範本會顯示 [驗證通過]。 如果驗證失敗,請修正錯誤訊息中指出的詳細資訊,然後再次選取 [檢閱 + 建立]。

    Screenshot that shows the Review + create pane displaying the Validation Passed message.

  4. 驗證成功之後,若要開始部署,請選取 [建立]。

    Screenshot that shows the highlighted Create button.

  5. 在幾分鐘內,Azure 入口網站會顯示您的部署已完成的訊息。

    Screenshot that shows a green checkmark and the message Your deployment is complete.

    重要

    如果您要允許從多個服務存取事件中樞,則每個服務都必須有自己的事件中樞取用者群組。

    取用者群組能讓多個取用應用程式擁有自己的事件串流檢視,以及按照自己的步調及運用自己的位移自行讀取串流。 如需詳細資訊,請參閱取用者群組

    範例:

    • 存取相同事件中樞的兩個醫療技術服務。

    • 醫療技術服務和存取相同事件中樞的儲存體寫入應用程式。

檢閱已部署的資源和存取權限

部署完成時,會建立下列資源和存取角色:

  • 事件中樞命名空間和事件中樞。 在此部署中,事件中樞名為 devicedata

    • 事件中樞取用者群組。 在此部署中,取用者群組名為 $Default

    • [Azure 事件中樞資料傳送者] 角色。 在此部署中,傳送者角色名為 devicedatasender,而且可用來使用共用存取簽章 (SAS) 提供事件中樞的存取權。 若要深入了解使用 SAS 進行授權,請參閱使用共用存取簽章授與對事件中樞資源的存取權。 本教學課程中未使用「Azure 事件中樞資料傳送者」角色。

  • IoT 中樞,其訊息路由已設定為將裝置訊息路由至事件中樞。

  • 使用者指派的受控識別,可提供從 IoT 中樞傳送至事件中樞的存取權。 受控識別在事件中樞的存取控制區段 (IAM) 中具有「Azure 事件中樞資料傳送者」角色。

  • 健康資料服務工作區。

  • 健康資料服務 FHIR 服務。

  • 已啟用系統指派的受控識別健康資料服務醫療技術服務,並授與下列存取角色:

  • 合規且有效的醫療技術服務裝置FHIR 目的地對應。 [解析類型] 設定為 [建立]。

重要

在本教學課程中,ARM 範本會設定醫療技術服務,以建立模式運作。 系統會為每個傳送資料至 FHIR 服務的裝置建立病患資源和裝置資源。

若要瞭解醫療技術服務解析類型 [建立] 和 [查閱],請參閱設定目的地索引標籤

建立裝置並傳送測試訊息

成功部署資源之後,您會接著連線到 IoT 中樞、建立裝置,並將測試訊息傳送至 IoT 中樞。 完成這些步驟之後,您的醫療技術服務便可以執行以下操作:

  • 從事件中樞讀取 IoT 中樞路由測試訊息。
  • 將測試訊息轉換成五個 FHIR 觀察。
  • 將 FHIR 觀察保存到您的 FHIR 服務。

您可以使用 Visual Studio Code 搭配 Azure IoT 中樞擴充功能來完成這些步驟:

  1. 開啟已安裝 Azure IoT Tools 的 Visual Studio Code。

  2. 在 Explorer 中的 [Azure IoT 中樞] 底下,選取 [...],然後選擇 [選取 IoT 中樞]。

    Screenshot of Visual Studio Code with the Azure IoT Hub extension with the deployed IoT hub selected.

  3. 選取已布建 IoT 中樞的 Azure 訂用帳戶。

  4. 選取您的 IoT 中樞。 IoT 中樞的名稱是您在布建資源時提供的 Basename,並且以 ih- 為前綴。 中樞名稱範例是 ih-azuredocsdemo

  5. 在 [總管] 的 Azure IoT 中樞中,選取 [...],然後選擇 [建立裝置]。 裝置名稱範例為 iot-001

    Screenshot that shows Visual Studio Code with the Azure IoT Hub extension with Create device selected.

  6. 若要將測試訊息從裝置傳送至 IoT 中樞,請以滑鼠右鍵按兩下裝置,然後選取 [將 D2C 訊息傳送至 IoT 中樞]。

    注意

    在此裝置到雲端 (D2C) 範例中,雲端是 Azure IoT 中樞中接收裝置訊息的 IoT 中樞。 Azure IoT 中樞支援雙向通訊。 若要設定雲端到裝置 (C2D) 案例,請選取 [將 C2D 訊息傳送至裝置雲端]。

    Screenshot that shows Visual Studio Code with the Azure IoT Hub extension and the Send D2C Message to IoT Hub option selected.

  7. 在 [傳送 D2C 訊息] 中,選取或輸入下列值:

    • 要傳送訊息的來源裝置:您所建立裝置的名稱。

    • 每部裝置的訊息數1

    • 兩則訊息之間的間隔1 秒

    • 訊息純文本

    • 編輯:清除任何現有的文字,然後複製/貼上下列測試訊息 JSON。

      提示

      您可以使用下列測試訊息右上角的 [複製] 選項,然後將它貼到 [編輯] 視窗中。

      {
          "PatientId": "patient1",
          "HeartRate": 78,
          "RespiratoryRate": 12,
          "HeartRateVariability": 30,
          "BodyTemperature": 98.6,
          "BloodPressure": {
             "Systolic": 120,
             "Diastolic": 80
          }
      }  
      
  8. 若要開始將測試訊息傳送至 IoT 中樞的流程,請選取 [傳送]。

    Screenshot that shows Visual Studio Code with the Azure IoT Hub extension with the device message options selected.

    選取 [傳送] 之後,FHIR 服務最多可能需要五分鐘的時間才能使用 FHIR 資源。

    重要

    為了避免裝置到雲端 (D2C) 訊息中的裝置詐騙,Azure IoT 中樞會先使用其他屬性擴充所有裝置訊息,再將訊息路由傳送至事件中樞。 例如:SystemPropertiesiothub-connection-device-idPropertiesiothub-creation-time-utc。 如需瞭解詳細資訊,請參閱反詐騙屬性如何使用 IotJsonPathContent 範本搭配醫療技術服務裝置對應

    您不想將此裝置訊息範例傳送至 IoT 中樞,因為 IoT 中樞將會複製擴充,導致您的醫療技術服務發生錯誤。 這隻是 IoT 中樞如何擴充裝置訊息的範例。

    範例:

    Screenshot of an Azure IoT Hub enriched device message.

    patientIdExpression 只有在 [建立] 模式中的醫療技術服務才需要,不過,如果使用 [查閱],則具有相符裝置識別碼的裝置資源必須存在於 FHIR 服務中。 此範例假設您的醫療技術服務處於建立模式。 本教學課程的 [解析類型] 設定為 [建立]。 如需瞭解目的地屬性 [建立] 和 [查閱] 的詳細咨詢,請參閱設定目的地索引標籤

檢閱測試訊息中的計量

成功將測試訊息傳送至 IoT 中樞之後,您現在可以檢閱您的醫療技術服務計量。 檢閱計量,以確認您的醫療技術服務已接收、分組、轉換測試訊息,並且已將測試訊息保存至 FHIR 服務。 若要深入瞭解,請參閱如何使用醫療技術服務監視和健康情況檢查索引標籤

針對您的醫療技術服務計量,您可以看到您的醫療技術服務已完成測試訊息的下列步驟:

  • 傳入訊息數目:從事件中樞接收傳入測試訊息。
  • 正規化訊息數目:已建立五個正規化訊息。
  • 度量數目:已建立五個度量。
  • FHIR 資源數目:已建立五個 FHIR 資源,並且這些資源已保存至 FHIR 服務。

Screenshot that shows a MedTech service metrics tile and test data metrics.

Screenshot that shows a second MedTech service metrics tile and test data metrics.

在 FHIR 服務中檢視測試資料

如果您在部署範本中提供自己的 Microsoft Entra 使用者物件識別碼做為 [FHIR 參與者主體識別碼] 選項的選擇性值,您可以在 FHIR 服務中查詢 FHIR 資源。 根據傳送至 IoT 中樞並由醫療技術服務處理的測試訊息,可以預期在 FHIR 服務中看到下列 FHIR 觀察資源:

  • HeartRate
  • RespiratoryRate
  • HeartRateVariability
  • BodyTemperature
  • BloodPressure

若要瞭解如何取得 Microsoft Entra 存取權杖並檢視 FHIR 服務中的 FHIR 資源,請參閱使用 Postman 存取。 您必須在 Postman 的 GET 要求中使用下列值,才能檢視測試訊息所建立的 FHIR 觀察資源:{{fhirurl}}/Observation

下一步

選擇醫療技術服務的部署方法

醫療技術服務裝置資料處理階段概觀

關於醫療技術服務服務的常見問題

注意

FHIR® 是 HL7 的註冊商標,在 HL7 的許可下使用。