Share via


Exporter des données FHIR dans l’API Azure pour FHIR

Important

L’API Azure pour FHIR sera mise hors service le 30 septembre 2026. Suivez les stratégies de migration pour passer au service FHIR des Services de données de santé Azure d’ici cette date. En raison de la mise hors service de l’API Azure pour FHIR, les nouveaux déploiements ne seront plus autorisés à compter du 1er avril 2025. Le service FHIR des Services de données de santé Azure est la version évoluée de l’API Azure pour FHIR qui permet aux clients de gérer les services FHIR, DICOM et MedTech avec des intégrations dans d’autres services Azure.

La fonctionnalité d’exportation en bloc autorise l’exportation de données à partir du serveur FHIR en fonction de la spécification FHIR.

Avant d’utiliser $export, vous souhaitez vous assurer que l’API Azure pour FHIR est configurée pour l’utiliser. Pour configurer les paramètres d’exportation et créer un compte de stockage Azure, consultez la page Configurer les données d’exportation.

Remarque

Seuls les comptes de stockage dans le même abonnement que pour l’API Azure pour FHIR sont autorisés à être inscrits comme destination pour les opérations de $export.

Utilisation de la commande $export

Après avoir configuré l’API Azure pour FHIR pour l’exportation, vous pouvez utiliser la commande $export afin d’exporter les données à partir du service. Les données seront stockées dans le compte de stockage que vous avez spécifié lors de la configuration de l’exportation. Pour savoir comment appeler la commande $export dans le serveur FHIR, consultez la documentation sur la spécification $export HL7 FHIR.

Travaux bloqués dans un état incorrect

Dans certaines situations, un travail peut être bloqué dans un mauvais état. Cela peut se produire en particulier si les autorisations du compte de stockage n’ont pas été configurées correctement. Une façon de valider l’exportation consiste à case activée votre compte de stockage pour voir si les fichiers de conteneur correspondants (autrement dit, ndjson) sont présents. S’ils ne sont pas présents et qu’il n’y a pas d’autres travaux d’exportation en cours d’exécution, il est possible que le travail actuel soit bloqué dans un état incorrect. Vous devez annuler le travail d’exportation en envoyant une demande d’annulation et réessayez de renvoyer la tâche. Notre heure d’exécution par défaut pour une exportation dans un état incorrect est de 10 minutes avant qu’elle ne s’arrête et passe à un nouveau travail ou réessaye l’exportation.

L’API Azure pour FHIR prend en charge $export aux niveaux suivants :

  • Système : GET https://<<FHIR service base URL>>/$export>>
  • Patient : GET https://<<FHIR service base URL>>/Patient/$export>>
  • Groupe de patients* - l’API Azure pour FHIR exporte toutes les ressources associées, mais n’exporte pas les caractéristiques du groupe : GET https://<<FHIR service base URL>>/Group/[ID]/$export>>

Avec l’exportation, les données sont exportées dans plusieurs fichiers contenant chacune des ressources d’un seul type. Le nombre de ressources d’un fichier individuel sera limité. Le nombre maximal de ressources est basé sur les performances du système. Il est actuellement défini sur 5 000, mais peut changer. Le résultat est que vous pouvez obtenir plusieurs fichiers pour un type de ressource. Les noms de fichiers suivent le format « resourceName-number-number.ndjson ». L’ordre des fichiers n’est pas garanti pour correspondre à l’ordre des ressources de la base de données.

Remarque

Patient/$export et Group/[ID]/$export peuvent exporter les ressources dupliquées si la ressource se trouve dans un compartiment de plusieurs ressources ou dans plusieurs groupes.

En outre, la vérification de l’état d’exportation à l’aide de l’URL renvoyée par l’en-tête Location pendant la mise en file d’attente est prise en charge avec l’annulation du travail d’exportation réel.

Exporter des données FHIR vers ADLS Gen2

