Självstudie: Ta emot enhetsmeddelanden via Azure IoT Hub

MedTech-tjänsten kan ta emot meddelanden från enheter som du skapar och hanterar via en IoT-hubb i Azure IoT Hub. I den här självstudien används en Azure Resource Manager-mall (ARM-mall) och knappen Distribuera till Azure för att distribuera en MedTech-tjänst. Mallen distribuerar också en IoT-hubb för att skapa och hantera enheter, och meddelandet dirigerar enhetsmeddelanden till en händelsehubb så att MedTech-tjänsten kan läsa och bearbeta. Efter bearbetning av enhetsdata sparas FHIR-resurserna® i FHIR-tjänsten, som också ingår i mallen.

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

Dricks

Information om hur MedTech-tjänsten omvandlar och bevarar enhetsdata till FHIR-tjänsten som FHIR-resurser finns i Översikt över databearbetningsstegen för MedTech-tjänstens enhet.

I den här självstudien får du lära dig att:

  • Öppna en ARM-mall i Azure-portalen.
  • Konfigurera mallen för distributionen.
  • Skapa en enhet.
  • Skicka ett testmeddelande.
  • Granska mått för testmeddelandet.

Dricks

Mer information om ARM-mallar finns i Vad är ARM-mallar?

Förutsättningar

För att påbörja distributionen och slutföra självstudien måste du ha följande förutsättningar:

  • Ett aktivt Azure-prenumerationskonto. Om du inte har en Azure-prenumeration kan du läsa beslutsguiden för prenumerationen.

  • Rolltilldelningar för ägare eller deltagare och administratör för användaråtkomst i Azure-prenumerationen. Mer information finns i Vad är rollbaserad åtkomstkontroll i Azure (Azure RBAC)?

  • Microsoft.HealthcareApis, Microsoft.EventHub och Microsoft.Devices-resursproviders som registrerats med din Azure-prenumeration. Mer information finns i Azure-resursprovidrar och typer.

  • Lokal installation av Visual Studio Code.

  • Azure IoT Tools installerat i Visual Studio Code. Azure IoT Tools är en samling tillägg som gör det enkelt att ansluta till IoT-hubbar, skapa enheter och skicka meddelanden. I den här självstudien använder du Azure IoT Hub-tillägget i Visual Studio Code för att ansluta till din distribuerade IoT-hubb, skapa en enhet och skicka ett testmeddelande från enheten till din IoT-hubb.

När du har dessa förutsättningar är du redo att konfigurera ARM-mallen med hjälp av knappen Distribuera till Azure .

Granska ARM-mallen

ARM-mallen som används för att distribuera resurserna i den här självstudien finns i Azure Snabbstartsmallar med hjälp av filen azuredeploy.jsonGitHub.

Använd knappen Distribuera till Azure

Om du vill påbörja distributionen i Azure-portalen väljer du knappen Distribuera till Azure :

Deploy to Azure

Konfigurera distributionen

  1. I Azure-portalen går du till fliken Grundläggande i Azure-snabbstartsmallen och väljer eller anger följande information för distributionen:

    • Prenumeration: Den Azure-prenumeration som ska användas för distributionen.

    • Resursgrupp: En befintlig resursgrupp, eller så kan du skapa en ny resursgrupp.

    • Region: Azure-regionen för resursgruppen som används för distributionen. Region autofyller med hjälp av resursgruppsregionen.

    • Basnamn: Ett värde som läggs till i namnet på de Azure-resurser och -tjänster som distribueras. Exemplen i den här självstudien använder basnamnet azuredocsdemo. Du kan välja ett eget basename-värde.

    • Plats: En Azure-region som stöds för Azure Health Data Services (värdet kan vara detsamma som eller skilja sig från den region som resursgruppen finns i). En lista över Azure-regioner där Health Data Services är tillgängligt finns i Produkter som är tillgängliga efter regioner.

    • Huvud-ID för Fhir-deltagare (valfritt): Ett Microsoft Entra-användarobjekt-ID för att tillhandahålla läs-/skrivbehörigheter för FHIR-tjänsten.

      Du kan använda det här kontot för att ge åtkomst till FHIR-tjänsten för att visa de FHIR-observationer som genereras i den här självstudien. Vi rekommenderar att du använder ditt eget Microsoft Entra-användarobjekt-ID så att du kan komma åt meddelandena i FHIR-tjänsten. Om du väljer att inte använda alternativet Huvudnamn för Fhir-deltagare avmarkerar du textrutan.

      Information om hur du hämtar ett Microsoft Entra-användarobjekt-ID finns i Hitta användarobjektets ID. Användarobjekt-ID:t som används i den här självstudien är bara ett exempel. Om du använder det här alternativet använder du ditt eget användarobjekt-ID eller objekt-ID för en annan person som du vill ska kunna komma åt FHIR-tjänsten.

    • Enhetsmappning: Lämna standardvärdena för den här självstudien.

    • Målmappning: Lämna standardvärdena för den här självstudien.

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

  2. Om du vill verifiera konfigurationen väljer du Granska + skapa.

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

  3. I Granska + skapa kontrollerar du mallverifieringsstatusen. Om valideringen lyckas visar mallen Validering godkänd. Om verifieringen misslyckas löser du problemet som anges i felmeddelandet och väljer sedan Granska + skapa igen.

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

  4. När valideringen har slutförts väljer du Skapa för att påbörja distributionen.

    Screenshot that shows the highlighted Create button.

  5. Om några minuter visar Azure-portalen meddelandet att distributionen har slutförts.

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

    Viktigt!

    Om du ska tillåta åtkomst från flera tjänster till händelsehubben måste varje tjänst ha en egen konsumentgrupp för händelsehubben.

    Konsumentgrupper gör det möjligt för flera förbrukande program att ha en separat vy över händelseströmmen och att läsa strömmen oberoende av varandra i sin egen takt och med sina egna förskjutningar. Mer information finns i Konsumentgrupper.

    Exempel:

    • Två MedTech-tjänster som har åtkomst till samma händelsehubb.

    • En MedTech-tjänst och ett program för lagringsskrivare som kommer åt samma händelsehubb.

