Unreachable questions
Find supported rules that can never work with the answer values supplied by the definition.
Evidence-backed checks for conditional forms
FormPath checks SurveyJS JSON, REDCap data dictionaries, and FHIR Questionnaires for questions that can never appear and references to fields that no longer exist. For supported SurveyJS forms, it also finds hidden answers that still control later questions. It shows the exact rule, a working answer example or proof where possible, and anything it could not safely check. Everything runs in your browser.
Your form definition is not uploaded. No participant data is needed.
({loan-purpose} = 'house-purchase') and ('property-use' == 'residental'){property-use}: 'residential', 'buy-to-let', 'holiday-let'The rule compares the text “property-use” instead of the form answer, then misspells “residential.” No available response can make the mortgage-status question appear.
What it catches
A form still opens when an answer code changes, a reference goes stale, or a conditional question becomes impossible to reach. FormPath turns that silent behavior into reviewable evidence.
Find supported rules that can never work with the answer values supplied by the definition.
Surface renamed, missing, and malformed dependencies before they blank out downstream fields.
Find when a hidden answer can still affect a later question. On supported SurveyJS forms, FormPath may also reproduce the sequence: answer the question, hide it, and confirm that its old value still controls later logic.
Separate confirmed regressions from intentional behavior changes and changes in analysis coverage.
Why this is different
Schema validation can tell you whether a file is well formed. FormPath asks whether supported conditional rules can actually be satisfied—and records the boundary when it cannot answer safely.
When a question can appear, see an answer combination that makes it visible. SurveyJS examples are checked in SurveyJS itself.
When a supported rule is impossible, see the conflicting conditions and the software versions used to check them.
Remote choices, custom functions, dynamic rows, and application-controlled behavior are listed plainly instead of being counted as a pass.
A practical workflow
Paste or drop SurveyJS JSON, a REDCap data dictionary, or a FHIR Questionnaire. Use definitions only—never participant responses.
FormPath tests the answer values in the definition, finds combinations that make questions appear, proves supported impossible rules, and—where eligible—tries the SurveyJS answer sequence behind a hidden-value bug.
Download a compact set of answer combinations that preserves the question visibility and rule outcomes FormPath observed. These are reusable test inputs, not complete respondent journeys.
Troubleshooting by ecosystem
Start with a concrete SurveyJS, REDCap, or FHIR Questionnaire symptom. Each guide traces the definition-level rule and keeps native-runtime evidence separate from translated conclusions.
Diagnose a SurveyJS question that never appears by checking its stored values, visibleIf rule, parent visibility, and behavior controlled by the surrounding app.
Diagnose this failureTrace a REDCap branch that never appears by checking field names, stored choice codes, checkbox syntax, and logic that depends on the running project.
Diagnose this failureCheck whether a FHIR Questionnaire enableWhen condition expects a code that its source item never offers, while preserving terminology and runtime limits.
Diagnose this failureSupported definitions
Working SurveyJS answer combinations are replayed in SurveyJS. Impossible supported rules use a finite proof whose encoding is sample-checked against SurveyJS for that form; supported generated rule shapes are exhaustively cross-checked in release tests. REDCap and FHIR rules are translated and labeled. Anything FormPath cannot check stays visible.
Working answer combinations are replayed in SurveyJS. Supported impossible rules are proved from the form's listed values after the rule encoding is sample-checked against SurveyJS for that form. Supported generated rule shapes are exhaustively cross-checked in release tests.
SurveyJS troubleshooting guidesSupported branching rules are converted to a tested internal format. FormPath does not run inside REDCap.
REDCap scope and examplesSupported enableWhen rules are converted to a tested internal format. FormPath does not run inside a FHIR application.
FHIR Questionnaire scopeNo signup · no upload
Start with a synthetic sample or bring a definition. Export the full report as JSON or readable Markdown; the analysis stays in this browser unless you choose to download it.
Open the analyzer