Cloud Healthcare API . projects . locations . datasets . fhirStores . fhir

Instance Methods

Patient_everything(name, x_page_token=None, end=None, x_count=None, start=None, x__xgafv=None)

Retrieves a Patient resource and resources related to that patient.

Resource_purge(name, x__xgafv=None)

Deletes all the historical versions of a resource (excluding the current

capabilities(name, x__xgafv=None)

Gets the FHIR capability statement

create(parent, type, body=None, x__xgafv=None)

Creates a FHIR resource.

delete(name, x__xgafv=None)

Deletes a FHIR resource.

executeBundle(parent, body=None, x__xgafv=None)

Executes all the requests in the given Bundle.

history(name, x_count=None, x_since=None, x_at=None, x_page_token=None, x__xgafv=None)

Lists all the versions of a resource (including the current version and

patch(name, body=None, x__xgafv=None)

Updates part of an existing resource by applying the operations specified

read(name, x__xgafv=None)

Gets the contents of a FHIR resource.

search(parent, body=None, x__xgafv=None)

Searches for resources in the given FHIR store according to criteria

update(name, body=None, x__xgafv=None)

Updates the entire contents of a resource.

vread(name, x__xgafv=None)

Gets the contents of a version (current or historical) of a FHIR resource

Method Details

Patient_everything(name, x_page_token=None, end=None, x_count=None, start=None, x__xgafv=None)
Retrieves a Patient resource and resources related to that patient.

Implements the FHIR extended operation Patient-everything
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything),
[STU3](http://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything),
[R4](http://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)).

On success, the response body will contain a JSON-encoded representation
of a `Bundle` resource of type `searchset`, containing the results of the
operation.
Errors generated by the FHIR store will 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.

The resources in scope for the response are:

* The patient resource itself.
* All the resources directly referenced by the patient resource.
* Resources directly referencing the patient resource that meet the
  inclusion criteria. The inclusion criteria are based on the membership
  rules in the patient compartment definition
  ([DSTU2](http://hl7.org/fhir/DSTU2/compartment-patient.html),
  [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html),
  [R4](http://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which
  details the eligible resource types and referencing search parameters.

Args:
  name: string, Name of the `Patient` resource for which the information is required. (required)
  x_page_token: string, Used to retrieve the next or previous page of results
when using pagination. Value should be set to the value of page_token set
in next or previous page links' urls. Next and previous page are returned
in the response bundle's links field, where `link.relation` is "previous"
or "next".

Omit `page_token` if no previous request has been made.
  end: string, The response includes records prior to the end date. If no end date is
provided, all records subsequent to the start date are in scope.
  x_count: integer, Maximum number of resources in a page. Defaults to 100.
  start: string, The response includes records subsequent to the start date. If no start
date is provided, all records prior to the end date are in scope.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
Resource_purge(name, x__xgafv=None)
Deletes all the historical versions of a resource (excluding the current
version) from the FHIR store. To remove all versions of a resource, first
delete the current version and then call this method.

This is not a FHIR standard operation.

Args:
  name: string, The name of the resource to purge. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
capabilities(name, x__xgafv=None)
Gets the FHIR capability statement
([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html),
[R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)),
or the [conformance
statement](http://hl7.org/implement/standards/fhir/DSTU2/conformance.html)
in the DSTU2 case for the store, which contains a description of
functionality supported by the server.

Implements the FHIR standard capabilities interaction
([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#capabilities)),
or the [conformance
interaction](http://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance)
in the DSTU2 case.

On success, the response body will contain a JSON-encoded representation
of a `CapabilityStatement` resource.

Args:
  name: string, Name of the FHIR store to retrieve the capabilities for. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
create(parent, type, body=None, x__xgafv=None)
Creates a FHIR resource.

Implements the FHIR standard create interaction
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)),
which creates a new resource with a server-assigned resource ID.

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 will contain 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 will 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.

Args:
  parent: string, The name of the FHIR store this resource belongs to. (required)
  type: string, The FHIR resource type to create, such as Patient or Observation. For a
complete list, see the FHIR Resource Index
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
Must match the resource type in the provided content. (required)
  body: object, The request body.
    The object takes the form of:

{ # Message that represents an arbitrary HTTP body. It should only be used for
      # payload formats that can't be represented as JSON, such as raw binary or
      # an HTML page.
      # 
      # 
      # This message can be used both in streaming and non-streaming API methods in
      # the request as well as the response.
      # 
      # It can be used as a top-level request field, which is convenient if one
      # wants to extract parameters from either the URL or HTTP template into the
      # request fields and also want access to the raw HTTP body.
      # 
      # Example:
      # 
      #     message GetResourceRequest {
      #       // A unique request id.
      #       string request_id = 1;
      # 
      #       // The raw HTTP body is bound to this field.
      #       google.api.HttpBody http_body = 2;
      #     }
      # 
      #     service ResourceService {
      #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
      #       rpc UpdateResource(google.api.HttpBody) returns
      #       (google.protobuf.Empty);
      #     }
      # 
      # Example with streaming methods:
      # 
      #     service CaldavService {
      #       rpc GetCalendar(stream google.api.HttpBody)
      #         returns (stream google.api.HttpBody);
      #       rpc UpdateCalendar(stream google.api.HttpBody)
      #         returns (stream google.api.HttpBody);
      #     }
      # 
      # Use of this type only changes how the request and response bodies are
      # handled, all other features will continue to work unchanged.
    "extensions": [ # Application specific response metadata. Must be set in the first response
        # for streaming APIs.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "data": "A String", # The HTTP request/response body as raw binary.
    "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
delete(name, x__xgafv=None)
Deletes a FHIR resource.

Implements the FHIR standard delete interaction
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#delete),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#delete),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#delete)).

Note: Unless resource versioning is disabled by setting the
disable_resource_versioning flag
on the FHIR store, the deleted resources will be moved to a history
repository that can still be retrieved through vread
and related methods, unless they are removed by the
purge method.

Args:
  name: string, The name of the resource to delete. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
executeBundle(parent, body=None, x__xgafv=None)
Executes all the requests in the given Bundle.

Implements the FHIR standard batch/transaction interaction
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#transaction),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#transaction)).

Supports all interactions within a bundle, except search. This method
accepts Bundles of type `batch` and `transaction`, processing them
according to the batch processing rules
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#brules))
and transaction processing rules
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#trules)).

The request body must contain a JSON-encoded FHIR `Bundle` resource, and
the request headers must contain `Content-Type: application/fhir+json`.

For a batch bundle or a successful transaction the response body will
contain a JSON-encoded representation of a `Bundle` resource of type
`batch-response` or `transaction-response` containing one entry for each
entry in the request, with the outcome of processing the entry. In the
case of an error for a transaction bundle, the response body will 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.

Args:
  parent: string, Name of the FHIR store in which this bundle will be executed. (required)
  body: object, The request body.
    The object takes the form of:

{ # Message that represents an arbitrary HTTP body. It should only be used for
      # payload formats that can't be represented as JSON, such as raw binary or
      # an HTML page.
      # 
      # 
      # This message can be used both in streaming and non-streaming API methods in
      # the request as well as the response.
      # 
      # It can be used as a top-level request field, which is convenient if one
      # wants to extract parameters from either the URL or HTTP template into the
      # request fields and also want access to the raw HTTP body.
      # 
      # Example:
      # 
      #     message GetResourceRequest {
      #       // A unique request id.
      #       string request_id = 1;
      # 
      #       // The raw HTTP body is bound to this field.
      #       google.api.HttpBody http_body = 2;
      #     }
      # 
      #     service ResourceService {
      #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
      #       rpc UpdateResource(google.api.HttpBody) returns
      #       (google.protobuf.Empty);
      #     }
      # 
      # Example with streaming methods:
      # 
      #     service CaldavService {
      #       rpc GetCalendar(stream google.api.HttpBody)
      #         returns (stream google.api.HttpBody);
      #       rpc UpdateCalendar(stream google.api.HttpBody)
      #         returns (stream google.api.HttpBody);
      #     }
      # 
      # Use of this type only changes how the request and response bodies are
      # handled, all other features will continue to work unchanged.
    "extensions": [ # Application specific response metadata. Must be set in the first response
        # for streaming APIs.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "data": "A String", # The HTTP request/response body as raw binary.
    "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
history(name, x_count=None, x_since=None, x_at=None, x_page_token=None, x__xgafv=None)
Lists all the versions of a resource (including the current version and
deleted versions) from the FHIR store.

Implements the per-resource form of the FHIR standard history interaction
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#history),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#history),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#history)).

On success, the response body will contain a JSON-encoded representation
of a `Bundle` resource of type `history`, containing the version history
sorted from most recent to oldest versions.
Errors generated by the FHIR store will 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.

Args:
  name: string, The name of the resource to retrieve. (required)
  x_count: integer, The maximum number of search results on a page. Defaults to 1000.
  x_since: string, Only include resource versions that were created at or after the given
instant in time. The instant in 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.
  x_at: string, Only include resource versions that were current at some point during the
time period specified in the date time value. The date parameter format is
yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm]

Clients may specify any of the following:

*  An entire year: `_at=2019`
*  An entire month: `_at=2019-01`
*  A specific day: `_at=2019-01-20`
*  A specific second: `_at=2018-12-31T23:59:58Z`
  x_page_token: string, Used to retrieve the first, previous, next, or last page of resource
versions when using pagination. Value should be set to the value of
`_page_token` set in next or previous page links' URLs. Next and previous
page are returned in the response bundle's links field, where
`link.relation` is "previous" or "next".

Omit `_page_token` if no previous request has been made.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
patch(name, body=None, x__xgafv=None)
Updates part of an existing resource by applying the operations specified
in a [JSON Patch](http://jsonpatch.com/) document.

Implements the FHIR standard patch interaction
([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#patch)).

DSTU2 doesn't define a patch method, but the server supports it in the same
way it supports STU3.

The request body must contain a JSON Patch document, and the request
headers must contain `Content-Type: application/json-patch+json`.

On success, the response body will contain a JSON-encoded representation
of the updated resource, including the server-assigned version ID.
Errors generated by the FHIR store will 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.

Args:
  name: string, The name of the resource to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # Message that represents an arbitrary HTTP body. It should only be used for
      # payload formats that can't be represented as JSON, such as raw binary or
      # an HTML page.
      # 
      # 
      # This message can be used both in streaming and non-streaming API methods in
      # the request as well as the response.
      # 
      # It can be used as a top-level request field, which is convenient if one
      # wants to extract parameters from either the URL or HTTP template into the
      # request fields and also want access to the raw HTTP body.
      # 
      # Example:
      # 
      #     message GetResourceRequest {
      #       // A unique request id.
      #       string request_id = 1;
      # 
      #       // The raw HTTP body is bound to this field.
      #       google.api.HttpBody http_body = 2;
      #     }
      # 
      #     service ResourceService {
      #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
      #       rpc UpdateResource(google.api.HttpBody) returns
      #       (google.protobuf.Empty);
      #     }
      # 
      # Example with streaming methods:
      # 
      #     service CaldavService {
      #       rpc GetCalendar(stream google.api.HttpBody)
      #         returns (stream google.api.HttpBody);
      #       rpc UpdateCalendar(stream google.api.HttpBody)
      #         returns (stream google.api.HttpBody);
      #     }
      # 
      # Use of this type only changes how the request and response bodies are
      # handled, all other features will continue to work unchanged.
    "extensions": [ # Application specific response metadata. Must be set in the first response
        # for streaming APIs.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "data": "A String", # The HTTP request/response body as raw binary.
    "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
read(name, x__xgafv=None)
Gets the contents of a FHIR resource.

Implements the FHIR standard read interaction
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#read),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#read)).

Also supports the FHIR standard conditional read interaction
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#cread),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#cread))
specified by supplying an `If-Modified-Since` header with a date/time value
or an `If-None-Match` header with an ETag value.

On success, the response body will contain a JSON-encoded representation
of the resource.
Errors generated by the FHIR store will 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.

Args:
  name: string, The name of the resource to retrieve. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
search(parent, body=None, x__xgafv=None)
Searches for resources in the given FHIR store according to criteria
specified as query parameters.

Implements the FHIR standard search interaction
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#search))
using the search semantics described in the FHIR Search specification
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html),
[STU3](http://hl7.org/implement/standards/fhir/STU3/search.html),
[R4](http://hl7.org/implement/standards/fhir/R4/search.html)).

Supports three methods of search defined by the specification:

*  `GET [base]?[parameters]` to search across all resources.
*  `GET [base]/[type]?[parameters]` to search resources of a specified
type.
*  `POST [base]/[type]/_search?[parameters]` as an alternate form having
the same semantics as the `GET` method.

The `GET` methods do not support compartment searches. The `POST` method
does not support `application/x-www-form-urlencoded` search parameters.

On success, the response body will contain a JSON-encoded representation
of a `Bundle` resource of type `searchset`, containing the results of the
search.
Errors generated by the FHIR store will 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.

The server's capability statement, retrieved through
capabilities, indicates what search parameters
are supported on each FHIR resource. A list of all search parameters
defined by the specification can be found in the FHIR Search Parameter
Registry
([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),
[R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).
FHIR search parameters for DSTU2 can be found on each resource's definition
page.

Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`,
`:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`.

Supported search result parameters: `_sort`, `_count`, `_include`,
`_revinclude`, `_summary=text`, `_summary=data`, and `_elements`.

The maximum number of search results returned defaults to 100, which can
be overridden by the `_count` parameter up to a maximum limit of 1000. If
there are additional results, the returned `Bundle` will contain
pagination links.

Resources with a total size larger than 5MB or a field count larger than
50,000 might not be fully searchable as the server might trim its generated
search index in those cases.

Note: FHIR resources are indexed asynchronously, so there might be a slight
delay between the time a resource is created or changes and when the change
is reflected in search results.

Args:
  parent: string, Name of the FHIR store to retrieve resources from. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to search the resources in the specified FHIR store.
    "resourceType": "A String", # The FHIR resource type to search, such as Patient or Observation. For a
        # complete list, see the FHIR Resource Index
        # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
        # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
        # [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
update(name, body=None, x__xgafv=None)
Updates the entire contents of a resource.

Implements the FHIR standard update interaction
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#update),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#update)).

If the specified resource does
not exist and the FHIR store has
enable_update_create set, creates the
resource with the client-specified ID.

The request body must contain a JSON-encoded FHIR resource, and the request
headers must contain `Content-Type: application/fhir+json`. The resource
must contain an `id` element having an identical value to the ID in the
REST path of the request.

On success, the response body will contain a JSON-encoded representation
of the updated resource, including the server-assigned version ID.
Errors generated by the FHIR store will 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.

Args:
  name: string, The name of the resource to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # Message that represents an arbitrary HTTP body. It should only be used for
      # payload formats that can't be represented as JSON, such as raw binary or
      # an HTML page.
      # 
      # 
      # This message can be used both in streaming and non-streaming API methods in
      # the request as well as the response.
      # 
      # It can be used as a top-level request field, which is convenient if one
      # wants to extract parameters from either the URL or HTTP template into the
      # request fields and also want access to the raw HTTP body.
      # 
      # Example:
      # 
      #     message GetResourceRequest {
      #       // A unique request id.
      #       string request_id = 1;
      # 
      #       // The raw HTTP body is bound to this field.
      #       google.api.HttpBody http_body = 2;
      #     }
      # 
      #     service ResourceService {
      #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
      #       rpc UpdateResource(google.api.HttpBody) returns
      #       (google.protobuf.Empty);
      #     }
      # 
      # Example with streaming methods:
      # 
      #     service CaldavService {
      #       rpc GetCalendar(stream google.api.HttpBody)
      #         returns (stream google.api.HttpBody);
      #       rpc UpdateCalendar(stream google.api.HttpBody)
      #         returns (stream google.api.HttpBody);
      #     }
      # 
      # Use of this type only changes how the request and response bodies are
      # handled, all other features will continue to work unchanged.
    "extensions": [ # Application specific response metadata. Must be set in the first response
        # for streaming APIs.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "data": "A String", # The HTTP request/response body as raw binary.
    "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }
vread(name, x__xgafv=None)
Gets the contents of a version (current or historical) of a FHIR resource
by version ID.

Implements the FHIR standard vread interaction
([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#vread),
[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#vread),
[R4](http://hl7.org/implement/standards/fhir/R4/http.html#vread)).

On success, the response body will contain a JSON-encoded representation
of the resource.
Errors generated by the FHIR store will 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.

Args:
  name: string, The name of the resource version to retrieve. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message that represents an arbitrary HTTP body. It should only be used for
        # payload formats that can't be represented as JSON, such as raw binary or
        # an HTML page.
        #
        #
        # This message can be used both in streaming and non-streaming API methods in
        # the request as well as the response.
        #
        # It can be used as a top-level request field, which is convenient if one
        # wants to extract parameters from either the URL or HTTP template into the
        # request fields and also want access to the raw HTTP body.
        #
        # Example:
        #
        #     message GetResourceRequest {
        #       // A unique request id.
        #       string request_id = 1;
        #
        #       // The raw HTTP body is bound to this field.
        #       google.api.HttpBody http_body = 2;
        #     }
        #
        #     service ResourceService {
        #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
        #       rpc UpdateResource(google.api.HttpBody) returns
        #       (google.protobuf.Empty);
        #     }
        #
        # Example with streaming methods:
        #
        #     service CaldavService {
        #       rpc GetCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #       rpc UpdateCalendar(stream google.api.HttpBody)
        #         returns (stream google.api.HttpBody);
        #     }
        #
        # Use of this type only changes how the request and response bodies are
        # handled, all other features will continue to work unchanged.
      "extensions": [ # Application specific response metadata. Must be set in the first response
          # for streaming APIs.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "data": "A String", # The HTTP request/response body as raw binary.
      "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    }