BinaryCreate method
Creates a FHIR Binary resource.
This method can be used to create a Binary resource either by using one of
the accepted FHIR JSON content types, or as a raw data stream. If a
resource is created with this method using the FHIR content type this
method's behavior is the same as
[fhir.create](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create).
If a resource type other than Binary is used in the request it's treated
in the same way as non-FHIR data (e.g., images, zip archives, pdf files,
documents). When a non-FHIR content type is used in the request, a Binary
resource will be generated, and the uploaded data will be stored in the
content field (DSTU2 and STU3), or the data field (R4). The
Binary resource's contentType will be filled in using the value of the
Content-Type header, and the securityContext field (not present in
DSTU2) will be populated from the X-Security-Context header if it
exists. At this time securityContext has no special behavior in the
Cloud Healthcare API. Note: the limit on data ingested through this method
is 1 GB. For best performance, use a non-FHIR data type instead of
wrapping the data in a Binary resource. Some of the Healthcare API
features, such as
exporting to BigQuery
or
Pub/Sub notifications
with full resource content, do not support Binary resources that are
larger than 10 MB. In these cases the resource's data field will be
omitted. Instead, the
"http://hl7.org/fhir/StructureDefinition/data-absent-reason" extension
will be present to indicate that including the data is unsupported. On
success, an empty 201 Created response is returned. The newly created
resource's ID and version are returned in the Location header. Using
Prefer: representation=resource is not allowed for this method. The
definition of the Binary REST API can be found at
https://hl7.org/fhir/binary.html#rest.
request - The metadata request object.
Request parameters:
parent - Required. The name of the FHIR store this resource belongs to.
Value must have pattern
^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/fhirStores/\[^/\]+$.
$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> BinaryCreate(
HttpBody request,
core.String parent, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/fhir/Binary';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return HttpBody.fromJson(response_ as core.Map<core.String, core.dynamic>);
}