SDK for PHP V3

Client: Aws\HealthLake\HealthLakeClient
Service ID: healthlake
Version: 2017-07-01

This page describes the parameters and results for the operations of the Amazon HealthLake (2017-07-01), and shows how to use the Aws\HealthLake\HealthLakeClient object to call the described operations. This documentation is specific to the 2017-07-01 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateDataTransformationProfile ( array $params = [] )
Creates a data transformation profile in DRAFT state.
CreateFHIRDatastore ( array $params = [] )
Create a FHIR-enabled data store.
DeleteDataTransformationProfile ( array $params = [] )
Deletes a data transformation profile and all its versions, including the DRAFT and all published versions.
DeleteFHIRDatastore ( array $params = [] )
Delete a FHIR-enabled data store.
DescribeDataTransformationJob ( array $params = [] )
Describes a data transformation job, including its current status, configuration, and progress information.
DescribeFHIRDatastore ( array $params = [] )
Get properties for a FHIR-enabled data store.
DescribeFHIRExportJob ( array $params = [] )
Get FHIR export job properties.
DescribeFHIRImportJob ( array $params = [] )
Get the import job properties to learn more about the job or job progress.
GetDataTransformationProfile ( array $params = [] )
Retrieves a data transformation profile's metadata and profile content at a specific version.
ListDataTransformationJobs ( array $params = [] )
Lists data transformation jobs for your AWS account.
ListDataTransformationProfileVersions ( array $params = [] )
Lists all versions of a specific data transformation profile (DRAFT and published), in reverse chronological order (newest first).
ListDataTransformationProfiles ( array $params = [] )
Lists all data transformation profiles in your account, returning the latest version summary for each.
ListFHIRDatastores ( array $params = [] )
List all FHIR-enabled data stores in a user’s account, regardless of data store status.
ListFHIRExportJobs ( array $params = [] )
Lists all FHIR export jobs associated with an account and their statuses.
ListFHIRImportJobs ( array $params = [] )
List all FHIR import jobs associated with an account and their statuses.
ListTagsForResource ( array $params = [] )
Returns a list of all existing tags associated with a data store.
PublishDataTransformationProfile ( array $params = [] )
Promotes the current DRAFT version of a data transformation profile to a new immutable published version.
StartDataTransformationJob ( array $params = [] )
Starts an asynchronous data transformation job that converts source files from Amazon Simple Storage Service (Amazon S3) and writes the output to Amazon S3 or AWS HealthLake.
StartFHIRExportJob ( array $params = [] )
Start a FHIR export job.
StartFHIRImportJob ( array $params = [] )
Start importing bulk FHIR data into an ACTIVE data store.
TagResource ( array $params = [] )
Add a user-specifed key and value tag to a data store.
UntagResource ( array $params = [] )
Remove a user-specifed key and value tag from a data store.
UpdateDataTransformationProfile ( array $params = [] )
Updates the DRAFT version (version 0) of a data transformation profile with new profile content.
UpdateFHIRDatastore ( array $params = [] )
Update the properties of a FHIR-enabled data store.
UpdateProfileWithAgent ( array $params = [] )
Updates a data transformation profile using chat-based interaction with an agent.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListDataTransformationJobs
ListDataTransformationProfileVersions
ListDataTransformationProfiles
ListFHIRDatastores
ListFHIRExportJobs
ListFHIRImportJobs

Waiters

Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:

Waiter name API Operation Delay Max Attempts
DataTransformationJobCompleted DescribeDataTransformationJob 30 5
FHIRDatastoreActive DescribeFHIRDatastore 60 5
FHIRDatastoreDeleted DescribeFHIRDatastore 120 5
FHIRExportJobCompleted DescribeFHIRExportJob 120 5
FHIRImportJobCompleted DescribeFHIRImportJob 120 5

Operations

CreateDataTransformationProfile

$result = $client->createDataTransformationProfile([/* ... */]);
$promise = $client->createDataTransformationProfileAsync([/* ... */]);

Creates a data transformation profile in DRAFT state. Specify a built-in starter profile, an existing profile version, raw profile content, or a sample data file as the source.

Parameter Syntax

$result = $client->createDataTransformationProfile([
    'ClientToken' => '<string>',
    'KmsKeyId' => '<string>',
    'ProfileDescription' => '<string>',
    'ProfileName' => '<string>', // REQUIRED
    'Source' => [ // REQUIRED
        'ExistingVersionedProfileId' => [
            'ProfileId' => '<string>', // REQUIRED
            'Version' => <integer>, // REQUIRED
        ],
        'ProfileMapping' => [
            'ProfileMapping' => ['<string>', ...], // REQUIRED
        ],
        'SampleData' => [
            'S3Uri' => '<string>', // REQUIRED
        ],
        'StarterProfile' => [
            'StarterProfileName' => '<string>', // REQUIRED
        ],
    ],
    'SourceFormat' => 'CCDA|CSV', // REQUIRED
    'Tags' => ['<string>', ...],
]);

Parameter Details

Members
ClientToken
Type: string

A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, the service ignores the request but does not return an error.

KmsKeyId
Type: string

The AWS Key Management Service (AWS KMS) key identifier used to encrypt the profile content at rest.

ProfileDescription
Type: string

A human-readable description of the profile's purpose.

ProfileName
Required: Yes
Type: string

A name for the data transformation profile.

Source
Required: Yes
Type: CreateDataTransformationProfileSource structure

The source for the initial profile content. Specify a built-in starter profile, an existing profile version to clone, raw profile content for CI/CD workflows, or a sample data file in Amazon S3.

SourceFormat
Required: Yes
Type: string

The source data format that this profile converts from (Consolidated Clinical Document Architecture (C-CDA) or Comma-separated values (CSV)).

Tags
Type: Associative array of custom strings keys (DataTransformationTagKey) to strings

The tags to associate with the profile at creation time.

Result Syntax

[
    'LastUpdatedAt' => <DateTime>,
    'ProfileId' => '<string>',
    'ProfileName' => '<string>',
    'SourceFormat' => 'CCDA|CSV',
    'TargetFormat' => 'FHIR_R4',
    'Version' => <integer>,
]

Result Details

Members
LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was last updated.

ProfileId
Required: Yes
Type: string

The unique identifier of the created profile.

ProfileName
Required: Yes
Type: string

The name of the created profile.

SourceFormat
Required: Yes
Type: string

The source data format of the profile.

TargetFormat
Required: Yes
Type: string

The target output format. Always FHIR_R4.

Version
Required: Yes
Type: int

The version number of the newly created profile. The starting version is always 0, which indicates the profile is in DRAFT state.

Errors

ServiceQuotaExceededException:

The request exceeds the service quota.

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ConflictException:

The data store is in a transition state and the user requested action cannot be performed.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

CreateFHIRDatastore

$result = $client->createFHIRDatastore([/* ... */]);
$promise = $client->createFHIRDatastoreAsync([/* ... */]);

Create a FHIR-enabled data store.

Parameter Syntax

