Inline answerOption codes
Compare supported conditions with string, numeric, Boolean, date-like, and bare Coding values supplied directly in the Questionnaire.
FHIR Questionnaire logic
FormPath complements a FHIR validator. A validator checks conformance; FormPath asks whether supported Questionnaire conditions can be satisfied by the inline answer values in the supplied resource.
FHIR logic is translated into a regression-tested internal model before checking. The report labels that boundary and keeps FHIRPath, CQL, external terminology, runtime context, and renderer behavior outside proof claims.
Questionnaire JSON is processed in this browser. No Questionnaire Response or patient data is needed.
Supported core
The useful question is narrower than “is this valid FHIR?” and more specific than manually clicking one route through a form.
Compare supported conditions with string, numeric, Boolean, date-like, and bare Coding values supplied directly in the Questionnaire.
Check equality, inequality, ordered comparisons, and existence conditions in the supported finite model.
Combine multiple conditions only when a valid enableBehavior says whether all or any must hold.
Surface missing or ambiguous source items rather than strengthening a conclusion from an uncertain reference.
Source-derived transcription
In the retained transcription, the rule expects “vision-20-40,” but the checklist offers “vision.” The follow-up cannot be enabled by any offered answer.
The analyzed Questionnaire was hand-authored from a public CDC web form. It was not an original CDC FHIR resource, and FormPath did not replay the source website or a native FHIR renderer.
July 2026 review · hand-authored FHIR transcription of a public web form
In the retained transcription, selecting the vision referral reason does not enable the side follow-up.
Inspect the evidence cardreasons for referral = 'vision-20-40''foot-abnormalities', 'vision', 'balance-difficulties', …Complement, not replacement
| Concern | FormPath’s role | Use a validator or native runtime for |
|---|---|---|
| FHIR conformance | Reads a Questionnaire as input | Profiles, cardinalities, terminology bindings, invariants, and general resource validation |
| Choice values | Uses supported inline answerOption values | answerValueSet, terminology expansion, and other external choices |
| Conditional logic | Checks the supported core enableWhen translation | FHIRPath/CQL expressions, launch context, prepopulation, calculated answers, and application data |
| User experience | Produces answer states and finite-model conclusions | Renderer behavior, navigation, repeating groups, data entry order, and QuestionnaireResponse lifecycle |
| Typed comparison | Checks supported bare values | Coding system/version identity and unit-aware Quantity semantics |
Report language
FHIR Questionnaire troubleshooting
Compare inline codes, make multiple-condition behavior explicit, or repair a missing linkId before relying on the branch.
Check whether a FHIR Questionnaire enableWhen condition expects a code that its source item never offers, while preserving terminology and runtime limits.
Read the guideChoose and test FHIR Questionnaire enableBehavior when an item has multiple enableWhen conditions, including conditions that cannot all hold.
Read the guideFind an enableWhen question reference that no longer matches a Questionnaire item linkId without turning the missing dependency into a false proof.
Read the guideQuestionnaire only · no patient data
The built-in Questionnaire is fictional. It contains an inline choice list and one follow-up waiting for a code that list never offers.
Open the FHIR sample