Partager via


Dataverse Healthcare API : Configurer Azure Logic Apps avec un déclencheur HTTP

Cet article fournit un guide détaillé pour créer votre propre Azure Logic Apps pour ingérer des données FHIR dans les Dataverse Healthcare API, les services de données de santé Azure, ou les deux. Cette application logique, configurée avec un déclencheur HTTP, sert de relais entre les Services de données de santé Azure et les Dataverse Healthcare API.

Vous pouvez également utiliser un modèle Azure Resource Manager (ARM) intitulé Modèle de pipeline de données de santé pour déployer un groupe d’applications logiques qui orchestrent l’ingestion des offres groupées FHIR dans Dataverse API de soins de santé et Azure Health Data Services. Pour en savoir plus, voir Dataverse API de soins de santé : utiliser le modèle de pipeline de données de soins de santé pour déployer Azure Logic Apps.

Remarque

Cet exemple est fourni comme point d’entrée pour les données entrantes des dossiers de santé électroniques (DSE), ce qui garantit que les données FHIR sont publiées dans les services corrects. Elle n’est pas conçue comme une solution finale dans son état actuel.

La configuration inclut les étapes suivantes :

Ce service d’application logique fournit un point d’entrée pour les messages du pack FHIR qui sont d’abord publiés sur le point de terminaison des Services de données de santé Azure. Après une publication réussie, le message est envoyé au point de terminaison Dataverse Healthcare API. Cet exemple garantit que lorsque les packs FHIR sont publiés dans les services de données de santé Azure, les Dataverse Healthcare API reçoivent également le message.

Remarque

Une Azure Logic Apps n’est pas nécessaire que ces applications logiques publient des données FHIR dans les points de terminaison de Dataverse Healthcare API. Vous pouvez créer votre propre solution pour transmettre des données de votre DSE aux API et gérer les réponses.

L’exemple d’application logique utilise les identités managées Microsoft Entra ID pour l’authentification entre l’instance d’application logique et les deux services.

Examiner les conditions préalables

Vous devez vous assurer que vous disposez des conditions suivantes avant de pouvoir créer une application logique :

  • Un compte et un abonnement Azure. Si vous n’avez pas d’abonnement, inscrivez-vous pour créer un compte Azure gratuit avant de commencer.
  • Un groupe de ressources Azure configuré avec les ressources appropriées pour créer des applications logiques.
  • UN accès au sein du groupe de ressources pour créer et modifier des applications logiques et des identités managées.
  • Le respect des consignes de sécurité définies par les administrateurs Azure et la stratégie de l’organisation.

Configurer l’authentification

Avant de créer et de configurer l’application logique, vous devez configurer une identité managée afin que les services externes puissent s’authentifier auprès de l’application logique. L’utilisation d’identités gérées est une approche pour configurer l’authentification. Assurez-vous de suivre les meilleures pratiques et les règles de l’organisation pendant la configuration de l’authentification.

Les identités managées dans Azure permettent l’authentification entre les services sans persistance des informations d’identification dans l’application logique. Cette application logique utilise une identité managée attribuée par l’utilisateur pour l’authentification entre les services. Les administrateurs Azure limitent généralement cette configuration. Si l’accès est disponible, vous pouvez utiliser les étapes suivantes pour créer une identité managée qui peut se connecter aux services de données de santé Azure et aux points de terminaison de Dataverse Healthcare API.

Pour plus d’informations sur les identités managées, accédez à Que sont les identités managées pour les ressources Azure ?.

Pour configurer l’authentification avec une identité managée, procédez comme suit :

Créer une identité managée

Créez une identité managée affectée par l’utilisateur en procédant comme suit :

  1. Sur le menu Portail Azure, sélectionnez Créer une ressource et recherchez Identité managée. Dans les options proposées, sélectionnez Identité managée affectée par l’utilisateur, puis sélectionnez Créer.

  2. Sélectionnez les valeurs Abonnement, Groupe de ressources et Région corrects. La région doit être la même que celle de l’application logique.

  3. Dans le champ Nom, sélectionnez FHIRRelayManagedIdentity ou tout autre nom unique au groupe de ressources. Le reste de cet article fait référence au nom FHIRRelayManagedIdentity pour l’identité managée.

    Cliquez sur Créer.

  4. Une fois le déploiement terminé, ouvrez la ressource d’identité managée.

