feat(validator,ui): R4B core extension catalogue; the editor follows the request version - #618
Open
angela-helios wants to merge 3 commits into
Open
feat(validator,ui): R4B core extension catalogue; the editor follows the request version#618angela-helios wants to merge 3 commits into
angela-helios wants to merge 3 commits into
Conversation
… version threading
…the request version The catalogue from #363/#432 was R4-only in data, not in code. Two of the three halves of #488: - crates/fhir-gen/resources/R4B/extension-definitions.json is vendored from the R4B spec (398 extension StructureDefinitions, every one with contexts) and the R4B schema pack regenerated: 645 schemas, up from 247. No code change — the generator already looped all versions and skipped the absent file. The registry test now covers R4B. - The Guided editor resolved its schema pack and terminology with FhirVersion::default(), so a populated non-R4 pack could never reach it. render_body now takes the request version: the sidebar's FHIR version picks the pack, the extension catalogue, and the terminology. R5/R6 stay empty deliberately: HL7 moved extensions out of the core spec into the cross-version Extensions Pack IG (different filename, package shape, and per-version context expressions), so sourcing them is its own piece of work — the decision and options are recorded on the issue. Closes #488
questionnaire-cqf-example.json validates clean now that the R4B pack carries the core extension definitions — the issue it was pinned for came from validating the cqf extension against the bare base shape. The ratchet holds: one entry out, nothing in.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #488 — the R4B and editor-plumbing halves; the R5/R6 sourcing decision (deferral, with rationale) is recorded on the issue.
extension-definitions.jsonvendored from the R4B spec (398 extension SDs, all with contexts) and the pack regenerated — 645 schemas, up from 247. Zero code changes, exactly as feat(validator,ui): profiled extensions in the Guided form #432 predicted: the generator already looped every version and skipped the absent file. Registry test extended to R4B.FhirVersion::default(), so a populated non-R4 pack could never reach it.render_bodynow takes the request version — the sidebar's FHIR version picks the pack, the extension catalogue, and the embedded terminology. Same threading pattern as ui: make the conformance-backed resource-type lists FHIR-version aware #562.Note for review: touches
crates/ui/src/editor.rslike #614 does, but disjoint regions (handler signatures here, schema resolution there) — merge order should not matter.Validation:
cargo test -p helios-fhir-validator --features R4Band-p helios-uigreen; converter warnings on the R4B regen are the same class the R4 pack already carries.