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>);
}