Accorder l’accès aux services de données de santé Azure

L’accès au services de données de santé Azure Health à partir de l’application logique nécessite l’attribution du rôle Contributeur aux données FHIR, qui permet de publier de nouvelles données dans le service. Vous devez ajouter cette attribution de rôle Azure à l’identité managée utilisée par l’application logique.

  1. Accédez à l’instance des services de données de santé Azure, sélectionnez Contrôle d’accès (IAM), puis sélectionnez Ajouter une attribution de rôle.

  2. Dans l’onglet Rôle, sélectionnez le rôle contributeur Données FHIR.

  3. Sélectionnez l’onglet Membres . Sélectionnez Identité gérée, puis sélectionnez + Sélectionner les membres. Ajoutez l’identité managée que vous avez créée dans Créer une identité managée.

  4. L’attribution peut prendre quelques minutes pour se refléter dans l’identité managée. Vous pouvez voir l’attribution de rôle de l’identité managée en sélectionnant Attributions de rôle Azure.

Accorder l’accès aux Dataverse Healthcare API

La même identité managée est utilisée dans l’application logique pour accéder aux Dataverse Healthcare API en la connectant à un utilisateur de l’application dans l’instance Dataverse cible. Pour plus d’informations sur les utilisateurs de l’application, accédez à Gérer les utilisateurs de l’application dans le Centre d’administration Power Platform.

  1. Vous avez besoin de l’ID client Azure de l’identité managée pour configurer l’utilisateur de l’application. Pour récupérer l’ID client, ouvrez l’identité managée FHIRRelayManagedIdentity et copiez la valeur ID client de la zone Aperçu.

  2. Dans le centre d’administration Power Platform, ouvrez votre environnement Microsoft Cloud for Healthcare. Dans la section Accès, sélectionnez Applications S2S, puis Utilisateur de la nouvelle application.

    Dans le volet Créer un utilisateur d’application, sélectionnez la Division correspondante, puis Ajouter une application.

  3. Dans le volet Ajouter une application à partir de Microsoft Entra ID, recherchez l’ID client que vous avez copié à partir de l’identité managée. Sélectionnez FHIRRelayManagedIdentity dans la liste, puis Ajouter et modifiez les rôles de sécurité.

  4. Sélectionnez le rôle Utilisateur enregistré de l’application Administrateur de la synchronisation pour FHIR, puis Enregistrer. Cliquez sur Créer pour créer l’utilisateur de l’application.

Créer une application logique

  1. Sur le menu du Portail Azure, sélectionnez Créer une ressource, recherchez Application logique, puis sélectionnez l’élément dans les résultats de la recherche.

  2. Sélectionnez Créer.

  3. Sur l’écran Créer une application logique, fournissez les informations pertinentes pour l’application logique. Passez en revue le type de plan, la sécurité et les détails du réseau avec les administrateurs Azure en fonction de la charge de traitement prévue.

    Les paramètres suivants sont des exemples pour un orchestrateur d’application logique simple pour tester la connectivité que vous utilisez dans les sections suivantes de cet article. Si aucun paramètre n’est spécifié, supposez que les valeurs par défaut sont utilisées.

    Paramètre active
    Nom de l’application logique FhirRelaySample
    Publier Flux de travail
    Région Est des États-Unis
    Type de plan Consommation
  4. Cliquez sur Créer. Il peut falloir quelques minutes pour approvisionner la nouvelle application logique.

Configurer une application logique

Après avoir créé l’application logique, ouvrez la ressource de l’application logique pour ouvrir le concepteur d'applications logiques sous Outils de développement. Procédez comme suit pour configurer l’application logique :

Configurer l’identité

