AWS HealthLake Datastore API
Operations for creating, describing, listing, and deleting FHIR R4 data stores
Operations for creating, describing, listing, and deleting FHIR R4 data stores
openapi: 3.0.3
info:
title: Amazon HealthLake Datastore API
description: Amazon HealthLake is a HIPAA-eligible, FHIR R4-compliant managed service for importing, transforming, storing, and querying health data from patients and clinical systems. It provides a transactional FHIR server with bulk import/export, medical NLP for unstructured data extraction, SMART on FHIR authorization, and integration with AWS analytics services.
version: '2017-07-01'
contact:
name: AWS Support
url: https://aws.amazon.com/contact-us/
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
termsOfService: https://aws.amazon.com/service-terms/
servers:
- url: https://healthlake.{region}.amazonaws.com
description: AWS HealthLake regional endpoint
variables:
region:
default: us-east-1
description: AWS region identifier
enum:
- us-east-1
- us-east-2
- us-west-2
- ap-southeast-2
- eu-west-1
security:
- aws_v4: []
tags:
- name: Datastore
description: Operations for creating, describing, listing, and deleting FHIR R4 data stores
paths:
/#X-Amz-Target=HealthLake.CreateFHIRDatastore:
post:
operationId: createFHIRDatastore
summary: CreateFHIRDatastore
description: <p>Creates a data store that can ingest and export FHIR formatted data.</p>
tags:
- Datastore
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.CreateFHIRDatastore
description: 'The AWS service action target: HealthLake.CreateFHIRDatastore'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/CreateFHIRDatastoreResponse'
'400':
description: Client error (validation, throttling, conflict, access denied)
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
'500':
description: Internal server error
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/CreateFHIRDatastoreRequest'
/#X-Amz-Target=HealthLake.DeleteFHIRDatastore:
post:
operationId: deleteFHIRDatastore
summary: DeleteFHIRDatastore
description: <p>Deletes a data store. </p>
tags:
- Datastore
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.DeleteFHIRDatastore
description: 'The AWS service action target: HealthLake.DeleteFHIRDatastore'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DeleteFHIRDatastoreResponse'
'400':
description: Client error (validation, throttling, conflict, access denied)
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
'500':
description: Internal server error
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DeleteFHIRDatastoreRequest'
/#X-Amz-Target=HealthLake.DescribeFHIRDatastore:
post:
operationId: describeFHIRDatastore
summary: DescribeFHIRDatastore
description: <p>Gets the properties associated with the FHIR data store, including the data store ID, data store ARN, data store name, data store status, when the data store was created, data store type version, and the data store's endpoint.</p>
tags:
- Datastore
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.DescribeFHIRDatastore
description: 'The AWS service action target: HealthLake.DescribeFHIRDatastore'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DescribeFHIRDatastoreResponse'
'400':
description: Client error (validation, throttling, conflict, access denied)
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
'500':
description: Internal server error
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DescribeFHIRDatastoreRequest'
/#X-Amz-Target=HealthLake.ListFHIRDatastores:
post:
operationId: listFHIRDatastores
summary: ListFHIRDatastores
description: <p>Lists all FHIR data stores that are in the user’s account, regardless of data store status.</p>
tags:
- Datastore
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.ListFHIRDatastores
description: 'The AWS service action target: HealthLake.ListFHIRDatastores'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ListFHIRDatastoresResponse'
'400':
description: Client error (validation, throttling, conflict, access denied)
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
'500':
description: Internal server error
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ListFHIRDatastoresRequest'
components:
schemas:
ListFHIRDatastoresResponse:
type: object
properties:
DatastorePropertiesList:
type: array
items:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DatastoreArn:
type: string
pattern: ^arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:healthlake:[a-zA-Z0-9-]+:[0-9]{12}:datastore/.+?
DatastoreName:
type: string
minLength: 1
maxLength: 256
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DatastoreStatus:
type: string
enum:
- CREATING
- ACTIVE
- DELETING
- DELETED
- CREATE_FAILED
CreatedAt:
type: string
format: date-time
DatastoreTypeVersion:
type: string
enum:
- R4
DatastoreEndpoint:
type: string
maxLength: 10000
pattern: '[\P{M}\p{M}]{0,10000}'
SseConfiguration:
type: object
properties:
KmsEncryptionConfig:
type: object
properties:
CmkType:
type: string
enum:
- CUSTOMER_MANAGED_KMS_KEY
- AWS_OWNED_KMS_KEY
KmsKeyId:
type: string
minLength: 1
maxLength: 400
pattern: (arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:kms:)?([a-z]{2}-[a-z]+(-[a-z]+)?-\d:)?(\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))
required:
- CmkType
required:
- KmsEncryptionConfig
PreloadDataConfig:
type: object
properties:
PreloadDataType:
type: string
enum:
- SYNTHEA
required:
- PreloadDataType
IdentityProviderConfiguration:
type: object
properties:
AuthorizationStrategy:
type: string
enum:
- SMART_ON_FHIR_V1
- AWS_AUTH
FineGrainedAuthorizationEnabled:
type: boolean
Metadata:
type: string
IdpLambdaArn:
type: string
minLength: 49
maxLength: 256
pattern: arn:aws:lambda:[a-z]{2}-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9\-_\.]+(:(\$LATEST|[a-zA-Z0-9\-_]+))?
required:
- AuthorizationStrategy
ErrorCause:
type: object
properties:
ErrorMessage:
type: string
minLength: 1
maxLength: 4096
ErrorCategory:
type: string
enum:
- RETRYABLE_ERROR
- NON_RETRYABLE_ERROR
required:
- DatastoreId
- DatastoreArn
- DatastoreStatus
- DatastoreTypeVersion
- DatastoreEndpoint
NextToken:
type: string
maxLength: 8192
pattern: \p{ASCII}{0,8192}
required:
- DatastorePropertiesList
ListFHIRDatastoresRequest:
type: object
properties:
Filter:
type: object
properties:
DatastoreName:
type: string
minLength: 1
maxLength: 256
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DatastoreStatus:
type: string
enum:
- CREATING
- ACTIVE
- DELETING
- DELETED
- CREATE_FAILED
CreatedBefore:
type: string
format: date-time
CreatedAfter:
type: string
format: date-time
NextToken:
type: string
maxLength: 8192
pattern: \p{ASCII}{0,8192}
MaxResults:
type: integer
format: int32
minimum: 1
maximum: 500
DeleteFHIRDatastoreRequest:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- DatastoreId
DescribeFHIRDatastoreResponse:
type: object
properties:
DatastoreProperties:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DatastoreArn:
type: string
pattern: ^arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:healthlake:[a-zA-Z0-9-]+:[0-9]{12}:datastore/.+?
DatastoreName:
type: string
minLength: 1
maxLength: 256
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DatastoreStatus:
type: string
enum:
- CREATING
- ACTIVE
- DELETING
- DELETED
- CREATE_FAILED
CreatedAt:
type: string
format: date-time
DatastoreTypeVersion:
type: string
enum:
- R4
DatastoreEndpoint:
type: string
maxLength: 10000
pattern: '[\P{M}\p{M}]{0,10000}'
SseConfiguration:
type: object
properties:
KmsEncryptionConfig:
type: object
properties:
CmkType:
type: string
enum:
- CUSTOMER_MANAGED_KMS_KEY
- AWS_OWNED_KMS_KEY
KmsKeyId:
type: string
minLength: 1
maxLength: 400
pattern: (arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:kms:)?([a-z]{2}-[a-z]+(-[a-z]+)?-\d:)?(\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))
required:
- CmkType
required:
- KmsEncryptionConfig
PreloadDataConfig:
type: object
properties:
PreloadDataType:
type: string
enum:
- SYNTHEA
required:
- PreloadDataType
IdentityProviderConfiguration:
type: object
properties:
AuthorizationStrategy:
type: string
enum:
- SMART_ON_FHIR_V1
- AWS_AUTH
FineGrainedAuthorizationEnabled:
type: boolean
Metadata:
type: string
IdpLambdaArn:
type: string
minLength: 49
maxLength: 256
pattern: arn:aws:lambda:[a-z]{2}-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9\-_\.]+(:(\$LATEST|[a-zA-Z0-9\-_]+))?
required:
- AuthorizationStrategy
ErrorCause:
type: object
properties:
ErrorMessage:
type: string
minLength: 1
maxLength: 4096
ErrorCategory:
type: string
enum:
- RETRYABLE_ERROR
- NON_RETRYABLE_ERROR
required:
- DatastoreId
- DatastoreArn
- DatastoreStatus
- DatastoreTypeVersion
- DatastoreEndpoint
required:
- DatastoreProperties
DeleteFHIRDatastoreResponse:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DatastoreArn:
type: string
pattern: ^arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:healthlake:[a-zA-Z0-9-]+:[0-9]{12}:datastore/.+?
DatastoreStatus:
type: string
enum:
- CREATING
- ACTIVE
- DELETING
- DELETED
- CREATE_FAILED
DatastoreEndpoint:
type: string
minLength: 1
maxLength: 5000
pattern: '[\P{M}\p{M}]{1,5000}'
required:
- DatastoreId
- DatastoreArn
- DatastoreStatus
- DatastoreEndpoint
CreateFHIRDatastoreRequest:
type: object
properties:
DatastoreName:
type: string
minLength: 1
maxLength: 256
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DatastoreTypeVersion:
type: string
enum:
- R4
SseConfiguration:
type: object
properties:
KmsEncryptionConfig:
type: object
properties:
CmkType:
type: string
enum:
- CUSTOMER_MANAGED_KMS_KEY
- AWS_OWNED_KMS_KEY
KmsKeyId:
type: string
minLength: 1
maxLength: 400
pattern: (arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:kms:)?([a-z]{2}-[a-z]+(-[a-z]+)?-\d:)?(\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))
required:
- CmkType
required:
- KmsEncryptionConfig
PreloadDataConfig:
type: object
properties:
PreloadDataType:
type: string
enum:
- SYNTHEA
required:
- PreloadDataType
ClientToken:
type: string
minLength: 1
maxLength: 64
pattern: ^[a-zA-Z0-9-]+$
Tags:
type: array
items:
type: object
properties:
Key:
type: string
minLength: 1
maxLength: 128
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$
Value:
type: string
minLength: 0
maxLength: 256
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$
required:
- Key
- Value
IdentityProviderConfiguration:
type: object
properties:
AuthorizationStrategy:
type: string
enum:
- SMART_ON_FHIR_V1
- AWS_AUTH
FineGrainedAuthorizationEnabled:
type: boolean
Metadata:
type: string
IdpLambdaArn:
type: string
minLength: 49
maxLength: 256
pattern: arn:aws:lambda:[a-z]{2}-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9\-_\.]+(:(\$LATEST|[a-zA-Z0-9\-_]+))?
required:
- AuthorizationStrategy
required:
- DatastoreTypeVersion
CreateFHIRDatastoreResponse:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DatastoreArn:
type: string
pattern: ^arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:healthlake:[a-zA-Z0-9-]+:[0-9]{12}:datastore/.+?
DatastoreStatus:
type: string
enum:
- CREATING
- ACTIVE
- DELETING
- DELETED
- CREATE_FAILED
DatastoreEndpoint:
type: string
minLength: 1
maxLength: 5000
pattern: '[\P{M}\p{M}]{1,5000}'
required:
- DatastoreId
- DatastoreArn
- DatastoreStatus
- DatastoreEndpoint
DescribeFHIRDatastoreRequest:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- DatastoreId
securitySchemes:
aws_v4:
type: apiKey
in: header
name: Authorization
description: 'AWS Signature Version 4. Sign requests with your AWS access key and secret key. See: https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html'
externalDocs:
description: Amazon HealthLake API Reference
url: https://docs.aws.amazon.com/healthlake/latest/APIReference/Welcome.html