Make the Questionnaire Swift-First and Conformant to Its Published Profiles - #49
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
9870a78 to
b05901e
Compare
23ee57e to
933f107
Compare
d966898 to
c8797d3
Compare
933f107 to
6d69ac0
Compare
8c2dbd7 to
6fe6b68
Compare
6d69ac0 to
0a2d0df
Compare
6fe6b68 to
5e5bcfa
Compare
|
Contract-coordination note for this stack: The accepted model still needs a focused standards decision covering This is a future restacking requirement, not approval to merge this PR and not a runner change. |
8c4acdd to
95f9ca1
Compare
95f9ca1 to
b74abb1
Compare
♻️ Current situation & Problem
Grove questionnaires could only be authored as FHIR JSON, and what the converter emitted did not match the profiles
grove-fhirpublishes.This change covers questionnaire authoring, the questionnaire UI, and the questionnaire ↔ FHIR bridge, together with the FHIRPath evaluator the expression features rest on.
⚙️ Release Notes
@Instrumentdeclares a reusable instrument and validates its references, link IDs, and score expressions at compile time.Questionnaireconversion and conformantQuestionnaireResponseexport: emitted resources declare the profiles they claim, keep their lifecycle across a round trip, and carry conformant quantity units and answer-option codings.enableWhenExpression,calculatedExpression,variable, andtargetConstraint. Its three-valued result is modelled explicitly rather than asBool?.📚 Documentation
AuthoringQuestionnaires.mdandQuestionKinds.mdcover the DSL, the modifiers, scoring, and the extension point for custom question kinds. The DSL's compilation hooks are hidden from DocC and carry inline notes explaining why Swift forces them public.✅ Testing
GroveQuestionnaireon macOS: 19 suites, including FHIR conformance, conversion, expression, scoring, prepopulation, draft-lifecycle, and macro-expansion coverage.FHIRModelsExtensionson macOS: 11 suites, including the FHIRPath parser and evaluator.swiftlint --strictis clean with no baseline file and no new rule suppressions beyond the DSL's underscored protocol requirements, each annotated at its declaration.Code of Conduct & Contributing Guidelines
By creating and submitting this pull request, you agree to follow our Code of Conduct and Contributing Guidelines: