bulkExportGroup method

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

Bulk exports a Group resource and resources in the member field, including related resources for each Patient member.

The export for each Patient is identical to a GetPatientEverything request. Implements the FHIR implementation guide [$export group of patients](https://build.fhir.org/ig/HL7/bulk-data/export.html#endpoint---group-of-patients). 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 resources of the specified type(s) are exported. * _since: if provided, only resources 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. * organizeOutputBy: resource type to organize the output by. Required and must be set to Patient. When specified, output files are organized by instances of the specified resource type, including the resource, referenced resources, and resources that contain references to that resource. On success, the Content-Location header of response is set to a URL that you 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. Name of the Group resource that is exported, in format projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Group/{group_id}. Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/fhirStores/\[^/\]+/fhir/Group/\[^/\]+$.

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.

organizeOutputBy - Optional. Required. The FHIR resource type used to organize exported resources. Only supports "Patient". When organized by Patient resource, output files are grouped as follows: * Patient file(s) containing the Patient resources. Each Patient is sequentially followed by all resources the Patient references, and all resources that reference the Patient (equivalent to a GetPatientEverything request). * Individual files grouped by resource type for resources in the Group's member field and the Group resource itself. Resources may be duplicated across multiple Patients. For example, if two Patient resources reference the same Organization resource, it will appear twice, once after each Patient. The Group resource from the request does not appear in the Patient files.

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> bulkExportGroup(
  core.String name, {
  core.String? P_since,
  core.String? P_type,
  core.String? organizeOutputBy,
  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 (organizeOutputBy != null) 'organizeOutputBy': [organizeOutputBy],
    if (outputFormat != null) 'outputFormat': [outputFormat],
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$name') + r'/$export';

  final response_ = await _requester.request(
    url_,
    'GET',
    queryParams: queryParams_,
  );
  return HttpBody.fromJson(response_ as core.Map<core.String, core.dynamic>);
}