

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`
<a name="reference-fhir-operations-export"></a>

Vous pouvez exporter des données en masse depuis votre magasin de HealthLake données à l'aide de l'opération FHIR \$1export. HealthLake prend en charge l'`$export`utilisation `POST` et les `GET` demandes de FHIR. Pour effectuer une demande d'exportation avec`POST`, 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](reference-healthlake-endpoints-quotas.md#reference-healthlake-quotas).

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


**HealthLake `$export`types 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
<a name="export-rest-before-you-begin"></a>

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`](#export-rest-auth).
+ 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, consultez[Configuration des autorisations pour les tâches d'exportation](getting-started-setting-up.md#setting-up-export-permissions).

## Autoriser une demande `$export`
<a name="export-rest-auth"></a>

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](getting-started-setting-up.md#setting-up-export-permissions).

**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](reference-smart-on-fhir-oauth-scopes.md#smart-on-fhir-scopes-rest).

**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
<a name="export-rest-request"></a>

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.

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

1. 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](reference-healthlake-endpoints-quotas.md#reference-healthlake-endpoints) pris en charge.
<a name="export-rest-request-step-1"></a>

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
<a name="export-rest-query-parameters"></a>

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.


| Nom | Obligatoire ? | Description | Exemple | 
| --- | --- | --- | --- | 
| \$1outputFormat | Non | Format des fichiers de données en masse demandés à générer. Les valeurs acceptées sont application/fhir\$1ndjsonapplication/ndjson,ndjson. |  | 
| \$1type | 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, \$1type car cela peut avoir une incidence financière lorsque toutes les ressources sont exportées. | &\$1type=MedicationStatement, Observation | 
| \$1since | 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. | &\$1since=2024-05-09T00%3A00%3A00Z | 
| \$1until | Non | Types de ressources modifiés le jour ou avant l'horodatage. Utilisé en combinaison avec \$1since pour définir une plage de temps spécifique pour l'exportation. Si un type de ressource n'a pas d'heure de dernière mise à jour, il sera exclu de votre réponse. | &\$1until=2024-12-31T23%3A59%3A59Z | 

### Étape 2 : Spécifier les paramètres d'en-tête requis
<a name="export-rest-request-step-2"></a>

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.
<a name="export-rest-request-step-3"></a>

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


| Clé | Obligatoire ? | Description | Value | 
| --- | --- | --- | --- | 
| 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 | 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 | 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 | 

**Example 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
<a name="export-rest-management"></a>

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
<a name="export-rest-management-describe"></a>

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
<a name="export-rest-management-describe"></a>

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.


| Nom | Obligatoire ? | Description | Value | 
| --- | --- | --- | --- | 
| 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 :<pre>SUBMITTED | IN_PROGRESS | COMPLETED_WITH_ERRORS | COMPLETED |<br />      FAILED</pre> | 
| S3Uri | Oui | Partie d'un [OutputDataConfig](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_OutputDataConfig.html)objet. 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 [OutputDataConfig](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_OutputDataConfig.html)objet. 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 | 

**Example : 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",
  }
}
```