Skip to main content

fhir

Creates, updates, deletes, gets or lists a fhir resource.

Overview

Namefhir
TypeResource
Idgoogle.healthcare.fhir

Fields

SELECT not supported for this resource, use SHOW METHODS to view available operations for the resource.

Methods

NameAccessible byRequired ParamsDescription
createINSERTdatasetsId, fhirId, fhirStoresId, locationsId, projectsIdCreates a FHIR resource. Implements the FHIR standard create interaction (DSTU2, STU3, R4), which creates a new resource with a server-assigned resource ID. Also supports the FHIR standard conditional create interaction (DSTU2, STU3, R4), 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
deleteDELETEdatasetsId, fhirId, fhirId1, fhirStoresId, locationsId, projectsIdDeletes a FHIR resource. Implements the FHIR standard delete interaction (DSTU2, STU3, R4). 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. For samples that show how to call delete, see Deleting a FHIR resource.
patchUPDATEdatasetsId, fhirId, fhirId1, fhirStoresId, locationsId, projectsIdUpdates part of an existing resource by applying the operations specified in a JSON Patch document. Implements the FHIR standard patch interaction (STU3, R4). 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 contains a JSON-encoded representation of the updated resource, including the server-assigned 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 patch, see Patching a FHIR resource.
updateREPLACEdatasetsId, fhirId, fhirId1, fhirStoresId, locationsId, projectsIdUpdates the entire contents of a resource. Implements the FHIR standard update interaction (DSTU2, STU3, R4). If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. 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 contains a JSON-encoded representation of the updated resource, including the server-assigned 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 update, see Updating a FHIR resource.
binary-createEXECdatasetsId, fhirStoresId, locationsId, projectsIdCreates 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. 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 2 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.
binary-readEXECBinaryId, datasetsId, fhirStoresId, locationsId, projectsIdGets the contents of a FHIR Binary resource. This method can be used to retrieve a Binary resource either by using the FHIR JSON mimetype as the value for the Accept header, or as a raw data stream. If the FHIR Accept type is used this method will return a Binary resource with the data base64-encoded, regardless of how the resource was created. The resource data can be retrieved in base64-decoded form if the Accept type of the request matches the value of the resource's contentType field. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.
binary-updateEXECBinaryId, datasetsId, fhirStoresId, locationsId, projectsIdUpdates the entire contents of a Binary resource. If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. This method can be used to update a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is updated with this method using the FHIR content type this method's behavior is the same as update. If a resource type other than Binary is used in the request it will be treated in the same way as non-FHIR data. When a non-FHIR content type is used in the request, a Binary resource will be generated using the ID from the resource path, 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 2 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 200 OK response will be returned, or a 201 Created if the resource did not exit. The 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.
binary-vreadEXECBinaryId, _historyId, datasetsId, fhirStoresId, locationsId, projectsIdGets the contents of a version (current or historical) of a FHIR Binary resource by version ID. This method can be used to retrieve a Binary resource version either by using the FHIR JSON mimetype as the value for the Accept header, or as a raw data stream. If the FHIR Accept type is used this method will return a Binary resource with the data base64-encoded, regardless of how the resource version was created. The resource data can be retrieved in base64-decoded form if the Accept type of the request matches the value of the resource version's contentType field. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.
capabilitiesEXECdatasetsId, fhirStoresId, locationsId, projectsIdGets the FHIR capability statement (STU3, R4), or the conformance statement in the DSTU2 case for the store, which contains a description of functionality supported by the server. Implements the FHIR standard capabilities interaction (STU3, R4), or the conformance interaction in the DSTU2 case. On success, the response body contains a JSON-encoded representation of a CapabilityStatement resource.
conditional_deleteEXECdatasetsId, fhirId, fhirStoresId, locationsId, projectsIdDeletes a FHIR resource that match an identifier search query. Implements the FHIR standard conditional delete interaction, limited to searching by resource identifier. If multiple resources match, 412 Precondition Failed error will be returned. Search term for identifier should be in the pattern `identifier=system
conditional_patchEXECdatasetsId, fhirId, fhirStoresId, locationsId, projectsIdIf a resource is found with the identifier specified in the query parameters, updates part of that resource by applying the operations specified in a JSON Patch document. Implements the FHIR standard conditional patch interaction, limited to searching by resource identifier. DSTU2 doesn't define a conditional patch method, but the server supports it in the same way it supports STU3. Search term for identifier should be in the pattern `identifier=system
conditional_updateEXECdatasetsId, fhirId, fhirStoresId, locationsId, projectsIdIf a resource is found with the identifier specified in the query parameters, updates the entire contents of that resource. Implements the FHIR standard conditional update interaction, limited to searching by resource identifier. Search term for identifier should be in the pattern `identifier=system
execute_bundleEXECdatasetsId, fhirStoresId, locationsId, projectsIdExecutes all the requests in the given Bundle. Implements the FHIR standard batch/transaction interaction (DSTU2, STU3, R4). 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, STU3, R4) and transaction processing rules (DSTU2, STU3, R4). 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 contains 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 contains 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. This method checks permissions for each request in the bundle. The executeBundle permission is required to call this method, but you must also grant sufficient permissions to execute the individual requests in the bundle. For example, if the bundle contains a request to create a FHIR resource, the caller must also have been granted the healthcare.fhirResources.create permission. You can use audit logs to view the permissions for executeBundle and each request in the bundle. For more information, see Viewing Cloud Audit logs. For samples that show how to call executeBundle, see Managing FHIR resources using FHIR bundles.
historyEXECdatasetsId, fhirId, fhirId1, fhirStoresId, locationsId, projectsIdLists 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, STU3, R4). On success, the response body contains 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 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 history, see Listing FHIR resource versions.
patient-everythingEXECPatientId, datasetsId, fhirStoresId, locationsId, projectsIdRetrieves a Patient resource and resources related to that patient. Implements the FHIR extended operation Patient-everything (DSTU2, STU3, R4). On success, the response body contains a JSON-encoded representation of a Bundle resource of type searchset, containing the results of the operation. 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. 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, STU3, R4), which details the eligible resource types and referencing search parameters. For samples that show how to call Patient-everything, see Getting all patient compartment resources.
readEXECdatasetsId, fhirId, fhirId1, fhirStoresId, locationsId, projectsIdGets the contents of a FHIR resource. Implements the FHIR standard read interaction (DSTU2, STU3, R4). Also supports the FHIR standard conditional read interaction (DSTU2, STU3, R4) 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 contains a JSON-encoded representation of the resource. 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 read, see Getting a FHIR resource.
resource-purgeEXECdatasetsId, fhirId, fhirId1, fhirStoresId, locationsId, projectsIdDeletes 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. For samples that show how to call Resource-purge, see Deleting historical versions of a FHIR resource.
resource-validateEXECdatasetsId, fhirId, fhirStoresId, locationsId, projectsIdValidates an input FHIR resource's conformance to its profiles and the profiles configured on the FHIR store. Implements the FHIR extended operation $validate (DSTU2, STU3, or R4). The request body must contain a JSON-encoded FHIR resource, and the request headers must contain Content-Type: application/fhir+json. The Parameters input syntax is not supported. The profile query parameter can be used to request that the resource only be validated against a specific profile. If a profile with the given URL cannot be found in the FHIR store then an error is returned. Errors generated by validation 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.
searchEXECdatasetsId, fhirStoresId, locationsId, projectsIdSearches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction (DSTU2, STU3, R4) using the search semantics described in the FHIR Search specification (DSTU2, STU3, R4). Supports four 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]/_search?[parameters] as an alternate form having the same semantics as the GET method across all resources. POST [base]/[type]/_search?[parameters] as an alternate form having the same semantics as the GET method for the specified type. The GET and POST methods do not support compartment searches. The POST method does not support application/x-www-form-urlencoded search parameters. On success, the response body contains a JSON-encoded representation of a Bundle resource of type searchset, containing the results of the search. 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. 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, R4). 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 (DSTU2 and STU3) or :iterate (R4). 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. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned Bundle contains a link of relation "next", which has a _page_token parameter for an opaque pagination token that can be used to retrieve the next page. 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 changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]
search-typeEXECdatasetsId, fhirStoresId, locationsId, projectsId, resourceTypeSearches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction (DSTU2, STU3, R4) using the search semantics described in the FHIR Search specification (DSTU2, STU3, R4). Supports four 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]/_search?[parameters] as an alternate form having the same semantics as the GET method across all resources. POST [base]/[type]/_search?[parameters] as an alternate form having the same semantics as the GET method for the specified type. The GET and POST methods do not support compartment searches. The POST method does not support application/x-www-form-urlencoded search parameters. On success, the response body contains a JSON-encoded representation of a Bundle resource of type searchset, containing the results of the search. 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. 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, R4). 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 (DSTU2 and STU3) or :iterate (R4). 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. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned Bundle contains a link of relation "next", which has a _page_token parameter for an opaque pagination token that can be used to retrieve the next page. 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 changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]
vreadEXEC_historyId, datasetsId, fhirId, fhirId1, fhirStoresId, locationsId, projectsIdGets the contents of a version (current or historical) of a FHIR resource by version ID. Implements the FHIR standard vread interaction (DSTU2, STU3, R4). On success, the response body contains a JSON-encoded representation of the resource. 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 vread, see Retrieving a FHIR resource version.

INSERT example

Use the following StackQL query and manifest file to create a new fhir resource.

/*+ create */
INSERT INTO google.healthcare.fhir (
datasetsId,
fhirId,
fhirStoresId,
locationsId,
projectsId,
contentType,
data,
extensions
)
SELECT
'{{ datasetsId }}',
'{{ fhirId }}',
'{{ fhirStoresId }}',
'{{ locationsId }}',
'{{ projectsId }}',
'{{ contentType }}',
'{{ data }}',
'{{ extensions }}'
;

UPDATE example

Updates a fhir resource.

/*+ update */
UPDATE google.healthcare.fhir
SET
contentType = '{{ contentType }}',
data = '{{ data }}',
extensions = '{{ extensions }}'
WHERE
datasetsId = '{{ datasetsId }}'
AND fhirId = '{{ fhirId }}'
AND fhirId1 = '{{ fhirId1 }}'
AND fhirStoresId = '{{ fhirStoresId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

REPLACE example

Replaces all fields in the specified fhir resource.

/*+ update */
REPLACE google.healthcare.fhir
SET
contentType = '{{ contentType }}',
data = '{{ data }}',
extensions = '{{ extensions }}'
WHERE
datasetsId = '{{ datasetsId }}'
AND fhirId = '{{ fhirId }}'
AND fhirId1 = '{{ fhirId1 }}'
AND fhirStoresId = '{{ fhirStoresId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

DELETE example

Deletes the specified fhir resource.

/*+ delete */
DELETE FROM google.healthcare.fhir
WHERE datasetsId = '{{ datasetsId }}'
AND fhirId = '{{ fhirId }}'
AND fhirId1 = '{{ fhirId1 }}'
AND fhirStoresId = '{{ fhirStoresId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';