Maintenant que l’application logique et l’identité managée sont toutes deux créées, vous devez les lier.

  1. Sélectionnez Identité dans le menu de l’application logique, l’onglet Utilisateur affecté, puis + Ajouter.

  2. Dans le volet ouvert, sélectionnez l’identité gérée créée, puis sélectionnez Ajouter.

L’application logique doit maintenant être liée à la nouvelle identité managée. Elle peut être utilisée pour traiter les étapes et les actions.

Configurer le déclencheur

La première étape de la configuration d’un workflow d’application logique consiste à définir le point d’entrée ou le déclencheur. Le déclencheur Lorsqu’une requête HTTP est reçue permet aux systèmes externes de publier des données via des requêtes HTTP vers l’application logique pour traitement. Ce déclencheur permet à l’application logique de relais FHIR de recevoir une requête HTTP avec une charge utile JSON. Pour plus d’informations sur la création d’un déclencheur, accédez à Ajouter un déclencheur de requête.

Cette application logique attend une requête entrante contenant un pack FHIR standard. Le Schéma JSON du corps de la requête est laissé vide, car chaque pack entrant peut être unique. Cette configuration permet à l’application logique de recevoir diverses charges utiles JSON au lieu de la lier à un contrat de données spécifique.

Capture d’écran affichant le déclencheur d’application logique.

Enregistrez les paramètres pour générer l’URL de la publication HTTP. Utilisez cette URL ultérieurement pour tester l’application logique.

Configurer les paramètres

Les paramètres permettent une flexibilité dans la création et le déploiement d’applications logiques via des modèles Azure Resource Manager. Dans cet exemple, ajoutez les deux paramètres suivants dans les actions de l’application logique :

  • DataverseURL : l’URL complète vers l’instance Dataverse hébergeant les Dataverse Healthcare API.
  • FhirURL : L’URL complète vers les services de données de santé Azure.
  1. Pour créer un paramètre, sélectionnez Paramètres dans la barre d’outils pour ouvrir le volet des paramètres.

  2. Pour chaque nouveau paramètre, suivez ces étapes :

    1. Sélectionnez Ajouter un paramètre.

    2. Entrez un nom pour le paramètre. Dans Type, sélectionnez Chaîne et entrez la valeur par défaut pour chaque paramètre en fonction de la configuration de l’organisation.

      Capture d’écran montrant le volet Paramètres de l’application logique.

  3. Sélectionnez Enregistrer dans la barre d’outils pour enregistrer les nouveaux paramètres avec l’application logique.

Appeler l’API FHIR

Une nouvelle action est nécessaire pour publier la charge utile de la demande entrante dans le point de terminaison des services de données de santé Azure via une méthode HTTP POST.

  1. Dans le Concepteur d’applications logiques, sélectionnez Nouvelle étape pour ajouter une nouvelle action POST HTTP. L’action HTTP est courante et peut être indiquée comme une action recommandée. Si elle apparaît, sélectionnez HTTP comme opération pour cette étape.

    Si la recommandation n’est pas présente, recherchez HTTP, puis sélectionnez HTTP dans la liste des actions disponibles.

  2. Nommez cette action Appeler l’API FHIR. Dans les paramètres de l’action HTTP, mettez à jour les paramètres suivants :

    Paramètre Valeur
    Méthode PUBLICATION
    URI FhirURL
    En-têtes Ajoutez une nouvelle valeur pour chacun des en-têtes suivants :

    Type de contenu : application/json
    OData-Version: 4.0
    Corps Corps

    Les champs URI et Corps nécessitent un contenu dynamique. L’URI utilise la valeur du paramètre FhirURL et le champ Corps utilise le corps de la requête entrante gérée par le déclencheur.

  3. Sélectionnez Enregistrer pour vous assurer d’enregistrer les paramètres actuelles avant de passer à l’étape suivante.

  4. Cliquez sur Ajouter un nouveau paramètres, puis sur Authentification.

    • Pour le champ Type d’identification, sélectionnez Identité managée.
    • Pour le champ Identité managée, sélectionnez l’identité managée précédemment créée et liée à la ressource Services de données de santé Azure.
    • Sélectionnez la valeur du paramètre FhirURL pour le champ Audience.

    Une capture d’écran montrant le paramètre d’identité gérée.

