Skip to content

start_fhir_export_job

start_fhir_export_job(
    output_data_config: OutputDataConfig,
    datastore_id: DatastoreId,
    data_access_role_arn: IamRoleArn,
    *,
    config_overrides: Optional[HealthLakeClientConfig] = None,
    job_name: Optional[JobName] = None,
    client_token: Optional[ClientTokenString] = None,
) -> StartFHIRExportJobResponse

Start a FHIR export job.

Parameters:

  • job_name (Optional[JobName], default: None ) –

    The export job name.

  • output_data_config (OutputDataConfig) –

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

  • datastore_id (DatastoreId) –

    The data store identifier from which files are being exported.

  • data_access_role_arn (IamRoleArn) –

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

  • client_token (Optional[ClientTokenString], default: None ) –

    An optional user provided token used for ensuring API idempotency.

Raises:

Source code in docs_src/capo_healthlake/_services/health_lake.py
def start_fhir_export_job(
    self,
    output_data_config: "capo_healthlake.types.output_data_config.OutputDataConfig",
    datastore_id: "capo_healthlake.types.datastore_id.DatastoreId",
    data_access_role_arn: "capo_healthlake.types.iam_role_arn.IamRoleArn",
    *,
    config_overrides: Optional[HealthLakeClientConfig] = None,
    job_name: Optional["capo_healthlake.types.job_name.JobName"] = None,
    client_token: Optional[
        "capo_healthlake.types.client_token_string.ClientTokenString"
    ] = None,
) -> "capo_healthlake.types.start_fhir_export_job_response.StartFHIRExportJobResponse":
    """<p>Start a FHIR export job.</p>

    Args:
        job_name: <p>The export job name.</p>
        output_data_config: <p>The output data configuration supplied when the export job was started.</p>
        datastore_id: <p>The data store identifier from which files are being exported.</p>
        data_access_role_arn: <p>The Amazon Resource Name (ARN) used during initiation of the export job.</p>
        client_token: <p>An optional user provided token used for ensuring API idempotency.</p>

    Raises:
        capo_healthlake.errors.access_denied_exception.AccessDeniedException: <p>Access is denied. Your account is not authorized to perform this operation.</p>
        capo_healthlake.errors.failed_dependency_exception.FailedDependencyException: <p>A dependent service failed to fulfill the request.</p>
        capo_healthlake.errors.internal_server_exception.InternalServerException: <p>An unknown internal error occurred in the service.</p>
        capo_healthlake.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested data store was not found.</p>
        capo_healthlake.errors.throttling_exception.ThrottlingException: <p>The user has exceeded their maximum number of allowed calls to the given API. </p>
        capo_healthlake.errors.validation_exception.ValidationException: <p>The user input parameter was invalid.</p>
        capo_healthlake.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_healthlake.types.start_fhir_export_job_request.StartFHIRExportJobRequest]",
    ) -> OperationResponse[
        "capo_healthlake.types.start_fhir_export_job_response.StartFHIRExportJobResponse"
    ]:
        import capo_healthlake._operations.health_lake.start_fhir_export_job

        output, http_response = (
            capo_healthlake._operations.health_lake.start_fhir_export_job.start_fhir_export_job(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartFHIRExportJob")
    )
    input_: capo_healthlake.types.start_fhir_export_job_request.StartFHIRExportJobRequest = {
        "output_data_config": output_data_config,
        "datastore_id": datastore_id,
        "data_access_role_arn": data_access_role_arn,
    }
    if job_name is not None:
        input_["job_name"] = job_name
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output