SDK for PHP 3.x

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 */).

CreateFHIRDatastore ( array $params = [] )
Create a FHIR-enabled data store.
DeleteFHIRDatastore ( array $params = [] )
Delete a FHIR-enabled data store.
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.
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.
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.

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:

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
FHIRDatastoreActive DescribeFHIRDatastore 60 360
FHIRDatastoreDeleted DescribeFHIRDatastore 120 360
FHIRExportJobCompleted DescribeFHIRExportJob 120 360
FHIRImportJobCompleted DescribeFHIRImportJob 120 720

Operations

CreateFHIRDatastore

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

Create a FHIR-enabled data store.

Parameter Syntax

$result = $client->createFHIRDatastore([
    '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>',
    ],
    'PreloadDataConfig' => [
        'PreloadDataType' => 'SYNTHEA', // REQUIRED
    ],
    '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
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.

PreloadDataConfig
Type: PreloadDataConfig structure

An optional parameter to preload (import) open source Synthea FHIR data upon creation of 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',
]

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

ValidationException:

The user input parameter was invalid.

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.

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',
]

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

AccessDeniedException:

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

ConflictException:

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

ValidationException:

The user input parameter was invalid.

ResourceNotFoundException:

The requested data store was not found.

ThrottlingException:

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

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' => [
        'CreatedAt' => <DateTime>,
        'DatastoreArn' => '<string>',
        'DatastoreEndpoint' => '<string>',
        'DatastoreId' => '<string>',
        'DatastoreName' => '<string>',
        'DatastoreStatus' => 'CREATING|ACTIVE|DELETING|DELETED|CREATE_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>',
        ],
        'PreloadDataConfig' => [
            'PreloadDataType' => 'SYNTHEA',
        ],
        '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

ValidationException:

The user input parameter was invalid.

ResourceNotFoundException:

The requested data store was not found.

ThrottlingException:

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

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

ValidationException:

The user input parameter was invalid.

ResourceNotFoundException:

The requested data store was not found.

ThrottlingException:

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

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>,
            'TotalNumberOfFilesReadWithCustomerError' => <integer>,
            'TotalNumberOfImportedFiles' => <integer>,
            'TotalNumberOfResourcesImported' => <integer>,
            'TotalNumberOfResourcesScanned' => <integer>,
            'TotalNumberOfResourcesWithCustomerError' => <integer>,
            'TotalNumberOfScannedFiles' => <integer>,
            'TotalSizeOfScannedFilesInMB' => <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

ValidationException:

The user input parameter was invalid.

ResourceNotFoundException:

The requested data store was not found.

ThrottlingException:

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

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',
    ],
    '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' => [
        [
            'CreatedAt' => <DateTime>,
            'DatastoreArn' => '<string>',
            'DatastoreEndpoint' => '<string>',
            'DatastoreId' => '<string>',
            'DatastoreName' => '<string>',
            'DatastoreStatus' => 'CREATING|ACTIVE|DELETING|DELETED|CREATE_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>',
            ],
            'PreloadDataConfig' => [
                'PreloadDataType' => 'SYNTHEA',
            ],
            '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

ValidationException:

The user input parameter was invalid.

ThrottlingException:

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

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

ValidationException:

The user input parameter was invalid.

ResourceNotFoundException:

The requested data store was not found.

AccessDeniedException:

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

ThrottlingException:

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

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>,
                'TotalNumberOfFilesReadWithCustomerError' => <integer>,
                'TotalNumberOfImportedFiles' => <integer>,
                'TotalNumberOfResourcesImported' => <integer>,
                'TotalNumberOfResourcesScanned' => <integer>,
                'TotalNumberOfResourcesWithCustomerError' => <integer>,
                'TotalNumberOfScannedFiles' => <integer>,
                'TotalSizeOfScannedFilesInMB' => <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

ValidationException:

The user input parameter was invalid.

ResourceNotFoundException:

The requested data store was not found.

AccessDeniedException:

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

ThrottlingException:

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

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

ValidationException:

The user input parameter was invalid.

ResourceNotFoundException:

The requested data store was not found.

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

ValidationException:

The user input parameter was invalid.

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.

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
    'InputDataConfig' => [ // REQUIRED
        'S3Uri' => '<string>',
    ],
    'JobName' => '<string>',
    'JobOutputDataConfig' => [ // REQUIRED
        'S3Configuration' => [
            'KmsKeyId' => '<string>', // REQUIRED
            'S3Uri' => '<string>', // REQUIRED
        ],
    ],
    '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.

InputDataConfig
Required: Yes
Type: InputDataConfig structure

The input properties for the import job request.

JobName
Type: string

The import job name.

JobOutputDataConfig
Required: Yes
Type: OutputDataConfig structure

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

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

ValidationException:

The user input parameter was invalid.

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.

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

ValidationException:

The user input parameter was invalid.

ResourceNotFoundException:

The requested data store was not found.

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

ValidationException:

The user input parameter was invalid.

ResourceNotFoundException:

The requested data store was not found.

Shapes

AccessDeniedException

Description

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

Members
Message
Type: string

ConflictException

Description

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

Members
Message
Type: string

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

PreloadDataConfig
Type: PreloadDataConfig structure

The preloaded Synthea data 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.

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.

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

JobProgressReport

Description

The progress report for the import job.

Members
Throughput
Type: double

The transaction rate the import job is processed at.

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.

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.

TotalSizeOfScannedFilesInMB
Type: double

The size (in MB) of 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.

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.

ResourceNotFoundException

Description

The requested data store was not found.

Members
Message
Type: string

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.

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.

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

ValidationException

Description

The user input parameter was invalid.

Members
Message
Type: string