Amazon HealthLake

2024/04/12 - Amazon HealthLake - 4 updated api methods

Changes  Added new CREATE_FAILED status for data stores. Added new errorCause to DescribeFHIRDatastore API and ListFHIRDatastores API response for additional insights into data store creation and deletion workflows.

CreateFHIRDatastore (updated) Link ¶
Changes (response)
{'DatastoreStatus': {'CREATE_FAILED'}}

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

See also: AWS API Documentation

Request Syntax

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'
    }
)
type DatastoreName:

string

param DatastoreName:

The user generated name for the data store.

type DatastoreTypeVersion:

string

param DatastoreTypeVersion:

[REQUIRED]

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

type SseConfiguration:

dict

param SseConfiguration:

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.

type PreloadDataConfig:

dict

param PreloadDataConfig:

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.

type ClientToken:

string

param ClientToken:

Optional user provided token used for ensuring idempotency.

This field is autopopulated if not provided.

type Tags:

list

param Tags:

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.

type IdentityProviderConfiguration:

dict

param IdentityProviderConfiguration:

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.

rtype:

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.

DeleteFHIRDatastore (updated) Link ¶
Changes (response)
{'DatastoreStatus': {'CREATE_FAILED'}}

Deletes a data store.

See also: AWS API Documentation

Request Syntax

client.delete_fhir_datastore(
    DatastoreId='string'
)
type DatastoreId:

string

param DatastoreId:

[REQUIRED]

The AWS-generated ID for the data store to be deleted.

rtype:

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 ID for the data store to be deleted.

    • DatastoreArn (string) --

      The Amazon Resource Name (ARN) that gives AWS HealthLake access permission.

    • DatastoreStatus (string) --

      The status of the data store that the user has requested to be deleted.

    • DatastoreEndpoint (string) --

      The AWS endpoint for the data store the user has requested to be deleted.

DescribeFHIRDatastore (updated) Link ¶
Changes (response)
{'DatastoreProperties': {'DatastoreStatus': {'CREATE_FAILED'},
                         'ErrorCause': {'ErrorCategory': 'RETRYABLE_ERROR | '
                                                         'NON_RETRYABLE_ERROR',
                                        'ErrorMessage': 'string'}}}

Gets the properties associated with the FHIR data store, including the data store ID, data store ARN, data store name, data store status, when the data store was created, data store type version, and the data store's endpoint.

See also: AWS API Documentation

Request Syntax

client.describe_fhir_datastore(
    DatastoreId='string'
)
type DatastoreId:

string

param DatastoreId:

[REQUIRED]

The AWS-generated data store ID.

rtype:

dict

returns:

Response Syntax

{
    'DatastoreProperties': {
        'DatastoreId': 'string',
        'DatastoreArn': 'string',
        'DatastoreName': 'string',
        'DatastoreStatus': 'CREATING'|'ACTIVE'|'DELETING'|'DELETED'|'CREATE_FAILED',
        'CreatedAt': datetime(2015, 1, 1),
        'DatastoreTypeVersion': 'R4',
        'DatastoreEndpoint': 'string',
        'SseConfiguration': {
            'KmsEncryptionConfig': {
                'CmkType': 'CUSTOMER_MANAGED_KMS_KEY'|'AWS_OWNED_KMS_KEY',
                'KmsKeyId': 'string'
            }
        },
        'PreloadDataConfig': {
            'PreloadDataType': 'SYNTHEA'
        },
        'IdentityProviderConfiguration': {
            'AuthorizationStrategy': 'SMART_ON_FHIR_V1'|'AWS_AUTH',
            'FineGrainedAuthorizationEnabled': True|False,
            'Metadata': 'string',
            'IdpLambdaArn': 'string'
        },
        'ErrorCause': {
            'ErrorMessage': 'string',
            'ErrorCategory': 'RETRYABLE_ERROR'|'NON_RETRYABLE_ERROR'
        }
    }
}

Response Structure

  • (dict) --

    • DatastoreProperties (dict) --

      All properties associated with a data store, including the data store ID, data store ARN, data store name, data store status, when the data store was created, data store type version, and the data store's endpoint.

      • DatastoreId (string) --

        The AWS-generated ID number for the data store.

      • DatastoreArn (string) --

        The Amazon Resource Name used in the creation of the data store.

      • DatastoreName (string) --

        The user-generated name for the data store.

      • DatastoreStatus (string) --

        The status of the data store.

      • CreatedAt (datetime) --

        The time that a data store was created.

      • DatastoreTypeVersion (string) --

        The FHIR version. Only R4 version data is supported.

      • DatastoreEndpoint (string) --

        The AWS endpoint for the data store. Each data store will have it's own endpoint with data store ID in the endpoint URL.

      • SseConfiguration (dict) --

        The server-side encryption key configuration for a customer provided encryption key (CMK).

        • KmsEncryptionConfig (dict) --

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

          • CmkType (string) --

            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) --

        The preloaded data configuration for the data store. Only data preloaded from Synthea is supported.

        • PreloadDataType (string) --

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

      • IdentityProviderConfiguration (dict) --

        The identity provider that you selected when you created the data store.

        • AuthorizationStrategy (string) --

          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.

      • ErrorCause (dict) --

        The error cause for the current data store operation.

        • ErrorMessage (string) --

          The text of the error message.

        • ErrorCategory (string) --

          The error category of the create/delete data store operation. Possible statuses are RETRYABLE_ERROR or NON_RETRYABLE_ERROR.

