Tutorial: Empfangen von Gerätenachrichten über Azure IoT Hub

Der MedTech-Dienst kann Nachrichten von Geräten empfangen, die Sie über einen IoT-Hub in Azure IoT Huberstellen und verwalten. Dieses Tutorial verwendet eine Azure Resource Manager-Vorlage (ARM-Vorlage) und eine Schaltfläche Bereitstellen in Azure, um einen MedTech-Dienst bereitzustellen. Die Vorlage stellt außerdem einen IoT-Hub zum Erstellen und Verwalten von Geräten bereit und Nachrichten leiten Gerätenachrichten an einen Event Hub für den MedTech-Dienst zum Lesen und Verarbeiten weiter. Nach der Verarbeitung von Gerätedaten werden die FHIR-Ressourcen® im FHIR-Dienst beibehalten, der auch in der Vorlage enthalten ist.

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

Tipp

Informationen dazu, wie der MedTech-Dienst Gerätedaten transformiert und in den FHIR-Dienst als FHIR-Ressourcen speichert, finden Sie in der Übersicht über die Datenverarbeitungsphasen des MedTech-Dienstgeräts.

In diesem Tutorial lernen Sie Folgendes:

  • Öffnen Sie eine ARM-Vorlage im Azure-Portal.
  • Konfigurieren Sie die Vorlage für Ihre Bereitstellung.
  • Erstellen Sie ein Gerät.
  • Senden sie eine Testnachricht.
  • Überprüfen Sie Metriken für die Testnachricht.

Tipp

Informationen zu ARM-Vorlagen finden Sie unter Was sind ARM-Vorlagen?

Voraussetzungen

Um mit der Bereitstellung zu beginnen und das Tutorial abzuschließen, müssen Sie über die folgenden Voraussetzungen verfügen:

  • Ein aktives Azure-Abonnementkonto. Wenn Sie nicht über ein Azure-Abonnement verfügen, lesen Sie den Leitfaden zur Abonnementauswahl.

  • Rollenzuweisungen von Besitzer oder Mitwirkender- und Benutzerzugriffsadministratoren im Azure-Abonnement. Weitere Informationen finden Sie unter Was ist die rollenbasierte Zugriffssteuerung von Azure (Azure Role-Based Access Control, Azure RBAC)?

  • Microsoft.HealthcareApis, Microsoft.EventHub und Microsoft.Devices-Ressourcenanbieter, die in Ihrem Azure-Abonnement registriert sind. Informieren Sie sich über Azure-Ressourcenanbieter und -typen.

  • Lokale Installation von Visual Studio Code

  • Azure IoT Tools installiert in Visual Studio Code. Azure IoT Tools ist eine Sammlung von Erweiterungen, die das Herstellen einer Verbindung mit IoT-Hubs, das Erstellen von Geräten und das Senden von Nachrichten vereinfachen. In diesem Tutorial verwenden Sie die Azure IoT Hub-Erweiterung in Visual Studio Code, um eine Verbindung mit Ihrem bereitgestellten IoT-Hub herzustellen, ein Gerät zu erstellen und eine Testnachricht vom Gerät an Ihren IoT-Hub zu senden.

Wenn Sie über diese Voraussetzungen verfügen, können Sie die ARM-Vorlage mithilfe der Schaltfläche Bereitstellen in Azure konfigurieren.

Überprüfen der ARM-Vorlage

Die ARM-Vorlage, die zum Bereitstellen der Ressourcen in diesem Tutorial verwendet wird, steht in Azure-Schnellstartvorlagen mithilfe der Datei azuredeploy.json auf GitHub zur Verfügung.

Die Schaltfläche zum Bereitstellen in Azure

Um mit der Bereitstellung im Azure-Portal zu beginnen, wählen Sie die Schaltfläche In Azure bereitstellen aus:

Deploy to Azure