L’appel HTTP a maintenant accès pour publier (POST) les données FHIR dans le point de terminaison du service.

Évaluer la réponse FHIR

Après les publications de données FHIR, utilisez une action de condition pour évaluer la réponse d’Azure Health Data Services point de terminaison.

  1. Sélectionnez Nouvelle étape.

  2. Dans la boîte de dialogue Action, sélectionnez l’onglet Intégré et l’icône Contrôle, puis sélectionnez Condition pour l’action. Nommez cette action Évaluer la réponse FHIR.

  3. Dans le paramètre Condition, sélectionnez la valeur dynamique du Code statut renvoyé par l’action HTTP précédente. Définissez l’opérateur de condition sur est égal à et la valeur du résultat de 200 pour le code de réussite.

    Si cette condition est remplie, la branche True est évaluée.

    Capture d’écran montrant le paramètre de condition.

  4. Pour s’assurer que l’action Évaluer la réponse FHIR s’exécute, sélectionnez les points de suspension en haut de la carte d’action, puis sélectionnez Configurer Exécuter après. Sélectionnez toutes les options répertoriées afin que l’application logique puisse fournir une réponse à l’appelant. Ces mises à jour garantissent que l’action s’exécute même si l’étape précédente rencontre une condition d’échec.

    Capture d’écran montrant les paramètres Exécuter après.

Condition : Réponse réussie

Si la publication (POST) des services de données de santé Azure aboutit, le corps de la demande est ensuite publié dans les Dataverse Healthcare API.

Créer le corps de la demande Dataverse

  1. Au sein de la branche Vrai, sélectionnez Ajouter une action, puis sélectionnez Intégré.

  2. Rechercher Composer. En dessous de Opérations de données, sélectionnez l’action Composer.

  3. Pour le champ Entrées, ajoutez l’extrait JSON suivant :

      {
       "msind_BundleTag": "",
       "msind_JSON": ""
      }
    
  4. Dans les guillemets vides pour le nœud msind_JSON, ajoutez le contenu dynamique pour la valeur du corps du déclencheur.

    Capture d’écran montrant l’option Créer le corps de la demande Dataverse.

    Cette étape ajoute les valeurs JSON du corps du déclencheur comme paramètre dans l’appel de Dataverse Healthcare API. Nommez cette étape Créer le corps de la demande Dataverse.

Appeler l’API Dataverse

L’étape suivante publie ce nouveau JSON dans le point de terminaison des Dataverse Healthcare API.

  1. Sélectionnez Ajouter une action et créez une autre action HTTP. Nommez cette étape Appeler l’API Dataverse.

  2. Dans les paramètres de l’action HTTP, mettez à jour les paramètres suivants :

    Paramètre active
    méthode PUBLICATION
    URI (expression)
    En-têtes Ajoutez une nouvelle valeur pour chacun des en-têtes suivants :

    Type de contenu : application/json
    OData-Version: 4.0
    Corps (Résultat de l’étape Composer)

    Le champ URI est une valeur d’expression dynamique qui combine le paramètre DataverseURL et le nom de l’API personnalisée du point de terminaison. L'expression complète devrait être le suivant :

    concat(parameters('DataverseURL'), '/api/data/v9.1/msind_UpsertBundle')

    Capture d’écran montrant l’expression d’URI d’action Appeler l’API Dataverse.

    Le champ Corps est une valeur dynamique capturant la sortie de l’étape Composer.

    Capture d’écran montrant le corps de l’action Appeler l’API Dataverse.

  3. Cliquez sur Ajouter un nouveau paramètres, puis sur Authentification. Sous Type d’identification, sélectionnez Identité managée.

    Sélectionnez l’identité managée précédemment créée et liée à la ressource Services de données de santé Azure. Pour cette action, sélectionnez la valeur du paramètre DataverseURL pour le champ Audience.

    Capture d’écran montrant le paramètre d’authentification d’identité managée pour l’action Appeler l’API Dataverse.

