Academy
⌘K
Getting Started
  • Platform Overview
  • AWS Marketplace Setup
  • Quickstart Guide
Connections
  • Overview
Workflow Builder
  • Overview
  • Nodes Catalog
Helix AI Assistant
  • Overview
Mapping Engine
  • Overview
Workflow Library
  • Overview
  • HL7
  • FHIR
  • Insurance
  • Agentic
  • Mapping
Security & Infrastructure
  • Architecture
  • HIPAA Compliance
  • Performance & Scalability
← Back to ConnectHealth
Get Started
Back to Nodes
FHIR1 input → 1 output

FHIR Search Filter

payload (object)payload.access… (string)payload.resour… (string)payload.filter… (object)FHIRFHIR Search Filterpayload.search… (object)filterBuilder.… (string)filterBuilder.… (number)Data flowProperty

Builds search filter parameters for FHIR resources using a visual interface.

Inputs

payload object
Input payload (passed through with searchFilter added)
payload.access_token string
Access token if chaining from authentication node
payload.resourceType string
Resource type (overrides node configuration)
payload.filterValues object
Object containing values for variable substitution in filter values

Outputs

payload object
Original payload with searchFilter property added/overridden
payload.searchFilter object
JSON object containing the search filter parameters
filterBuilder object
Metadata about the filter:
  • resourceType - Selected resource type
  • filterCount - Number of filters applied
  • hasCommonParams - Whether common parameters are set

Details

This node provides a visual interface for building FHIR search filters without writing JSON manually.

Each filter consists of three parts:

  • Parameter - The search parameter (e.g., name, birthdate, status)
  • Operator - The comparison operator (equals, not equals, greater than, etc.)
  • Value - The value to search for

Operators

Available operators and their FHIR equivalents:

  • equals - Exact match (default)
  • not equals - Not equal (ne prefix)
  • greater than - Greater than (gt prefix)
  • greater or equal - Greater than or equal (ge prefix)
  • less than - Less than (lt prefix)
  • less or equal - Less than or equal (le prefix)
  • contains - Contains text (:contains modifier)
  • exact - Exact match (:exact modifier)

Variable Substitution

Filter values can contain variables using {{variableName}} syntax. Variables are replaced with values from msg.payload.filterValues.

Multiple variables can be used in a single value, and variables can be placed anywhere in the string.

Examples:

  • Simple: {{patientId}} → 123
  • Multiple: {{resourceType}}/{{id}} → Patient/456
  • With operators: ge{{startDate}} → ge2024-01-01
  • Nested values: {{patient.id}} → 789

Example Output

Filter configuration:

  • Parameter: patient, Value: {{patientId}}
  • Parameter: practitioner, Value: {{resourceType}}/{{practitionerId}}
  • Parameter: date, Value: ge{{startDate}}

With input:

msg.payload.filterValues = {
  patientId: "123",
  resourceType: "Practitioner",
  practitionerId: "456",
  startDate: "2024-01-01"
}

Output:

{
  "patient": "123",
  "practitioner": "Practitioner/456",
  "date": "ge2024-01-01"
}

Best Practices

  • Use variables for dynamic values rather than hardcoding
  • Enable validation to catch missing variable values early
  • Set appropriate _count to limit result set size
  • Use _sort for predictable result ordering
  • Test filter output before connecting to FHIR Search node
  • Document expected filterValues input structure