Partager via


Configurer la prise en charge des données d’appareil dans la gestion des soins (version préliminaire)

Important

  • Cette fonctionnalité est une fonctionnalité en version préliminaire.
  • Les fonctionnalités préliminaires ne sont pas destinées à une utilisation en production et peuvent être restreintes. Ces fonctionnalités sont disponibles avant une publication officielle afin que les clients puissent y accéder de façon anticipée et fournir des commentaires.

Dans la gestion des soins chroniques, le suivi des signes vitaux d’un patient sur une longue période est important pour gérer efficacement son état. La dépendance à l’égard des rendez-vous de routine en personne et l’incapacité de comprendre les paramètres de santé du patient rendent régulièrement les ressources de gestion des soins chroniques intensives pour les hôpitaux et peu pratiques pour les patients.

La prise en charge des données de l’appareil dans la gestion des soins (version préliminaire) est une fonctionnalité de Microsoft Cloud for Healthcare qui vise à faciliter l’accès et le suivi des signes vitaux de leurs patients pour les soignants. En attribuant des dispositifs de santé appropriés à un patient en fonction de ses maladies chroniques, les soignants peuvent accéder régulièrement aux données vitales du patient et visualiser les tendances correspondantes dans les données. Sur la base de ces données, les gestionnaires de soins peuvent décider de demander ou non au patient de se présenter à un rendez-vous. Il permet également aux utilisateurs cliniques de rester au courant des tendances de santé à long terme de leurs patients.

Utilisation prévue

  • Utilisation prévue : cette fonctionnalité est strictement destinée à prendre en charge les cas d’utilisation de soins chroniques afin que les utilisateurs cliniques puissent afficher des informations sur les signes vitaux d’un patient, puis interpréter les données en fonction de leur propre jugement.

  • Utilisation non conforme : Cette fonctionnalité n’est pas destinée à prendre en charge

    1. Cas d’utilisation en soins intensifs ou en soins aigus.
    2. Alarmes ou alertes de toute nature basées sur les données capturées.
    3. Affichage en temps réel des données capturées ou de leur analyse ultérieure.
  • Pas un dispositif médical : Cette capacité est

    1. Ni conçue, destinée ou mise à disposition en tant que dispositif médical.
    2. Ni conçue ni destinée à se substituer aux conseils, diagnostics, traitements ou avis médicaux professionnels et ne doit pas être utilisée pour remplacer ou se substituer à des conseils, diagnostics, traitements médicaux professionnels ou avis.

Licences et prérequis logiciels

Votre organisation a besoin des licences suivantes pour pouvoir utiliser cette fonctionnalité :

  • Licence Microsoft Cloud for Healthcare
  • Licence Microsoft Power BI Pro

Configuration postérieure au déploiement

Vous pouvez installer la prise en charge des données de l’appareil dans la solution de gestion des soins (version préliminaire) à l’aide de Centre de solutions Microsoft Cloud. La version préliminaire de cette fonctionnalité est fournie avec le gestion des périphériques application. Les organisations de soins de santé peuvent utiliser cette application pour ajouter de nouveaux appareils de santé si nécessaire, manuellement ou en se synchronisant avec un fournisseur d’appareils, et maintenir un inventaire de ces appareils.

Après l’installation, votre organisation doit configurer les applications et services suivants pour utiliser cette fonctionnalité :

Configurer le pipeline de services Azure

Cette section fournit un guide étape par étape pour configurer un environnement Azure afin d’ingérer les éléments vitaux de l’appareil dans un service Event Hubs.

Quand vous installez la solution gestion des périphériques, vous devez déployer le pipeline MedTech Azure Health Data Services dans le locataire utilisateur. Ce pipeline ingère les données d’un dispositif médical ou d’un exemple d’application d’envoi de données vers le service Event Hub. Le service MedTech extrait ensuite les données pour les transformer en observations FHIR et les stocker sur le serveur FHIR.