Actuellement, nous prenons en charge $export pour les comptes de stockage avec ADLS Gen2, avec la limitation suivante :

  • L’utilisateur ne peut pas tirer parti des espaces de noms hiérarchiques, mais il n’existe pas de moyen de cibler l’exportation vers un sous-répertoire spécifique au sein du conteneur. Seul le ciblage d’un conteneur spécifique (un dossier y est alors créé à chaque exportation) est possible.
  • Une fois l’exportation terminée, plus rien n’est exporté dans ce dossier, car les exportations suivantes à destination de ce même conteneur se trouvent dans un nouveau dossier.

Paramètres et configurations

En-têtes

Deux paramètres d’en-tête doivent être définis pour des travaux $export. Les valeurs sont définies par la spécification $export actuelle.

  • Accept : application/fhir+json
  • Prefer : respond-async

Paramètres de requête

L’API Azure pour FHIR prend en charge les paramètres de requête suivants. Tous ces paramètres sont facultatifs :

Paramètre de requête. Défini par la spécification FHIR ? Description
_outputFormat Oui Prend actuellement en charge trois valeurs pour s’aligner sur la spécification FHIR : application/fhir+ndjson, application/ndjson ou ndjson. Tous les travaux d’exportation retournent ndjson et la valeur passée n’a aucun effet sur le comportement du code.
_Depuis Oui Vous permet d’exporter uniquement les ressources qui ont été modifiées depuis l’heure indiquée.
_type Oui Vous permet de spécifier les types de ressources qui seront inclus. Par exemple, _type=Patient retournerait uniquement les ressources des patients
_typefilter Oui Pour demander un filtrage plus précis, vous pouvez utiliser _typefilter avec le paramètre _type. La valeur du paramètre _typeFilter est une liste séparée par des virgules de requêtes FHIR qui limitent davantage les résultats.
_Conteneur Non Spécifie le conteneur dans le compte de stockage configuré où les données doivent être exportées. Si un conteneur est spécifié, les données sont exportées dans un dossier dans ce conteneur. Si le conteneur n’est pas spécifié, les données sont exportées vers un nouveau conteneur.
_Jusqu'à Non Vous permet d’exporter uniquement les ressources qui ont été modifiées jusqu’au moment fourni. Ce paramètre s’applique uniquement à l’exportation au niveau du système. Dans ce cas, si les versions historiques n’ont pas été désactivées ou purgées, l’exportation garantit la valeur true instantané vue, ou, en d’autres termes, active le voyage dans le temps.
includeAssociatedData Non Vous permet d’exporter l’historique et les ressources supprimées de manière réversible. Ce filtre ne fonctionne pas avec le paramètre de requête « _typeFilter ». Incluez la valeur « _history » pour exporter l’historique/ les ressources avec version non les plus récentes. Incluez la valeur « _deleted » pour exporter des ressources supprimées de manière réversible.
_isparallel Non Le paramètre de requête « _isparallel » peut être ajouté à l’opération d’exportation pour améliorer son débit. La valeur doit être définie sur true pour activer la parallélisation. Il est important de noter que l’utilisation de ce paramètre peut entraîner une augmentation de la consommation des unités de requête au cours de la durée d’exportation.

Remarque

Il existe un problème connu avec l’opération de $export qui pourrait entraîner des exportations incomplètes avec succès d’état. Le problème se produit lorsque l’indicateur de is_parallel a été utilisé. Les travaux d’exportation exécutés avec _isparallel paramètre de requête à partir du 13 février 2024 sont affectés par ce problème.

Sécuriser l’exportation vers Stockage Azure

L’API Azure pour FHIR prend en charge l’exportation sécurisée. Choisissez l’une des deux options ci-dessous :

  • Autoriser l’API Azure pour FHIR en tant que service approuvé Microsoft à accéder au compte de stockage Azure.

  • Autoriser des adresses IP spécifiques associées à l’API Azure pour FHIR à accéder au compte de stockage Azure. Cette option fournit deux configurations différentes selon que le compte de stockage se trouve dans le même emplacement que celui de l’API Azure pour FHIR.

Autorisation de l’API Azure pour FHIR en tant que service approuvé Microsoft

Sélectionnez un compte de stockage dans le Portail Azure, puis sélectionnez le panneau Mise en réseau. Sélectionnez Réseaux sélectionnés sous l’onglet Pare-feu et réseaux virtuels.

