create method
Creates a FHIR resource.
Implements the FHIR standard create interaction
(DSTU2,
STU3,
R4,
R5), which creates a new
resource with a server-assigned resource ID. Also supports the FHIR
standard conditional create interaction
(DSTU2,
STU3,
R4,
R5), specified by supplying
an If-None-Exist
header containing a FHIR search query, limited to
searching by resource identifier. If no resources match this search query,
the server processes the create operation as normal. When using
conditional create, the search term for identifier should be in the
pattern identifier=system|value
or identifier=value
- similar to the
search
method on resources with a specific identifier. The request body
must contain a JSON-encoded FHIR resource, and the request headers must
contain Content-Type: application/fhir+json
. On success, the response
body contains a JSON-encoded representation of the resource as it was
created on the server, including the server-assigned resource ID and
version ID. Errors generated by the FHIR store contain a JSON-encoded
OperationOutcome
resource describing the reason for the error. If the
request cannot be mapped to a valid API method on a FHIR store, a generic
GCP error might be returned instead. For samples that show how to call
create
, see
Creating a FHIR resource.
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/\[^/\]+$
.
type
- Required. The FHIR resource type to create, such as Patient or
Observation. For a complete list, see the FHIR Resource Index
(DSTU2,
STU3,
R4,
R5). Must match the resource
type in the provided content.
Value must have pattern ^\[^/\]+$
.
$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> create(
HttpBody request,
core.String parent,
core.String type, {
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/' +
core.Uri.encodeFull('$type');
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return HttpBody.fromJson(response_ as core.Map<core.String, core.dynamic>);
}