Dans le cadre du déploiement, vous devez créer et configurer les ressources suivantes dans le locataire utilisateur :

  • Serveur FHIR (si l’utilisateur locataire ne l’a pas déjà)
  • Espace de noms Event Hubs
  • Espace de travail Azure Health Data Services (si le locataire utilisateur ne l’a pas déjà)
    • Service MedTech
  • Réseau virtuel Azure
    • Adresse IP publique Azure
    • Pare-feu Azure
    • Zone DNS privée Azure
  • Point de terminaison privé au service Event Hub à l’intérieur du réseau virtuel
    • Carte d’interface réseau

Le déploiement et la configuration inclut les étapes suivantes :

  1. Examiner les conditions préalables
  2. Créer un groupe de ressources et un réseau virtuel
  3. Créer l’espace de travail des services de données de santé Azure
  4. Créer le service Event Hub
  5. Configurer le service MedTech
  6. Définir la configuration réseau
  7. Configurer une inscription à l’application
  8. Créer une machine virtuelle pour un exemple d’application de données

Examiner les conditions préalables

Avant le déploiement, vous devez vous assurer que vous disposez des exigences suivantes :

  • Un compte et un abonnement Azure dans le même locataire où vous avez déployé la solution Gestion des périphériques. Si vous n’avez pas d’abonnement, inscrivez-vous pour créer un compte Azure gratuit avant de commencer.
  • Accédez au sein de cet abonnement Azure avec les autorisations appropriées pour créer des groupes de ressources et des ressources.
  • Le respect des consignes de sécurité définies par les administrateurs Azure et la stratégie de l’organisation.

Créer un groupe de ressources et un réseau virtuel

  1. Créez un groupe de ressources Azure en suivant les instructions dans Créer des groupes de ressources. Assurez-vous de sélectionner judicieusement la valeur Région. Vous devez utiliser la même région pendant la configuration du reste des ressources de cet article.

  2. Créez un réseau virtuel au sein de ce groupe de ressources en suivant les instructions de Démarrage rapide : créer un réseau virtuel à l’aide du portail Azure. Vous pouvez ignorer les étapes de création de la machine virtuelle dans le démarrage rapide.

  3. Déployez un pare-feu standard pour ce réseau virtuel en suivant les instructions dans Déployer le pare-feu.

Note

Pour toutes les sections de déploiement et de configuration suivantes, assurez-vous que vous utilisez toujours le groupe de ressources et le réseau virtuel créés à cette étape, sauf mention contraire explicite.

Créer l’espace de travail des services de données de santé Azure

  1. Déployez l’espace de travail des services de données de santé Azure en suivant les instructions de Déployer l’espace de travail des services de données de santé Azure à l’aide du portail Azure.

  2. Déployez un service FHIR dans le même espace de travail en suivant les instructions de Déployer un service FHIR dans les services de données de santé Azure.

Créer le service Event Hub

  1. Créez l’espace de noms Event Hubs en suivant les instructions dans Créer un espace de noms Event Hubs.

    Assurez-vous qu’il utilise un Standard ou un niveau supérieur. N’utilisez pas le niveau De base.

  2. Créez le service Event Hub avec le même espace de noms en suivant les instructions dans Créer un espace de noms Event Hub. Assurez-vous de définir la valeur Rétention des messages sur au moins 24 heures.

Configurer le service MedTech

Déployez et configurez le service MedTech en suivant les étapes expliquées dans les articles suivants :

Les sections précédentes ont déjà abordé les Prérequis dans le démarrage rapide du déploiement du service MedTech.

Si les données de l’appareil entrant dans le service Event Hub sont au format expliqué dans Format des données, utilisez le code JSON suivant pour Configurer l’appareil onglet de mappage étape. Sinon, vous pouvez également définir vos propres mappages d’appareils. Pour plus d’informations sur les mappages d’appareils, accédez à Aperçu du mappage d’appareils du service MedTech.

