Tutoriel : recevoir des messages d’appareil via Azure IoT Hub

Le service MedTech peut recevoir des messages provenant d’appareils que vous créez et gérez via un hub IoT dans Azure IoT Hub. Ce tutoriel utilise un modèle Azure Resource Manager (modèle ARM) et un bouton Déployer sur Azure pour déployer un service MedTech. Le modèle déploie également un hub IoT pour créer et gérer des appareils, et achemine les messages des appareils vers un hub d’événements pour que le service MedTech les lise et les traite. Après le traitement des données de l’appareil, les ressources FHIR® sont conservées dans le service FHIR, qui est également inclus dans le modèle.

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

Conseil

Pour savoir comment le service MedTech transforme et conserve les données d’appareil dans le service FHIR en tant que ressources FHIR, consultez Vue d’ensemble des étapes de traitement des données des appareils du service MedTech.

Dans ce tutoriel, vous allez apprendre à effectuer les actions suivantes :

  • Ouvrez un modèle ARM dans le portail Azure.
  • Configurez le modèle pour votre déploiement.
  • Créez un appareil.
  • Envoyez un message de test.
  • Passez en revue les métriques du message de test.

Conseil

Pour en savoir plus sur les modèles ARM, consultez Que sont les modèles ARM ?

Prérequis

Pour commencer votre déploiement et suivre le tutoriel, vous devez disposer des conditions préalables suivantes :

  • Un compte d’abonnement Azure actif. Si vous n’avez pas d’abonnement Azure, consultez le guide de décision de l’abonnement.

  • Attributions de rôle Propriétaire ou Contributeur et Administrateur d’accès utilisateur dans l’abonnement Azure. Pour plus d’informations, consultez Qu’est-ce que le contrôle d’accès en fonction du rôle Azure (Azure RBAC) ?

  • Microsoft.HealthcareApis, Microsoft.EventHub et les fournisseurs de ressources Microsoft.Devices inscrits auprès de votre abonnement Azure. Pour plus d’informations, consultez Types et fournisseurs de ressources Azure.

  • Visual Studio Code installé localement.

  • Azure IoT Tools installé dans Visual Studio Code. Azure IoT Tools est une collection d’extensions qui facilite la connexion aux hubs IoT, la création d’appareils et l’envoi de messages. Dans ce tutoriel, vous utilisez l’extension Azure IoT Hub dans Visual Studio Code pour vous connecter à votre hub IoT déployé, créer un appareil et envoyer un message de test de l’appareil à votre hub IoT.

Lorsque vous disposez de ces prérequis, vous êtes prêt à configurer le modèle ARM à l’aide du bouton Déployer sur Azure.

Examiner le modèle ARM

Le modèle ARM utilisé pour déployer les ressources de ce tutoriel est disponible dans les Modèles de démarrage rapide Azure à l’aide du fichier azuredeploy.json sur GitHub.

Utilisez le bouton Déployer sur Azure

Pour commencer le déploiement dans le portail Azure, sélectionnez le bouton Déployer sur Azure :

Deploy to Azure

Configurer le déploiement

  1. Dans le portail Azure, sous l’onglet Informations de base du modèle de démarrage rapide Azure, sélectionnez ou entrez les informations suivantes pour votre déploiement :

    • Abonnement : l’abonnement Azure à utiliser pour le déploiement.

    • Groupe de ressources : un groupe de ressources existant, ou vous pouvez créer un nouveau groupe de ressources.

    • Région : la région Azure du groupe de ressources utilisé pour le déploiement. Remplissages automatiques de région à l’aide de la région du groupe de ressources.

    • Nom de base : une valeur ajoutée au nom des ressources et services Azure déployés. Les exemples de ce tutoriel utilisent le nom de base azuredocsdemo. Vous pouvez choisir votre propre valeur de nom de base.

    • Emplacement : une région Azure prise en charge pour les Services de données de santé Azure (la valeur peut être identique ou différente de la région dans laquelle se trouve votre groupe de ressources). Pour obtenir la liste des régions Azure dans lesquelles les Services de données de santé Azure sont disponibles, consultez Produits disponibles par régions.

    • Id principal du contributeur Fhir (facultatif) : ID d’objet utilisateur Microsoft Entra pour fournir des autorisations de lecture/écriture du service FHIR.

      Vous pouvez utiliser ce compte pour donner accès au service FHIR afin d’afficher les observations FHIR générées dans ce tutoriel. Nous vous recommandons d’utiliser votre propre ID d’objet utilisateur Microsoft Entra pour pouvoir accéder aux messages dans le service FHIR. Si vous choisissez de ne pas utiliser l’option Id du principal du contributeur Fhir, désactivez la zone de texte.

      Pour savoir comment obtenir un ID d’objet utilisateur Microsoft Entra, consultez Rechercher l’ID d’objet utilisateur. L’ID d’objet utilisateur utilisé dans ce didacticiel n’est qu’un exemple. Si vous utilisez cette option, utilisez votre propre ID d’objet utilisateur ou l’ID d’objet d’une autre personne que vous souhaitez pouvoir accéder au service FHIR.

    • Mappage d’appareil : conservez les valeurs par défaut pour ce tutoriel.

    • Mappage de destination : conservez les valeurs par défaut pour ce tutoriel.

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

  2. Pour valider votre configuration, sélectionnez Vérifier + créer.

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

  3. Dans Vérifier + créer, vérifiez l’état de validation du modèle. Si la validation réussit, le modèle affiche Validation réussie. En cas d’échec de la validation, corrigez le problème indiqué dans le message d’erreur, puis sélectionnez Vérifier + créer à nouveau.

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

  4. Après une validation réussie, pour commencer le déploiement, sélectionnez Créer.

    Screenshot that shows the highlighted Create button.

  5. En quelques minutes, le portail Azure affiche le message indiquant que votre déploiement est terminé.

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

    Important

    Si vous souhaitez autoriser l’accès à partir de plusieurs services au hub d’événements, il est nécessaire que chaque service dispose de son propre groupe de consommateurs Event Hub.

    Les groupes de consommateurs permettent à plusieurs applications consommatrices d’avoir une vue distincte du flux d’événements et de lire le flux indépendamment, à leur propre rythme et avec leurs propres décalages. Pour plus d’informations, consultez Groupes de consommateurs.

    Exemples :

    • Deux services MedTech accédant au même hub d’événements.

    • Un service MedTech et une application enregistreur de stockage qui accèdent au même hub d’événements.