$result = $client->createFHIRDatastore([
    'AnalyticsConfiguration' => [
        'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING|PAUSING|PAUSED',
    ],
    'ClientToken' => '<string>',
    'DatastoreName' => '<string>',
    'DatastoreTypeVersion' => 'R4', // REQUIRED
    'IdentityProviderConfiguration' => [
        'AuthorizationStrategy' => 'SMART_ON_FHIR_V1|SMART_ON_FHIR|AWS_AUTH', // REQUIRED
        'FineGrainedAuthorizationEnabled' => true || false,
        'IdpLambdaArn' => '<string>',
        'Metadata' => '<string>',
    ],
    'NlpConfiguration' => [
        'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING',
    ],
    'PreloadDataConfig' => [
        'PreloadDataType' => 'SYNTHEA', // REQUIRED
    ],
    'ProfileConfiguration' => [
        'DefaultProfiles' => ['<string>', ...],
    ],
    'SseConfiguration' => [
        'KmsEncryptionConfig' => [ // REQUIRED
            'CmkType' => 'CUSTOMER_MANAGED_KMS_KEY|AWS_OWNED_KMS_KEY', // REQUIRED
            'KmsKeyId' => '<string>',
        ],
    ],
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AnalyticsConfiguration
Type: AnalyticsConfiguration structure

The analytics configuration for the data store.

ClientToken
Type: string

An optional user-provided token to ensure API idempotency.

DatastoreName
Type: string

The data store name (user-generated).

DatastoreTypeVersion
Required: Yes
Type: string

The FHIR release version supported by the data store. Current support is for version R4.

IdentityProviderConfiguration

The identity provider configuration to use for the data store.

NlpConfiguration
Type: NlpConfiguration structure

The natural language processing (NLP) configuration for the data store.

PreloadDataConfig
Type: PreloadDataConfig structure

An optional parameter to preload (import) open source Synthea FHIR data upon creation of the data store.

ProfileConfiguration
Type: ProfileConfiguration structure

The profile configuration for the data store.

SseConfiguration
Type: SseConfiguration structure

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

Tags
Type: Array of Tag structures

The resource tags applied to a data store when it is created.

Result Syntax

[
    'DatastoreArn' => '<string>',
    'DatastoreEndpoint' => '<string>',
    'DatastoreId' => '<string>',
    'DatastoreStatus' => 'CREATING|ACTIVE|DELETING|DELETED|CREATE_FAILED|UPDATING|UPDATE_FAILED',
]

Result Details

Members
DatastoreArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) for the data store.

DatastoreEndpoint
Required: Yes
Type: string

The AWS endpoint created for the data store.

DatastoreId
Required: Yes
Type: string

The data store identifier.

DatastoreStatus
Required: Yes
Type: string

The data store status.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

DeleteDataTransformationProfile

$result = $client->deleteDataTransformationProfile([/* ... */]);
$promise = $client->deleteDataTransformationProfileAsync([/* ... */]);

Deletes a data transformation profile and all its versions, including the DRAFT and all published versions.

Parameter Syntax

$result = $client->deleteDataTransformationProfile([
    'ProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ProfileId
Required: Yes
Type: string

The unique identifier of the profile to delete.

Result Syntax

[
    'DeletionTime' => <DateTime>,
    'ProfileId' => '<string>',
    'ProfileName' => '<string>',
]

Result Details

Members
DeletionTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was deleted.

ProfileId
Required: Yes
Type: string

The unique identifier of the deleted profile.

ProfileName
Type: string

The name of the deleted profile.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

DeleteFHIRDatastore

$result = $client->deleteFHIRDatastore([/* ... */]);
$promise = $client->deleteFHIRDatastoreAsync([/* ... */]);

Delete a FHIR-enabled data store.

Parameter Syntax

$result = $client->deleteFHIRDatastore([
    'DatastoreId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DatastoreId
Required: Yes
Type: string

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

Result Syntax

[
    'DatastoreArn' => '<string>',
    'DatastoreEndpoint' => '<string>',
    'DatastoreId' => '<string>',
    'DatastoreStatus' => 'CREATING|ACTIVE|DELETING|DELETED|CREATE_FAILED|UPDATING|UPDATE_FAILED',
]

Result Details

Members
DatastoreArn
Required: Yes
Type: string

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

DatastoreEndpoint
Required: Yes
Type: string

The AWS endpoint of the data store to be deleted.

DatastoreId
Required: Yes
Type: string

The AWS-generated ID for the deleted data store.

DatastoreStatus
Required: Yes
Type: string

The data store status.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ConflictException:

The data store is in a transition state and the user requested action cannot be performed.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

DescribeDataTransformationJob

$result = $client->describeDataTransformationJob([/* ... */]);
$promise = $client->describeDataTransformationJobAsync([/* ... */]);

Describes a data transformation job, including its current status, configuration, and progress information.

Parameter Syntax

$result = $client->describeDataTransformationJob([
    'JobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
JobId
Required: Yes
Type: string

The unique identifier of the data transformation job to describe.

Result Syntax

[
    'TransformationJobProperties' => [
        'DataAccessRoleArn' => '<string>',
        'DriftDetectionEnabled' => true || false,
        'EndTime' => <DateTime>,
        'InputDataConfig' => [
            'S3Uri' => '<string>',
            'SourceFormat' => 'CCDA|CSV',
        ],
        'JobId' => '<string>',
        'JobName' => '<string>',
        'JobProgressReport' => [
            'TotalFilesConverted' => <integer>,
            'TotalFilesFailed' => <integer>,
            'TotalFilesScanned' => <integer>,
            'TotalResourcesGenerated' => <integer>,
        ],
        'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED|COMPLETED_WITH_ERRORS|FAILED',
        'Message' => '<string>',
        'OutputDataConfig' => [
            'S3Configuration' => [
                'KmsKeyId' => '<string>',
                'S3Uri' => '<string>',
            ],
        ],
        'ProfileId' => '<string>',
        'ProfileName' => '<string>',
        'ProfileVersion' => <integer>,
        'ProvenanceEnabled' => true || false,
        'SubmitTime' => <DateTime>,
    ],
]

Result Details

Members
TransformationJobProperties
Required: Yes
Type: TransformationJobProperties structure

The properties of the data transformation job, including status, configuration, and progress information.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

DescribeFHIRDatastore

$result = $client->describeFHIRDatastore([/* ... */]);
$promise = $client->describeFHIRDatastoreAsync([/* ... */]);

Get properties for a FHIR-enabled data store.

Parameter Syntax

$result = $client->describeFHIRDatastore([
    'DatastoreId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DatastoreId
Required: Yes
Type: string

The data store identifier.

Result Syntax

[
    'DatastoreProperties' => [
        'AnalyticsConfiguration' => [
            'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING|PAUSING|PAUSED',
        ],
        'CreatedAt' => <DateTime>,
        'DatastoreArn' => '<string>',
        'DatastoreEndpoint' => '<string>',
        'DatastoreId' => '<string>',
        'DatastoreName' => '<string>',
        'DatastoreStatus' => 'CREATING|ACTIVE|DELETING|DELETED|CREATE_FAILED|UPDATING|UPDATE_FAILED',
        'DatastoreTypeVersion' => 'R4',
        'ErrorCause' => [
            'ErrorCategory' => 'RETRYABLE_ERROR|NON_RETRYABLE_ERROR',
            'ErrorMessage' => '<string>',
        ],
        'IdentityProviderConfiguration' => [
            'AuthorizationStrategy' => 'SMART_ON_FHIR_V1|SMART_ON_FHIR|AWS_AUTH',
            'FineGrainedAuthorizationEnabled' => true || false,
            'IdpLambdaArn' => '<string>',
            'Metadata' => '<string>',
        ],
        'NlpConfiguration' => [
            'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING',
        ],
        'PreloadDataConfig' => [
            'PreloadDataType' => 'SYNTHEA',
        ],
        'ProfileConfiguration' => [
            'DefaultProfiles' => ['<string>', ...],
        ],
        'SseConfiguration' => [
            'KmsEncryptionConfig' => [
                'CmkType' => 'CUSTOMER_MANAGED_KMS_KEY|AWS_OWNED_KMS_KEY',
                'KmsKeyId' => '<string>',
            ],
        ],
    ],
]

Result Details

Members
DatastoreProperties
Required: Yes
Type: DatastoreProperties structure

The data store properties.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

DescribeFHIRExportJob

$result = $client->describeFHIRExportJob([/* ... */]);
$promise = $client->describeFHIRExportJobAsync([/* ... */]);

Get FHIR export job properties.

Parameter Syntax

$result = $client->describeFHIRExportJob([
    'DatastoreId' => '<string>', // REQUIRED
    'JobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DatastoreId
Required: Yes
Type: string

The data store identifier from which FHIR data is being exported from.

JobId
Required: Yes
Type: string

The export job identifier.

Result Syntax

[
    'ExportJobProperties' => [
        'DataAccessRoleArn' => '<string>',
        'DatastoreId' => '<string>',
        'EndTime' => <DateTime>,
        'JobId' => '<string>',
        'JobName' => '<string>',
        'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED_WITH_ERRORS|COMPLETED|FAILED|CANCEL_SUBMITTED|CANCEL_IN_PROGRESS|CANCEL_COMPLETED|CANCEL_FAILED',
        'Message' => '<string>',
        'OutputDataConfig' => [
            'S3Configuration' => [
                'KmsKeyId' => '<string>',
                'S3Uri' => '<string>',
            ],
        ],
        'SubmitTime' => <DateTime>,
    ],
]

Result Details

Members
ExportJobProperties
Required: Yes
Type: ExportJobProperties structure

The export job properties.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

DescribeFHIRImportJob

$result = $client->describeFHIRImportJob([/* ... */]);
$promise = $client->describeFHIRImportJobAsync([/* ... */]);

Get the import job properties to learn more about the job or job progress.

Parameter Syntax

$result = $client->describeFHIRImportJob([
    'DatastoreId' => '<string>', // REQUIRED
    'JobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DatastoreId
Required: Yes
Type: string

The data store identifier.

JobId
Required: Yes
Type: string

The import job identifier.

Result Syntax

[
    'ImportJobProperties' => [
        'DataAccessRoleArn' => '<string>',
        'DatastoreId' => '<string>',
        'EndTime' => <DateTime>,
        'InputDataConfig' => [
            'S3Uri' => '<string>',
        ],
        'JobId' => '<string>',
        'JobName' => '<string>',
        'JobOutputDataConfig' => [
            'S3Configuration' => [
                'KmsKeyId' => '<string>',
                'S3Uri' => '<string>',
            ],
        ],
        'JobProgressReport' => [
            'Throughput' => <float>,
            'TotalFilesConverted' => <integer>,
            'TotalNumberOfFilesReadWithCustomerError' => <integer>,
            'TotalNumberOfImportedFiles' => <integer>,
            'TotalNumberOfImportedNonFhirFiles' => <integer>,
            'TotalNumberOfNonFhirFilesReadWithCustomerError' => <integer>,
            'TotalNumberOfNonFhirResourcesImported' => <integer>,
            'TotalNumberOfNonFhirResourcesScanned' => <integer>,
            'TotalNumberOfNonFhirResourcesWithCustomerError' => <integer>,
            'TotalNumberOfResourcesImported' => <integer>,
            'TotalNumberOfResourcesScanned' => <integer>,
            'TotalNumberOfResourcesWithCustomerError' => <integer>,
            'TotalNumberOfScannedFiles' => <integer>,
            'TotalNumberOfScannedNonFhirFiles' => <integer>,
            'TotalResourcesGenerated' => <integer>,
            'TotalSizeOfScannedFilesInMB' => <float>,
            'TotalSizeOfScannedNonFhirFilesInMB' => <float>,
        ],
        'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED_WITH_ERRORS|COMPLETED|FAILED|CANCEL_SUBMITTED|CANCEL_IN_PROGRESS|CANCEL_COMPLETED|CANCEL_FAILED',
        'Message' => '<string>',
        'SubmitTime' => <DateTime>,
        'ValidationLevel' => 'strict|structure-only|minimal',
    ],
]

Result Details

Members
ImportJobProperties
Required: Yes
Type: ImportJobProperties structure

The import job properties.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

GetDataTransformationProfile

$result = $client->getDataTransformationProfile([/* ... */]);
$promise = $client->getDataTransformationProfileAsync([/* ... */]);

Retrieves a data transformation profile's metadata and profile content at a specific version. Specify version 0 to retrieve the DRAFT, a version number between 1 and 99 to retrieve a specific published version, or omit the version to retrieve the latest published version.

Parameter Syntax

$result = $client->getDataTransformationProfile([
    'ProfileId' => '<string>', // REQUIRED
    'ProfileVersion' => <integer>,
]);

Parameter Details

Members
ProfileId
Required: Yes
Type: string

The unique identifier of the profile to retrieve.

ProfileVersion
Type: int

The version number to retrieve. Specify 0 to retrieve the DRAFT version. If you omit this parameter, the service returns the latest published version.

Result Syntax

[
    'ChangeDescription' => '<string>',
    'LastUpdatedAt' => <DateTime>,
    'ProfileDescription' => '<string>',
    'ProfileId' => '<string>',
    'ProfileMapping' => ['<string>', ...],
    'ProfileName' => '<string>',
    'SourceFormat' => 'CCDA|CSV',
    'TargetFormat' => 'FHIR_R4',
    'Version' => <integer>,
]

Result Details

Members
ChangeDescription
Type: string

A description of what changed in this version.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when this version was last updated.

ProfileDescription
Type: string

The description of the profile.

ProfileId
Required: Yes
Type: string

The unique identifier of the profile.

ProfileMapping
Required: Yes
Type: Associative array of custom strings keys (ProfileMappingKey) to strings

The profile content as a map of file paths to content strings.

ProfileName
Type: string

The name of the profile.

SourceFormat
Required: Yes
Type: string

The source data format of the profile.

TargetFormat
Required: Yes
Type: string

The target output format of the profile.

Version
Required: Yes
Type: int

The version number of the retrieved profile.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

ListDataTransformationJobs

$result = $client->listDataTransformationJobs([/* ... */]);
$promise = $client->listDataTransformationJobsAsync([/* ... */]);

Lists data transformation jobs for your AWS account. Results can be filtered by status, job name, and submit time window. Results are paginated. Use the NextToken parameter to retrieve additional results.

Parameter Syntax

$result = $client->listDataTransformationJobs([
    'JobName' => '<string>',
    'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED|COMPLETED_WITH_ERRORS|FAILED',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SubmittedAfter' => <integer || string || DateTime>,
    'SubmittedBefore' => <integer || string || DateTime>,
]);

Parameter Details

Members
JobName
Type: string

Filters the results to include only jobs with the specified name.

JobStatus
Type: string

Filters the results to include only jobs with the specified status.

MaxResults
Type: int

The maximum number of jobs to return per page. If you don't specify a value, the service returns up to 100 results.

NextToken
Type: string

The pagination token from a previous response. Pass this value to retrieve the next page of results.

SubmittedAfter
Type: timestamp (string|DateTime or anything parsable by strtotime)

Filters the results to include only jobs submitted at or after this timestamp.

SubmittedBefore
Type: timestamp (string|DateTime or anything parsable by strtotime)

Filters the results to include only jobs submitted at or before this timestamp.

Result Syntax

[
    'Items' => [
        [
            'EndTime' => <DateTime>,
            'JobId' => '<string>',
            'JobName' => '<string>',
            'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED|COMPLETED_WITH_ERRORS|FAILED',
            'SourceFormat' => 'CCDA|CSV',
            'SubmitTime' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Required: Yes
Type: Array of TransformationJobSummary structures

The list of data transformation job summaries.

NextToken
Type: string

The pagination token to use in the next request. If this value is null, there are no more results.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

ListDataTransformationProfileVersions

$result = $client->listDataTransformationProfileVersions([/* ... */]);
$promise = $client->listDataTransformationProfileVersionsAsync([/* ... */]);

Lists all versions of a specific data transformation profile (DRAFT and published), in reverse chronological order (newest first). Use GetDataTransformationProfile to retrieve profile content. Results are paginated. Use the NextToken parameter to retrieve additional results.

Parameter Syntax

$result = $client->listDataTransformationProfileVersions([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of profile versions to return per page. If you don't specify a value, the service returns up to 100 results.

NextToken
Type: string

The pagination token from a previous response. Pass this value to retrieve the next page of results.

ProfileId
Required: Yes
Type: string

The unique identifier of the profile whose versions to list.

Result Syntax

[
    'Items' => [
        [
            'ChangeDescription' => '<string>',
            'LastUpdatedAt' => <DateTime>,
            'ProfileId' => '<string>',
            'ProfileName' => '<string>',
            'SourceFormat' => 'CCDA|CSV',
            'TargetFormat' => 'FHIR_R4',
            'Version' => <integer>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Required: Yes
Type: Array of DataTransformationProfileVersionSummary structures

The list of data transformation profile version summaries.

NextToken
Type: string

The pagination token to use in the next request. If this value is null, there are no more results.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

ListDataTransformationProfiles

$result = $client->listDataTransformationProfiles([/* ... */]);
$promise = $client->listDataTransformationProfilesAsync([/* ... */]);

Lists all data transformation profiles in your account, returning the latest version summary for each. Use GetDataTransformationProfile to retrieve profile content. Results are paginated. Use the NextToken parameter to retrieve additional results.

Parameter Syntax

$result = $client->listDataTransformationProfiles([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SourceFormat' => 'CCDA|CSV', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of profiles to return per page. If you don't specify a value, the service returns up to 100 results.

NextToken
Type: string

The pagination token from a previous response. Pass this value to retrieve the next page of results.

SourceFormat
Required: Yes
Type: string

Filters the results by source data format.

Result Syntax

[
    'Items' => [
        [
            'LastUpdatedAt' => <DateTime>,
            'ProfileDescription' => '<string>',
            'ProfileId' => '<string>',
            'ProfileName' => '<string>',
            'SourceFormat' => 'CCDA|CSV',
            'TargetFormat' => 'FHIR_R4',
            'Version' => <integer>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Required: Yes
Type: Array of DataTransformationProfileSummary structures

The list of data transformation profile summaries.

NextToken
Type: string

The pagination token to use in the next request. If this value is null, there are no more results.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

ListFHIRDatastores

$result = $client->listFHIRDatastores([/* ... */]);
$promise = $client->listFHIRDatastoresAsync([/* ... */]);

List all FHIR-enabled data stores in a user’s account, regardless of data store status.

Parameter Syntax

$result = $client->listFHIRDatastores([
    'Filter' => [
        'CreatedAfter' => <integer || string || DateTime>,
        'CreatedBefore' => <integer || string || DateTime>,
        'DatastoreName' => '<string>',
        'DatastoreStatus' => 'CREATING|ACTIVE|DELETING|DELETED|CREATE_FAILED|UPDATING|UPDATE_FAILED',
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Filter
Type: DatastoreFilter structure

List all filters associated with a FHIR data store request.

MaxResults
Type: int

The maximum number of data stores returned on a page.

NextToken
Type: string

The token used to retrieve the next page of data stores when results are paginated.

Result Syntax

[
    'DatastorePropertiesList' => [
        [
            'AnalyticsConfiguration' => [
                'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING|PAUSING|PAUSED',
            ],
            'CreatedAt' => <DateTime>,
            'DatastoreArn' => '<string>',
            'DatastoreEndpoint' => '<string>',
            'DatastoreId' => '<string>',
            'DatastoreName' => '<string>',
            'DatastoreStatus' => 'CREATING|ACTIVE|DELETING|DELETED|CREATE_FAILED|UPDATING|UPDATE_FAILED',
            'DatastoreTypeVersion' => 'R4',
            'ErrorCause' => [
                'ErrorCategory' => 'RETRYABLE_ERROR|NON_RETRYABLE_ERROR',
                'ErrorMessage' => '<string>',
            ],
            'IdentityProviderConfiguration' => [
                'AuthorizationStrategy' => 'SMART_ON_FHIR_V1|SMART_ON_FHIR|AWS_AUTH',
                'FineGrainedAuthorizationEnabled' => true || false,
                'IdpLambdaArn' => '<string>',
                'Metadata' => '<string>',
            ],
            'NlpConfiguration' => [
                'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING',
            ],
            'PreloadDataConfig' => [
                'PreloadDataType' => 'SYNTHEA',
            ],
            'ProfileConfiguration' => [
                'DefaultProfiles' => ['<string>', ...],
            ],
            'SseConfiguration' => [
                'KmsEncryptionConfig' => [
                    'CmkType' => 'CUSTOMER_MANAGED_KMS_KEY|AWS_OWNED_KMS_KEY',
                    'KmsKeyId' => '<string>',
                ],
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
DatastorePropertiesList
Required: Yes
Type: Array of DatastoreProperties structures

The properties associated with all listed data stores.

NextToken
Type: string

The pagination token used to retrieve the next page of results.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

ListFHIRExportJobs

$result = $client->listFHIRExportJobs([/* ... */]);
$promise = $client->listFHIRExportJobsAsync([/* ... */]);

Lists all FHIR export jobs associated with an account and their statuses.

Parameter Syntax

$result = $client->listFHIRExportJobs([
    'DatastoreId' => '<string>', // REQUIRED
    'JobName' => '<string>',
    'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED_WITH_ERRORS|COMPLETED|FAILED|CANCEL_SUBMITTED|CANCEL_IN_PROGRESS|CANCEL_COMPLETED|CANCEL_FAILED',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SubmittedAfter' => <integer || string || DateTime>,
    'SubmittedBefore' => <integer || string || DateTime>,
]);

Parameter Details

Members
DatastoreId
Required: Yes
Type: string

Limits the response to the export job with the specified data store ID.

JobName
Type: string

Limits the response to the export job with the specified job name.

JobStatus
Type: string

Limits the response to export jobs with the specified job status.

MaxResults
Type: int

Limits the number of results returned for a ListFHIRExportJobs to a maximum quantity specified by the user.

NextToken
Type: string

A pagination token used to identify the next page of results to return.

SubmittedAfter
Type: timestamp (string|DateTime or anything parsable by strtotime)

Limits the response to FHIR export jobs submitted after a user-specified date.

SubmittedBefore
Type: timestamp (string|DateTime or anything parsable by strtotime)

Limits the response to FHIR export jobs submitted before a user- specified date.

Result Syntax

[
    'ExportJobPropertiesList' => [
        [
            'DataAccessRoleArn' => '<string>',
            'DatastoreId' => '<string>',
            'EndTime' => <DateTime>,
            'JobId' => '<string>',
            'JobName' => '<string>',
            'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED_WITH_ERRORS|COMPLETED|FAILED|CANCEL_SUBMITTED|CANCEL_IN_PROGRESS|CANCEL_COMPLETED|CANCEL_FAILED',
            'Message' => '<string>',
            'OutputDataConfig' => [
                'S3Configuration' => [
                    'KmsKeyId' => '<string>',
                    'S3Uri' => '<string>',
                ],
            ],
            'SubmitTime' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ExportJobPropertiesList
Required: Yes
Type: Array of ExportJobProperties structures

The properties of listed FHIR export jobs.

NextToken
Type: string

The pagination token used to identify the next page of results to return.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

ListFHIRImportJobs

$result = $client->listFHIRImportJobs([/* ... */]);
$promise = $client->listFHIRImportJobsAsync([/* ... */]);

List all FHIR import jobs associated with an account and their statuses.

Parameter Syntax

$result = $client->listFHIRImportJobs([
    'DatastoreId' => '<string>', // REQUIRED
    'JobName' => '<string>',
    'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED_WITH_ERRORS|COMPLETED|FAILED|CANCEL_SUBMITTED|CANCEL_IN_PROGRESS|CANCEL_COMPLETED|CANCEL_FAILED',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SubmittedAfter' => <integer || string || DateTime>,
    'SubmittedBefore' => <integer || string || DateTime>,
]);

Parameter Details

Members
DatastoreId
Required: Yes
Type: string

Limits the response to the import job with the specified data store ID.

JobName
Type: string

Limits the response to the import job with the specified job name.

JobStatus
Type: string

Limits the response to the import job with the specified job status.

MaxResults
Type: int

Limits the number of results returned for ListFHIRImportJobs to a maximum quantity specified by the user.

NextToken
Type: string

The pagination token used to identify the next page of results to return.

SubmittedAfter
Type: timestamp (string|DateTime or anything parsable by strtotime)

Limits the response to FHIR import jobs submitted after a user-specified date.

SubmittedBefore
Type: timestamp (string|DateTime or anything parsable by strtotime)

Limits the response to FHIR import jobs submitted before a user- specified date.

Result Syntax

[
    'ImportJobPropertiesList' => [
        [
            'DataAccessRoleArn' => '<string>',
            'DatastoreId' => '<string>',
            'EndTime' => <DateTime>,
            'InputDataConfig' => [
                'S3Uri' => '<string>',
            ],
            'JobId' => '<string>',
            'JobName' => '<string>',
            'JobOutputDataConfig' => [
                'S3Configuration' => [
                    'KmsKeyId' => '<string>',
                    'S3Uri' => '<string>',
                ],
            ],
            'JobProgressReport' => [
                'Throughput' => <float>,
                'TotalFilesConverted' => <integer>,
                'TotalNumberOfFilesReadWithCustomerError' => <integer>,
                'TotalNumberOfImportedFiles' => <integer>,
                'TotalNumberOfImportedNonFhirFiles' => <integer>,
                'TotalNumberOfNonFhirFilesReadWithCustomerError' => <integer>,
                'TotalNumberOfNonFhirResourcesImported' => <integer>,
                'TotalNumberOfNonFhirResourcesScanned' => <integer>,
                'TotalNumberOfNonFhirResourcesWithCustomerError' => <integer>,
                'TotalNumberOfResourcesImported' => <integer>,
                'TotalNumberOfResourcesScanned' => <integer>,
                'TotalNumberOfResourcesWithCustomerError' => <integer>,
                'TotalNumberOfScannedFiles' => <integer>,
                'TotalNumberOfScannedNonFhirFiles' => <integer>,
                'TotalResourcesGenerated' => <integer>,
                'TotalSizeOfScannedFilesInMB' => <float>,
                'TotalSizeOfScannedNonFhirFilesInMB' => <float>,
            ],
            'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED_WITH_ERRORS|COMPLETED|FAILED|CANCEL_SUBMITTED|CANCEL_IN_PROGRESS|CANCEL_COMPLETED|CANCEL_FAILED',
            'Message' => '<string>',
            'SubmitTime' => <DateTime>,
            'ValidationLevel' => 'strict|structure-only|minimal',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ImportJobPropertiesList
Required: Yes
Type: Array of ImportJobProperties structures

The properties for listed import jobs.

NextToken
Type: string

The pagination token used to identify the next page of results to return.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Returns a list of all existing tags associated with a data store.

Parameter Syntax

$result = $client->listTagsForResource([
    'ResourceARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the data store to which tags are being added.

Result Syntax

[
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Tags
Type: Array of Tag structures

Returns a list of tags associated with a data store.

Errors

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

PublishDataTransformationProfile

$result = $client->publishDataTransformationProfile([/* ... */]);
$promise = $client->publishDataTransformationProfileAsync([/* ... */]);

Promotes the current DRAFT version of a data transformation profile to a new immutable published version. Also supports rollback by publishing from a previously published version.

Parameter Syntax

$result = $client->publishDataTransformationProfile([
    'ChangeDescription' => '<string>',
    'FromExistingVersion' => <integer>,
    'ProfileId' => '<string>', // REQUIRED
    'SourceFormat' => 'CCDA|CSV', // REQUIRED
]);

Parameter Details

Members
ChangeDescription
Type: string

A description of what changed or why this version is being published.

FromExistingVersion
Type: int

The version number of a previously published version to republish as the new latest version. Use this parameter for rollback scenarios. If you omit this parameter, the service publishes the current DRAFT version.

ProfileId
Required: Yes
Type: string

The unique identifier of the profile to publish.

SourceFormat
Required: Yes
Type: string

The source data format of the profile.

Result Syntax

[
    'LastUpdatedAt' => <DateTime>,
    'ProfileId' => '<string>',
    'ProfileName' => '<string>',
    'SourceFormat' => 'CCDA|CSV',
    'TargetFormat' => 'FHIR_R4',
    'Version' => <integer>,
]

Result Details

Members
LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was last updated.

ProfileId
Required: Yes
Type: string

The unique identifier of the published profile.

ProfileName
Type: string

The name of the published profile.

SourceFormat
Required: Yes
Type: string

The source data format of the profile.

TargetFormat
Required: Yes
Type: string

The target output format of the profile.

Version
Required: Yes
Type: int

The new version number that was created.

Errors

ServiceQuotaExceededException:

The request exceeds the service quota.

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

StartDataTransformationJob

$result = $client->startDataTransformationJob([/* ... */]);
$promise = $client->startDataTransformationJobAsync([/* ... */]);

Starts an asynchronous data transformation job that converts source files from Amazon Simple Storage Service (Amazon S3) and writes the output to Amazon S3 or AWS HealthLake.

Parameter Syntax

$result = $client->startDataTransformationJob([
    'ClientToken' => '<string>', // REQUIRED
    'DataAccessRoleArn' => '<string>', // REQUIRED
    'DriftDetectionEnabled' => true || false,
    'InputDataConfig' => [ // REQUIRED
        'S3Uri' => '<string>', // REQUIRED
        'SourceFormat' => 'CCDA|CSV',
    ],
    'JobName' => '<string>',
    'OutputDataConfig' => [ // REQUIRED
        'S3Configuration' => [ // REQUIRED
            'KmsKeyId' => '<string>', // REQUIRED
            'S3Uri' => '<string>', // REQUIRED
        ],
    ],
    'ProfileId' => '<string>', // REQUIRED
    'ProvenanceEnabled' => true || false,
]);

Parameter Details

Members
ClientToken
Required: Yes
Type: string

A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, the service ignores the request but does not return an error.

DataAccessRoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that AWS HealthLake assumes to read from and write to the specified Amazon S3 locations.

DriftDetectionEnabled
Type: boolean

Specifies whether drift detection is enabled for this job. When enabled, AWS HealthLake writes a drift report to the output Amazon S3 location alongside the converted files.

InputDataConfig
Required: Yes
Type: TransformationInputDataConfig structure

The Amazon S3 location and format of the source files to transform.

JobName
Type: string

A descriptive name for the data transformation job.

OutputDataConfig
Required: Yes
Type: TransformationOutputDataConfig structure

The Amazon S3 output location and AWS Key Management Service (AWS KMS) encryption configuration.

ProfileId
Required: Yes
Type: string

The unique identifier of the data transformation profile to use for conversion.

ProvenanceEnabled
Type: boolean

Specifies whether FHIR R4 Provenance resource generation is enabled for this transformation job. When provenance is enabled, the service also generates related DocumentReference and Device resources. If you don't specify a value, the default is true. To disable provenance output, set this parameter to false.

Result Syntax

[
    'JobId' => '<string>',
    'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED|COMPLETED_WITH_ERRORS|FAILED',
]

Result Details

Members
JobId
Required: Yes
Type: string

The unique identifier assigned to the data transformation job.

JobStatus
Required: Yes
Type: string

The initial status of the data transformation job.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

StartFHIRExportJob

$result = $client->startFHIRExportJob([/* ... */]);
$promise = $client->startFHIRExportJobAsync([/* ... */]);

Start a FHIR export job.

Parameter Syntax

$result = $client->startFHIRExportJob([
    'ClientToken' => '<string>',
    'DataAccessRoleArn' => '<string>', // REQUIRED
    'DatastoreId' => '<string>', // REQUIRED
    'JobName' => '<string>',
    'OutputDataConfig' => [ // REQUIRED
        'S3Configuration' => [
            'KmsKeyId' => '<string>', // REQUIRED
            'S3Uri' => '<string>', // REQUIRED
        ],
    ],
]);

Parameter Details

Members
ClientToken
Type: string

An optional user provided token used for ensuring API idempotency.

DataAccessRoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) used during initiation of the export job.

DatastoreId
Required: Yes
Type: string

The data store identifier from which files are being exported.

JobName
Type: string

The export job name.

OutputDataConfig
Required: Yes
Type: OutputDataConfig structure

The output data configuration supplied when the export job was started.

Result Syntax

[
    'DatastoreId' => '<string>',
    'JobId' => '<string>',
    'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED_WITH_ERRORS|COMPLETED|FAILED|CANCEL_SUBMITTED|CANCEL_IN_PROGRESS|CANCEL_COMPLETED|CANCEL_FAILED',
]

Result Details

Members
DatastoreId
Type: string

The data store identifier from which files are being exported.

JobId
Required: Yes
Type: string

The export job identifier.

JobStatus
Required: Yes
Type: string

The export job status.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

FailedDependencyException:

A dependent service failed to fulfill the request.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

StartFHIRImportJob

$result = $client->startFHIRImportJob([/* ... */]);
$promise = $client->startFHIRImportJobAsync([/* ... */]);

Start importing bulk FHIR data into an ACTIVE data store. The import job imports FHIR data found in the InputDataConfig object and stores processing results in the JobOutputDataConfig object.

Parameter Syntax

$result = $client->startFHIRImportJob([
    'ClientToken' => '<string>',
    'DataAccessRoleArn' => '<string>', // REQUIRED
    'DatastoreId' => '<string>', // REQUIRED
    'DriftDetectionEnabled' => true || false,
    'InputDataConfig' => [ // REQUIRED
        'S3Uri' => '<string>',
    ],
    'InputFormat' => '<string>',
    'JobName' => '<string>',
    'JobOutputDataConfig' => [ // REQUIRED
        'S3Configuration' => [
            'KmsKeyId' => '<string>', // REQUIRED
            'S3Uri' => '<string>', // REQUIRED
        ],
    ],
    'ProfileId' => '<string>',
    'ValidationLevel' => 'strict|structure-only|minimal',
]);

Parameter Details

Members
ClientToken
Type: string

The optional user-provided token used for ensuring API idempotency.

DataAccessRoleArn
Required: Yes
Type: string

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

DatastoreId
Required: Yes
Type: string

The data store identifier.

DriftDetectionEnabled
Type: boolean

A boolean value.

InputDataConfig
Required: Yes
Type: InputDataConfig structure

The input properties for the import job request.

InputFormat
Type: string

A bounded-length string value.

JobName
Type: string

The import job name.

JobOutputDataConfig
Required: Yes
Type: OutputDataConfig structure

The output data configuration supplied when the export job was created.

ProfileId
Type: string

A bounded-length string value.

ValidationLevel
Type: string

The validation level of the import job.

Result Syntax

[
    'DatastoreId' => '<string>',
    'JobId' => '<string>',
    'JobStatus' => 'SUBMITTED|QUEUED|IN_PROGRESS|COMPLETED_WITH_ERRORS|COMPLETED|FAILED|CANCEL_SUBMITTED|CANCEL_IN_PROGRESS|CANCEL_COMPLETED|CANCEL_FAILED',
]

Result Details

Members
DatastoreId
Type: string

The data store identifier.

JobId
Required: Yes
Type: string

The import job identifier.

JobStatus
Required: Yes
Type: string

The import job status.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

FailedDependencyException:

A dependent service failed to fulfill the request.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Add a user-specifed key and value tag to a data store.

Parameter Syntax

$result = $client->tagResource([
    'ResourceARN' => '<string>', // REQUIRED
    'Tags' => [ // REQUIRED
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) that grants access to the data store tags are being added to.

Tags
Required: Yes
Type: Array of Tag structures

The user-specified key and value pair tags being added to a data store.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Remove a user-specifed key and value tag from a data store.

Parameter Syntax

$result = $client->untagResource([
    'ResourceARN' => '<string>', // REQUIRED
    'TagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the data store from which tags are being removed.

TagKeys
Required: Yes
Type: Array of strings

The keys for the tags to be removed from the data store.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

UpdateDataTransformationProfile

$result = $client->updateDataTransformationProfile([/* ... */]);
$promise = $client->updateDataTransformationProfileAsync([/* ... */]);

Updates the DRAFT version (version 0) of a data transformation profile with new profile content. The update replaces all existing DRAFT content.

Parameter Syntax

$result = $client->updateDataTransformationProfile([
    'ChangeDescription' => '<string>',
    'ProfileId' => '<string>', // REQUIRED
    'ProfileMapping' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ChangeDescription
Type: string

A description of what changed in this update.

ProfileId
Required: Yes
Type: string

The unique identifier of the profile to update.

ProfileMapping
Required: Yes
Type: Associative array of custom strings keys (ProfileMappingKey) to strings

The new profile content for the DRAFT version. This is a full replacement of all profile files.

Result Syntax

[
    'LastUpdatedAt' => <DateTime>,
    'ProfileId' => '<string>',
    'ProfileName' => '<string>',
    'SourceFormat' => 'CCDA|CSV',
    'TargetFormat' => 'FHIR_R4',
]

Result Details

Members
LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was last updated.

ProfileId
Required: Yes
Type: string

The unique identifier of the updated profile.

ProfileName
Type: string

The name of the updated profile.

SourceFormat
Required: Yes
Type: string

The source data format of the profile.

TargetFormat
Required: Yes
Type: string

The target output format of the profile.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

UpdateFHIRDatastore

$result = $client->updateFHIRDatastore([/* ... */]);
$promise = $client->updateFHIRDatastoreAsync([/* ... */]);

Update the properties of a FHIR-enabled data store.

Parameter Syntax

$result = $client->updateFHIRDatastore([
    'AnalyticsConfiguration' => [
        'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING|PAUSING|PAUSED',
    ],
    'DatastoreId' => '<string>', // REQUIRED
    'DatastoreName' => '<string>',
    'IdentityProviderConfiguration' => [
        'AuthorizationStrategy' => 'SMART_ON_FHIR_V1|SMART_ON_FHIR|AWS_AUTH', // REQUIRED
        'FineGrainedAuthorizationEnabled' => true || false,
        'IdpLambdaArn' => '<string>',
        'Metadata' => '<string>',
    ],
    'NlpConfiguration' => [
        'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING',
    ],
    'ProfileConfiguration' => [
        'DefaultProfiles' => ['<string>', ...],
    ],
]);

Parameter Details

Members
AnalyticsConfiguration
Type: AnalyticsConfiguration structure

The analytics configuration for the data store.

DatastoreId
Required: Yes
Type: string

The data store identifier.

DatastoreName
Type: string

The data store name.

IdentityProviderConfiguration

The identity provider configuration for the data store.

NlpConfiguration
Type: NlpConfiguration structure

The natural language processing (NLP) configuration for the data store.

ProfileConfiguration
Type: ProfileConfiguration structure

The profile configuration for the data store.

Result Syntax

[
    'DatastoreProperties' => [
        'AnalyticsConfiguration' => [
            'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING|PAUSING|PAUSED',
        ],
        'CreatedAt' => <DateTime>,
        'DatastoreArn' => '<string>',
        'DatastoreEndpoint' => '<string>',
        'DatastoreId' => '<string>',
        'DatastoreName' => '<string>',
        'DatastoreStatus' => 'CREATING|ACTIVE|DELETING|DELETED|CREATE_FAILED|UPDATING|UPDATE_FAILED',
        'DatastoreTypeVersion' => 'R4',
        'ErrorCause' => [
            'ErrorCategory' => 'RETRYABLE_ERROR|NON_RETRYABLE_ERROR',
            'ErrorMessage' => '<string>',
        ],
        'IdentityProviderConfiguration' => [
            'AuthorizationStrategy' => 'SMART_ON_FHIR_V1|SMART_ON_FHIR|AWS_AUTH',
            'FineGrainedAuthorizationEnabled' => true || false,
            'IdpLambdaArn' => '<string>',
            'Metadata' => '<string>',
        ],
        'NlpConfiguration' => [
            'Status' => 'ENABLED|ENABLING|DISABLED|DISABLING',
        ],
        'PreloadDataConfig' => [
            'PreloadDataType' => 'SYNTHEA',
        ],
        'ProfileConfiguration' => [
            'DefaultProfiles' => ['<string>', ...],
        ],
        'SseConfiguration' => [
            'KmsEncryptionConfig' => [
                'CmkType' => 'CUSTOMER_MANAGED_KMS_KEY|AWS_OWNED_KMS_KEY',
                'KmsKeyId' => '<string>',
            ],
        ],
    ],
]

Result Details

Members
DatastoreProperties
Required: Yes
Type: DatastoreProperties structure

The data store properties.

Errors

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

ConflictException:

The data store is in a transition state and the user requested action cannot be performed.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

UpdateProfileWithAgent

$result = $client->updateProfileWithAgent([/* ... */]);
$promise = $client->updateProfileWithAgentAsync([/* ... */]);

Updates a data transformation profile using chat-based interaction with an agent. Supports multi-turn conversations for iteratively customizing profiles.

Parameter Syntax

$result = $client->updateProfileWithAgent([
    'ConversationId' => '<string>',
    'InputMessage' => [ // REQUIRED
        'Body' => '<string>', // REQUIRED
        'Type' => 'normal|confirmation_response', // REQUIRED
    ],
    'ProfileId' => '<string>', // REQUIRED
    'SourceFormat' => 'CCDA|CSV', // REQUIRED
]);

Parameter Details

Members
ConversationId
Type: string

The conversation identifier for multi-turn interactions. Omit to start a new conversation.

InputMessage
Required: Yes
Type: AgentInputMessage structure

The message to send to the agent.

ProfileId
Required: Yes
Type: string

The unique identifier of the profile to update via the agent.

SourceFormat
Required: Yes
Type: string

The source data format for the transformation.

Result Syntax

[
    'AgentResponse' => [
        'Body' => '<string>',
        'OptionsList' => ['<string>', ...],
        'Type' => 'INITIAL_GREETING|normal|confirmation|complete|error|options|choices',
    ],
    'ConversationId' => '<string>',
]

Result Details

Members
AgentResponse
Required: Yes
Type: AgentOutputMessage structure

The response message from the agent.

ConversationId
Required: Yes
Type: string

The conversation identifier to use for follow-up messages in this conversation.

Errors

NotImplementedOperationException:

The requested operation is not yet available. Check the service documentation for a list of supported operations.

ConversationNotFoundException:

The specified conversation identifier does not exist. Verify the conversation ID or omit it to start a new conversation.

ThrottlingException:

The user has exceeded their maximum number of allowed calls to the given API.

AgentMessageOutOfContextException:

The agent message does not fit within the current conversation context. Start a new conversation or provide a message that relates to the current profile customization session.

AccessDeniedException:

Access is denied. Your account is not authorized to perform this operation.

ResourceNotFoundException:

The requested data store was not found.

UnsupportedMIMETypeException:

The content type in your request is not supported. Use a supported content type for this operation.

ValidationException:

The user input parameter was invalid.

InternalServerException:

An unknown internal error occurred in the service.

UnauthorizedException:

You are not authorized to make this request. Verify that your AWS credentials are valid and that you have the required permissions.

Shapes

AccessDeniedException

Description

Access is denied. Your account is not authorized to perform this operation.

Members
Message
Type: string

A general-purpose string value.

AgentInputMessage

Description

Represents a message sent to the agent during chat-based profile customization.

Members
Body
Required: Yes
Type: string

The text of your message to the agent.

Type
Required: Yes
Type: string

The type of input message, which determines how the agent processes your request. Valid values:

  • normal: A regular message to the agent.

  • confirmation_response: A response to a confirmation request from the agent.

AgentMessageOutOfContextException

Description

The agent message does not fit within the current conversation context. Start a new conversation or provide a message that relates to the current profile customization session.

Members
Message
Required: Yes
Type: string

AgentOutputMessage

Description

Represents a response message from the agent during chat-based profile customization.

Members
Body
Required: Yes
Type: string

The text of the agent's response.

OptionsList
Type: Array of strings

A list of selectable options presented when the response type is options.

Type
Required: Yes
Type: string

The type of output message, which indicates how to interpret the agent's response.

AnalyticsConfiguration

Description

The analytics configuration for a data store.

Members
Status
Type: string

The status of the analytics configuration.

ConflictException

Description

The data store is in a transition state and the user requested action cannot be performed.

Members
Message
Type: string

A general-purpose string value.

ConversationNotFoundException

Description

The specified conversation identifier does not exist. Verify the conversation ID or omit it to start a new conversation.

Members
Message
Required: Yes
Type: string

CreateDataTransformationProfileSource

Description

The source for initial content when creating a data transformation profile. Specify exactly one variant: a built-in starter profile, an existing profile version to clone, raw profile content, or a sample data file.

Members
ExistingVersionedProfileId

Creates the profile by cloning an existing profile at a specific version.

ProfileMapping
Type: ProfileMappingSource structure

Creates the profile from raw profile content that you provide directly. Use this variant for continuous integration and continuous delivery (CI/CD) workflows.

SampleData
Type: SampleDataSource structure

Creates the profile from a sample data file stored in Amazon S3. Valid only when the source format is Comma-separated values (CSV).

StarterProfile
Type: StarterProfileSource structure

Creates the profile from a built-in starter profile. Valid only when the source format is Consolidated Clinical Document Architecture (C-CDA).

DataTransformationProfileSummary

Description

Contains summary information about a data transformation profile. To retrieve profile content, call GetDataTransformationProfile.

Members
LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was last updated.

ProfileDescription
Type: string

A description of the profile's purpose.

ProfileId
Required: Yes
Type: string

The unique identifier of the profile.

ProfileName
Type: string

The name of the profile.

SourceFormat
Required: Yes
Type: string

The source data format that this profile converts from.

TargetFormat
Required: Yes
Type: string

The target output format of the profile.

Version
Required: Yes
Type: int

The latest version number of the profile.

DataTransformationProfileVersionSummary

Description

Contains summary information about a specific version of a data transformation profile. To retrieve profile content, call GetDataTransformationProfile.

Members
ChangeDescription
Type: string

A description of what changed in this version.

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when this version was last updated.

ProfileId
Required: Yes
Type: string

The unique identifier of the profile.

ProfileName
Type: string

The name of the profile.

SourceFormat
Required: Yes
Type: string

The source data format that this profile converts from.

TargetFormat
Required: Yes
Type: string

The target output format of the profile.

Version
Required: Yes
Type: int

The version number.

DataTransformationS3Configuration

Description

The Amazon S3 output configuration for a data transformation job, including the output location and encryption settings.

Members
KmsKeyId
Required: Yes
Type: string

The AWS Key Management Service (AWS KMS) key identifier used to encrypt the transformation job output written to Amazon S3.

S3Uri
Required: Yes
Type: string

The Amazon S3 URI where AWS HealthLake writes the converted output files.

DatastoreFilter

Description

The filters applied to a data store query.

Members
CreatedAfter
Type: timestamp (string|DateTime or anything parsable by strtotime)

Filter to set cutoff dates for records. All data stores created after the specified date are included in the results.

CreatedBefore
Type: timestamp (string|DateTime or anything parsable by strtotime)

Filter to set cutoff dates for records. All data stores created before the specified date are included in the results.

DatastoreName
Type: string

Filter data store results by name.

DatastoreStatus
Type: string

Filter data store results by status.

DatastoreProperties

Description

The data store properties.

Members
AnalyticsConfiguration
Type: AnalyticsConfiguration structure

The analytics configuration for the data store.

CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the data store was created.

DatastoreArn
Required: Yes
Type: string

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

DatastoreEndpoint
Required: Yes
Type: string

The AWS endpoint for the data store.

DatastoreId
Required: Yes
Type: string

The data store identifier.

DatastoreName
Type: string

The data store name.

DatastoreStatus
Required: Yes
Type: string

The data store status.

DatastoreTypeVersion
Required: Yes
Type: string

The FHIR release version supported by the data store. Current support is for version R4.

ErrorCause
Type: ErrorCause structure

The error cause for the current data store operation.

IdentityProviderConfiguration

The identity provider selected during data store creation.

NlpConfiguration
Type: NlpConfiguration structure

The natural language processing (NLP) configuration for the data store.

PreloadDataConfig
Type: PreloadDataConfig structure

The preloaded Synthea data configuration for the data store.

ProfileConfiguration
Type: ProfileConfiguration structure

The profile configuration for the data store.

SseConfiguration
Type: SseConfiguration structure

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

ErrorCause

Description

The error information for CreateFHIRDatastore and DeleteFHIRDatastore actions.

Members
ErrorCategory
Type: string

The error category for ErrorCause.

ErrorMessage
Type: string

The error message text for ErrorCause.

ExistingVersionedProfileSource

Description

Identifies an existing data transformation profile and version to clone when creating a new profile.

Members
ProfileId
Required: Yes
Type: string

The unique identifier of the existing profile to clone from.

Version
Required: Yes
Type: int

The version number of the existing profile to clone from.

ExportJobProperties

Description

The properties of a FHIR export job.

Members
DataAccessRoleArn
Type: string

The Amazon Resource Name (ARN) used during the initiation of the export job.

DatastoreId
Required: Yes
Type: string

The data store identifier from which files are being exported.

EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the export job completed.

JobId
Required: Yes
Type: string

The export job identifier.

JobName
Type: string

The export job name.

JobStatus
Required: Yes
Type: string

The export job status.

Message
Type: string

An explanation of any errors that might have occurred during the export job.

OutputDataConfig
Required: Yes
Type: OutputDataConfig structure

The output data configuration supplied when the export job was created.

SubmitTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the export job was initiated.

FailedDependencyException

Description

A dependent service failed to fulfill the request.

Members
Message
Type: string

A message describing the error.

IdentityProviderConfiguration

Description

The identity provider configuration selected when the data store was created.

Members
AuthorizationStrategy
Required: Yes
Type: string

The authorization strategy selected when the HealthLake data store is created.

HealthLake provides support for both SMART on FHIR V1 and V2 as described below.

  • SMART_ON_FHIR_V1 – Support for only SMART on FHIR V1, which includes read (read/search) and write (create/update/delete) permissions.

  • SMART_ON_FHIR – Support for both SMART on FHIR V1 and V2, which includes create, read, update, delete, and search permissions.

  • AWS_AUTH – The default HealthLake authorization strategy; not affiliated with SMART on FHIR.

FineGrainedAuthorizationEnabled
Type: boolean

The parameter to enable SMART on FHIR fine-grained authorization for the data store.

IdpLambdaArn
Type: string

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

Metadata
Type: string

The JSON metadata elements 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.

ImportJobProperties

Description

The import job properties.

Members
DataAccessRoleArn
Type: string

The Amazon Resource Name (ARN) that grants AWS HealthLake access to the input data.

DatastoreId
Required: Yes
Type: string

The data store identifier.

EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the import job was completed.

InputDataConfig
Required: Yes
Type: InputDataConfig structure

The input data configuration supplied when the import job was created.

JobId
Required: Yes
Type: string

The import job identifier.

JobName
Type: string

The import job name.

JobOutputDataConfig
Type: OutputDataConfig structure

The output data configuration supplied when the export job was created.

JobProgressReport
Type: JobProgressReport structure

Displays the progress of the import job, including total resources scanned, total resources imported, and total size of data imported.

JobStatus
Required: Yes
Type: string

The import job status.

Message
Type: string

An explanation of any errors that might have occurred during the FHIR import job.

SubmitTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the import job was submitted for processing.

ValidationLevel
Type: string

The validation level of the import job.

InputDataConfig

Description

The import job input properties.

Members
S3Uri
Type: string

The S3Uri is the user-specified S3 location of the FHIR data to be imported into AWS HealthLake.

InternalServerException

Description

An unknown internal error occurred in the service.

Members
Message
Type: string

A general-purpose string value.

JobProgressReport

Description

The progress report for the import job.

Members
Throughput
Type: double

The transaction rate the import job is processed at.

TotalFilesConverted
Type: long (int|float)

Number of CCDA files successfully transformed during the import's transformation phase. Populated only for import jobs that use the two-Step-Function (transformation + ingestion) flow; null for legacy single-SF imports and for pure FHIR imports that skip transformation.

TotalNumberOfFilesReadWithCustomerError
Type: long (int|float)

The number of files that failed to be read from the S3 input bucket due to customer error.

TotalNumberOfImportedFiles
Type: long (int|float)

The number of files imported.

TotalNumberOfImportedNonFhirFiles
Type: long (int|float)

The number of non-FHIR files imported.

TotalNumberOfNonFhirFilesReadWithCustomerError
Type: long (int|float)

The number of non-FHIR files that failed to be read from the S3 input bucket due to customer error.

TotalNumberOfNonFhirResourcesImported
Type: long (int|float)

The number of non-FHIR resources imported.

TotalNumberOfNonFhirResourcesScanned
Type: long (int|float)

The number of non-FHIR resources scanned from the S3 input bucket.

TotalNumberOfNonFhirResourcesWithCustomerError
Type: long (int|float)

The number of non-FHIR resources that failed due to customer error.

TotalNumberOfResourcesImported
Type: long (int|float)

The number of resources imported.

TotalNumberOfResourcesScanned
Type: long (int|float)

The number of resources scanned from the S3 input bucket.

TotalNumberOfResourcesWithCustomerError
Type: long (int|float)

The number of resources that failed due to customer error.

TotalNumberOfScannedFiles
Type: long (int|float)

The number of files scanned from the S3 input bucket.

TotalNumberOfScannedNonFhirFiles
Type: long (int|float)

The number of non-FHIR files scanned from the S3 input bucket.

TotalResourcesGenerated
Type: long (int|float)

Number of FHIR resources produced by the transformation phase. Populated only for import jobs that use the two-Step-Function flow; null for legacy single-SF imports and for pure FHIR imports.

TotalSizeOfScannedFilesInMB
Type: double

The size (in MB) of files scanned from the S3 input bucket.

TotalSizeOfScannedNonFhirFilesInMB
Type: double

The size (in MB) of non-FHIR files scanned from the S3 input bucket.

KmsEncryptionConfig

Description

The customer-managed-key (CMK) used when creating a data store. If a customer-owned key is not specified, an AWS-owned key is used for encryption.

Members
CmkType
Required: Yes
Type: string

The type of customer-managed-key (CMK) used for encryption.

KmsKeyId
Type: string

The Key Management Service (KMS) encryption key id/alias used to encrypt the data store contents at rest.

NlpConfiguration

Description

The natural language processing (NLP) configuration for a data store.

Members
Status
Type: string

The status of the NLP configuration.

NotImplementedOperationException

Description

The requested operation is not yet available. Check the service documentation for a list of supported operations.

Members
Message
Required: Yes
Type: string

OutputDataConfig

Description

The output data configuration supplied when the export job was created.

Members
S3Configuration
Type: S3Configuration structure

The output data configuration supplied when the export job was created.

PreloadDataConfig

Description

The input properties for the preloaded (Synthea) data store.

Members
PreloadDataType
Required: Yes
Type: string

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

ProfileConfiguration

Description

The profile configuration for a data store.

Members
DefaultProfiles
Type: Array of strings

The list of default profiles for the data store.

ProfileMappingSource

Description

Contains raw content to use as the source when creating a data transformation profile directly from a mapping.

Members
ProfileMapping
Required: Yes
Type: Associative array of custom strings keys (String) to strings

The content as a map of file paths to profile strings.

ResourceNotFoundException

Description

The requested data store was not found.

Members
Message
Type: string

A general-purpose string value.

S3Configuration

Description

The configuration of the S3 bucket for either an import or export job. This includes assigning access permissions.

Members
KmsKeyId
Required: Yes
Type: string

The Key Management Service (KMS) key ID used to access the S3 bucket.

S3Uri
Required: Yes
Type: string

The S3Uri is the user-specified S3 location of the FHIR data to be imported into AWS HealthLake.

SampleDataSource

Description

Identifies a sample data file in Amazon S3 to use as the source when creating a data transformation profile. Valid only when the source format is Comma-separated values (CSV).

Members
S3Uri
Required: Yes
Type: string

The Amazon S3 URI of the sample data file.

ServiceQuotaExceededException

Description

The request exceeds the service quota.

Members
Message
Type: string

A message describing the error.

SseConfiguration

Description

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

Members
KmsEncryptionConfig
Required: Yes
Type: KmsEncryptionConfig structure

The Key Management Service (KMS) encryption configuration used to provide details for data encryption.

StarterProfileSource

Description

Identifies a built-in starter profile to use as the source when creating a data transformation profile. Valid only when the source format is Consolidated Clinical Document Architecture (C-CDA).

Members
StarterProfileName
Required: Yes
Type: string

The name of the built-in starter profile.

Tag

Description

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

Members
Key
Required: Yes
Type: string

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

Value
Required: Yes
Type: string

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

ThrottlingException

Description

The user has exceeded their maximum number of allowed calls to the given API.

Members
Message
Type: string

A general-purpose string value.

TransformationInputDataConfig

Description

The Amazon S3 location and source format configuration for input data in a transformation job.

Members
S3Uri
Required: Yes
Type: string

The Amazon S3 URI of the input data to transform.

SourceFormat
Type: string

The format of the source data files (C-CDA or CSV).

TransformationJobProgressReport

Description

Contains progress metrics for a data transformation job, including counts of files scanned, converted, and failed.

Members
TotalFilesConverted
Required: Yes
Type: long (int|float)

The total number of source files successfully converted.

TotalFilesFailed
Required: Yes
Type: long (int|float)

The total number of source files that failed conversion.

TotalFilesScanned
Required: Yes
Type: long (int|float)

The total number of source files scanned by the job.

TotalResourcesGenerated
Required: Yes
Type: long (int|float)

The total number of FHIR R4 resources generated across all converted files.

TransformationJobProperties

Description

Contains the properties of a data transformation job, including its status, configuration, and progress information. You retrieve this structure by calling DescribeDataTransformationJob.

Members
DataAccessRoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants AWS HealthLake access to the specified Amazon S3 locations. AWS HealthLake assumes this role to read input files and write output files.

DriftDetectionEnabled
Type: boolean

Specifies whether drift detection is enabled for this job. When enabled, AWS HealthLake writes a drift report to the output Amazon S3 location alongside the converted files.

EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the job completed or failed.

InputDataConfig
Required: Yes
Type: TransformationInputDataConfig structure

The Amazon S3 location and format of the source files for this job.

JobId
Required: Yes
Type: string

The unique identifier of the data transformation job.

JobName
Type: string

The name of the data transformation job.

JobProgressReport

The progress report for the data transformation job, including counts of files processed and resources generated.

JobStatus
Required: Yes
Type: string

The current status of the data transformation job.

Message
Type: string

An informational message about the job, such as an error description if the job failed.

OutputDataConfig
Required: Yes
Type: TransformationOutputDataConfig structure

The Amazon S3 location and encryption configuration for the converted output.

ProfileId
Type: string

The unique identifier of the data transformation profile used for this job.

ProfileName
Type: string

The name of the data transformation profile used for this job.

ProfileVersion
Type: int

The version number of the data transformation profile used for this job.

ProvenanceEnabled
Type: boolean

Specifies whether FHIR R4 Provenance resource generation is enabled for this transformation job. When provenance is enabled, the service also generates related DocumentReference and Device resources.

SubmitTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the job was submitted.

TransformationJobSummary

Description

Contains summary information about a data transformation job. To retrieve full job details, call DescribeDataTransformationJob.

Members
EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the job completed.

JobId
Required: Yes
Type: string

The unique identifier of the job.

JobName
Type: string

The name of the job.

JobStatus
Required: Yes
Type: string

The current status of the job.

SourceFormat
Type: string

The source data format for this job.

SubmitTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the job was submitted.

TransformationOutputDataConfig

Description

The Amazon S3 output location and encryption configuration for a transformation job.

Members
S3Configuration
Required: Yes
Type: DataTransformationS3Configuration structure

The Amazon S3 output location and AWS Key Management Service (AWS KMS) encryption configuration.

UnauthorizedException

Description

You are not authorized to make this request. Verify that your AWS credentials are valid and that you have the required permissions.

Members
Message
Required: Yes
Type: string

UnsupportedMIMETypeException

Description

The content type in your request is not supported. Use a supported content type for this operation.

Members
Message
Required: Yes
Type: string

ValidationException

Description

The user input parameter was invalid.

Members
Message
Type: string

A general-purpose string value.