ListFHIRDatastores (updated) Link ¶
Changes (request, response)
Request
{'Filter': {'DatastoreStatus': {'CREATE_FAILED'}}}
Response
{'DatastorePropertiesList': {'DatastoreStatus': {'CREATE_FAILED'},
                             'ErrorCause': {'ErrorCategory': 'RETRYABLE_ERROR '
                                                             '| '
                                                             'NON_RETRYABLE_ERROR',
                                            'ErrorMessage': 'string'}}}

Lists all FHIR data stores that are in the user’s account, regardless of data store status.

See also: AWS API Documentation

Request Syntax

client.list_fhir_datastores(
    Filter={
        'DatastoreName': 'string',
        'DatastoreStatus': 'CREATING'|'ACTIVE'|'DELETING'|'DELETED'|'CREATE_FAILED',
        'CreatedBefore': datetime(2015, 1, 1),
        'CreatedAfter': datetime(2015, 1, 1)
    },
    NextToken='string',
    MaxResults=123
)
type Filter:

dict

param Filter:

Lists all filters associated with a FHIR data store request.

  • DatastoreName (string) --

    Allows the user to filter data store results by name.

  • DatastoreStatus (string) --

    Allows the user to filter data store results by status.

  • CreatedBefore (datetime) --

    A filter that allows the user to set cutoff dates for records. All data stores created before the specified date will be included in the results.

  • CreatedAfter (datetime) --

    A filter that allows the user to set cutoff dates for records. All data stores created after the specified date will be included in the results.

type NextToken:

string

param NextToken:

Fetches the next page of data stores when results are paginated.

type MaxResults:

integer

param MaxResults:

The maximum number of data stores returned in a single page of a ListFHIRDatastoresRequest call.

rtype:

dict

returns:

Response Syntax

{
    'DatastorePropertiesList': [
        {
            'DatastoreId': 'string',
            'DatastoreArn': 'string',
            'DatastoreName': 'string',
            'DatastoreStatus': 'CREATING'|'ACTIVE'|'DELETING'|'DELETED'|'CREATE_FAILED',
            'CreatedAt': datetime(2015, 1, 1),
            'DatastoreTypeVersion': 'R4',
            'DatastoreEndpoint': 'string',
            'SseConfiguration': {
                'KmsEncryptionConfig': {
                    'CmkType': 'CUSTOMER_MANAGED_KMS_KEY'|'AWS_OWNED_KMS_KEY',
                    'KmsKeyId': 'string'
                }
            },
            'PreloadDataConfig': {
                'PreloadDataType': 'SYNTHEA'
            },
            'IdentityProviderConfiguration': {
                'AuthorizationStrategy': 'SMART_ON_FHIR_V1'|'AWS_AUTH',
                'FineGrainedAuthorizationEnabled': True|False,
                'Metadata': 'string',
                'IdpLambdaArn': 'string'
            },
            'ErrorCause': {
                'ErrorMessage': 'string',
                'ErrorCategory': 'RETRYABLE_ERROR'|'NON_RETRYABLE_ERROR'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • DatastorePropertiesList (list) --

      All properties associated with the listed data stores.

      • (dict) --

        Displays the properties of the data store, including the ID, ARN, name, and the status of the data store.

        • DatastoreId (string) --

          The AWS-generated ID number for the data store.

        • DatastoreArn (string) --

          The Amazon Resource Name used in the creation of the data store.

        • DatastoreName (string) --

          The user-generated name for the data store.

        • DatastoreStatus (string) --

          The status of the data store.

        • CreatedAt (datetime) --

          The time that a data store was created.

        • DatastoreTypeVersion (string) --

          The FHIR version. Only R4 version data is supported.

        • DatastoreEndpoint (string) --

          The AWS endpoint for the data store. Each data store will have it's own endpoint with data store ID in the endpoint URL.

        • SseConfiguration (dict) --

          The server-side encryption key configuration for a customer provided encryption key (CMK).

          • KmsEncryptionConfig (dict) --

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

            • CmkType (string) --

              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) --

          The preloaded data configuration for the data store. Only data preloaded from Synthea is supported.

          • PreloadDataType (string) --

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

        • IdentityProviderConfiguration (dict) --

          The identity provider that you selected when you created the data store.

          • AuthorizationStrategy (string) --

            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.

        • ErrorCause (dict) --

          The error cause for the current data store operation.

          • ErrorMessage (string) --

            The text of the error message.

          • ErrorCategory (string) --

            The error category of the create/delete data store operation. Possible statuses are RETRYABLE_ERROR or NON_RETRYABLE_ERROR.

    • NextToken (string) --

      Pagination token that can be used to retrieve the next page of results.