Granska distribuerade resurser och åtkomstbehörigheter

När distributionen är klar skapas följande resurser och åtkomstroller:

  • Event Hubs-namnrymd och händelsehubb. I den här distributionen heter händelsehubben devicedata.

    • Konsumentgrupp för händelsehubb. I den här distributionen heter konsumentgruppen $Default.

    • Azure Event Hubs Data Sender-roll . I den här distributionen heter avsändarrollen devicedatasender och kan användas för att ge åtkomst till händelsehubben med hjälp av en signatur för delad åtkomst (SAS). Mer information om hur du auktoriserar åtkomst med hjälp av en SAS finns i Auktorisera åtkomst till Event Hubs-resurser med signaturer för delad åtkomst. Azure Event Hubs Data Sender-rollen används inte i den här självstudien.

  • IoT-hubb med meddelanderoutning konfigurerad för att dirigera enhetsmeddelanden till händelsehubben.

  • Användartilldelad hanterad identitet, som ger sändningsåtkomst från IoT-hubben till händelsehubben. Den hanterade identiteten har rollen Azure Event Hubs Data Sender i avsnittet Åtkomstkontroll (IAM) i händelsehubben.

  • Arbetsytan Hälsodatatjänster.

  • Health Data Services FHIR-tjänst.

  • Health Data Services MedTech-tjänsten med den systemtilldelade hanterade identiteten aktiverad och beviljad följande åtkomstroller:

  • Överensstämmer med och giltiga MedTech-tjänstenheter och FHIR-målmappningar. Matchningstypen är inställd på Skapa.

Viktigt!

I den här självstudien konfigurerar ARM-mallen MedTech-tjänsten så att den fungerar i läget Skapa . En patientresurs och en enhetsresurs skapas för varje enhet som skickar data till din FHIR-tjänst.

Mer information om medTech-tjänstmatchningstyperna Skapa och leta upp finns i Konfigurera fliken Mål.

Skapa en enhet och skicka ett testmeddelande

När dina resurser har distribuerats ansluter du sedan till din IoT-hubb, skapar en enhet och skickar ett testmeddelande till IoT-hubben. När du har slutfört de här stegen kan din MedTech-tjänst:

  • Läs IoT Hub-routed-testmeddelandet från händelsehubben.
  • Omvandla testmeddelandet till fem FHIR-observationer.
  • Spara FHIR-observationerna i din FHIR-tjänst.