L’appel HTTP a maintenant accès pour publier (POST) dans le point de terminaison du service Dataverse Healthcare API.

Répondre avec la réponse Dataverse

Une fois les données publiées sur Dataverse, composez la réponse pour l’appel de l’application logique en utilisant la réponse de l’action Appeler l’API Dataverse.

  1. Sélectionnez Ajouter une action, puis Intégrer.

  2. Sélectionnez Réponse dans la liste des actions disponibles. Nommez cette nouvelle action Répondre avec la réponse Dataverse.

    Dans cette action, les valeurs de retour des Dataverse Heathcare API sont renvoyées comme réponse pour l’application logique en utilisant des valeurs dynamiques dans les champs correspondants.

    Capture d’écran montrant la configuration de la réponse avec l’action de réponse Dataverse.

  3. Pour garantir que l’action Répondre avec la réponse Dataverse s’exécute, sélectionnez les points de suspension en haut de la carte d’actions, puis sélectionnez Configurer l’exécution après. Sélectionnez toutes les options répertoriées afin que l’application logique puisse fournir une réponse à l’appelant même si l’appel Dataverse action API échoue.

Condition : Réponse ayant échoué

Si l’appel au point de terminaison des services de données de santé Azure échoue, l’application logique renvoie les valeurs de l’action Appeler l’API FHIR comme réponse.

Répondre avec la réponse d’échec FHIR

  1. Sélectionnez Ajouter une action dans la branche Faux de la condition, puis sélectionnez Intégré.

  2. Sélectionnez Réponse dans la liste des actions disponibles. Nommez cette nouvelle action Répondre avec la réponse de l’échec FHIR.

    Dans cette action, les valeurs renvoyées à partir des Services de données de santé Azure sont renvoyées en tant que réponse pour l’application logique en utilisant des valeurs dynamiques dans les champs correspondants.

Envoyer le pack JSON à l’URL Logic Apps

  1. Pour tester l’application logique avec le concepteur, sélectionnez Exécuter le déclencheur, puis l’option Exécuter avec la charge utile. Cette action simule l’appel de l’URL de l’application logique et vous permet de déboguer tout problème.

  2. Pour le champ Corps, indiquez un pack FHIR valide. Cette étape suppose que le reste de la configuration de Microsoft Cloud for Healthcare est terminé et que les Dataverse Healthcare API sont prêtes à recevoir un message entrant.

L’exécution de la version actuelle avec des URL incorrectes pour les points de terminaison de service entraîne une exécution réussie de l’application logique même si l’action Appeler l’API FHIR a échoué. Vous pouvez afficher les résultats de l’exécution sur la page principale de l’application logique sous Historique d’exécution.

Lorsque vous mettez à jour correctement toutes les valeurs des paramètres, l’historique d’exécution suit avec succès l’exécution de l’application logique.

Capture d’écran montrant une vue de l’historique d’exécution de l’application logique pour un appel ayant réussi.

Sécuriser une application logique

Une fois la configuration et le test de l’application logique terminés, vous pouvez verrouiller le traçage en sécurisant les actions d’entrées et de sorties.

  1. Sélectionnez les points de suspension dans l’angle supérieur droit de la carte d’action, puis sélectionnez Paramètres.

  2. Définissez les boutons bascule de valeur sur Activé pour Entrées sécurisées et Sorties sécurisées.

  3. Toutes les exécutions ultérieures de l’application logique restreignent l’affichage des données lors de l’affichage des journaux d’exécution. Les résultats du déclencheur doivent maintenant fournir une vue restreinte des données comme suit :

    Une capture d’écran montrant l’historique des exécutions sécurisées.

Vous pouvez appliquer ces paramètres à chaque action prenant en charge cette fonctionnalité. Pour plus d’informations, consultez Accès et données sécurisés pour les flux de travail dans Azure Logic Apps.