HealthLake / Client / create_fhir_datastore

create_fhir_datastore#

HealthLake.Client.create_fhir_datastore(**kwargs)#

Creates a data store that can ingest and export FHIR formatted data.

See also: AWS API Documentation

Request Syntax

response = client.create_fhir_datastore(
    DatastoreName='string',
    DatastoreTypeVersion='R4',
    SseConfiguration={
        'KmsEncryptionConfig': {
            'CmkType': 'CUSTOMER_MANAGED_KMS_KEY'|'AWS_OWNED_KMS_KEY',
            'KmsKeyId': 'string'
        }
    },
    PreloadDataConfig={
        'PreloadDataType': 'SYNTHEA'
    },
    ClientToken='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    IdentityProviderConfiguration={
        'AuthorizationStrategy': 'SMART_ON_FHIR_V1'|'AWS_AUTH',
        'FineGrainedAuthorizationEnabled': True|False,
        'Metadata': 'string',
        'IdpLambdaArn': 'string'
    }
)
Parameters:
  • DatastoreName (string) – The user generated name for the data store.

  • DatastoreTypeVersion (string) –

    [REQUIRED]

    The FHIR version of the data store. The only supported version is R4.

  • SseConfiguration (dict) –

    The server-side encryption key configuration for a customer provided encryption key specified for creating a data store.

    • KmsEncryptionConfig (dict) – [REQUIRED]

      The KMS encryption configuration used to provide details for data encryption.

      • CmkType (string) – [REQUIRED]

        The type of customer-managed-key(CMK) used for encryption. The two types of supported CMKs are customer owned CMKs and AWS owned CMKs.

      • KmsKeyId (string) –

        The KMS encryption key id/alias used to encrypt the data store contents at rest.

  • PreloadDataConfig (dict) –

    Optional parameter to preload data upon creation of the data store. Currently, the only supported preloaded data is synthetic data generated from Synthea.

    • PreloadDataType (string) – [REQUIRED]

      The type of preloaded data. Only Synthea preloaded data is supported.

  • ClientToken (string) –

    Optional user provided token used for ensuring idempotency.

    This field is autopopulated if not provided.

  • Tags (list) –

    Resource tags that are applied to a data store when it is created.

    • (dict) –

      A tag is a label consisting of a user-defined key and value. The form for tags is {“Key”, “Value”}

      • Key (string) – [REQUIRED]

        The key portion of a tag. Tag keys are case sensitive.

      • Value (string) – [REQUIRED]

        The value portion of a tag. Tag values are case sensitive.

  • IdentityProviderConfiguration (dict) –

    The configuration of the identity provider that you want to use for your data store.

    • AuthorizationStrategy (string) – [REQUIRED]

      The authorization strategy that you selected when you created the data store.

    • FineGrainedAuthorizationEnabled (boolean) –

      If you enabled fine-grained authorization when you created the data store.

    • Metadata (string) –

      The JSON metadata elements that you want to use in your identity provider configuration. Required elements are listed based on the launch specification of the SMART application. For more information on all possible elements, see Metadata in SMART’s App Launch specification.

      authorization_endpoint: The URL to the OAuth2 authorization endpoint.

      grant_types_supported: An array of grant types that are supported at the token endpoint. You must provide at least one grant type option. Valid options are authorization_code and client_credentials.

      token_endpoint: The URL to the OAuth2 token endpoint.

      capabilities: An array of strings of the SMART capabilities that the authorization server supports.

      code_challenge_methods_supported: An array of strings of supported PKCE code challenge methods. You must include the S256 method in the array of PKCE code challenge methods.

    • IdpLambdaArn (string) –

      The Amazon Resource Name (ARN) of the Lambda function that you want to use to decode the access token created by the authorization server.

Return type:

dict

Returns:

Response Syntax

{
    'DatastoreId': 'string',
    'DatastoreArn': 'string',
    'DatastoreStatus': 'CREATING'|'ACTIVE'|'DELETING'|'DELETED'|'CREATE_FAILED',
    'DatastoreEndpoint': 'string'
}

Response Structure

  • (dict) –

    • DatastoreId (string) –

      The AWS-generated data store id. This id is in the output from the initial data store creation call.

    • DatastoreArn (string) –

      The data store ARN is generated during the creation of the data store and can be found in the output from the initial data store creation call.

    • DatastoreStatus (string) –

      The status of the FHIR data store.

    • DatastoreEndpoint (string) –

      The AWS endpoint for the created data store.

Exceptions

  • HealthLake.Client.exceptions.ValidationException

  • HealthLake.Client.exceptions.ThrottlingException

  • HealthLake.Client.exceptions.AccessDeniedException

  • HealthLake.Client.exceptions.InternalServerException