CA Core+ v1.1.0 DFT-preBallot
DFT-preBallot - The specification is a DFT-preBallot version of CA Core+ for collecting community feedback. For a full list of available versions, see the Directory of published versions
This page offers general implementation and authoring guidance that applies to all CA Core+ artifacts and modules. It supports a common understanding of profiling philosophy, behavior across systems, and best practices for promoting interoperability.
CA Core+ is structured to support reuse and consistency across Canada. The Business Context and Technical Context pages have more information on the business and general needs to derive from CA Core+. This section contains specific recommendations.
When defining or adapting profiles for jurisdictional or domain-specific use, IG authors should apply the following recommendations to ensure alignment with the CA Core+ framework:
min=1
elements as Must Support when they are clinically meaningful and interoperable across systems, especially when used in pan-Canadian data exchange and are meaningful beyond being required for exchange. For guidance on how Must Support and cardinality interact, see Technical Context.min=1
and Must Support, ensure that downstream implementers understand the conditions under which that child is required.data-absent-reason
: When extending profiles, specify when and how to apply data-absent-reason
, particularly for jurisdiction-specific constraints on privacy (e.g., masked
, not-asked
).Patient.desceased[x]
is prohibited because submitting a deceased patient would violate the use-case). If a receiving system requires only one instance where multiple are valid, use extensions or a distinguishing element to indicate the relevant instance instead of restricting valid data from being sent.Refer to the Technical Context page for more on CA Core+ adaptation strategy and how profiles are designed to balance pan-Canadian interoperability with jurisdictional flexibility.
Implementers working with CA Core+ or downstream guides based on it should consider the following when handling required elements and Must Support expectations:
min > 0
) indicate specific implementation responsibilities.identifier
is included, the system must also handle identifier.system
and identifier.value
if marked Must Support.0..1
parent with 1..1
child). This indicates that if the parent is used, the child must be populated. See Technical Context for more on this convention.min=1
or Must Support element is unavailable, use data-absent-reason
to indicate why. See the “Handling Missing Data” section below for specific rules and examples.CA Core+ is designed to reduce variation and allow jurisdictions to extend profiles as needed. Implementers should consult jurisdiction-specific IGs to determine if additional constraints or policies apply. When in doubt, prioritize compatibility with CA Core+ base definitions to support broader interoperability.
A server may send “additional” elements beyond those flagged with Must Support in a CA Core+ profile. These additional elements are often required by other profiles the system conforms to, and they may carry local requirements or technical/workflow context.
For this reason, extensibility is generally encouraged and expected in CA Core+ profiles. Only in rare cases—where safety, policy, or compatibility requires it—are profiles designed to limit the inclusion of extra elements through tight cardinality or Must Support
restrictions.
Specification authors should strive to enable greater interoperability and software reuse by not reducing element cardinality unless there's a well-justified reason.
Client systems:
Profiles may leave many elements optional to support broad applicability across jurisdictions and use cases. CA Core+ adopts a flexible modeling approach:
min=0
and no Must Support flag are considered optional.Must Support
or tightening cardinality.To promote reusability and alignment across Canada:
Profiles in CA Core+ may include illustrative examples, but:
Systems often expose more data elements than those explicitly marked as Must Support (MS) or Obligations in a profile. When this happens, downstream systems may be unable to interpret or display some of the additional content.
To support broad interoperability and safe data exchange in these situations, systems MAY include a human-readable narrative in the resource’s text.div
element. This narrative acts as a fallback representation for data that downstream systems cannot recognize or display, using FHIR’s standard mechanism for conveying such information.
Systems that generate a narrative SHALL include any information that is:
1..
)MustSupport
The narrative SHOULD only include information that is represented in data elements within the instance of the FHIR resource.
MustSupport
because some downstream use cases (such as clinical decision support or analytics) may not need narratives, making them unnecessary overhead.text.div
element MAY be strengthened in specific use case implementation guides.