Partage via


Exporter vos données FHIR

En utilisant l’opération en bloc $export dans le service FHIR®, vous pouvez exporter des données comme décrit dans la spécification HL7 FHIR Bulk Data Access.

Avant de tenter d’utiliser $export, vérifiez que votre service FHIR est configuré pour vous connecter à un compte Azure Data Lake Storage Gen2. Pour configurer les paramètres d’exportation et créer un compte Data Lake Storage Gen2, reportez-vous à Configurer les paramètres pour l’exportation.

Appeler le point de $export terminaison

Après avoir configuré le service FHIR pour vous connecter à un compte Data Lake Storage Gen2, vous pouvez appeler le $export point de terminaison et le service FHIR exportera les données dans un conteneur Stockage Blob Azure à l’intérieur du compte de stockage. L’exemple de requête suivant exporte toutes les ressources dans un conteneur, qui est spécifié par nom ({{containerName}}). Remarque : vous devez créer le conteneur dans le compte Data Lake Storage Gen2 avant de le spécifier {{containerName}} dans la demande.

GET {{fhirurl}}/$export?_container={{containerName}}

Si vous ne spécifiez pas de nom de conteneur dans la demande (par exemple, en appelant GET {{fhirurl}}/$export), un nouveau conteneur avec un nom généré automatiquement sera créé pour les données exportées.

Pour obtenir des informations générales sur la spécification de l’API FHIR $export , consultez la documentation hl7 FHIR Export Request Flow .

Le service FHIR prend en charge $export les niveaux suivants :

  • Système : GET {{fhirurl}}/$export
  • Patient : GET {{fhirurl}}/Patient/$export
  • Groupe de patients* : GET {{fhirurl}}/Group/[ID]/$export
    *Le service FHIR exporte toutes les ressources référencées, mais n’exporte pas les caractéristiques de la ressource de groupe elle-même.

Les données sont exportées dans plusieurs fichiers. Chaque fichier contient des ressources d’un seul type. Le nombre de ressources d’un fichier individuel est le suivant. 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 peut exporter des ressources en double si une ressource se trouve dans plusieurs groupes ou dans un compartiment de plusieurs ressources.

En plus de vérifier la présence de fichiers exportés dans votre compte de stockage, vous pouvez vérifier l’état de votre $export opération via l’URL de l’en-tête Content-Location retourné dans la réponse du service FHIR. Pour plus d’informations, consultez la documentation sur la demande d’état des données en bloc de HL7.

Exporter vos données FHIR vers Data Lake Storage Gen2

Actuellement, le service FHIR prend en charge $export les comptes Data Lake Storage Gen2, avec les limitations suivantes :

  • Data Lake Storage Gen2 fournit des espaces de noms hiérarchiques, mais il n’existe aucun moyen de cibler $export des opérations vers un sous-répertoire spécifique au sein d’un conteneur. Le service FHIR peut spécifier uniquement le conteneur de destination de l’exportation, où un nouveau dossier pour chaque $export opération est créé.
  • Une fois qu’une $export opération est terminée et que toutes les données ont été écrites dans un dossier, le service FHIR n’exporte rien vers ce dossier. Les exportations suivantes vers le même conteneur se trouvent dans un dossier nouvellement créé.

Pour exporter des données vers un compte de stockage derrière un pare-feu, consultez Configurer les paramètres pour l’exportation.

Paramètres et configurations

En-têtes

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

  • Accepter : application/fhir+json
  • Préférer : respond-async

Paramètres de requête

Le service FHIR prend en charge les paramètres de requête suivants pour le filtrage des données exportées. 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/ndjsonou juste ndjson. Tous les travaux d’exportation retournent .ndjson des fichiers et la valeur passée n’a aucun effet sur le comportement du code.
_since Oui Vous permet d’exporter uniquement les ressources qui ont été modifiées depuis l’heure spécifiée.
_type Oui Vous permet de spécifier les types de ressources à inclure. Par exemple, _type=Patient retourne uniquement les ressources des patients.
_typeFilter Oui Pour demander un filtrage plus précis, vous pouvez utiliser _typeFilter avec le _type paramètre. La valeur du _typeFilter paramètre est une liste séparée par des virgules de requêtes FHIR qui limitent davantage les résultats.
_container Non Spécifie le nom du 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 avec un nom généré automatiquement.
_till Non Vous permet d’exporter des ressources qui ont été modifiées jusqu’à l’heure spécifiée. Ce paramètre s’applique uniquement avec 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.
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 sans version les plus récentes. Incluez la valeur « _deleted » pour exporter des ressources supprimées de manière réversible.

Remarque

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

Résolution des problèmes

Les informations suivantes peuvent vous aider à résoudre les problèmes liés à l’exportation de données FHIR.

Travaux bloqués dans un état incorrect

Dans certains cas, un travail peut être bloqué dans un état incorrect pendant que le service FHIR tente d’exporter des données. Cela peut se produire en particulier si les autorisations de compte Data Lake Storage Gen2 n’ont pas été configurées correctement.

Une façon de vérifier l’état de votre $export opération consiste à accéder au navigateur de stockage de votre compte de stockage et à voir si .ndjson des fichiers sont présents dans le conteneur d’exportation. Si les fichiers ne sont pas présents et qu’aucun autre $export travail n’est en cours d’exécution, il est possible que le travail actuel soit bloqué dans un état incorrect. Dans ce cas, vous pouvez annuler le $export travail en envoyant une demande DELETE à l’URL fournie dans l’en-tête Content-Location pour annuler la demande

Remarque

Dans le service FHIR, l’heure par défaut d’inactivité d’une $export opération dans un état incorrect est de 10 minutes avant que le service arrête l’opération et passe à un nouveau travail.

Étapes suivantes

Dans cet article, vous avez appris à exporter des ressources FHIR à l’aide de l’opération $export . Pour plus d’informations sur la configuration et l’utilisation d’autres options pour l’exportation, consultez :

Remarque

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