Partage 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® de 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 permet l’exportation des données à partir du serveur FHIR® conformément à la spécification FHIR.

Avant d’utiliser $export, vérifiez 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, reportez-vous à 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 $export commande pour exporter les données hors du service. Les données sont 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 dans le $export serveur FHIR, lisez la documentation dans la spécification $export HL7 FHIR.

Travaux bloqués dans un état incorrect

Dans certaines situations, un travail peut se bloquer dans un état incorrect. Cela peut se produire si les autorisations du compte de stockage n’ont pas été configurées correctement. Une façon de valider une exportation consiste à vérifier votre compte de stockage pour voir si les fichiers 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 les 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>>

Les données sont exportées dans plusieurs fichiers, chacune contenant 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 via l’URL retournée par l’en-tête d’emplacement pendant la mise en file d’attente est prise en charge, ainsi que l’annulation du travail d’exportation réel.

Exporter des données FHIR vers ADLS Gen2

Actuellement, nous prenons en charge $export les comptes de stockage compatibles ADLS Gen2, avec les limitations suivantes :

  • Les utilisateurs ne peuvent pas tirer parti des espaces de noms hiérarchiques : il n’existe aucun moyen de cibler une exportation vers un sous-répertoire spécifique au sein d’un conteneur. Nous fournissons uniquement la possibilité de cibler un conteneur spécifique (où un nouveau dossier est créé pour chaque exportation).
  • Une fois l’exportation terminée, rien n’est jamais exporté vers ce dossier. Les exportations suivantes vers le même conteneur se trouvent dans un dossier nouvellement créé.

Paramètres et configurations

En-têtes

Il existe deux paramètres d’en-tête obligatoires qui doivent être définis pour $export les travaux. 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 fournie.
_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 de ce conteneur. Si le conteneur n’est pas spécifié, les données sont exportées vers un nouveau conteneur.
_labourer 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 vidées, l’exportation garantit une vue d’instantané réelle. En d’autres termes, permet de voyager 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 les ressources de l’historique (version non récente). 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. Remarque : 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 $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 suivantes.

  • 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 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.

Paramètres réseau de Stockage Azure.

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.

Autoriser les services Microsoft approuvées à accéder à ce compte de stockage.

Vous êtes maintenant prêt à exporter des données FHIR vers le compte de stockage en toute sécurité. Remarque : 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 Storage 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 $export de la commande. Ensuite, pour savoir comment exporter des données dé-identifiées, consultez

Remarque

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