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/ndjson ou 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.