Konfigurieren der Bereitstellung

  1. Wählen Sie im Azure-Portal auf der Registerkarte Grundlagen der Azure-Schnellstartvorlage die folgenden Informationen für Ihre Bereitstellung aus, oder geben Sie sie ein:

    • Abonnement: Das Azure-Abonnement, das für die Bereitstellung verwendet werden soll.

    • Ressourcengruppe: Wählen Sie eine vorhandene Ressourcengruppe aus, oder erstellen Sie eine neue Ressourcengruppe.

    • Region: Die Azure-Region der Ressourcengruppe, die für die Bereitstellung verwendet wird. Region: Die Region wird automatisch mit der Ressourcengruppenregion ausgefüllt.

    • Basename: Ein Wert, der an den Namen der bereitgestellten Azure-Ressourcen und -Dienste angefügt wird. Die Beispiele in diesem Tutorial verwenden den Basename azuredocsdemo. Sie können ihren eigenen Basename-Wert auswählen.

    • Standort: Eine unterstützte Azure-Region für Azure Health Data Services (der Wert kann identisch mit der Region sein, in der sich Ihre Ressourcengruppe befindet). Eine Liste der Azure-Regionen, in denen Health Data Services verfügbar ist, finden Sie unter Produkte, die nach Regionen verfügbar sind.

    • Fhir Contributor Principal ID (optional): Eine Microsoft Entra-Benutzerobjekt ID zum Bereitstellen von Lese-/Schreibberechtigungen für den FHIR-Dienst.

      Mit diesem Konto können Sie Zugriff auf den FHIR-Dienst gewähren, um die in diesem Tutorial generierten FHIR-Beobachtungen anzuzeigen. Es wird empfohlen, ihre eigene Microsoft Entra-Benutzerobjekt ID zu verwenden, damit Sie auf die Nachrichten im FHIR-Dienst zugreifen können. Wenn Sie die Option Fhir Contributor Principal ID nicht verwenden möchten, deaktivieren Sie das Textfeld.

      Informationen zum Abrufen einer Microsoft Entra-Benutzerobjekt ID finden Sie unter Suchen der Benutzerobjekt ID. Die in diesem Tutorial verwendete Benutzerobjekt-ID ist nur ein Beispiel. Wenn Sie diese Option verwenden, verwenden Sie Ihre eigene Benutzerobjekt ID oder die Objekt-ID einer anderen Person, die auf den FHIR-Dienst zugreifen möchten.

    • Gerätezuordnung: Behalten Sie die Standardwerte für dieses Tutorial bei.

    • Zielzuordnung: Behalten Sie die Standardwerte für diese Schnellstartanleitung bei.

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

  2. Wählen Sie Überprüfen + Erstellen aus, um Ihre Konfiguration zu überprüfen.

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

  3. Überprüfen Sie in Überprüfen + Erstellen den Status der Vorlagenüberprüfung. Wenn die Überprüfung erfolgreich ist, zeigt die Vorlage Gültigkeitsprüfung bestanden an. Wenn die Überprüfung fehlschlägt, beheben Sie das Problem, das in der Fehlermeldung angegeben ist, und wählen Sie dann wieder Überprüfen + Erstellen aus.

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

  4. Wählen Sie nach einer erfolgreichen Überprüfung die Option Erstellen aus, um mit der Bereitstellung zu beginnen.

    Screenshot that shows the highlighted Create button.

  5. In einigen Minuten zeigt das Azure-Portal die Meldung an, dass Ihre Bereitstellung abgeschlossen ist.

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

    Wichtig

    Wenn Sie den Zugriff von mehreren Diensten auf den Event Hub zulassen möchten, ist es erforderlich, dass jeder Dienst über eine eigene Event Hub-Consumergruppe verfügt.

    Mithilfe von Consumergruppen können mehrere verarbeitende Anwendungen eine separate Ansicht des Ereignisdatenstroms aufweisen und den Datenstrom unabhängig voneinander in einem unabhängigen Tempo und mit eigenen Offsets lesen. Weitere Informationen finden Sie unter Consumergruppen.

    Beispiele:

    • Zwei Medizintechnikdienste, die auf denselben Event Hub zugreifen.

    • Ein Medizintechnikdienst und eine Storage Writer-Anwendung, die auf denselben Event Hub zugreift.

Überprüfen der bereitgestellten Ressourcen und Zugriffsberechtigungen

Nach Abschluss der Bereitstellung werden die folgenden Ressourcen und Zugriffsrollen erstellt:

  • Event Hubs-Namespace und Event Hub. In dieser Bereitstellung heißt der Event Hub devicedata.

    • Event Hub-Consumergruppe. In dieser Bereitstellung wird die Consumergruppe $Default genannt.

    • Azure Event Hubs Data Receiver-Rolle. In dieser Bereitstellung heißt die Absenderrolle devicedatasender und kann verwendet werden, um den Zugriff auf den Event Hub mithilfe einer freigegebenen Zugriffssignatur (Shared Access Signature, SAS) bereitzustellen. Weitere Informationen zum Autorisieren des Zugriffs mithilfe einer SAS finden Sie unter Autorisieren des Zugriffs auf Event Hubs-Ressourcen mit freigegebenen Zugriffssignaturen. Die Azure Event Hubs Data Sender-Rolle wird in diesem Tutorial nicht verwendet.

  • IoT-Hub mit Nachrichtenweiterleitung sind so konfiguriert, dass Gerätenachrichten an den Event Hub weitergeleitet werden.

  • Vom Benutzer zugewiesene verwaltete Identität, die den Zugriff vom IoT-Hub an den Event Hub ermöglicht. Die verwaltete Identität verfügt über die Rolle Azure Event Hubs Data Sender im Abschnitt Access Control (IAM) des Event Hubs.

  • Health Data Services-Arbeitsbereich.

  • Health Data Services FHIR-Dienst.

  • Health Data Services MedTech-Dienst mit der aktivierten vom System zugewiesenen verwalteten Identität und den folgenden gewährten Zugriffsrollen:

  • Konforme und gültige MedTech-Dienst Geräte- und FHIR-Zielzuordnungen. Der Auflösungstyp ist auf Create festgelegt.

