AWS HealthLake Export API
Asynchronous bulk export operations for exporting FHIR resources to Amazon S3
Asynchronous bulk export operations for exporting FHIR resources to Amazon S3
openapi: 3.0.3
info:
title: Amazon HealthLake Datastore Export 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: Export
description: Asynchronous bulk export operations for exporting FHIR resources to Amazon S3
paths:
/#X-Amz-Target=HealthLake.DescribeFHIRExportJob:
post:
operationId: describeFHIRExportJob
summary: DescribeFHIRExportJob
description: <p>Displays the properties of a FHIR export job, including the ID, ARN, name, and the status of the job.</p>
tags:
- Export
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.DescribeFHIRExportJob
description: 'The AWS service action target: HealthLake.DescribeFHIRExportJob'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DescribeFHIRExportJobResponse'
'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/DescribeFHIRExportJobRequest'
/#X-Amz-Target=HealthLake.ListFHIRExportJobs:
post:
operationId: listFHIRExportJobs
summary: ListFHIRExportJobs
description: <p> Lists all FHIR export jobs associated with an account and their statuses. </p>
tags:
- Export
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.ListFHIRExportJobs
description: 'The AWS service action target: HealthLake.ListFHIRExportJobs'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ListFHIRExportJobsResponse'
'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/ListFHIRExportJobsRequest'
/#X-Amz-Target=HealthLake.StartFHIRExportJob:
post:
operationId: startFHIRExportJob
summary: StartFHIRExportJob
description: <p>Begins a FHIR export job.</p>
tags:
- Export
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.StartFHIRExportJob
description: 'The AWS service action target: HealthLake.StartFHIRExportJob'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/StartFHIRExportJobResponse'
'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/StartFHIRExportJobRequest'
components:
schemas:
StartFHIRExportJobRequest:
type: object
properties:
JobName:
type: string
minLength: 1
maxLength: 64
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
OutputDataConfig:
type: object
properties:
S3Configuration:
type: object
properties:
S3Uri:
type: string
maxLength: 1024
pattern: s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9](/.*)?
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:
- S3Uri
- KmsKeyId
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DataAccessRoleArn:
type: string
minLength: 20
maxLength: 2048
pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
ClientToken:
type: string
minLength: 1
maxLength: 64
pattern: ^[a-zA-Z0-9-]+$
required:
- OutputDataConfig
- DatastoreId
- DataAccessRoleArn
- ClientToken
StartFHIRExportJobResponse:
type: object
properties:
JobId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobStatus:
type: string
enum:
- SUBMITTED
- IN_PROGRESS
- COMPLETED_WITH_ERRORS
- COMPLETED
- FAILED
- CANCEL_SUBMITTED
- CANCEL_IN_PROGRESS
- CANCEL_COMPLETED
- CANCEL_FAILED
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- JobId
- JobStatus
ListFHIRExportJobsResponse:
type: object
properties:
ExportJobPropertiesList:
type: array
items:
type: object
properties:
JobId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobName:
type: string
minLength: 1
maxLength: 64
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobStatus:
type: string
enum:
- SUBMITTED
- IN_PROGRESS
- COMPLETED_WITH_ERRORS
- COMPLETED
- FAILED
- CANCEL_SUBMITTED
- CANCEL_IN_PROGRESS
- CANCEL_COMPLETED
- CANCEL_FAILED
SubmitTime:
type: string
format: date-time
EndTime:
type: string
format: date-time
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
OutputDataConfig:
type: object
properties:
S3Configuration:
type: object
properties:
S3Uri:
type: string
maxLength: 1024
pattern: s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9](/.*)?
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:
- S3Uri
- KmsKeyId
DataAccessRoleArn:
type: string
minLength: 20
maxLength: 2048
pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
Message:
type: string
minLength: 1
maxLength: 2048
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- JobId
- JobStatus
- SubmitTime
- DatastoreId
- OutputDataConfig
NextToken:
type: string
maxLength: 8192
pattern: \p{ASCII}{0,8192}
required:
- ExportJobPropertiesList
DescribeFHIRExportJobRequest:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- DatastoreId
- JobId
ListFHIRExportJobsRequest:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
NextToken:
type: string
maxLength: 8192
pattern: \p{ASCII}{0,8192}
MaxResults:
type: integer
format: int32
minimum: 1
maximum: 500
JobName:
type: string
minLength: 1
maxLength: 64
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobStatus:
type: string
enum:
- SUBMITTED
- IN_PROGRESS
- COMPLETED_WITH_ERRORS
- COMPLETED
- FAILED
- CANCEL_SUBMITTED
- CANCEL_IN_PROGRESS
- CANCEL_COMPLETED
- CANCEL_FAILED
SubmittedBefore:
type: string
format: date-time
SubmittedAfter:
type: string
format: date-time
required:
- DatastoreId
DescribeFHIRExportJobResponse:
type: object
properties:
ExportJobProperties:
type: object
properties:
JobId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobName:
type: string
minLength: 1
maxLength: 64
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobStatus:
type: string
enum:
- SUBMITTED
- IN_PROGRESS
- COMPLETED_WITH_ERRORS
- COMPLETED
- FAILED
- CANCEL_SUBMITTED
- CANCEL_IN_PROGRESS
- CANCEL_COMPLETED
- CANCEL_FAILED
SubmitTime:
type: string
format: date-time
EndTime:
type: string
format: date-time
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
OutputDataConfig:
type: object
properties:
S3Configuration:
type: object
properties:
S3Uri:
type: string
maxLength: 1024
pattern: s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9](/.*)?
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:
- S3Uri
- KmsKeyId
DataAccessRoleArn:
type: string
minLength: 20
maxLength: 2048
pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
Message:
type: string
minLength: 1
maxLength: 2048
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- JobId
- JobStatus
- SubmitTime
- DatastoreId
- OutputDataConfig
required:
- ExportJobProperties
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