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.
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.json på GitHub.
Använd knappen Distribuera till Azure
Om du vill påbörja distributionen i Azure-portalen väljer du knappen Distribuera till Azure :
Konfigurera distributionen
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.
Om du vill verifiera konfigurationen väljer du Granska + skapa.
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.
När valideringen har slutförts väljer du Skapa för att påbörja distributionen.
Om några minuter visar Azure-portalen meddelandet att distributionen har slutförts.
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:
För händelsehubben tilldelas åtkomstrollen Azure Event Hubs Data Receiver i avsnittet Åtkomstkontroll (IAM) för händelsehubben.
För FHIR-tjänsten tilldelas åtkomstrollen FHIR Data Writer i avsnittet Åtkomstkontroll (IAM) för FHIR-tjänsten.
Ö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:
Öppna Visual Studio Code med Azure IoT Tools installerat.
Under Azure IoT Hub i Utforskaren väljer du ... och väljer Välj IoT Hub.
Välj den Azure-prenumeration där din IoT-hubb etablerades.
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.
I Utforskaren går du till Azure IoT Hub och väljer ... och sedan Skapa enhet. Ett exempel på enhetsnamn är iot-001.
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.
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 } }
Om du vill börja skicka ett testmeddelande till din IoT-hubb väljer du Skicka.
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:
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ösningstypen fö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.
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.