bulkExport method
Bulk exports all resources from the FHIR store to the specified destination.
Implements the FHIR implementation guide [system level
$export](https://build.fhir.org/ig/HL7/bulk-data/export.html#endpoint---system-level-export.
The following headers must be set in the request: * Accept
: specifies
the format of the OperationOutcome
response. Only
application/fhir+json
is supported. * Prefer
: specifies whether the
response is immediate or asynchronous. Must be to respond-async
because
only asynchronous responses are supported. Specify the destination for the
server to write result files by setting the Cloud Storage location
bulk_export_gcs_destination on the FHIR store. URI of an existing Cloud
Storage directory where the server writes result files, in the format
gs://{bucket-id}/{path/to/destination/dir}. If there is no trailing slash,
the service appends one when composing the object path. The user is
responsible for creating the Cloud Storage bucket referenced. Supports the
following query parameters: * _type
: string of comma-delimited FHIR
resource types. If provided, only the resources of the specified type(s)
are exported. * _since
: if provided, only the resources that are updated
after the specified time are exported. * _outputFormat
: optional,
specify ndjson to export data in NDJSON format. Exported file names use
the format: {export_id}_{resource_type}.ndjson. On success, the
Content-Location
header of the response is set to a URL that the user
can use to query the status of the export. The URL is in the format:
projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/operations/{export_id}
.
See get-fhir-operation-status for more information. Errors generated by
the FHIR store contain a JSON-encoded OperationOutcome
resource
describing the reason for the error.
Request parameters:
name
- Required. The name of the FHIR store to export resources from, in
the format
projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}
.
Value must have pattern
^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/fhirStores/\[^/\]+$
.
P_since
- Optional. If provided, only resources updated after this time
are exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For
example, 2015-02-07T13:28:17.239+02:00
or 2017-01-01T00:00:00Z
. The
time must be specified to the second and include a time zone.
P_type
- Optional. String of comma-delimited FHIR resource types. If
provided, only resources of the specified resource type(s) are exported.
outputFormat
- Optional. Output format of the export. This field is
optional and only application/fhir+ndjson
is supported.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a HttpBody.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<HttpBody> bulkExport(
core.String name, {
core.String? P_since,
core.String? P_type,
core.String? outputFormat,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
if (P_since != null) '_since': [P_since],
if (P_type != null) '_type': [P_type],
if (outputFormat != null) 'outputFormat': [outputFormat],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$name') + r'/fhir/$export';
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
);
return HttpBody.fromJson(response_ as core.Map<core.String, core.dynamic>);
}