Task Description
Clarify and document the rules for downstream Implementation Guides that inherit PH Core profiles and need to prohibit certain elements (cardinality 0..0) that carry inherited Must Support flags and Obligation extensions.
Specifically, document how the FHIR Obligation ignore modifier should be used when a downstream IG wants to carve out an inherited MS+Obligation element from its server support.
Rationale
This was surfaced during downstream IG development where they proposed 0..0 on the following elements inherited from PH Core:
implicitRules, language, text, contained, modifierExtension
multipleBirth[x], communication, managingOrganization, link
- Several sub-elements of
name, telecom, and contact
Under current PH Core heuristics (established by PR #213 — Obligations migration), these elements carry Must Support + Obligation extensions (e.g., ObligationOptional). Setting them to 0..0 in a downstream derivative creates a conformance conflict: the element is both MS (inherited) and prohibited (derived).
The FHIR Obligations extension provides an ignore code for this purpose (see Obligation CodeSystem), but PH Core currently has no documented policy for:
- When and how downstream IGs should use the
ignore obligation modifier
- Whether
0..0 cardinality alone is sufficient to override inherited MS
- Whether downstream IGs need explicit PH Core team approval before applying
ignore
- How this affects IG publisher validation and QA reports
Expected Outcome
Additional Context
Task Description
Clarify and document the rules for downstream Implementation Guides that inherit PH Core profiles and need to prohibit certain elements (cardinality
0..0) that carry inherited Must Support flags and Obligation extensions.Specifically, document how the FHIR Obligation
ignoremodifier should be used when a downstream IG wants to carve out an inherited MS+Obligation element from its server support.Rationale
This was surfaced during downstream IG development where they proposed
0..0on the following elements inherited from PH Core:implicitRules,language,text,contained,modifierExtensionmultipleBirth[x],communication,managingOrganization,linkname,telecom, andcontactUnder current PH Core heuristics (established by PR #213 — Obligations migration), these elements carry Must Support + Obligation extensions (e.g.,
ObligationOptional). Setting them to0..0in a downstream derivative creates a conformance conflict: the element is both MS (inherited) and prohibited (derived).The FHIR Obligations extension provides an
ignorecode for this purpose (see Obligation CodeSystem), but PH Core currently has no documented policy for:ignoreobligation modifier0..0cardinality alone is sufficient to override inherited MSignoreExpected Outcome
ignoreusage pattern with FSH example (e.g.,* element insert ObligationIgnoreRuleSet)0..0cardinality is sufficient vs. when explicitignoreobligation is requiredignorecarve-outs to maintain national consistencyAdditional Context
ignorereference: https://hl7.org/fhir/extensions/5.3.0/CodeSystem-obligation.html#obligation-ignore