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.
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.
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
Dans le Portail Azure, accédez au compte Azure Data Lake Storage Gen2.
Dans le menu de gauche, sélectionnez Mise en réseau.
Sélectionnez Activé à partir de réseaux virtuels et d’adresses IP sélectionnés.
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.