Exporter HealthLake des données avec FHIR $export - AWS HealthLake

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exporter HealthLake des données avec FHIR $export

Vous pouvez exporter des données en masse depuis votre magasin de HealthLake données à l'aide de l'opération FHIR $export. HealthLake prend en charge l'$exportutilisation POST et les GET demandes de FHIR. Pour effectuer une demande d'exportation avecPOST, vous devez disposer d'un utilisateur, d'un groupe ou d'un rôle IAM doté des autorisations requises, le spécifier dans le $export cadre de la demande et inclure les paramètres souhaités dans le corps de la demande.

Note

Toutes les demandes HealthLake d'exportation effectuées à l'aide de FHIR $export sont renvoyées au ndjson format et exportées vers un compartiment Amazon S3, où chaque objet Amazon S3 ne contient qu'un seul type de ressource FHIR.

Vous pouvez mettre en file d'attente les demandes d'exportation conformément aux quotas de service du AWS compte. Pour de plus amples informations, veuillez consulter Quotas de service.

HealthLake prend en charge les trois types suivants de demandes de terminaux d'exportation en masse.

HealthLake $exporttypes en vrac
Type d'exportation Description Syntaxe

Système

Exportez toutes les données depuis le serveur HealthLake FHIR.

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/$export

Tous les patients

Exportez toutes les données relatives à tous les patients, y compris les types de ressources associés au type de ressource Patient.

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export

Groupe de patients

Exportez toutes les données relatives à un groupe de patients spécifié par un identifiant de groupe.

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export

Avant de commencer

Répondez aux exigences suivantes pour effectuer une demande d'exportation à l'aide de l'API REST FHIR pour HealthLake.

  • Vous devez avoir configuré un utilisateur, un groupe ou un rôle disposant des autorisations nécessaires pour effectuer la demande d'exportation. Pour en savoir plus, veuillez consulter la section Autoriser une demande $export.

  • Vous devez avoir créé un rôle de service qui accorde l' HealthLake accès au compartiment Amazon S3 vers lequel vous souhaitez que vos données soient exportées. Le rôle de service doit également être spécifié HealthLake comme principal de service. Pour plus d'informations sur la configuration des autorisations, consultezConfiguration des autorisations pour les tâches d'exportation.

Autoriser une demande $export

Pour effectuer une demande d'exportation réussie à l'aide de l'API REST FHIR, autorisez votre utilisateur, votre groupe ou votre rôle à l'aide d'IAM ou OAuth2 .0. Vous devez également avoir un rôle de service.

Autoriser une demande à l'aide d'IAM

Lorsque vous faites une $export demande, les actions IAM de l'utilisateur, du groupe ou du rôle doivent être incluses dans la politique. Pour de plus amples informations, veuillez consulter Configuration des autorisations pour les tâches d'exportation.

Autoriser une demande à l'aide de SMART sur FHIR (2.0) OAuth

Lorsque vous faites une $export demande sur un magasin de HealthLake données compatible SMART sur FHIR, les étendues appropriées doivent vous être attribuées. Pour de plus amples informations, veuillez consulter SMART sur les champs de ressources FHIR pour HealthLake.

Note

Le FHIR $export avec GET demandes nécessite la même méthode d'authentification ou le même jeton porteur (dans le cas de SMART sur FHIR) pour demander l'exportation et la récupération de fichiers. Les fichiers exportés à l'aide de FHIR $export avec GET peuvent être téléchargés pendant 48 heures.

Faire une $export demande

Cette section décrit les étapes obligatoires que vous devez suivre lorsque vous effectuez une demande d'exportation à l'aide de l'API REST FHIR.

Pour éviter des frais accidentels sur votre AWS compte, nous vous recommandons de tester vos demandes en effectuant une POST demande sans fournir de $export syntaxe.

Pour faire la demande, vous devez effectuer les opérations suivantes :

  1. Spécifiez $export dans l'URL de POST demande un point de terminaison pris en charge.

  2. Spécifiez les paramètres d'en-tête requis.

  3. Spécifiez un corps de demande qui définit les paramètres requis.

Étape 1 : Spécifiez $export dans l'URL de POST demande un point de terminaison pris en charge.

HealthLake prend en charge trois types de demandes d'exportation groupées pour les terminaux. Pour effectuer une demande d'exportation groupée, vous devez effectuer une demande POST basée sur l'un des trois points de terminaison pris en charge. Les exemples suivants montrent où spécifier $export dans l'URL de la demande.

  • POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/$export

  • POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export

  • POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export

Vous pouvez utiliser les paramètres de recherche pris en charge suivants dans la chaîne de POST requête.

Paramètres de recherche pris en charge

HealthLake prend en charge les modificateurs de recherche suivants dans les demandes d'exportation groupées.

Les exemples suivants incluent des caractères spéciaux qui doivent être codés avant de soumettre votre demande.

Name (Nom) Obligatoire ? Description Exemple
_outputFormat Non Format des fichiers de données en masse demandés à générer. Les valeurs acceptées sont application/fhir+ndjsonapplication/ndjson,ndjson.
_type Non Chaîne de types de ressources FHIR séparés par des virgules que vous souhaitez inclure dans votre tâche d'exportation. Nous vous recommandons de l'inclure, _type car cela peut avoir une incidence financière lorsque toutes les ressources sont exportées. &_type=MedicationStatement, Observation
_since Non Types de ressources modifiés le jour ou après l'horodatage. Si un type de ressource n'a pas d'heure de dernière mise à jour, il sera inclus dans votre réponse. &_since=2024-05-09T00%3A00%3A00Z