Important

Vérifiez que vous avez accordé l’autorisation d’accès au compte de stockage pour l’API Azure pour FHIR à l’aide de son identité managée. Pour plus d’informations, consultez Configurer le paramètre d’exportation et configurer le compte de stockage.

Azure Storage Networking Settings.

Dans la section Exceptions, sélectionnez la zone Autoriser les services Microsoft approuvées à accéder à ce compte de stockage et enregistrez le paramètre.

Allow trusted Microsoft services to access this storage account.

Vous êtes maintenant prêt à exporter des données FHIR vers le compte de stockage en toute sécurité. Notez que le compte de stockage se trouve sur les réseaux sélectionnés et n’est pas accessible publiquement. Pour accéder aux fichiers, vous pouvez activer et utiliser des points de terminaison privés pour le compte de stockage, ou activer tous les réseaux pour le compte de stockage pendant une courte période.

Important

L’interface utilisateur sera mise à jour ultérieurement pour vous permettre de sélectionner le type de ressource pour l’API Azure pour FHIR et une instance de service spécifique.

Autoriser des adresses IP spécifiques à accéder au compte de stockage Azure à partir d’autres régions Azure

  1. Dans le Portail Azure, accédez au compte Azure Data Lake Stockage Gen2.

  2. Dans le menu de gauche, sélectionnez Mise en réseau.

  3. Sélectionnez Activé à partir de réseaux virtuels et d’adresses IP sélectionnés.

  4. Dans la section Pare-feu , dans la zone Plage d’adresses , spécifiez l’adresse IP. Ajoutez des plages d'adresses IP pour autoriser l'accès à partir d'Internet ou de vos réseaux locaux. Vous trouverez l’adresse IP dans le tableau suivant pour la région Azure où le service FHIR est approvisionné.

    Région Azure Adresse IP publique
    Australie Est 20.53.44.80
    Centre du Canada 20.48.192.84
    USA Centre 52.182.208.31
    USA Est 20.62.128.148
    USA Est 2 20.49.102.228
    USA Est 2 (EUAP) 20.39.26.254
    Allemagne Nord 51.116.51.33
    Allemagne Centre-Ouest 51.116.146.216
    Japon Est 20.191.160.26
    Centre de la Corée 20.41.69.51
    Centre-Nord des États-Unis 20.49.114.188
    Europe Nord 52.146.131.52
    Afrique du Sud Nord 102.133.220.197
    États-Unis - partie centrale méridionale 13.73.254.220
    Asie Sud-Est 23.98.108.42
    Suisse Nord 51.107.60.95
    Sud du Royaume-Uni 51.104.30.170
    Ouest du Royaume-Uni 51.137.164.94
    Centre-USA Ouest 52.150.156.44
    Europe Ouest 20.61.98.66
    USA Ouest 2 40.64.135.77

Autoriser des adresses IP spécifiques à accéder au compte de stockage Azure dans la même région

Le processus de configuration des adresses IP dans la même région est tout comme la procédure précédente, sauf que vous utilisez une plage d’adresses IP spécifique au format CIDR (Classless Inter-Domain Routing) à la place (autrement dit, 100.64.0.0/10). Vous devez spécifier la plage d’adresses IP (100.64.0.0 à 100.127.255.255), car une adresse IP pour le service FHIR est allouée chaque fois que vous effectuez une demande d’opération.

Remarque

Il est possible d’utiliser une adresse IP privée dans la plage de 10.0.2.0/24, mais il n’existe aucune garantie que l’opération réussit dans ce cas. Vous pouvez réessayer si la demande d’opération échoue, mais jusqu’à ce que vous utilisiez une adresse IP dans la plage de 100.64.0.0/10, la requête ne réussit pas.

Ce comportement réseau pour les plages d’adresses IP est par conception. Une autre solution consiste à configurer le compte de stockage dans une autre région.

Étapes suivantes

Dans cet article, vous avez appris à exporter des ressources FHIR à l’aide de $export commande. Ensuite, pour savoir comment exporter des données dé-identifiées, consultez

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