{
  "templateType": "CollectionContent",
  "template": [    
    {
      "templateType": "JsonPathContent",
      "template": {
        "typeName": "Weight",
        "typeMatchExpression": "$..[?(@metrics.weight)]",
        "timestampExpression": "$.measuredAt",
        "deviceIdExpression": "$.metrics.imei",
        "patientIdExpression": "$.externId",
        "values": [
          {
            "valueName": "Weight",
            "valueExpression": "$.metrics.weight",
            "required": true
          }
        ]
      }
    },
    {
      "templateType": "JsonPathContent",
      "template": {
        "typeName": "Pulse Oxygen",
        "typeMatchExpression": "$..[?(@metrics.spo2 && @metrics.pulse)]",
        "timestampExpression": "$.measuredAt",
        "deviceIdExpression": "$.metrics.imei",
        "patientIdExpression": "$.externId",
        "values": [
          {
            "valueName": "Spo2",
            "valueExpression": "$.metrics.spo2",
            "required": true
          },
          {
            "valueName": "Pulse",
            "valueExpression": "$.metrics.pulse",
            "required": true
          }
        ]
      }
    },
    {
      "templateType": "JsonPathContent",
      "template": {
        "typeName": "Blood Pressure",
        "typeMatchExpression": "$..[?(@metrics.systolic && @metrics.diastolic)]",
        "timestampExpression": "$.measuredAt",
        "deviceIdExpression": "$.metrics.imei",
        "patientIdExpression": "$.externId",
        "values": [
          {
            "valueName": "Systolic",
            "required": true,
            "valueExpression": "$.metrics.systolic"
          },
          {
            "required": true,
            "valueName": "Diastolic",
            "valueExpression": "$.metrics.diastolic"
          },
          {
            "valueName": "Pulse",
            "valueExpression": "$.metrics.pulse",
            "required": true
          }
        ]
      }
    },
    {
      "templateType": "JsonPathContent",
      "template": {
        "typeName": "Temperature",
        "typeMatchExpression": "$..[?(@metrics.temp)]",
        "timestampExpression": "$.measuredAt",
        "deviceIdExpression": "$.metrics.imei",
        "patientIdExpression": "$.externId",
        "values": [
          {
            "valueName": "Temperature",
            "valueExpression": "$.metrics.temp",
            "required": true
          }
        ]
      }
    }
  ]
}

De même, si vous utilisez le même format de données, copiez le code JSON suivant pour l’étape Configurer l’onglet de destination.

Note

Sous l’onglet Destination, spécifiez le Type de résolution comme Recherche.

