Esercitazione: Ricevere messaggi del dispositivo tramite hub IoT di Azure

Il servizio MedTech può ricevere messaggi dai dispositivi creati e gestiti tramite un hub IoT in hub IoT di Azure. Questa esercitazione usa un modello di Azure Resource Manager (modello arm) e un pulsante Distribuisci in Azure per distribuire un servizio MedTech. Il modello distribuisce anche un hub IoT per creare e gestire i dispositivi e instrada i messaggi dei dispositivi a un hub eventi per il servizio MedTech da leggere ed elaborare. Dopo l'elaborazione dei dati del dispositivo, le risorse FHIR® vengono mantenute nel servizio FHIR, incluso anche nel modello.

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

Suggerimento

Per informazioni su come il servizio MedTech trasforma e rende persistenti i dati del dispositivo nel servizio FHIR come risorse FHIR, vedere Panoramica delle fasi di elaborazione dei dati dei dispositivi del servizio MedTech.

In questa esercitazione, scopri come:

  • Aprire un modello di Resource Manager nel portale di Azure.
  • Configurare il modello per la distribuzione.
  • Creare un dispositivo.
  • Inviare un messaggio di test.
  • Esaminare le metriche per il messaggio di test.

Suggerimento

Per informazioni sui modelli di Resource Manager, vedere Che cosa sono i modelli di Resource Manager?

Prerequisiti

Per iniziare la distribuzione e completare l'esercitazione, è necessario disporre dei prerequisiti seguenti:

  • Un account di sottoscrizione di Azure attivo. Se non si ha una sottoscrizione di Azure, vedere la guida decisionale per la sottoscrizione.

  • Assegnazioni di ruolo Proprietario o Collaboratore e Accesso utenti Amministrazione istrator nella sottoscrizione di Azure. Per altre informazioni, vedere Che cos'è il controllo degli accessi in base al ruolo di Azure?

  • Microsoft.HealthcareApis, Microsoft.EventHub e i provider di risorse Microsoft.Devices registrati con la sottoscrizione di Azure. Per altre informazioni, vedere Provider e tipi di risorse di Azure.

  • Visual Studio Code installato localmente.

  • Azure IoT Tools installato in Visual Studio Code. Azure IoT Tools è una raccolta di estensioni che semplifica la connessione agli hub IoT, la creazione di dispositivi e l'invio di messaggi. In questa esercitazione si usa l'estensione hub IoT di Azure in Visual Studio Code per connettersi all'hub IoT distribuito, creare un dispositivo e inviare un messaggio di test dal dispositivo all'hub IoT.

Quando si hanno questi prerequisiti, è possibile configurare il modello di Resource Manager usando il pulsante Distribuisci in Azure .

Esaminare il modello di Resource Manager

Il modello arm usato per distribuire le risorse in questa esercitazione è disponibile in Modelli di avvio rapido di Azure usando il file azuredeploy.json in GitHub.

Usare il pulsante Distribuisci in Azure

Per iniziare la distribuzione nella portale di Azure, selezionare il pulsante Distribuisci in Azure:

Deploy to Azure

Configurare la distribuzione

  1. Nella portale di Azure nella scheda Informazioni di base del modello di avvio rapido di Azure selezionare o immettere le informazioni seguenti per la distribuzione:

    • Sottoscrizione: sottoscrizione di Azure da usare per la distribuzione.

    • Gruppo di risorse: un gruppo di risorse esistente oppure è possibile creare un nuovo gruppo di risorse.

    • Area: area di Azure del gruppo di risorse usato per la distribuzione. Riempimenti automatici dell'area usando l'area del gruppo di risorse.

    • Basename: valore aggiunto al nome delle risorse e dei servizi di Azure distribuiti. Gli esempi in questa esercitazione usano il nome base azuredocsdemo. È possibile scegliere il proprio valore basename.

    • Località: un'area di Azure supportata per Servizi dati di integrità di Azure (il valore può essere uguale o diverso dall'area in cui si trova il gruppo di risorse). Per un elenco delle aree di Azure in cui è disponibile Health Data Services, vedere Prodotti disponibili in base alle aree.

    • Fhir Contributor Principal Id (facoltativo): ID oggetto utente di Microsoft Entra per fornire autorizzazioni di lettura/scrittura per il servizio FHIR.

      È possibile usare questo account per concedere l'accesso al servizio FHIR per visualizzare le osservazioni FHIR generate in questa esercitazione. È consigliabile usare il proprio ID oggetto utente di Microsoft Entra in modo da poter accedere ai messaggi nel servizio FHIR. Se si sceglie di non usare l'opzione Fhir Contributor Principal Id (ID entità collaboratore Fhir), deselezionare la casella di testo.

      Per informazioni su come ottenere un ID oggetto utente di Microsoft Entra, vedere Trovare l'ID oggetto utente. L'ID oggetto utente usato in questa esercitazione è solo un esempio. Se si usa questa opzione, usare il proprio ID oggetto utente o l'ID oggetto di un'altra persona che si vuole poter accedere al servizio FHIR.

    • Mapping dei dispositivi: lasciare i valori predefiniti per questa esercitazione.

    • Mapping di destinazione: lasciare i valori predefiniti per questa esercitazione.

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

  2. Per convalidare la configurazione, selezionare Rivedi e crea.

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

  3. In Rivedi e crea controllare lo stato di convalida del modello. Se la convalida ha esito positivo, il modello visualizza Convalida superata. Se la convalida ha esito negativo, correggere il problema indicato nel messaggio di errore e quindi selezionare di nuovo Rivedi e crea .

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

  4. Dopo aver completato la convalida, per avviare la distribuzione, selezionare Crea.

    Screenshot that shows the highlighted Create button.

  5. In pochi minuti, il portale di Azure visualizza il messaggio che indica che la distribuzione è stata completata.

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

    Importante

    Se si vuole consentire l'accesso da più servizi all'hub eventi, è necessario che ogni servizio abbia un proprio gruppo di consumer dell'hub eventi.

    I gruppi di consumer consentono a più applicazioni che utilizzano di avere una visualizzazione separata del flusso di eventi e di leggere il flusso in modo indipendente al proprio ritmo e con i propri offset. Per altre informazioni, vedere Gruppi di consumer.

    Esempi:

    • Due servizi MedTech che accedono allo stesso hub eventi.

    • Un servizio MedTech e un'applicazione writer di archiviazione che accedono allo stesso hub eventi.

