教學課程:透過 Azure IoT 中樞接收裝置訊息
醫療技術服務可以從您在 Azure IoT 中樞中透過 IoT 中樞建立和管理的裝置接收訊息。 本教學課程使用 Azure Resource Manager 範本 (ARM 範本) 和 [部署至 Azure] 按鈕來部署醫療技術服務。 此範本也會部署 IoT 中樞來建立和管理裝置,並將裝置訊息路由傳送至事件中樞,以供醫療技術服務讀取和處理。 在裝置資料處理之後,FHIR® 資源會保存在 FHIR 服務中,此服務也會包含在範本中。
提示
若要瞭解 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] 按鈕:
設定部署
在 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 服務之人員的物件識別碼。
裝置對應:您可以保留預設值以用於本教學課程。
目的地對應:您可以保留預設值以用於本教學課程。
選取 [檢閱 + 建立] 以驗證您的設定。
在 [檢閱 + 建立] 中,檢查範本驗證狀態。 如果驗證成功,範本會顯示 [驗證通過]。 如果驗證失敗,請修正錯誤訊息中指出的詳細資訊,然後再次選取 [檢閱 + 建立]。
驗證成功之後,若要開始部署,請選取 [建立]。
在幾分鐘內,Azure 入口網站會顯示您的部署已完成的訊息。
重要
如果您要允許從多個服務存取事件中樞,則每個服務都必須有自己的事件中樞取用者群組。
取用者群組能讓多個取用應用程式擁有自己的事件串流檢視,以及按照自己的步調及運用自己的位移自行讀取串流。 如需詳細資訊,請參閱取用者群組。
範例:
存取相同事件中樞的兩個醫療技術服務。
醫療技術服務和存取相同事件中樞的儲存體寫入應用程式。
檢閱已部署的資源和存取權限
部署完成時,會建立下列資源和存取角色:
事件中樞命名空間和事件中樞。 在此部署中,事件中樞名為 devicedata。
事件中樞取用者群組。 在此部署中,取用者群組名為 $Default。
[Azure 事件中樞資料傳送者] 角色。 在此部署中,傳送者角色名為 devicedatasender,而且可用來使用共用存取簽章 (SAS) 提供事件中樞的存取權。 若要深入了解使用 SAS 進行授權,請參閱使用共用存取簽章授與對事件中樞資源的存取權。 本教學課程中未使用「Azure 事件中樞資料傳送者」角色。
IoT 中樞,其訊息路由已設定為將裝置訊息路由至事件中樞。
使用者指派的受控識別,可提供從 IoT 中樞傳送至事件中樞的存取權。 受控識別在事件中樞的存取控制區段 (IAM) 中具有「Azure 事件中樞資料傳送者」角色。
健康資料服務工作區。
健康資料服務 FHIR 服務。
已啟用系統指派的受控識別健康資料服務醫療技術服務,並授與下列存取角色:
針對事件中樞,Azure 事件中樞資料接收器存取角色會指派在事件中樞存取控制區段 (IAM)。
針對 FHIR 服務,FHIR 資料寫入器存取角色會在 FHIR 服務的存取控制區段 (IAM) 區段中指派。
合規且有效的醫療技術服務裝置和 FHIR 目的地對應。 [解析類型] 設定為 [建立]。
重要
在本教學課程中,ARM 範本會設定醫療技術服務,以建立模式運作。 系統會為每個傳送資料至 FHIR 服務的裝置建立病患資源和裝置資源。
若要瞭解醫療技術服務解析類型 [建立] 和 [查閱],請參閱設定目的地索引標籤。
建立裝置並傳送測試訊息
成功部署資源之後,您會接著連線到 IoT 中樞、建立裝置,並將測試訊息傳送至 IoT 中樞。 完成這些步驟之後,您的醫療技術服務便可以執行以下操作:
- 從事件中樞讀取 IoT 中樞路由測試訊息。
- 將測試訊息轉換成五個 FHIR 觀察。
- 將 FHIR 觀察保存到您的 FHIR 服務。
您可以使用 Visual Studio Code 搭配 Azure IoT 中樞擴充功能來完成這些步驟:
開啟已安裝 Azure IoT Tools 的 Visual Studio Code。
在 Explorer 中的 [Azure IoT 中樞] 底下,選取 [...],然後選擇 [選取 IoT 中樞]。
選取已布建 IoT 中樞的 Azure 訂用帳戶。
選取您的 IoT 中樞。 IoT 中樞的名稱是您在布建資源時提供的 Basename,並且以 ih- 為前綴。 中樞名稱範例是 ih-azuredocsdemo。
在 [總管] 的 Azure IoT 中樞中,選取 [...],然後選擇 [建立裝置]。 裝置名稱範例為 iot-001。
若要將測試訊息從裝置傳送至 IoT 中樞,請以滑鼠右鍵按兩下裝置,然後選取 [將 D2C 訊息傳送至 IoT 中樞]。
注意
在此裝置到雲端 (D2C) 範例中,雲端是 Azure IoT 中樞中接收裝置訊息的 IoT 中樞。 Azure IoT 中樞支援雙向通訊。 若要設定雲端到裝置 (C2D) 案例,請選取 [將 C2D 訊息傳送至裝置雲端]。
在 [傳送 D2C 訊息] 中,選取或輸入下列值:
要傳送訊息的來源裝置:您所建立裝置的名稱。
每部裝置的訊息數:1。
兩則訊息之間的間隔:1 秒。
訊息:純文本。
編輯:清除任何現有的文字,然後複製/貼上下列測試訊息 JSON。
提示
您可以使用下列測試訊息右上角的 [複製] 選項,然後將它貼到 [編輯] 視窗中。
{ "PatientId": "patient1", "HeartRate": 78, "RespiratoryRate": 12, "HeartRateVariability": 30, "BodyTemperature": 98.6, "BloodPressure": { "Systolic": 120, "Diastolic": 80 } }
若要開始將測試訊息傳送至 IoT 中樞的流程,請選取 [傳送]。
選取 [傳送] 之後,FHIR 服務最多可能需要五分鐘的時間才能使用 FHIR 資源。
重要
為了避免裝置到雲端 (D2C) 訊息中的裝置詐騙,Azure IoT 中樞會先使用其他屬性擴充所有裝置訊息,再將訊息路由傳送至事件中樞。 例如:SystemProperties:
iothub-connection-device-id
,Properties:iothub-creation-time-utc
。 如需瞭解詳細資訊,請參閱反詐騙屬性和如何使用 IotJsonPathContent 範本搭配醫療技術服務裝置對應。您不想將此裝置訊息範例傳送至 IoT 中樞,因為 IoT 中樞將會複製擴充,導致您的醫療技術服務發生錯誤。 這隻是 IoT 中樞如何擴充裝置訊息的範例。
範例:
patientIdExpression
只有在 [建立] 模式中的醫療技術服務才需要,不過,如果使用 [查閱],則具有相符裝置識別碼的裝置資源必須存在於 FHIR 服務中。 此範例假設您的醫療技術服務處於建立模式。 本教學課程的 [解析類型] 設定為 [建立]。 如需瞭解目的地屬性 [建立] 和 [查閱] 的詳細咨詢,請參閱設定目的地索引標籤。
檢閱測試訊息中的計量
成功將測試訊息傳送至 IoT 中樞之後,您現在可以檢閱您的醫療技術服務計量。 檢閱計量,以確認您的醫療技術服務已接收、分組、轉換測試訊息,並且已將測試訊息保存至 FHIR 服務。 若要深入瞭解,請參閱如何使用醫療技術服務監視和健康情況檢查索引標籤。
針對您的醫療技術服務計量,您可以看到您的醫療技術服務已完成測試訊息的下列步驟:
- 傳入訊息數目:從事件中樞接收傳入測試訊息。
- 正規化訊息數目:已建立五個正規化訊息。
- 度量數目:已建立五個度量。
- FHIR 資源數目:已建立五個 FHIR 資源,並且這些資源已保存至 FHIR 服務。
在 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 的許可下使用。