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.
| Type d'exportation | Description | Syntaxe |
|---|---|---|
Système |
Exportez toutes les données depuis le serveur HealthLake FHIR. |
|
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. |
|
Groupe de patients |
Exportez toutes les données relatives à un groupe de patients spécifié par un identifiant de groupe. |
|
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 :
-
Spécifiez
$exportdans l'URL dePOSTdemande un point de terminaison pris en charge. -
Spécifiez les paramètres d'en-tête requis.
-
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:: |
| JobName | Non | Nom de la demande d'exportation. | |
| 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/ |
| 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: |
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 votre.export-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:: |
| 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. | |
| JobStatus | Non | Les valeurs valides sont :
|
|
| 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/ |
| 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: |
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", } }