{
  "templateType": "CollectionFhir",
  "template": [    
    {
      "templateType": "CodeValueFhir",
      "template": {
        "typeName": "Weight",
        "value": {
          "valueName": "Weight",
          "valueType": "Quantity",
          "code": "[lb_av]",
          "unit": "lbs",
          "system": "http://unitsofmeasure.org"
        },
        "codes": [
          {
            "code": "29463-7",
            "display": "Body Weight",
            "system": "http://loinc.org"
          }
        ],
        "category": [
          {
            "codes": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                "code": "vital-signs",
                "display": "Vital Signs"
              }
            ],
            "text": "Vital Signs"
          }
        ]
      }
    },
    {
      "templateType": "CodeValueFhir",
      "template": {
        "typeName": "Pulse Oxygen",
        "value": {
          "valueName": "",
          "valueType": "Quantity"
        },
        "components": [
          {
            "codes": [
              {
                "code": "59408-5",
                "system": "http://loinc.org",
                "display": "Oxygen saturation in Arterial blood by Pulse oximetry"
              }
            ],
            "value": {
              "valueName": "Spo2",
              "valueType": "Quantity",
              "unit": "%",
              "system": "http://unitsofmeasure.org",
              "code": "%"
            }
          },
          {
            "codes": [
              {
                "display": "Heart Rate",
                "system": "http://loinc.org",
                "code": "8867-4"
              }
            ],
            "value": {
              "valueName": "Pulse",
              "valueType": "Quantity",
              "code": "beats/minute",
              "unit": "/min",
              "system": "http://unitsofmeasure.org"
            }
          }
        ],
        "codes": [
          {
            "code": "20564-1",
            "system": "https://loinc.org/",
            "display": "Oxygen saturation in Blood"
          }
        ],
        "category": [
          {
            "text": "Vital Signs",
            "codes": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                "code": "vital-signs",
                "display": "vital-signs"
              }
            ]
          }
        ]
      }
    },
    {
      "templateType": "CodeValueFhir",
      "template": {
        "typeName": "Blood Pressure",
        "periodInterval": "0",
        "components": [
          {
            "codes": [
              {
                "code": "8480-6",
                "display": "Systolic blood pressure",
                "system": "http://loinc.org"
              }
            ],
            "value": {
              "valueName": "Systolic",
              "valueType": "Quantity",
              "code": "mm[Hg]",
              "system": "http://unitsofmeasure.org",
              "unit": "mmHg"
            }
          },
          {
            "codes": [
              {
                "code": "8867-4",
                "display": "Diastolic blood pressure",
                "system": "http://loinc.org"
              }
            ],
            "value": {
              "valueName": "Diastolic",
              "valueType": "Quantity",
              "system": "http://unitsofmeasure.org",
              "code": "mm[Hg]",
              "unit": "mmHg"
            }
          },
          {
            "codes": [
              {
                "code": "8889-8",
                "system": "http://loinc.org",
                "display": "Heart Rate"
              }
            ],
            "value": {
              "valueName": "Pulse",
              "valueType": "Quantity",
              "code": "beats/minute",
              "system": "http://unitsofmeasure.org",
              "unit": "/min"
            }
          }
        ],
        "codes": [
          {
            "system": "http://loinc.org",
            "display": "Blood Pressure",
            "code": "55284-4"
          }
        ],
        "category": [
          {
            "text": "vitals",
            "codes": [
              {
                "code": "vital-signs",
                "display": "vital-signs",
                "system": "http://terminology.hl7.org/CodeSystem/observation-category"
              }
            ]
          }
        ]
      }
    },
    {
      "templateType": "CodeValueFhir",
      "template": {
        "typeName": "Temperature",
        "value": {
          "valueName": "Temperature",
          "valueType": "Quantity",
          "system": "http://unitsofmeasure.org",
          "code": "[degF]",
          "unit": "F"
        },
        "components": [],
        "codes": [
          {
            "code": "8310-5",
            "display": "Body temperature",
            "system": "http://loinc.org"
          }
        ],
        "category": [
          {
            "text": "Vital Signs",
            "codes": [
              {
                "code": "vital-signs",
                "system": "http://terminology.hl7.org/CodeSystem/observation-categor",
                "display": "vital-signs"
              }
            ]
          }
        ]
      }
    }
  ]
}

Définir la configuration réseau

  1. En suivant les instructions de Créer une zone DNS privée, créez une zone DNS privée avec le nom privatelink.servicebus.windows.net

  2. Désactivez l’accès public à l’espace de noms Event Hubs en procédant comme suit :

    1. Accédez à la ressource d’espace de noms que vous avez créée et sélectionnez l’onglet Réseau.

    2. Pour le Accès au réseau public option, sélectionnez Désactivé, et enregistrez les paramètres mis à jour.

  3. Créez un point de terminaison privé pour l’espace de noms Event Hubs en procédant comme suit :

    1. Passer à l’espace de noms Connexions privées point de terminaison onglet et sélectionnez + point de terminaison privé.

    2. Continuez à créer le point de terminaison avec les paramètres par défaut. Dans les onglets Réseau virtuel et DNS , sélectionnez le réseau virtuel et la zone DNS privée créés dans les sections précédentes.

    3. Après avoir créé le point de terminaison, retournez à la Connexions privées point de terminaison onglet et vérifiez si le point de terminaison privé nouvellement créé affiche Réussi pour l’état d’approvisionnement.

  4. Configurez la zone DNS privée que vous avez créée en procédant comme suit :

    1. Sélectionnez + jeu d’enregistrements sur l’onglet Vue d’ensemble et saisissez les valeurs suivantes :

      Champ active
      Nom Nom de l’espace de noms Event Hubs que vous avez créé
      Adresse IP Adresse IP du point de terminaison privé que vous avez créé

      Vous pouvez ignorer cette étape si le jeu d’enregistrements a été ajouté automatiquement.

    2. Sélectionnez Liens réseau virtuels sous Paramètres, sélectionnez + Ajouter et sélectionnez le réseau virtuel que vous avez créé.

