FHIR1 input → 1 output
FHIR Search Filter
Builds search filter parameters for FHIR resources using a visual interface.
Inputs
Outputs
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
_countto limit result set size - Use
_sortfor predictable result ordering - Test filter output before connecting to FHIR Search node
- Document expected
filterValuesinput structure