bulkExport method

Future<HttpBody> bulkExport(
  1. String name, {
  2. String? P_since,
  3. String? P_type,
  4. String? outputFormat,
  5. String? $fields,
})

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