Passez en revue les ressources déployées et les autorisations d’accès

Une fois le déploiement terminé, les ressources et rôles d’accès suivants sont créés :

  • Espace de noms Event Hubs et un Event Hub. Dans ce déploiement, le hub d’événements est nommé devicedata.

    • Groupe de consommateurs Event Hub. Dans ce déploiement, le groupe de consommateurs est nommé $Default.

    • Rôle Expéditeur de données Azure Event Hubs. Dans ce déploiement, le rôle d’expéditeur est nommé devicedatasender et peut être utilisé pour fournir l’accès au hub d’événements à l’aide d’une signature d’accès partagé (SAP). Pour en savoir plus sur l’autorisation de l’accès à l’aide d’une SAP, consultez Autoriser l’accès aux ressources Event Hubs à l’aide de signatures d’accès partagé. Le rôle Expéditeur de données Azure Event Hubs n’est pas utilisé dans ce tutoriel.

  • Hub IoT avec routage des messages configuré pour acheminer les messages d’appareil vers le hub d’événements.

  • Identité managée affectée par l’utilisateur, qui fournit un accès d’envoi à partir du hub IoT vers le hub d’événements. L’identité managée a le rôle Expéditeur de données Azure Event Hubs dans la section Contrôle d’accès (IAM) du hub d’événements.

  • Espace de travail Services de données de santé Azure.

  • Service FHIR Services de données de santé Azure.

  • Service MedTech Services de données de santé Azure avec l’identité managée affectée par le système activée et disposant des rôles d’accès suivants :

  • Appareils de service MedTech conformes et valides et mappages de destination FHIR. Le type de résolution est défini sur Créer.

Important

Dans ce tutoriel, le modèle ARM configure le service MedTech pour qu’il fonctionne dans le mode Créer. Une ressource patient et une ressource d’appareil sont créées pour chaque appareil qui envoie des données à votre service FHIR.

Pour en savoir plus sur les types de résolution de service MedTech Créer et Rechercher, consultez Configurer l’onglet Destination.

Créez un appareil et envoyez un message de test

Une fois vos ressources déployées avec succès, vous pouvez ensuite vous connecter à votre hub IoT, créer un appareil et envoyer un message de test au hub IoT. Une fois ces étapes effectuées, votre service MedTech peut :

  • Lisez le message de test acheminé par le hub IoT à partir du hub de l’événement.
  • Transformez le message de test en cinq observations FHIR.
  • Conservez les observations FHIR dans votre service FHIR.