Du slutför stegen med hjälp av Visual Studio Code med Azure IoT Hub-tillägget:

  1. Öppna Visual Studio Code med Azure IoT Tools installerat.

  2. Under Azure IoT Hub i Utforskaren väljer du ... och väljer Välj IoT Hub.

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

  3. Välj den Azure-prenumeration där din IoT-hubb etablerades.

  4. Välj din IoT-hubb. Namnet på din IoT-hubb är det basnamn som du angav när du etablerade resurserna prefixet med ih-. Ett exempel på hubbnamn är ih-azuredocsdemo.

  5. I Utforskaren går du till Azure IoT Hub och väljer ... och sedan Skapa enhet. Ett exempel på enhetsnamn är iot-001.

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

  6. Om du vill skicka ett testmeddelande från enheten till din IoT-hubb högerklickar du på enheten och väljer Skicka D2C-meddelande till IoT Hub.

    Kommentar

    I det här exemplet från enhet till moln (D2C) är molnet IoT-hubben i Azure IoT Hub som tar emot enhetsmeddelandet. Azure IoT Hub stöder dubbelriktad kommunikation. Om du vill konfigurera ett C2D-scenario (moln-till-enhet) väljer du Skicka C2D-meddelande till enhetsmolnet.

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

  7. I Skicka D2C-meddelanden väljer eller anger du följande värden:

    • Enheter att skicka meddelanden från: Namnet på den enhet som du skapade.

    • Meddelanden per enhet: 1.

    • Intervall mellan två meddelanden: 1 sekund(er).

    • Meddelande: Oformaterad text.

    • Redigera: Rensa befintlig text och kopiera/klistra sedan in följande testmeddelande JSON.

      Dricks

      Du kan använda alternativet Kopiera i det högra hörnet av testmeddelandet nedan och sedan klistra in det i fönstret Redigera .

      {
          "PatientId": "patient1",
          "HeartRate": 78,
          "RespiratoryRate": 12,
          "HeartRateVariability": 30,
          "BodyTemperature": 98.6,
          "BloodPressure": {
             "Systolic": 120,
             "Diastolic": 80
          }
      }  
      
  8. Om du vill börja skicka ett testmeddelande till din IoT-hubb väljer du Skicka.

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

    När du har valt Skicka kan det ta upp till fem minuter innan FHIR-resurserna är tillgängliga i FHIR-tjänsten.

    Viktigt!

    För att undvika enhetsförfalskning i meddelanden från enhet till moln (D2C) berikar Azure IoT Hub alla enhetsmeddelanden med ytterligare egenskaper innan de dirigeras till händelsehubben. Exempel: SystemEgenskaper: iothub-connection-device-id och Egenskaper: iothub-creation-time-utc. Mer information finns i Egenskaper för skydd mot förfalskning och Så här använder du IotJsonPathContent-mallar med Enhetsmappning för MedTech-tjänsten.

    Du vill inte skicka det här enhetsmeddelandet till din IoT-hubb eftersom berikningarna dupliceras av IoT-hubben och orsakar ett fel med Din MedTech-tjänst. Det här är bara ett exempel på hur dina enhetsmeddelanden berikas av IoT-hubben.

    Exempel:

    Screenshot of an Azure IoT Hub enriched device message.

    patientIdExpression krävs endast för MedTech-tjänster i läget Skapa , men om sökning används måste en enhetsresurs med matchande enhetsidentifierare finnas i FHIR-tjänsten. Det här exemplet förutsätter att Din MedTech-tjänst är i läget Skapa . Lösningstypenför den här självstudien är inställd på Skapa. Mer information om målegenskaperna: Skapa och leta upp finns i Konfigurera fliken Mål.

Granska mått från testmeddelandet

När du har skickat ett testmeddelande till din IoT-hubb kan du nu granska dina MedTech-tjänstmått. Granska mått för att kontrollera att Din MedTech-tjänst har tagit emot, grupperat, transformerat och sparat testmeddelandet i din FHIR-tjänst. Mer information finns i Så här använder du flikarna Övervakning och hälsokontroller för MedTech-tjänsten.

För dina MedTech-tjänstmått kan du se att MedTech-tjänsten har slutfört följande steg för testmeddelandet:

  • Antal inkommande meddelanden: Tog emot det inkommande testmeddelandet från händelsehubben.
  • Antal normaliserade meddelanden: Fem normaliserade meddelanden skapades.
  • Antal mått: Skapade fem mått.
  • Antal FHIR-resurser: Skapade fem FHIR-resurser som sparas i din FHIR-tjänst.

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.

Visa testdata i FHIR-tjänsten

Om du angav ditt eget Microsoft Entra-användarobjekt-ID som valfritt värde för alternativet Fhir-deltagarens huvudnamn i distributionsmallen kan du fråga efter FHIR-resurser i din FHIR-tjänst. Du kan förvänta dig att se följande FHIR-observationsresurser i FHIR-tjänsten baserat på testmeddelandet som skickades till IoT-hubben och bearbetades av MedTech-tjänsten:

  • HeartRate
  • RespiratoryRate
  • HeartRateVariability
  • BodyTemperature
  • BloodPressure

Information om hur du hämtar en Microsoft Entra-åtkomsttoken och visar FHIR-resurser i din FHIR-tjänst finns i Åtkomst med postman. Du måste använda följande värden i Din Postman-begäran GET för att visa FHIR-observationsresurserna som skapats av testmeddelandet: {{fhirurl}}/Observation

Nästa steg

Välj en distributionsmetod för MedTech-tjänsten

Översikt över databearbetningsstegen för MedTech-tjänstens enhet

Vanliga frågor och svar om MedTech-tjänsten

Kommentar

FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.