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