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:
Creates a data store that can ingest and export FHIR formatted data.
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:Deletes a data store.
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: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.
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:Lists all FHIR data stores that are in the user’s account, regardless of data store status.
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