Clinivault icon

Clinivault

Perform operations on FHIR resources

Overview

This node enables interaction with a FHIR (Fast Healthcare Interoperability Resources) server by performing various operations on FHIR resources. It supports standard FHIR RESTful actions such as reading, creating, updating, deleting, patching, searching, and retrieving resource history or specific versions. Additionally, it can resolve FHIR references to fetch related resources.

Common scenarios include:

  • Retrieving patient data or clinical observations from a FHIR server.
  • Searching for healthcare resources based on query parameters.
  • Updating or patching existing FHIR resources.
  • Accessing historical versions of resources for audit or compliance.
  • Resolving references within FHIR resources to obtain linked data.

Practical example:

  • A healthcare application uses this node to read a Patient resource by ID, then searches for all related Observations for that patient.
  • Another use case is to create a new Appointment resource in the FHIR server when scheduling a patient visit.

Properties

Name Meaning
Authentication The method used to authenticate requests. Options: Basic Auth, Custom Auth, Digest Auth, Header Auth, None, OAuth1, OAuth2, Query Auth.
Base URL The base URL of the target FHIR server API. Required when using certain authentication types.
Operation The action to perform on the FHIR resource. Options: Create, Delete, History, Patch, Read, Resolve, Search, Update, VRead (version read).
Resource Type The type of FHIR resource to operate on (e.g., Patient, Observation, Appointment). Also supports a custom resource type string.
Custom Resource Type When "Resource Type" is set to custom, specify the resource type name here.
Tenant ID Optional tenant identifier to include in request headers for multi-tenant FHIR servers.
ID The unique identifier of the resource (required for operations like Read, Delete, Patch, Update, History, VRead).
Version ID The version identifier of the resource (required for VRead operation).
Specify Query Parameters How to specify query parameters for search operations: either as key-value pairs or as raw JSON.
Query Parameters Key-value pairs representing query parameters to filter search results.
JSON Raw JSON string representing query parameters (used if specifying query parameters as JSON).
FHIR Path An optional FHIRPath expression to extract specific data from the response output.
Ignore SSL Issues Whether to allow connections even if SSL certificate validation fails (useful for self-signed certificates).
Retrieve All Pages? For search operations, whether to retrieve all pages of results automatically.
Normalize Next URL to Base URL When retrieving multiple pages, whether to normalize the next page URL to the base URL (useful if the next URL points to a different base).
Error if More than One Result For search operations, whether to throw an error if more than one result is returned (only applicable when not retrieving all pages).
Specify Patch Body For patch operations, how to specify the patch body: using fields below (key-value pairs) or raw JSON.
Patch Parameters Key-value pairs defining patch operations (op, from, path, value) according to RFC 6902.
JSON Patch Body Raw JSON array of patch operations (RFC 6902 format).
Reference For resolve operation, a string, object, or array of objects representing FHIR references to resolve.

Output

The node outputs JSON data representing the FHIR resource(s) retrieved or affected by the operation. The structure depends on the operation:

  • For Read, VRead, Create, Update, Patch, and Delete operations, the output is the single FHIR resource JSON.
  • For Search and History, the output is typically a FHIR Bundle resource containing multiple entries. If configured, the node can paginate through all pages and output all resources individually.
  • For Resolve, the output includes the resolved referenced resources.
  • If a FHIRPath expression is provided, the output is filtered accordingly to return only the extracted data.

If the node encounters multiple resources (e.g., in a Bundle), each resource is output as a separate item paired with the input item index.

The node does not output binary data.

Dependencies

  • Requires access to a FHIR server endpoint supporting RESTful FHIR API.
  • Needs appropriate authentication credentials depending on the selected authentication method (e.g., API keys, OAuth tokens).
  • Uses the fhirpath library internally to evaluate FHIRPath expressions.
  • Requires proper configuration of SSL settings if connecting to servers with self-signed certificates.

Troubleshooting

  • Invalid JSON in parameters: If JSON input fields (like query parameters or patch body) contain invalid JSON, the node will throw an error indicating invalid JSON. Ensure JSON syntax correctness.
  • More than one result error: When searching with "Error if More than One Result" enabled, if multiple matching resources are found, the node throws an error. To fix, refine the search query or disable this option.
  • SSL certificate errors: If connecting to a server with an untrusted SSL certificate, enable "Ignore SSL Issues" to bypass validation.
  • Authentication failures: Ensure correct authentication method and valid credentials are provided; otherwise, requests will fail.
  • Unsupported operation: If an unsupported operation is selected, the node throws an error indicating the operation is not supported.
  • Empty or missing required parameters: Operations like Read, Update, Delete require resource ID; ensure these are provided.

Links and References

Discussion