Étape 2 : Spécifier les paramètres d'en-tête requis

Pour effectuer une demande d'exportation à l'aide de l'API REST FHIR, vous devez spécifier les paramètres d'en-tête suivants.

  • Type de contenu : application/fhir+json

  • Préférez : respond-async

Ensuite, vous devez spécifier les éléments requis dans le corps de la demande.

Étape 3 : Spécifiez un corps de demande qui définit les paramètres requis.

La demande d'exportation nécessite également un corps au JSON format. Le corps peut inclure les paramètres suivants.

Key Obligatoire ? Description Valeur
DataAccessRoleArn Oui L'ARN d'un rôle HealthLake de service. Le rôle de service utilisé doit être spécifié HealthLake comme principal de service. arn:aws:iam::444455556666:role/your-healthlake-service-role
JobName Non Nom de la demande d'exportation. your-export-job-name
S3Uri Oui C'est une partie d'une OutputDataConfig clé. L'URI S3 du compartiment de destination dans lequel vos données exportées seront téléchargées. s3://amzn-s3-demo-bucket/EXPORT-JOB/
KmsKeyId Oui C'est une partie d'une OutputDataConfig clé. L'ARN de la AWS KMS clé utilisée pour sécuriser le compartiment Amazon S3. arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab
Exemple Corps d'une demande d'exportation effectuée à l'aide de l'API REST FHIR

Pour effectuer une demande d'exportation à l'aide de l'API REST FHIR, vous devez spécifier un corps, comme indiqué ci-dessous.

{ "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role", "JobName": "your-export-job", "OutputDataConfig": { "S3Configuration": { "S3Uri": "s3://amzn-s3-demo-bucket/EXPORT-JOB", "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab" } } }

Lorsque votre demande sera acceptée, vous recevrez la réponse suivante.

En-tête de réponse

content-location: https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-job-id

Organisme de réponse

{ "datastoreId": "your-data-store-id", "jobStatus": "SUBMITTED", "jobId": "your-export-request-job-id" }

Gestion de votre demande d'exportation

Après avoir effectué une demande d'exportation réussie, vous pouvez la gérer en $export décrivant le statut d'une demande d'exportation en cours et $export en annulant une demande d'exportation en cours.

Lorsque vous annulez une demande d'exportation à l'aide de l'API REST, vous n'êtes facturée que pour la partie des données exportées jusqu'au moment où vous avez soumis la demande d'annulation.

Les rubriques suivantes décrivent comment vous pouvez obtenir le statut d'une demande d'exportation en cours ou l'annuler.

Annulation d'une demande d'exportation

Pour annuler une demande d'exportation, faites une DELETE demande et indiquez l'ID de tâche dans l'URL de la demande.

DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-job-id

Lorsque votre demande est acceptée, vous recevez ce qui suit.

{ "exportJobProperties": { "jobId": "your-original-export-request-job-id", "jobStatus": "CANCEL_SUBMITTED", "datastoreId": "your-data-store-id" } }

Lorsque votre demande n'aboutit pas, vous recevez ce qui suit.

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "not-supported", "diagnostics": "Interaction not supported." } ] }

Décrire une demande d'exportation

Pour connaître le statut d'une demande d'exportation, faites une GET demande en utilisant export et votreexport-request-job-id.

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-id

La réponse JSON contiendra un ExportJobProperties objet. Il peut contenir les paires clé:valeur suivantes.

Name (Nom) Obligatoire ? Description Valeur
DataAccessRoleArn Non L'ARN d'un rôle HealthLake de service. Le rôle de service utilisé doit être spécifié HealthLake comme principal de service. arn:aws:iam::444455556666:role/your-healthlake-service-role
SubmitTime Non Date à laquelle une tâche d'exportation a été soumise. Apr 21, 2023 5:58:02
EndTime Non

Heure à laquelle une tâche d'exportation a été terminée.

Apr 21, 2023 6:00:08 PM
JobName Non Nom de la demande d'exportation. your-export-job-name
JobStatus Non Les valeurs valides sont :
SUBMITTED | IN_PROGRESS | COMPLETED_WITH_ERRORS | COMPLETED | FAILED
S3Uri Oui Partie d'un OutputDataConfigobjet. L'URI Amazon S3 du compartiment de destination dans lequel vos données exportées seront téléchargées. s3://amzn-s3-demo-bucket/EXPORT-JOB/
KmsKeyId Oui Partie d'un OutputDataConfigobjet. L'ARN de la AWS KMS clé utilisée pour sécuriser le compartiment Amazon S3. arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab
Exemple : corps d'une demande d'exportation de description effectuée à l'aide de l'API REST FHIR

En cas de succès, vous obtiendrez la réponse JSON suivante.

{ "exportJobProperties": { "jobId": "your-export-request-id", "JobName": "your-export-job", "jobStatus": "SUBMITTED", "submitTime": "Apr 21, 2023 5:58:02 PM", "endTime": "Apr 21, 2023 6:00:08 PM", "datastoreId": "your-data-store-id", "outputDataConfig": { "s3Configuration": { "S3Uri": "s3://amzn-s3-demo-bucket/EXPORT-JOB", "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab"" } }, "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role", } }