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