

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membuat penyimpanan HealthLake data
<a name="managing-data-stores-create"></a>

Gunakan `CreateFHIRDatastore` untuk membuat kesesuaian penyimpanan AWS HealthLake data dengan spesifikasi FHIR R4. HealthLake penyimpanan data digunakan untuk mengimpor, mengelola, mencari, dan mengekspor data FHIR. Anda dapat memilih untuk mengimpor (preload) Synthea open source data kesehatan FHIR R4 ke penyimpanan data Anda saat Anda membuatnya. Untuk informasi selengkapnya, lihat [Tipe data yang dimuat sebelumnya](reference-healthlake-preloaded-data-types.md).

**Penting:**  
HealthLake mendukung dua jenis strategi otorisasi penyimpanan data FHIR, AWS SiGv4 atau SMART di FHIR. Anda harus memilih salah satu strategi otorisasi sebelum membuat penyimpanan data HealthLake FHIR. Untuk informasi selengkapnya, lihat [Strategi otorisasi penyimpanan data](getting-started-concepts.md#concept-data-store-authorization-strategy).

[Saat Anda membuat penyimpanan HealthLake data, repositori data FHIR tersedia melalui titik akhir API. RESTful](reference-healthlake-endpoints-quotas.md#reference-healthlake-endpoints) Setelah membuat penyimpanan HealthLake data, Anda dapat meminta [Pernyataan Kemampuannya untuk menemukan semua kemampuan](reference-fhir-capability-statement.md) (perilaku) terkait FHIR terkait.

Menu berikut memberikan contoh untuk AWS CLI dan AWS SDKs dan prosedur untuk. Konsol Manajemen AWS Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/healthlake/latest/APIReference/API_CreateFHIRDatastore.html](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_CreateFHIRDatastore.html) di dalam *Referensi API AWS HealthLake *. 

**Untuk membuat penyimpanan HealthLake data**  
Pilih menu berdasarkan preferensi akses Anda AWS HealthLake.

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

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

**AWS CLI**  
**Contoh 1: Buat penyimpanan data berkemampuan SIGV4 HealthLake **  
`create-fhir-datastore`Contoh berikut menunjukkan cara membuat penyimpanan data baru di AWS HealthLake.  

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

```
{
    "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)"
}
```
**Contoh 2: Buat SMART di penyimpanan data berkemampuan FHIR HealthLake **  
`create-fhir-datastore`Contoh berikut menunjukkan cara membuat SMART baru di penyimpanan data berkemampuan FHIR di. 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
```
Isi dari `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\"]}"
}
```
Output:  

```
{
    "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)"
}
```
Untuk informasi selengkapnya, lihat [Membuat dan memantau penyimpanan data FHIR](https://docs.aws.amazon.com/healthlake/latest/devguide/working-with-FHIR-healthlake.html) di *Panduan AWS HealthLake Pengembang*.  
+  Untuk detail API, lihat [Membuat FHIRDatastore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/healthlake/create-fhir-datastore.html) di *Referensi AWS CLI Perintah*. 

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

**SDK untuk 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
```
Kode berikut menunjukkan contoh parameter untuk SMART pada penyimpanan data berkemampuan 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
            )
```
+  Untuk detail API, lihat [Membuat FHIRDatastore](https://docs.aws.amazon.com/goto/boto3/healthlake-2017-07-01/CreateFHIRDatastore) di *AWS SDK for Python (Boto3) Referensi* API. 
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/healthlake#code-examples). 

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

**SDK for SAP ABAP**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode 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.
```
+  Untuk detail API, lihat [Create FHIRDatastore](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html) in *AWS SDK untuk referensi SAP ABAP* API. 

------

**Ketersediaan contoh**  
Tidak dapat menemukan apa yang Anda butuhkan? Minta contoh kode menggunakan tautan **Berikan umpan balik** di bilah sisi kanan halaman ini.

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

**Catatan**  
Prosedur berikut membuat penyimpanan HealthLake data dengan otorisasi [AWS SiGv4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html). HealthLake Konsol tidak mendukung pembuatan SMART di penyimpanan data FHIR.

**Untuk membuat penyimpanan HealthLake data dengan otorisasi AWS SiGv4**

1. Masuk ke halaman [Buat penyimpanan data](https://console.aws.amazon.com/healthlake/home#/create-datastore) di HealthLake Konsol.

1. Pilih **Buat Penyimpanan Data**.

1. Di bagian **Pengaturan Penyimpanan Data**, untuk **nama Penyimpanan Data**, tentukan nama.

1. (Opsional) Di bagian **Pengaturan Penyimpanan Data**, untuk **Memuat data sampel**, pilih kotak centang untuk memuat data Synthea. Synthea data adalah kumpulan data sampel sumber terbuka. Untuk informasi selengkapnya, lihat [Synthea tipe data yang dimuat sebelumnya untuk HealthLake](reference-healthlake-preloaded-data-types.md).

1. Di bagian **enkripsi Penyimpanan Data**, pilih **Gunakan kunci yang dimiliki AWS (default)** atau **Pilih kunci AWS KMS yang berbeda (lanjutan)**.

1. Di bagian **Tags - *opsional***, Anda dapat menambahkan tag ke penyimpanan data Anda. Untuk mempelajari lebih lanjut tentang menandai penyimpanan data Anda, lihat[Menandai penyimpanan HealthLake data](managing-data-stores-tagging.md).

1. Pilih **Buat Penyimpanan Data**.

   Status penyimpanan data Anda tersedia di halaman **Penyimpanan data**.