Configurer une inscription à l’application

Créez et configurez l’enregistrement de l’application en procédant comme suit :

  1. Sur le portail Azure, recherchez et sélectionnez les inscriptions d’applications.

  2. Sélectionnez + Nouvelle inscription.

  3. Entrer un nom dans l’inscription de l’application.

  4. Sous Types de comptes pris en charge, sélectionnez l’option Comptes dans ce répertoire organisationnel uniquement (répertoire par défaut uniquement – locataire unique) et sélectionnez Enregistrer.

  5. Ouvrir l’inscription de l’application.

  6. Sélectionnez Certificats et secrets, puis sélectionnez + Nouveau secret client sur le Onglet Secrets du client. Définissez la valeur d’expiration sur six mois et ajoutez le secret.

  7. Après avoir créé le secret, notez la valeur du secret.

    Note

    Pour des raisons de sécurité, la valeur secrète n’est visible que pendant le processus de création. Si vous oubliez de noter la valeur du secret à cette étape, créez un secret.

  8. Notez à la fois l’ID de l’application (client) et la valeur secrète de l’enregistrement. Utilisez ces valeurs pour configurer les paramètres de la boîte à outils d’intégration des données expliqués dans la section Configuration supplémentaire.

  9. Accédez au service FHIR que vous avez créé à l’étape Créer un espace de travail Services de données de santé Azure. Sélectionnez Contrôle d’accès (IAM).

  10. Sélectionnez + Ajouter, sélectionnez l’option Ajouter une attribution de rôle et sélectionnez le FHIR Données collaborateur rôle de la liste.

  11. Sélectionnez Suivant.

  12. Dans l’onglet Membres, sélectionnez + Sélectionner des membres pour rechercher et sélectionner l’enregistrement d’application que vous avez créé précédemment.

  13. Vérifiez et ajoutez l’attribution de rôle.

Créer une machine virtuelle pour un exemple d’application de données

Cette étape vous montre comment configurer une machine virtuelle Azure pour exécuter un exemple d’application d’expéditeur de données qui peut envoyer des données au service Event Hub. L’application imite les données transmises par les appareils de santé.

  1. Créez une machine virtuelle avec une image de système d’exploitation Windows 11 en suivant les instructions de Créer une machine virtuelle.

  2. Pour savoir comment générer et envoyer des exemples de données, accédez à Générer des exemples de données pour la prise en charge des données d’appareil (version préliminaire).

Configurer le tableau d’observation du patient à l’aide de Power BI

Cette section répertorie les conditions préalables et les étapes d’installation et de configuration du tableau d’observation du patient.

Conditions préalables

  1. Vous devez avoir une licence Microsoft Power BI Pro pour configurer et publier des rapports.

  2. Connectez-vous à Power BI, sélectionnez l’icône d’engrenage, sélectionnez Portail administrateur, sélectionnez Paramètres du client, et activez le paramètre pour installer des applications modèles non répertoriées sur AppSource.

  3. Vous devez avoir un rôle FHIR Data Lecteur sur le serveur FHIR pour lire les données du serveur. Pour plus d’informations sur l’attribution des rôles, accédez à Attribuer des rôles pour le service FHIR.

Installer et configurer

  1. Sélectionnez l’application de modèle tableau d’observation du patient dans la section post-déploiement.

  2. Connectez-vous à Power BI, puis sélectionnez le bouton Installer pour continuer.

  3. Après avoir installé l’application, elle apparaîtra sur votre page Power BI Applications .

  4. Sélectionnez l’application pour l’ouvrir.

  5. Sélectionnez Connecter vos données.

    Une capture d’écran affichant l’option de connexion de vos données Power BI.

  6. Pour le champ FHIRServerUrl, saisissez l’URL du serveur FHIR auquel vous souhaitez connecter le rapport.

    Une capture d’écran affichant le champ URL du serveur FHIR sur la page de connexion de gestion des périphériques.

  7. Connectez votre compte :

    • Pour Méthode d’authentification, sélectionnez OAuth2.
    • Pour Paramètre du niveau de confidentialité pour cette source de données sélectionnez Organisationnel.
    • Sélectionnez Se connecter.
  8. Une fois que l’application a actualisé le jeu de données, vous verrez les informations vitales de votre patient reflétées dans le Power BI rapport.

