7 FHIR Form Tools That Actually Handle Skip Logic Cleanly

Skip logic looks like a small feature until you watch a clinician fill out a 60-question intake form and realize that half the questions should never have rendered. A FHIR form tool that handles conditional logic well saves real minutes per encounter. One that does not creates a queue of clinician complaints that never fully clears. The difference usually comes down to how the tool evaluates enableWhen, enableBehavior, and the SDC extensions for more complex expressions.

Below are seven FHIR form tools whose skip-logic implementation holds up in production. For the bigger picture on building this layer well, see the complete guide to FHIR form builders for modern healthcare stacks, and the rest of the FHIR walkthrough series covers related topics.

What "Clean Skip Logic" Means

Three signals tell you a FHIR form tool handles skip logic well:

  • Dependent items re-render instantly when the source item changes. No flicker, no delay.
  • Hidden items do not appear in the QuestionnaireResponse. Some tools leave them in, which corrupts downstream analysis.
  • The tool supports both enableWhen and richer FHIRPath expressions for cases the simple conditions cannot express.

Tools that get two of three are common. Tools that get all three are the ones worth shortlisting.

The 7 FHIR Form Tools That Get It Right

  1. LHC-Forms. Reliable handling of enableWhen, enableBehavior, and complex SDC expression bindings. The renderer keeps the hidden items out of the response unless explicitly told otherwise.
  1. Aidbox Forms. Server-side and client-side evaluation stay consistent, which matters when validation runs in both places. Strong on hiding items from the persisted response.
  1. NLM Form Builder runtime. The conditional logic engine is one of the more mature ones in the open-source FHIR community. Designed originally for research forms where skip logic is the norm.
  1. Medplum form components. Provide a typed surface for enableWhen and a clean React render cycle for dependent items. Good fit when the rest of the app is already React.
  1. HAPI FHIR Questionnaire module. Reliable for simpler conditional logic and acceptable for moderate complexity. For expression-heavy forms, plan to supplement with a dedicated expression evaluator.
  1. Firely Server Questionnaire support. Strong on profile-driven validation including expressions; consistent skip-logic behavior across the renderer and the server validator.
  1. Open Health Hub Forms. Handles conditional logic for asynchronous patient-facing forms well, including the cases where the form has been paused and resumed.

For the real-time capture angle on the same engines, the top SDC form engines for real-time patient data capture covers how the engines hold up under live use.

Common Skip-Logic Pitfalls

A few things that go wrong even with a capable FHIR form tool:

  • Form authors put expressions in a custom extension that the runtime does not recognize. Always check what extensions the runtime supports before authoring.
  • Dependent items reference items that have not been answered yet. Define a sensible default behavior; do not leave it to the renderer.
  • Hidden items get included in the response anyway because the renderer was configured for research mode. Verify the production setting matches the clinical workflow.

A Quick Test for Any FHIR Form Tool

A short test that exposes most skip-logic weaknesses in 15 minutes:

  1. Build a 10-question form where each question hides the next two unless a specific answer is chosen.
  2. Add one item that uses a FHIRPath expression instead of enableWhen.
  3. Fill out the form forward, then change an early answer and watch what happens.
  4. Submit the response and look at what the server received.
  5. Pause halfway, close the tab, reopen, and confirm the visible items match the answered ones.

A FHIR form tool that handles all five of those without surprises is one that will quietly carry the project through the next year of clinical changes. Most tools fail at step 4 or step 5 even if they look good in the demo.

Sources