Wichtig

In diesem Tutorial konfiguriert die ARM-Vorlage den MedTech-Dienst so, dass er im Erstellungsmodus ausgeführt wird. Für jedes Gerät, das Daten an Ihren FHIR-Dienst sendet, wird eine Patientenressource und eine Geräteressource erstellt.

Weitere Informationen zu den Lösungstypen der MedTech-Dienstauflösung zum Erstellen und Nachschlagen finden Sie auf der Registerkarte „Ziel konfigurieren“.

Erstellen eines Geräts und Senden einer Testnachricht

Nachdem Ihre Ressourcen erfolgreich bereitgestellt wurden, stellen Sie als Nächstes eine Verbindung mit Ihrem IoT-Hub her, erstellen ein Gerät und senden eine Testnachricht an den IoT-Hub. Nachdem Sie diese Schritte ausgeführt haben, kann Ihr MedTech-Dienst:

  • Lesen Sie die IoT-Hubrouten-Testnachricht vom Event Hub.
  • Transformieren Sie die Testnachricht in fünf FHIR-Beobachtungen.
  • Speichern Sie die FHIR-Beobachtungen in Ihrem FHIR-Dienst.

Sie führen die Schritte aus, indem Sie Visual Studio Code mit der Azure IoT Hub-Erweiterung verwenden:

  1. Öffnen Sie Visual Studio Code mit installierten Azure IoT Tools.

  2. Wählen Sie im Explorer unter Azure IoT Hub- aus und wählen Sie IoT Hub-auswählen aus.

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

  3. Wählen Sie das Azure-Abonnement aus, in dem Ihr IoT-Hub bereitgestellt wurde.

  4. Wählen Sie Ihren IoT Hub aus. Der Name Ihres IoT-Hubs ist der Basename, den Sie angegeben haben, als Sie die Ressourcen mit dem Präfix ih-bereitgestellt haben. Ein Beispiel für den Hubnamen ist ih-azuredocsdemo.

  5. Wählen Sie im Explorer in Azure IoT Hub- und Gerät erstellen aus. Ein Beispiel für den Gerätenamen ist iot-001.

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

  6. Wenn Sie eine Testnachricht vom Gerät an Ihren IoT-Hub senden möchten, klicken Sie mit der rechten Maustaste auf das Gerät, und wählen Sie D2C-Nachricht an IoT Hub senden aus.

    Hinweis

    In diesem Beispiel für die Geräte-zu-Cloud (D2C) ist Cloud der IoT-Hub im Azure IoT Hub, der die Gerätenachricht empfängt. Azure IoT Hub unterstützt bidirektionale Kommunikation. Um ein Cloud-to-Device-Szenario (C2D) einzurichten, wählen Sie C2D-Nachricht an die Gerätecloud senden aus.

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

  7. Wählen Sie im Bereich D2C-Nachrichten senden die folgenden Werte aus, oder geben Sie sie ein:

    • Gerät(e) zum Senden von Nachrichten von: Der Name des von Ihnen erstellten Geräts.

    • Nachricht(n) pro Gerät: 1.

    • Intervall zwischen zwei Nachrichten: 1 Sekunde(n).

    • Nachricht: Nur-Text.

    • Bearbeiten: Löschen Sie vorhandenen Text, und kopieren oder fügen Sie dann die folgende TESTnachricht JSON ein.

      Tipp

      Sie können die Option Kopieren in der rechten Ecke der folgenden Testmeldung verwenden und dann im Fenster Bearbeiten einfügen.

      {
          "PatientId": "patient1",
          "HeartRate": 78,
          "RespiratoryRate": 12,
          "HeartRateVariability": 30,
          "BodyTemperature": 98.6,
          "BloodPressure": {
             "Systolic": 120,
             "Diastolic": 80
          }
      }  
      
  8. Um mit dem Senden einer Testnachricht an Ihren IoT-Hub zu beginnen, wählen Sie Senden aus.

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

    Nachdem Sie Senden ausgewählt haben, kann es bis zu fünf Minuten dauern, bis die FHIR-Ressourcen im FHIR-Dienst verfügbar sind.

    Wichtig

    Um das Spoofing von Geräten in D2C-Nachrichten (Device-to-Cloud) zu vermeiden, werden alle Gerätenachrichten von Azure IoT Hub mit zusätzlichen Eigenschaften erweitert, bevor sie an den Event Hub weitergeleitet werden. Beispiel: SystemProperties: iothub-connection-device-id und Eigenschaften: iothub-creation-time-utc. Weitere Informationen finden Sie unter Antispoofingeigenschaften und Verwenden von IotJsonPathContent-Vorlagen mit der MedTech-Dienstgerätezuordnung.

    Sie möchten diese Beispielgerätenachricht nicht an Ihren IoT-Hub senden, da die Anreicherungen vom IoT-Hub dupliziert werden und einen Fehler bei Ihrem MedTech-Dienst verursachen. Dies ist nur ein Beispiel dafür, wie Ihre Gerätenachrichten vom IoT-Hub bereichert werden.

    Beispiel:

    Screenshot of an Azure IoT Hub enriched device message.

    patientIdExpression ist nur für MedTech-Dienste im Erstellungsmodus erforderlich, wenn jedoch Nachschlagen verwendet wird, muss eine Geräteressource mit einem übereinstimmenden Gerätebezeichner im FHIR-Dienst vorhanden sein. In diesem Beispiel wird davon ausgegangen, dass sich der MedTech-Dienst in einem Erstellungsmodus befindet. Der Auflösungstyp für dieses Tutorial ist auf Createfestgelegt. Weitere Informationen zu den Zieleigenschaften: Erstellen und Nachschlagen finden Sie unter Konfigurieren der Registerkarte „Ziel“.