Incorporer un rapport Power BI

Vous pouvez incorporer les Power BI rapports sur Dataverse les formulaires à l’aide de la fonction Power BI Intégrer avec le filtrage contextuel. Pour plus d’informations sur la fonctionnalité Incorporer, accédez à Intégrer un rapport dans un portail ou un site web sécurisé.

Utilisez les étapes suivantes pour incorporer votre rapport Power BI dans Dataverse :

  1. Une fois l’installation de l’application terminée, accédez à l’application installée et ouvrez le rapport.

  2. Dans le menu Fichier, sélectionnez Intégrer le rapport, puis sélectionnez Site web ou portail.

    Capture d'écran qui affiche les options incorporées.

  3. Dans la boîte de dialogue Sécuriser le code incorporé, copiez la valeur de l’URL fournie sous Voici un lien que vous pouvez utiliser pour incorporer ce contenu.

    Une capture d’écran affichant un exemple de valeur d’URL dans la boîte de dialogue d’intégration sécurisée.

  4. L’étape suivante consisterait à mettre à jour la variable d’environnement de l’URL du tableau d’observation des patients dans Dataverse.

    Dans Dataverse, accédez à l’expérience de recherche avancée et recherchez la définition de la variable d’environnement à l’aide du filtre "Le nom du schéma est égal à msemr_PatientObservationChartUrl".

  5. Ouvrez l'enregistrement et accédez à la section des valeurs.

  6. Sélectionnez + Nouvelle variable d’environnement pour créer une valeur de variable d’environnement à l’aide de l’URL Power BI du rapport copiée à l’étape 3.

    Capture d’écran de création d’une variable d’environnement.

Pendant la configuration des Power BI rapports, vous pouvez rencontrer des problèmes fréquemment observés. Pour savoir comment résoudre ces problèmes, accédez à Résoudre des problèmes de Power BI rapports.

Configurer les flux Power Automate

Vous devez configurer Power Automate des flux pour intégrer vos services de gestion des périphériques avec la prise en charge des données des appareils dans la fonctionnalité de gestion des soins (version préliminaire). Pour plus d’informations sur les étapes de configuration, accédez à Intégration de partenaires pour la prise en charge des données d’appareil (version préliminaire).

Configuration supplémentaire

  1. Lorsque vous utilisez la fonctionnalité dans l’application de gestion des soins, assurez-vous d’activer les notifications dans l’application. Vous pouvez utiliser le concepteur d’application pour activer ce paramètre. Plus d’informations, accédez à Activer la fonctionnalité de notification dans l’application.

  2. Dans l’application Boîte à outils d’intégration des données, activez le processus d’écriture différée en procédant comme suit :

    1. Accédez à la zone Boîte d’outils d’intégration des donnéesparamètres intégration.

    2. Sélectionner Dataverse Healthcare API et activer l’écriture différée.

    3. Si vous configurez un nouveau serveur FHIR, utilisez les informations notées pendant la Configurer l’enregistrement de l’application pour configurer les paramètres de réécriture et enregistrer les modifications.

    4. Accédez à Cartes d’entités.

    5. Activez les cartes et l’écriture différée FHIR pour les entités suivantes :

      • Contact
      • Identifiant médical du contact
      • Appareil
      • Identificateur de l'appareil

Voir aussi

Qu’est-ce que Microsoft Cloud for Healthcare ?
Intégration de partenaires pour la prise en charge des données des appareils (version préliminaire)
Générer des exemples de données pour la prise en charge des données de l’appareil (version préliminaire)
Résoudre les problèmes de prise en charge des données de l’appareil (version préliminaire)
Utiliser la prise en charge des données de l’appareil (version préliminaire)