

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.

# Création d'un magasin HealthLake de données
<a name="managing-data-stores-create"></a>

`CreateFHIRDatastore`À utiliser pour créer un magasin de AWS HealthLake données conforme à la spécification FHIR R4. HealthLake les magasins de données sont utilisés pour importer, gérer, rechercher et exporter des données FHIR. Vous pouvez choisir d'importer (précharger) les données de santé open source FHIR R4 de Synthea dans votre banque de données lorsque vous les créez. Pour de plus amples informations, veuillez consulter [Types de données préchargés](reference-healthlake-preloaded-data-types.md).

**Important**  
HealthLake prend en charge deux types de stratégies d'autorisation de stockage de données FHIR, AWS SIGv4 ou SMART sur FHIR. Vous devez choisir l'une des stratégies d'autorisation avant de créer un magasin de données HealthLake FHIR. Pour de plus amples informations, veuillez consulter [Stratégie d'autorisation du magasin de données](getting-started-concepts.md#concept-data-store-authorization-strategy).

Lorsque vous créez un magasin de HealthLake données, un référentiel de données FHIR est mis à disposition via un point de [terminaison](reference-healthlake-endpoints-quotas.md#reference-healthlake-endpoints) d' RESTfulAPI. Après avoir créé votre banque de HealthLake données, vous pouvez demander sa [déclaration de capacité](reference-fhir-capability-statement.md) pour trouver toutes les capacités (comportements) associées au FHIR.

Les menus suivants fournissent des exemples pour AWS CLI AWS SDKs et une procédure pour AWS Management Console. Pour plus d’informations, consultez [https://docs.aws.amazon.com/healthlake/latest/APIReference/API_CreateFHIRDatastore.html](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_CreateFHIRDatastore.html) dans la *Référence d’API AWS HealthLake *.

**Pour créer un magasin HealthLake de données**  
Choisissez un menu en fonction de vos préférences d'accès à AWS HealthLake.

## AWS CLI et SDKs
<a name="managing-data-stores-create-cli-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : création d'un magasin de données compatible SIGv4 HealthLake **  
L'`create-fhir-datastore`exemple suivant montre comment créer un nouveau magasin de données dans AWS HealthLake.  

```
aws healthlake create-fhir-datastore \
    --datastore-type-version R4 \
    --datastore-name "FhirTestDatastore"
```
Sortie :  

```
{
    "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Data store ID)/r4/",
    "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Data store ID)",
    "DatastoreStatus": "CREATING",
    "DatastoreId": "(Data store ID)"
}
```
**Exemple 2 : créer un magasin de données compatible SMART sur FHIR HealthLake **  
L'`create-fhir-datastore`exemple suivant montre comment créer un nouveau magasin de données compatible SMART on FHIR dans. AWS HealthLake  

```
aws healthlake create-fhir-datastore \
    --datastore-name "your-data-store-name" \
    --datastore-type-version R4 \
    --preload-data-config PreloadDataType="SYNTHEA" \
    --sse-configuration '{ "KmsEncryptionConfig": {  "CmkType": "CUSTOMER_MANAGED_KMS_KEY", "KmsKeyId": "arn:aws:kms:us-east-1:your-account-id:key/your-key-id" } }' \
    --identity-provider-configuration  file://identity_provider_configuration.json
```
Contenu de `identity_provider_configuration.json` :  

```
{
    "AuthorizationStrategy": "SMART_ON_FHIR_V1",
    "FineGrainedAuthorizationEnabled": true,
    "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name",
    "Metadata": "{\"issuer\":\"https://ehr.example.com\", \"jwks_uri\":\"https://ehr.example.com/.well-known/jwks.json\",\"authorization_endpoint\":\"https://ehr.example.com/auth/authorize\",\"token_endpoint\":\"https://ehr.token.com/auth/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"foo\"],\"grant_types_supported\":[\"client_credential\",\"foo\"],\"registration_endpoint\":\"https://ehr.example.com/auth/register\",\"scopes_supported\":[\"openId\",\"profile\",\"launch\"],\"response_types_supported\":[\"code\"],\"management_endpoint\":\"https://ehr.example.com/user/manage\",\"introspection_endpoint\":\"https://ehr.example.com/user/introspect\",\"revocation_endpoint\":\"https://ehr.example.com/user/revoke\",\"code_challenge_methods_supported\":[\"S256\"],\"capabilities\":[\"launch-ehr\",\"sso-openid-connect\",\"client-public\"]}"
}
```
Sortie :  

```
{
    "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Data store ID)/r4/",
    "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Data store ID)",
    "DatastoreStatus": "CREATING",
    "DatastoreId": "(Data store ID)"
}
```
Pour plus d'informations, consultez la section [Création et surveillance d'un magasin de données FHIR](https://docs.aws.amazon.com/healthlake/latest/devguide/working-with-FHIR-healthlake.html) dans le *Guide du AWS HealthLake développeur*.  
+  Pour plus de détails sur l'API, voir [Create FHIRDatastore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/healthlake/create-fhir-datastore.html) in *AWS CLI Command Reference*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  

```
    @classmethod
    def from_client(cls) -> "HealthLakeWrapper":
        """
        Creates a HealthLakeWrapper instance with a default AWS HealthLake client.

        :return: An instance of HealthLakeWrapper initialized with the default HealthLake client.
        """
        health_lake_client = boto3.client("healthlake")
        return cls(health_lake_client)


    def create_fhir_datastore(
        self,
        datastore_name: str,
        sse_configuration: dict[str, any] = None,
        identity_provider_configuration: dict[str, any] = None,
    ) -> dict[str, str]:
        """
        Creates a new HealthLake data store.
        When creating a SMART on FHIR data store, the following parameters are required:
        - sse_configuration: The server-side encryption configuration for a SMART on FHIR-enabled data store.
        - identity_provider_configuration: The identity provider configuration for a SMART on FHIR-enabled data store.

        :param datastore_name: The name of the data store.
        :param sse_configuration: The server-side encryption configuration for a SMART on FHIR-enabled data store.
        :param identity_provider_configuration: The identity provider configuration for a SMART on FHIR-enabled data store.
        :return: A dictionary containing the data store information.
        """
        try:
            parameters = {"DatastoreName": datastore_name, "DatastoreTypeVersion": "R4"}
            if (
                sse_configuration is not None
                and identity_provider_configuration is not None
            ):
                # Creating a SMART on FHIR-enabled data store
                parameters["SseConfiguration"] = sse_configuration
                parameters[
                    "IdentityProviderConfiguration"
                ] = identity_provider_configuration

            response = self.health_lake_client.create_fhir_datastore(**parameters)
            return response
        except ClientError as err:
            logger.exception(
                "Couldn't create data store %s. Here's why %s",
                datastore_name,
                err.response["Error"]["Message"],
            )
            raise
```
Le code suivant montre un exemple de paramètres pour un magasin de données compatible SMART sur FHIR HealthLake .   

```
            sse_configuration = {
                "KmsEncryptionConfig": {"CmkType": "AWS_OWNED_KMS_KEY"}
            }
            # TODO: Update the metadata to match your environment.
            metadata = {
                "issuer": "https://ehr.example.com",
                "jwks_uri": "https://ehr.example.com/.well-known/jwks.json",
                "authorization_endpoint": "https://ehr.example.com/auth/authorize",
                "token_endpoint": "https://ehr.token.com/auth/token",
                "token_endpoint_auth_methods_supported": [
                    "client_secret_basic",
                    "foo",
                ],
                "grant_types_supported": ["client_credential", "foo"],
                "registration_endpoint": "https://ehr.example.com/auth/register",
                "scopes_supported": ["openId", "profile", "launch"],
                "response_types_supported": ["code"],
                "management_endpoint": "https://ehr.example.com/user/manage",
                "introspection_endpoint": "https://ehr.example.com/user/introspect",
                "revocation_endpoint": "https://ehr.example.com/user/revoke",
                "code_challenge_methods_supported": ["S256"],
                "capabilities": [
                    "launch-ehr",
                    "sso-openid-connect",
                    "client-public",
                ],
            }
            # TODO: Update the IdpLambdaArn.
            identity_provider_configuration = {
                "AuthorizationStrategy": "SMART_ON_FHIR_V1",
                "FineGrainedAuthorizationEnabled": True,
                "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name",
                "Metadata": json.dumps(metadata),
            }
            data_store = self.create_fhir_datastore(
                datastore_name, sse_configuration, identity_provider_configuration
            )
```
+  Pour plus de détails sur l'API, consultez le [manuel de référence de l'API Create FHIRDatastore](https://docs.aws.amazon.com/goto/boto3/healthlake-2017-07-01/CreateFHIRDatastore) in *AWS SDK for Python (Boto3*). 
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/healthlake#code-examples). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/hll#code-examples). 

```
    TRY.
        " iv_datastore_name = 'MyHealthLakeDataStore'
        oo_result = lo_hll->createfhirdatastore(
          iv_datastorename = iv_datastore_name
          iv_datastoretypeversion = 'R4'
        ).
        MESSAGE 'Data store created successfully.' TYPE 'I'.
      CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex).
        DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|.
        MESSAGE lv_error TYPE 'I'.
        RAISE EXCEPTION lo_validation_ex.
      CATCH /aws1/cx_hllinternalserverex INTO DATA(lo_internal_ex).
        lv_error = |Internal server error: { lo_internal_ex->av_err_code }-{ lo_internal_ex->av_err_msg }|.
        MESSAGE lv_error TYPE 'I'.
        RAISE EXCEPTION lo_internal_ex.
      CATCH /aws1/cx_hllthrottlingex INTO DATA(lo_throttling_ex).
        lv_error = |Throttling error: { lo_throttling_ex->av_err_code }-{ lo_throttling_ex->av_err_msg }|.
        MESSAGE lv_error TYPE 'I'.
        RAISE EXCEPTION lo_throttling_ex.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez la section de référence sur l'*API [Create FHIRDatastore](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html) in AWS SDK for SAP ABAP*. 

------

**Exemple de disponibilité**  
Vous n’avez pas trouvé ce dont vous avez besoin ? Demandez un exemple de code à l'aide du lien **Fournir des commentaires** dans la barre latérale droite de cette page.

## AWS Console
<a name="managing-data-stores-create-console"></a>

**Remarque**  
La procédure suivante crée un magasin de HealthLake données avec l'autorisation [AWS SigV4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html). La HealthLake console ne prend pas en charge la création d'un magasin de données SMART sur FHIR.

**Pour créer un magasin de HealthLake données avec l'autorisation AWS SigV4**

1. Connectez-vous à la page [Créer un magasin de données](https://console.aws.amazon.com/healthlake/home#/create-datastore) sur la HealthLake console.

1. Choisissez **Create Data Store**.

1. Dans la section **des paramètres du magasin** de **données, pour le nom du magasin** de données, spécifiez un nom.

1. (Facultatif) Dans la section des **paramètres du magasin de données**, pour **Précharger les échantillons de données**, cochez la case pour précharger les données Synthea. Synthea Data est un exemple de jeu de données open source. Pour de plus amples informations, veuillez consulter [Types de données préchargés Synthea pour HealthLake](reference-healthlake-preloaded-data-types.md).

1. Dans la section **Chiffrement du magasin de données**, choisissez **Utiliser une clé appartenant à AWS (par défaut)** ou **Choisir une autre clé AWS KMS (avancée)**.

1. Dans la section **Balises - *optionnelle***, vous pouvez ajouter des balises à votre banque de données. Pour en savoir plus sur le balisage de votre banque de données, consultez[Marquage des magasins de HealthLake données](managing-data-stores-tagging.md).

1. Choisissez **Create Data Store**.

   L'état de votre magasin de données est disponible sur la page **des magasins de données**.