CA Core+
DFT-Ballot - The specification is a DFT-Ballot version of CA Core+ for collecting ballot feedback. For a full list of available versions, see the Directory of published versions
This page provides a detailed mapping between CA Core+ FHIR profile elements and their corresponding concepts in the Pan-Canadian Health Data Content Framework (PCHDCF), specifically the elements identified by the Canadian Core Data for Interoperability (CACDI) and informed by the Logical Data Model (LDM).
The mapping supports transparency, semantic alignment, and implementation clarity across jurisdictions, helping implementers understand:
For a full explanation of how mappings are represented in the FHIR Profiles is can be found on Mapping Logic.
This page describes the methodology used to map concepts from the PCHDCF (specifically elements from the CACDI) to FHIR artifacts defined in CA Core+. It supports transparency, semantic traceability, and consistency between national models and FHIR implementation profiles.
The mappings bridge semantic models and implementation artifacts by:
Mappings are visible:
Mappings are derived from:
Mappings were validated through:
The mapping methodology has evolved across CA Core+ releases:
CA Core+ 1.0 (June 2025): Mapped a subset of ~24,000 FHIR elements from 26 IGs to the LDM. Mapping direction was FHIR elements → LDM. Scope was controlled by filtering to "clinical" elements used by 2+ provinces/territories.
CA Core+ 1.1.0 (Sept 2025): Updated mapping approach to identify CACDI elements → CA Core+ profiles, then add obligations to FHIR elements that correspond to CACDI concepts. This approach focused on data exchange mappings and alignment to the CACDI Element and Attribute names used in the CACDIv2 publication.
CA Core+ 1.2.0 (Current Release): Corrections to previous LDM mappings, updated mappings to the latest CACDI version including changes planned for final release, and better alignment to CACDI naming conventions for improved readability.
The table below provides a comprehensive mapping between the CACDI v2 data elements and their corresponding FHIR paths across all CA Core profiles. This mapping demonstrates how each CACDI v2 data element is represented within the CA Core FHIR Implementation Guide, supporting conformance testing and implementation alignment.
| CACDI data category | CACDI data element | CA Core+ Profile(s) | FHIR Path |
|---|---|---|---|
| Person Information | Person Identifier Type | Patient (CA Core+) | Patient.identifier.type |
| Person Identifier Value | Patient (CA Core+) | Patient.identifier.value | |
| Given Name | Patient (CA Core+) | Patient.name.given | |
| Middle Name | Patient (CA Core+) | Patient.name.given | |
| Surname | Patient (CA Core+) | Patient.name.family | |
| Name Used | Patient (CA Core+) | Patient.name.use | |
| Personal Pronouns | Patient (CA Core+) | Patient.extension:pronouns | |
| Date of Birth | Patient (CA Core+) | Patient.birthDate | |
| Date of Death | Patient (CA Core+) | Patient.deceasedDateTime | |
| Service Language | Patient (CA Core+) | Patient.communication.language | |
| Indigenous Identity | Patient (CA Core+) | Patient.extension.indigenousIdentity | |
| Gender Used | Patient (CA Core+) | Patient.extension:recordedSexOrGender | |
| Gender Identity | Patient (CA Core+) | Patient.extension:genderIdentity | |
| Sex at Birth | Patient (CA Core+) | Patient.extension:birthSex | |
| Identifier Issuing Organization Code | Patient (CA Core+) | Patient.identifier.assigner | |
| Name Type | Patient (CA Core+) | Patient.name.use | |
| Party Non-Health Identifier | Patient (CA Core+) | Patient.identifier.value | |
| Party Non-Health Identifier Type | Patient (CA Core+) | Patient.identifier.type | |
| Party Non-Health Identifier System | Patient (CA Core+) | Patient.identifier.system | |
| Party Non-Health Identifier Effective Date | Patient (CA Core+) | Patient.identifier.period.start | |
| Party Non-Health Identifier Expiry Date | Patient (CA Core+) | Patient.identifier.period.end | |
| Patient Health Identifier | Patient (CA Core+) | Patient.identifier.value | |
| Patient Health Identifier Type | Patient (CA Core+) | Patient.identifier.type | |
| Patient Health Identifier System | Patient (CA Core+) | Patient.identifier.system | |
| Patient Health Identifier Effective Date | Patient (CA Core+) | Patient.identifier.period.start | |
| Patient Health Identifier Expiry Date | Patient (CA Core+) | Patient.identifier.period.end | |
| Party Role Service Language | Patient (CA Core+) | Patient.communication.language | |
| Person Pronoun Effective Date (Recommended) | Patient (CA Core+) | Patient.extension.pronouns.valuePeriod.start | |
| Person Pronoun Expiry Date (Recommended) | Patient (CA Core+) | Patient.extension.pronouns.valuePeriod.end | |
| Allergies and Intolerances | Allergy or Intolerance | AllergyIntolerance (CA Core+) | AllergyIntolerance.code |
| Allergy or Intolerance Reaction | AllergyIntolerance (CA Core+) | AllergyIntolerance.reaction.manifestation | |
| Immunization | Immunization | Immunization (CA Core+) | Immunization.vaccineCode |
| Immunization Lot Number | Immunization (CA Core+) | Immunization.lotNumber | |
| Immunization Date | Immunization (CA Core+) | Immunization.occurrenceDateTime | |
| Health Care Service Event Type | Health Care Service Event Type is implicit based on the FHIR resource chosen (Procedure vs Immunization), and does not have an explicit FHIR data element mapping. | ||
| Event Start Date and Time | Immunization (CA Core+) | Immunization.occurenceDateTime | |
| Reported Clinical Information Date Time | Immunization (CA Core+) | Immunization.occurenceString | |
| Reported Clinical Information Date Time | Immunization (CA Core+) | Immunization.occurenceDateTime | |
| Reported Clinical Information Source (Recommended) | Immunization (CA Core+) | Immunization.reportOrigin | |
| Medication | Medication | Medication (CA Core+) | Medication.code |
| MedicationRequest (CA Core+) | MedicationRequest.medicationCodeableConcept | ||
| MedicationStatement (CA Core+ | MedicationStatement.medicationCodeableConcept | ||
| Medication Dose Value | MedicationRequest (CA Core+) | MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.value | |
| MedicationStatement (CA Core+ | MedicationStatement.dosage.doseAndRate.doseQuantity.value | ||
| Medication Dose Unit of Measure | MedicationRequest (CA Core+) | MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.unit | |
| MedicationStatement (CA Core+ | MedicationStatement.dosage.doseAndRate.doseQuantity.unit | ||
| Medication Route of Administration | MedicationRequest (CA Core+) | MedicationRequest.dosageInstruction.route | |
| MedicationStatement (CA Core+ | MedicationStatement.dosage.route | ||
| Medication Timing | MedicationRequest (CA Core+) | MedicationRequest.dosageInstruction.timing | |
| MedicationStatement (CA Core+ | MedicationStatement.dosage.timing | ||
| Medication End Date and Time | MedicationStatement (CA Core+ | MedicationStatement.effectivePeriod.end | |
| Medication Reason | MedicationRequest (CA Core+) | MedicationRequest.reasonCode | |
| MedicationRequest (CA Core+) | MedicationRequest.reasonReference | ||
| MedicationStatement (CA Core+ | MedicationStatement.reasonCode | ||
| MedicationStatement (CA Core+ | MedicationStatement.reasonReference | ||
| Drug Code System URI | Medication (CA Core+) | Medication.code.coding.system | |
| MedicationRequest (CA Core+) | MedicationRequest.medicationCodeableConcept.coding.system | ||
| MedicationStatement (CA Core+ | MedicationStatement.medicationCodeableConcept.coding.system | ||
| Drug English Description | Medication (CA Core+) | Medication.code.coding.display | |
| MedicationRequest (CA Core+) | MedicationRequest.medicationCodeableConcept.coding.display | ||
| MedicationStatement (CA Core+ | MedicationStatement.medicationCodeableConcept.coding.display | ||
| Drug French Description | Medication (CA Core+) | Medication.code.coding.display | |
| MedicationRequest (CA Core+) | MedicationRequest.medicationCodeableConcept.coding.display | ||
| MedicationStatement (CA Core+ | MedicationStatement.medicationCodeableConcept.coding.display | ||
| Medication Entered Description | Concept is not explicitly distinct in FHIR; could use MedicationCodeableConcept.text w/ annotation to distinguish it from terminology-sourced display text; further discussion required | ||
| Medication Event Type | Medication Event Type is implicit based on the FHIR resource chosen (MedicationRequest vs MedicationStatement), and does not have an explicit FHIR data element mapping | ||
| Health Concern | Health Concern(s) | Condition (CA Core+) | Condition.code |
| Health Concern Date of Diagnosis | Condition (CA Core+) | Condition.recordedDate | |
| Health Concern Clinical Status | Condition (CA Core+) | Condition.clinicalStatus | |
| Procedures | Procedure Performed | Procedure (CA Core+) | Procedure.code |
| Procedure Date and Time | Procedure (CA Core+) | Procedure.performedDateTime | |
| Procedure Body Site | Procedure (CA Core+) | Procedure.bodySite | |
| Procedure Reason | Procedure (CA Core+) | Procedure.reasonCode | |
| Procedure Reason | Procedure (CA Core+) | Procedure.reasonReference | |
| Procedure Code | Procedure (CA Core+) | Procedure.code | |
| Health Care Service Event Type | Health Care Service Event Type is implicit based on the FHIR resource chosen (Procedure vs Immunization), and does not have an explicit FHIR data element mapping. | ||
| Event Start Date and Time | Procedure (CA Core+) | Procedure.performedPeriod.start | |
| Event End Date and Time | Procedure (CA Core+) | Procedure.performedPeriod.end | |
| Reported Clinical Information Date Time | Procedure (CA Core+) | Procedure.performed[x] | |
| Reported Clinical Information Source (Recommended) | Procedure (CA Core+) | Procedure.asserter | |
| Vital Signs | Date and Time of Observation | Observation (CA Core+) | Any Observation Profile | Observation.effectiveDateTime |
| Unit of Measure | Observation (CA Core+) | Any Observation Profile | Observation.valueQuantity.unit | |
| Body Weight | Observation Body Weight Profile (base FHIR) | Observation.valueQuantity.value | |
| Body Height | Observation Body Height Profile (base FHIR) | Observation.valueQuantity.value | |
| Body Mass Index (BMI) | Observation Body Mass Index Profile (base FHIR) | Observation.valueQuantity.value | |
| Body Temperature | Observation Body Temperature Profile (base FHIR) | Observation.valueQuantity.value | |
| Blood Pressure | Observation Blood Pressure Profile (base FHIR) | Observation.valueQuantity.value | |
| Heart Rate | Observation Heart Rate Profile (base FHIR) | Observation.valueQuantity.value | |
| Heart Rhythm | Heart Rhythm Observations currently do not exist in UV or known national cores or other IGs. A future release will develop and test approaches to addressing this concept, likely a new CA Core+ profile derived from Observation - Vital Signs (UV), with an appropriate LOINC code. | ||
| Respiratory Rate | Observation Respiratory Rate Profile (base FHIR) | Observation.valueQuantity.value | |
| Weight for Length Percentile | Weight-for-Length Percentile exists as an Observation Profile in USCore (derived from Observation - Vital Signs UV profile). Will investigate whether Observation - Weight-for-Length Percentile Profile will be added to base FHIR, or if CA Core+ should similarly create. | ||
| Head Circumference | Observation Head Circumference Profile (base FHIR) | Observation.valueQuantity.value | |
| Systolic Blood Pressure | Observation Blood Pressure Profile (base FHIR) | Observation.valueQuantity.value | |
| Diastolic Blood Pressure | Observation Blood Pressure Profile (base FHIR) | Observation.valueQuantity.value | |
| Mean Arterial Pressure | Mean Arterial Pressure Observations currently do not exist in UV or known national cores or other IGs. A future release will develop and test approaches to addressing this concept, likely a new CA Core+ profile derived from Observation - Vital Signs (UV), with an appropriate LOINC code. | ||
| Blood Pressure Unit of Measure | Observation Blood Pressure Profile (base FHIR) | Observation.valueQuantity.unit | |
| Body Temperature Unit of Measure | Observation Body Temperature Profile (base FHIR) | Observation.valueQuantity.unit | |
| Height Unit of Measure | Observation Body Height Profile (base FHIR) | Observation.valueQuantity.unit | |
| Weight Unit of Measure | Observation Body Weight Profile (base FHIR) | Observation.valueQuantity.unit | |
| Substance Use | Tobacco Use Status | Observation-TobaccoUse (CA Core+) | Observation-TobaccoUse.valueCodeableConcept |
| Alcohol Use Status | This concept does not exist yet in CA Core+. Observation-AlcoholUse(CA Core+) tracks Drinks per Day, not Alcohol Use Status. A future release will develop and test approaches to addressing this concept. | ||
| Other Substance Use Status | This concept does not exist yet in CA Core+. A future release will develop and test approaches to addressing this concept. | ||
| Health Care Provider Information | Health Care Provider Identifier Information | Practitioner (CA Core+) | Practitioner.identifier |
| Health Care Provider Name Information | Practitioner (CA Core+) | Practitioner.name | |
| Health Care Provider Address | Practitioner (CA Core+) | Practitioner.address | |
| Health Care Provider Telecom Information | Practitioner (CA Core+) | Practitioner.telecom | |
| Health Care Provider Role | PractitionerRole (CA Core+) | PractitionerRole.code | |
| Name Type | Practitioner (CA Core+) | Practitioner.name.use | |
| Health Care Provider Organization Affiliation Employee Identifier | PractitionerRole (CA Core+) | PractitionerRole.identifier.value | |
| Health Care Provider Organization Affiliation Effective Date | PractitionerRole (CA Core+) | PractitionerRole.identifier.period.start | |
| Health Care Provider Organization Affiliation Expiry Date | PractitionerRole (CA Core+) | PractitionerRole.identifier.period.end | |
| Health Care Provider Licence Number | Practitioner (CA Core+) | Practitioner.identifier.value | |
| Health Care Provider Licence Effective Date | Practitioner (CA Core+) | Practitioner.identifier.period.start | |
| Health Care Provider Licence Expiry Date | Practitioner (CA Core+) | Practitioner.identifier.period.end | |
| Party Non-Health Identifier | Practitioner (CA Core+) | Practitioner.identifier.value | |
| Party Non-Health Identifier Type | Practitioner (CA Core+) | Practitioner.identifier.type | |
| Party Non-Health Identifier System | Practitioner (CA Core+) | Practitioner.identifier.system | |
| Party Non-Health Identifier Effective Date | Practitioner (CA Core+) | Practitioner.identifier.period.start | |
| Party Non-Health Identifier Expiry Date | Practitioner (CA Core+) | Practitioner.identifier.period.end | |
| Party Role Location Effective Date | Party Role Location Effective Date is slightly semantically misaligned when mapped to either PractitionerRole.period or Practitioner.address.period. A future release will develop and test approaches to addressing this concept. | ||
| Party Role Location Expiry Date | Party Role Location Expiry Date is slightly semantically misaligned when mapped to either PractitionerRole.period or Practitioner.address.period. A future release will develop and test approaches to addressing this concept. | ||
| Address Type Code | Practitioner (CA Core+) | Practitioner.address.type | |
| Location (CA Core+) | Location.address.type | ||
| Street Number | Practitioner (CA Core+) | Practitioner.address.line | |
| Location (CA Core+) | Location.address.line | ||
| Street Number Suffix | Practitioner (CA Core+) | Practitioner.address.line | |
| Location (CA Core+) | Location.address.line | ||
| Street Name | Practitioner (CA Core+) | Practitioner.address.line | |
| Location (CA Core+) | Location.address.line | ||
| Street Type Code | Practitioner (CA Core+) | Practitioner.address.line | |
| Location (CA Core+) | Location.address.line | ||
| Street Direction Code | Practitioner (CA Core+) | Practitioner.address.line | |
| Location (CA Core+) | Location.address.line | ||
| Suite Type Code | Practitioner (CA Core+) | Practitioner.address.line | |
| Location (CA Core+) | Location.address.line | ||
| Suite Number | Practitioner (CA Core+) | Practitioner.address.line | |
| Location (CA Core+) | Location.address.line | ||
| Address 2 | Practitioner (CA Core+) | Practitioner.address.line | |
| Location (CA Core+) | Location.address.line | ||
| Address Additional Information Text | Practitioner (CA Core+) | Practitioner.address.line | |
| Location (CA Core+) | Location.address.line | ||
| Non-Canadian Postal Code Value | Practitioner (CA Core+) | Practitioner.address.postalCode | |
| Location (CA Core+) | Location.address.postalCode | ||
| Canadian Postal Code Value | Practitioner (CA Core+) | Practitioner.address.postalCode | |
| Location (CA Core+) | Location.address.postalCode | ||
| Province or Territory Code | Practitioner (CA Core+) | Practitioner.address.state | |
| Location (CA Core+) | Location.address.state | ||
| Province or Territory English Name | Practitioner (CA Core+) | Practitioner.address.state | |
| Location (CA Core+) | Location.address.state | ||
| Province or Territory French Name | Practitioner (CA Core+) | Practitioner.address.state | |
| Location (CA Core+) | Location.address.state | ||
| Country Code | Practitioner (CA Core+) | Practitioner.address.country | |
| Location (CA Core+) | Location.address.country | ||
| Country English Name | Practitioner (CA Core+) | Practitioner.address.country | |
| Location (CA Core+) | Location.address.country | ||
| Country French Name | Practitioner (CA Core+) | Practitioner.address.country | |
| Location (CA Core+) | Location.address.country | ||
| Contact Mechanism Type Code | Practitioner (CA Core+) | Practitioner.telecom.use | |
| PractitionerRole (CA Core+) | PractitionerRole.telecom.use | ||
| Contact Mechanism Value | Practitioner (CA Core+) | Practitioner.telecom.value | |
| PractitionerRole (CA Core+) | PractitionerRole.telecom.vale | ||
| Contact Mechanism Rank | Practitioner (CA Core+) | Practitioner.telecom.rank | |
| PractitionerRole (CA Core+) | PractitionerRole.telecom.rank | ||
| Contact Mechanism Effective Date | Practitioner (CA Core+) | Practitioner.telecom.period.start | |
| PractitionerRole (CA Core+) | PractitionerRole.telecom.period.start | ||
| Contact Mechanism Expiry Date | Practitioner (CA Core+) | Practitioner.telecom.period.end | |
| PractitionerRole (CA Core+) | PractitionerRole.telecom.period.end | ||
| Health Care Provider Affiliation Contact Mechanism Purpose Code | PractitionerRole (CA Core+) | PractitionerRole.telecom.use | |
| Health Care Provider-as-Affiliate Type Effective Date (Recommended) | PractitionerRole (CA Core+) | PractitionerRole.period.start | |
| Health Care Provider-as-Affiliate Type Expiry Date (Recommended) | PractitionerRole (CA Core+) | PractitionerRole.period.end | |
| Health Care Provider Type Code | PractitionerRole (CA Core+) | PractitionerRole.code | |
| Organization | Organization Identifier | Organization (CA Core+) | Organization.identifer |
| Organization Name | Organization (CA Core+) | Organization.name | |
| Organization Name Type | The Organization Name Type extension defined in the US National Directory of Health FHIR IG provides a template for this concept. A future release will develop and test approaches to addressing this concept. | ||
| Organization English Name | Organization (CA Core+) | Organization.alias | |
| Organization French Name | Organization (CA Core+) | Organization.alias | |
| Organization Bilingual Name | Organization (CA Core+) | Organization.alias | |
| Organization Name Effective Date (Recommended) | The Organization Name Effective Date extension defined in the US National Directory of Health FHIR IG provides a template for this concept. A future release will develop and test approaches to addressing this concept. | ||
| Organization Name Expiry Date (Recommended) | The Organization Name Expiry Date extension defined in the US National Directory of Health FHIR IG provides a template for this concept. A future release will develop and test approaches to addressing this concept. | ||
The mapping table is available download via Infoscribe here: https://infoscribe.infoway-inforoute.ca/download/attachments/351633466/Mapping%20Table%20-%20CACDI%20v2%20to%20CA%20Core%2B%201.2.0%20dft-ballot.xlsx?api=v2
The mapping logic will evolve alongside:
To submit feedback or suggest additions, please visit Specification Feedback.