Vous effectuez les étapes à l’aide de Visual Studio Code avec l’extension Azure IoT Hub :

  1. Ouvrez Visual Studio Code avec Azure IoT Tools installé.

  2. Dans Explorer, sous Azure IoT Hub, sélectionnez ... et choisissez Sélectionner IoT Hub.

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

  3. Sélectionnez l’abonnement Azure dans lequel votre hub IoT a été provisionné.

  4. Sélectionnez votre hub IoT. Le nom de votre hub IoT est le nom de base que vous avez fourni lorsque vous avez configuré les ressources précédées d’ih-. Un exemple de nom de hub est ih-azuredocsdemo.

  5. Dans Explorer, dans Azure IoT Hub, sélectionnez ... et choisissez Créer un appareil. Un exemple de nom d’appareil est iot-001.

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

  6. Pour envoyer un message de test de l’appareil à votre hub IoT, faites un clic droit sur l’appareil, puis sélectionnez Envoyer un message D2C à IoT Hub.

    Remarque

    Dans cet exemple d’appareil-à-cloud (D2C), le cloud est le hub IoT dans Azure IoT Hub qui reçoit le message de l’appareil. Azure IoT Hub prend en charge les communications bidirectionnel. Pour configurer un scénario cloud-à-appareil (C2D), sélectionnez Envoyer un message C2D au cloud de l’appareil.

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

  7. Dans Envoyer des messages D2C, sélectionnez ou entrez les valeurs suivantes :

    • Appareil(s) à partir duquel/desquels envoyer des messages : le nom de l’appareil que vous avez créé.

    • Message(s) par appareil : 1.

    • Intervalle entre deux messages : 1 seconde(s).

    • Message : Texte brut.

    • Modifier : effacez tout texte existant, puis copiez/collez le code JSON du message de test suivant.

      Conseil

      Vous pouvez utiliser l’option Copier dans le coin droit du message de test ci-dessous, puis coller ce message dans la fenêtre Modifier.

      {
          "PatientId": "patient1",
          "HeartRate": 78,
          "RespiratoryRate": 12,
          "HeartRateVariability": 30,
          "BodyTemperature": 98.6,
          "BloodPressure": {
             "Systolic": 120,
             "Diastolic": 80
          }
      }  
      
  8. Pour commencer le processus d’envoi d’un message de test à votre hub IoT, sélectionnez Envoyer.

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

    Une fois que vous avez sélectionné Envoyer, cela peut prendre jusqu’à cinq minutes pour que les ressources FHIR soient disponibles dans le service FHIR.

    Important

    Pour éviter l’usurpation d’appareils dans les messages appareil-à-cloud (D2C), Azure IoT Hub enrichit tous les messages d’appareil avec des propriétés supplémentaires avant de les acheminer vers le hub d’événements. Par exemple : SystemProperties : iothub-connection-device-id et Propriétés : iothub-creation-time-utc. Pour plus d’informations, consultez Propriétés d’usurpation d’identité et Comment utiliser des modèles IotJsonPathContent avec le mappage d’appareil de service MedTech.

    Vous ne souhaitez pas envoyer cet exemple de message d’appareil à votre hub IoT, car les enrichissements seront dupliqués par le hub IoT et provoqueront une erreur avec votre service MedTech. Ce n’est qu’un exemple de la manière dont les messages de votre appareil sont enrichis par le hub IoT.

    Exemple :

    Screenshot of an Azure IoT Hub enriched device message.

    patientIdExpression n’est nécessaire que pour les services MedTech dans le mode Créer, cependant, si le mode Rechercher est utilisé, une ressource d’appareil avec un identificateur d’appareil correspondant doit exister dans le service FHIR. Cet exemple suppose que votre service MedTech se trouve dans le mode Créer. Le type de résolution pour ce tutoriel défini sur Créer. Pour plus d’informations sur les Propriétés de destination : Créer et Rechercher, consultez l’onglet Configurer la destination.

Passez en revue les métriques à partir du message de test

Maintenant que vous avez envoyé un message de test à votre hub IoT, vous pouvez maintenant passer en revue vos métriques de service MedTech. Passez en revue les métriques pour vérifier que votre service MedTech a reçu, regroupé, transformé et conservé le message de test dans votre service FHIR. Pour en savoir plus, consultez Comment utiliser les onglets de suivi et de vérification d’intégrité du service MedTech.

Pour vos métriques de service MedTech, vous pouvez voir que votre service MedTech a effectué les étapes suivantes pour le message de test :

  • Nombre de messages entrants : réception du message de test entrant à partir du hub d’événements.
  • Nombre de messages normalisés : cinq messages normalisés créés.
  • Nombre de mesures : cinq mesures créées.
  • Nombre de ressources FHIR : cinq ressources FHIR créées qui sont conservées dans votre service 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.

Affichez les données de test dans le service FHIR

Si vous avez fourni votre propre ID d’objet utilisateur Microsoft Entra comme valeur facultative pour l’option ID principal du contributeur Fhir dans le modèle de déploiement, vous pouvez interroger les ressources FHIR dans votre service FHIR. Vous pouvez vous attendre à voir les ressources d’observation FHIR suivantes dans le service FHIR en fonction du message de test envoyé au hub IoT et traité par le service MedTech :

  • HeartRate
  • RespiratoryRate
  • HeartRateVariability
  • BodyTemperature
  • BloodPressure

Pour savoir comment obtenir un jeton d’accès Microsoft Entra et afficher des ressources FHIR dans votre service FHIR, consultez Access à l’aide de Postman. Vous devez utiliser les valeurs suivantes dans votre demande GET Postman pour afficher les ressources d’observation FHIR créées par le message de test : {{fhirurl}}/Observation.

Étapes suivantes

Choisir une méthode de déploiement pour le service MedTech

Vue d’ensemble des étapes de traitement des données des appareils du service MedTech

Foire aux questions sur le service MedTech

Remarque

FHIR® est une marque déposée de HL7 utilisé avec l’autorisation de HL7.