Überprüfen von Metriken aus der Testnachricht

Nachdem Sie erfolgreich eine Testnachricht an Ihren IoT-Hub gesendet haben, können Sie ihre MedTech-Dienstmetriken überprüfen. Überprüfen Sie Metriken, um zu überprüfen, ob Ihr MedTech-Dienst die Testnachricht in Ihrem FHIR-Dienst empfangen, gruppiert, transformiert und beibehalten hat. Weitere Informationen finden Sie unter Verwendung der Registerkarten „MedTech-Dienstüberwachung“ und „Integritätsprüfungen“.

Für Ihre MedTech-Dienstmetriken können Sie sehen, dass Ihr MedTech-Dienst die folgenden Schritte für die Testnachricht abgeschlossen hat:

  • Anzahl eingehender Nachrichten: Empfangen der eingehenden Testnachricht vom Event Hub.
  • Anzahl der normalisierten Nachrichten: Es wurden fünf normalisierte Nachrichten erstellt.
  • Anzahl der Messungen: Es wurden fünf Messungen erstellt.
  • Anzahl der FHIR-Ressourcen: Es wurden fünf FHIR-Ressourcen, die in Ihrem FHIR-Dienst gespeichert sind, erstellt.

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.

Anzeigen von Testdaten im FHIR-Dienst

Wenn Sie Ihre eigene Microsoft Entra-Benutzerobjekt ID als optionalen Wert für die Option FHIR-Mitwirkenderprinzipal-ID in der Bereitstellungsvorlage angegeben haben, können Sie FHIR-Ressourcen in Ihrem FHIR-Dienst abfragen. Sie können davon ausgehen, dass die folgenden FHIR-Beobachtungsressourcen im FHIR-Dienst basierend auf der Testnachricht, die an den IoT-Hub gesendet und vom MedTech-Dienst verarbeitet wurde, angezeigt werden:

  • HeartRate
  • RespiratoryRate
  • HeartRateVariability
  • BodyTemperature
  • BloodPressure

Informationen zum Abrufen eines Microsoft Entra-Zugriffstokens und Anzeigen von FHIR-Ressourcen in Ihrem FHIR-Dienst finden Sie unter Zugang mithilfe von Postman. Sie müssen die folgenden Werte in Ihrer Postman-GET-Anforderung verwenden, um die von der Testnachricht erstellten FHIR-Beobachtungsressourcen anzuzeigen: {{fhirurl}}/Observation

Nächste Schritte

Auswählen einer Bereitstellungsmethode für den Medizintechnikdienst

Übersicht über die Datenverarbeitungsphasen des Medizintechnikdienstgeräts

Häufig gestellte Fragen zum MedTech-Dienst

Hinweis

FHIR® ist eine eingetragene Marke von HL7 und wird mit Genehmigung von HL7 verwendet.