Esaminare le risorse distribuite e le autorizzazioni di accesso

Al termine della distribuzione, vengono creati i ruoli di accesso e risorse seguenti:

  • Spazio dei nomi e hub eventi di Hub eventi. In questa distribuzione l'hub eventi è denominato devicedata.

    • Gruppo di consumer dell'hub eventi. In questa distribuzione il gruppo di consumer è denominato $Default.

    • Hub eventi di Azure ruolo Mittente dati. In questa distribuzione il ruolo mittente è denominato devicedatasender e può essere usato per fornire l'accesso all'hub eventi usando una firma di accesso condiviso. Per altre informazioni sull'autorizzazione dell'accesso tramite una firma di accesso condiviso, vedere Autorizzazione dell'accesso alle risorse di Hub eventi tramite firme di accesso condiviso. Il ruolo Mittente dati Hub eventi di Azure non viene usato in questa esercitazione.

  • Hub IoT con routing dei messaggi configurato per instradare i messaggi del dispositivo all'hub eventi.

  • Identità gestita assegnata dall'utente, che fornisce l'accesso dall'hub IoT all'hub eventi. L'identità gestita ha il ruolo Hub eventi di Azure Mittente dati nella sezione Controllo di accesso (IAM) dell'hub eventi.

  • Area di lavoro di Health Data Services.

  • Servizio FHIR di Health Data Services.

  • Servizio MedTech di Health Data Services con l'identità gestita assegnata dal sistema abilitata e concesso i ruoli di accesso seguenti:

  • Mapping di destinazione FHIR e dispositivo del servizio MedTech conformi e validi. Il tipo di risoluzione è impostato su Crea.

Importante

In questa esercitazione il modello di Resource Manager configura il servizio MedTech in modo che funzioni in modalità di creazione . Viene creata una risorsa Paziente e una risorsa Dispositivo per ogni dispositivo che invia dati al servizio FHIR.

Per informazioni sui tipi di risoluzione del servizio MedTech Creare e cercare, vedere Configurare la scheda Destinazione.

Creare un dispositivo e inviare un messaggio di test

Dopo aver distribuito correttamente le risorse, connettersi all'hub IoT, creare un dispositivo e inviare un messaggio di test all'hub IoT. Dopo aver completato questi passaggi, il servizio MedTech può:

  • Leggere il messaggio di test indirizzato all'hub IoT dall'hub eventi.
  • Trasformare il messaggio di test in cinque osservazioni FHIR.
  • Rendere persistenti le osservazioni FHIR nel servizio FHIR.

Per completare i passaggi, usare Visual Studio Code con l'estensione hub IoT di Azure:

  1. Aprire Visual Studio Code con Azure IoT Tools installato.

  2. In Esplora risorse, in hub IoT di Azure, selezionare ... e scegliere Seleziona hub IoT.

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

  3. Selezionare la sottoscrizione di Azure in cui è stato effettuato il provisioning dell'hub IoT.

  4. Selezionare l'hub IoT. Il nome dell'hub IoT è il nome di base specificato quando è stato effettuato il provisioning delle risorse precedute da ih-. Un nome hub di esempio è ih-azuredocsdemo.

  5. In Esplora risorse, in hub IoT di Azure, selezionare ... e scegliere Crea dispositivo. Un nome di dispositivo di esempio è iot-001.

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

  6. Per inviare un messaggio di test dal dispositivo all'hub IoT, fare clic con il pulsante destro del mouse sul dispositivo e selezionare Invia messaggio D2C a hub IoT.

    Nota

    In questo esempio da dispositivo a cloud (D2C) il cloud è l'hub IoT nella hub IoT di Azure che riceve il messaggio del dispositivo. hub IoT di Azure supporta le comunicazioni bidirezionali. Per configurare uno scenario da cloud a dispositivo (C2D), selezionare Send C2D Message to Device Cloud (Invia messaggio C2D al cloud del dispositivo).

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

  7. In Invia messaggi D2C selezionare o immettere i valori seguenti:

    • Dispositivi da cui inviare messaggi: nome del dispositivo creato.

    • Messaggi per dispositivo: 1.

    • Intervallo tra due messaggi: 1 secondo.

    • Messaggio: testo normale.

    • Modifica: cancellare qualsiasi testo esistente e quindi copiare/incollare il seguente messaggio di test JSON.

      Suggerimento

      È possibile usare l'opzione Copia nell'angolo destro del messaggio di test seguente e incollarla all'interno della finestra Modifica .

      {
          "PatientId": "patient1",
          "HeartRate": 78,
          "RespiratoryRate": 12,
          "HeartRateVariability": 30,
          "BodyTemperature": 98.6,
          "BloodPressure": {
             "Systolic": 120,
             "Diastolic": 80
          }
      }  
      
  8. Per iniziare il processo di invio di un messaggio di test all'hub IoT, selezionare Invia.

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

    Dopo aver selezionato Invia, potrebbero essere necessari fino a cinque minuti prima che le risorse FHIR siano disponibili nel servizio FHIR.

    Importante

    Per evitare lo spoofing dei dispositivi nei messaggi da dispositivo a cloud (D2C), hub IoT di Azure arricchisce tutti i messaggi del dispositivo con proprietà aggiuntive prima di instradarle all'hub eventi. Ad esempio: SystemProperties: iothub-connection-device-ide Properties: iothub-creation-time-utc. Per altre informazioni, vedere Proprietà anti-spoofing e Come usare i modelli IotJsonPathContent con il mapping dei dispositivi del servizio MedTech.

    Non si vuole inviare questo messaggio del dispositivo di esempio all'hub IoT perché gli arricchimenti verranno duplicati dall'hub IoT e si verificherà un errore con il servizio MedTech. Questo è solo un esempio di come i messaggi del dispositivo vengono arricchiti dall'hub IoT.

    Esempio:

    Screenshot of an Azure IoT Hub enriched device message.

    patientIdExpression è obbligatorio solo per i servizi MedTech in modalità di creazione , tuttavia, se viene usata la ricerca, nel servizio FHIR deve esistere una risorsa dispositivo con identificatore di dispositivo corrispondente. In questo esempio si presuppone che il servizio MedTech sia in modalità Di creazione . Tipo di risoluzione per questa esercitazione impostato su Crea. Per altre informazioni sulle proprietà di destinazione: Creare e cercare, vedere Configurare la scheda Destinazione.

Esaminare le metriche dal messaggio di test

Dopo aver inviato correttamente un messaggio di test all'hub IoT, è ora possibile esaminare le metriche del servizio MedTech. Esaminare le metriche per verificare che il servizio MedTech abbia ricevuto, raggruppato, trasformato e salvato in modo permanente il messaggio di test nel servizio FHIR. Per altre informazioni, vedere How to use the MedTech service monitoring and health checks tabs (Come usare le schede di monitoraggio del servizio MedTech e controlli di integrità).

Per le metriche del servizio MedTech, è possibile notare che il servizio MedTech ha completato i passaggi seguenti per il messaggio di test:

  • Numero di messaggi in arrivo: ricevuto il messaggio di test in arrivo dall'hub eventi.
  • Numero di messaggi normalizzati: sono stati creati cinque messaggi normalizzati.
  • Numero di misurazioni: sono state create cinque misure.
  • Numero di risorse FHIR: sono state create cinque risorse FHIR persistenti nel servizio 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.

Visualizzare i dati di test nel servizio FHIR

Se è stato specificato il proprio ID oggetto utente di Microsoft Entra come valore facoltativo per l'opzione Fhir Contributor Principal ID nel modello di distribuzione, è possibile eseguire una query per le risorse FHIR nel servizio FHIR. È possibile prevedere di visualizzare le risorse di osservazione FHIR seguenti nel servizio FHIR in base al messaggio di test inviato all'hub IoT ed elaborato dal servizio MedTech:

  • Frequenza cardiaca
  • Respiratoria
  • HeartRateVariability
  • BodyTemperature
  • BloodPressure

Per informazioni su come ottenere un token di accesso Di Microsoft Entra e visualizzare le risorse FHIR nel servizio FHIR, vedere Accedere con Postman. È necessario usare i valori seguenti nella richiesta Postman GET per visualizzare le risorse di osservazione FHIR create dal messaggio di test: {{fhirurl}}/Observation

Passaggi successivi

Scegliere un metodo di distribuzione per il servizio MedTech

Panoramica delle fasi di elaborazione dei dati dei dispositivi del servizio MedTech

Domande frequenti sul servizio MedTech

Nota

FHIR® è un marchio registrato di HL7 e viene usato con l'autorizzazione di HL7.