<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="patient-ca-core" />
  <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
    <extension url="code">
      <valueCode value="SHALL:able-to-populate" />
    </extension>
    <extension url="elementId">
      <valueString value="text" />
    </extension>
    <extension url="elementId">
      <valueString value="identifier" />
    </extension>
    <extension url="elementId">
      <valueString value="identifier:MRN" />
    </extension>
    <extension url="elementId">
      <valueString value="name" />
    </extension>
    <extension url="elementId">
      <valueString value="name.text" />
    </extension>
    <extension url="elementId">
      <valueString value="name.family" />
    </extension>
    <extension url="elementId">
      <valueString value="name.given" />
    </extension>
    <extension url="elementId">
      <valueString value="name:previous" />
    </extension>
    <extension url="elementId">
      <valueString value="telecom" />
    </extension>
    <extension url="elementId">
      <valueString value="telecom:Phone" />
    </extension>
    <extension url="elementId">
      <valueString value="telecom:Email" />
    </extension>
    <extension url="elementId">
      <valueString value="birthDate" />
    </extension>
    <extension url="elementId">
      <valueString value="deceasedDateTime" />
    </extension>
    <extension url="elementId">
      <valueString value="address" />
    </extension>
    <extension url="elementId">
      <valueString value="address:Home" />
    </extension>
    <extension url="elementId">
      <valueString value="contact:Emergency" />
    </extension>
    <extension url="elementId">
      <valueString value="generalPractitioner" />
    </extension>
    <extension url="actor">
      <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/server" />
    </extension>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
    <extension url="code">
      <valueCode value="SHALL:no-error" />
    </extension>
    <extension url="elementId">
      <valueString value="text" />
    </extension>
    <extension url="elementId">
      <valueString value="identifier" />
    </extension>
    <extension url="elementId">
      <valueString value="identifier:MRN" />
    </extension>
    <extension url="elementId">
      <valueString value="name" />
    </extension>
    <extension url="elementId">
      <valueString value="name.text" />
    </extension>
    <extension url="elementId">
      <valueString value="name.family" />
    </extension>
    <extension url="elementId">
      <valueString value="name.given" />
    </extension>
    <extension url="elementId">
      <valueString value="name:previous" />
    </extension>
    <extension url="elementId">
      <valueString value="telecom" />
    </extension>
    <extension url="elementId">
      <valueString value="telecom:Phone" />
    </extension>
    <extension url="elementId">
      <valueString value="telecom:Email" />
    </extension>
    <extension url="elementId">
      <valueString value="birthDate" />
    </extension>
    <extension url="elementId">
      <valueString value="deceasedDateTime" />
    </extension>
    <extension url="elementId">
      <valueString value="address" />
    </extension>
    <extension url="elementId">
      <valueString value="address:Home" />
    </extension>
    <extension url="elementId">
      <valueString value="contact:Emergency" />
    </extension>
    <extension url="elementId">
      <valueString value="generalPractitioner" />
    </extension>
    <extension url="actor">
      <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/client" />
    </extension>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile">
    <valueCanonical value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient" />
  </extension>
  <url value="http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/patient-ca-core" />
  <name value="PatientCACore" />
  <title value="Patient (CA-Core)" />
  <status value="draft" />
  <experimental value="false" />
  <description value="This profile represents the constraints applied to the Patient resource by the CA Core+ project to represent the minimum expectations for the Patient resource when used to promote capacity building for functionality found across Canadian FHIR implementations. It is informed by the constraints of shared across CIHI pCHDCF data sets and has also undergone analysis to assert alignment with the [Canadian Baseline Patient Profile v1.1.0](http://build.fhir.org/ig/HL7-Canada/ca-baseline/branches/master/StructureDefinition-profile-patient.html)" />
  <copyright value="Copyright © 2024 Canada Health Infoway. All rights reserved. [Terms of Use and License Agreements](https://ic.infoway-inforoute.ca/en/about/tou). [Privacy Policy](https://www.infoway-inforoute.ca/en/legal/privacy-policy)." />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="pCHDCF" />
    <name value="Pan-Canadian Health Data Content Framework" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Patient" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient.text">
      <path value="Patient.text" />
    </element>
    <element id="Patient.extension:individual-pronouns">
      <path value="Patient.extension" />
      <sliceName value="individual-pronouns" />
      <short value="Extension for representing the pronouns to use when referring to an individual in verbal or written communication." />
      <definition value="The pronouns to use when referring to an individual in verbal or written communication." />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/individual-pronouns" />
      </type>
      <mapping>
        <identity value="pCHDCF" />
        <map value="Pronouns" />
      </mapping>
    </element>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="type" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.identifier.type">
      <path value="Patient.identifier.type" />
      <comment value="The slices provided below are examples of identifier types used by jurisdictions. These are not required, and the slicing is open meaning that other types can be provided and used in an implementation." />
    </element>
    <element id="Patient.identifier.system">
      <path value="Patient.identifier.system" />
      <min value="1" />
    </element>
    <element id="Patient.identifier.value">
      <path value="Patient.identifier.value" />
      <min value="1" />
    </element>
    <element id="Patient.identifier:NH">
      <path value="Patient.identifier" />
      <sliceName value="NH" />
      <short value="National Unique Health Identifier Placeholder" />
      <definition value="A national unique health identification number (to be developed)." />
      <mapping>
        <identity value="pCHDCF" />
        <map value="National Unique Health Identifier" />
      </mapping>
    </element>
    <element id="Patient.identifier:NH.type.coding.code">
      <path value="Patient.identifier.type.coding.code" />
      <fixedCode value="NH" />
    </element>
    <element id="Patient.identifier:JHN">
      <path value="Patient.identifier" />
      <sliceName value="JHN" />
      <short value="Jurisdictional Health Number" />
      <definition value="Federal patient and person health numbers used by all jurisdictions across Canada" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Jurisdictional Health Care Number" />
      </mapping>
    </element>
    <element id="Patient.identifier:JHN.type">
      <path value="Patient.identifier.type" />
      <min value="1" />
      <fixedCodeableConcept>
        <coding>
          <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
          <code value="JHN" />
        </coding>
      </fixedCodeableConcept>
    </element>
    <element id="Patient.identifier:MRN">
      <path value="Patient.identifier" />
      <sliceName value="MRN" />
      <short value="Medical Record Number" />
      <definition value="A local patient identifier from the submitting PoS System" />
      <comment value="Some jurisdictions may consider the MRN identifier type to be an alternative to the JHN identifier type under certain scenarios. These business rules are outside the scope of this profile, however the slice is socialized to prepare implementers for potential use of this pattern within certain jurisdictions" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Medical Record Number" />
      </mapping>
    </element>
    <element id="Patient.identifier:MRN.type">
      <path value="Patient.identifier.type" />
      <min value="1" />
      <fixedCodeableConcept>
        <coding>
          <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
          <code value="MR" />
        </coding>
      </fixedCodeableConcept>
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="use" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <constraint>
        <key value="cacore-pat-1" />
        <severity value="warning" />
        <human value="Patient.name.given and Patient.name.family or Patient.name.text SHOULD be present" />
        <expression value="family.exists() and given.exists() or text.exists()" />
        <xpath value="f:given and f:family or f:text" />
      </constraint>
    </element>
    <element id="Patient.name.extension:effectivePeriod">
      <path value="Patient.name.extension" />
      <sliceName value="effectivePeriod" />
      <short value="Extension for representing the period during which the resource content was or is planned to be effective." />
      <definition value="The period during which the resource content was or is planned to be effective." />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/resource-effectivePeriod" />
      </type>
    </element>
    <element id="Patient.name.text">
      <path value="Patient.name.text" />
      <definition value="Text representation of the full name. Due to the cultural variance around the world a consuming system may not know how to present the name correctly; moreover not all the parts of the name go in given or family. Creators are therefore strongly encouraged to provide through this element a presented version of the name. Future versions of this guide may require this element" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Name*" />
        <comment value="*May be used to convey multiple pCHDCF name attributes (e.g., first name, last name) in a single string" />
      </mapping>
    </element>
    <element id="Patient.name.family">
      <path value="Patient.name.family" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Last Name" />
      </mapping>
    </element>
    <element id="Patient.name.given">
      <path value="Patient.name.given" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="First Name" />
      </mapping>
      <mapping>
        <identity value="pCHDCF" />
        <map value="Middle Name" />
      </mapping>
    </element>
    <element id="Patient.name:previous">
      <path value="Patient.name" />
      <sliceName value="previous" />
    </element>
    <element id="Patient.name:previous.use">
      <path value="Patient.name.use" />
      <fixedCode value="old" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Previous First Name" />
      </mapping>
      <mapping>
        <identity value="pCHDCF" />
        <map value="Previous Last Name" />
      </mapping>
    </element>
    <element id="Patient.telecom">
      <path value="Patient.telecom" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.telecom.extension:preferred">
      <path value="Patient.telecom.extension" />
      <sliceName value="preferred" />
      <short value="Flag for denoting whether parent item is preferred - e.g., a preferred address or telephone number." />
      <definition value="Extension for denoting whether parent item is preferred - e.g., a preferred address or telephone number." />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/iso21090-preferred" />
      </type>
    </element>
    <element id="Patient.telecom:Phone">
      <path value="Patient.telecom" />
      <sliceName value="Phone" />
    </element>
    <element id="Patient.telecom:Phone.system">
      <path value="Patient.telecom.system" />
      <fixedCode value="phone" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Primary Phone Number" />
        <comment value="The preferred extension is used to differentiate between the primary phone number and any alternate phone numbers" />
      </mapping>
      <mapping>
        <identity value="pCHDCF" />
        <map value="Alternate Phone Number" />
      </mapping>
    </element>
    <element id="Patient.telecom:Email">
      <path value="Patient.telecom" />
      <sliceName value="Email" />
    </element>
    <element id="Patient.telecom:Email.system">
      <path value="Patient.telecom.system" />
      <fixedCode value="email" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Email address" />
      </mapping>
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Birth Date" />
      </mapping>
    </element>
    <element id="Patient.deceased[x]">
      <path value="Patient.deceased[x]" />
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="boolean" />
      </type>
      <mapping>
        <identity value="pCHDCF" />
        <map value="Deceased Date" />
      </mapping>
    </element>
    <element id="Patient.address">
      <path value="Patient.address" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="use" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.address:Home">
      <path value="Patient.address" />
      <sliceName value="Home" />
      <comment value="This slice is included to ensure at least one address corresponds to a Home Address" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Home*" />
        <comment value="*Used to convey that the address is a Home address which is indicated in the pCHDCF artefacts" />
      </mapping>
    </element>
    <element id="Patient.address:Home.use">
      <path value="Patient.address.use" />
      <fixedCode value="home" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Home*" />
        <comment value="*Used to convey that the address is a Home address which is indicated in the pCHDCF artefacts" />
      </mapping>
    </element>
    <element id="Patient.address:Home.text">
      <path value="Patient.address.text" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Home Address*" />
        <comment value="*May be used to convey multiple pCHDCF address attributes (e.g., line, city, postal code) in a single string" />
      </mapping>
    </element>
    <element id="Patient.address:Home.line">
      <path value="Patient.address.line" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Home Address Street" />
      </mapping>
    </element>
    <element id="Patient.address:Home.city">
      <path value="Patient.address.city" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Home Address City" />
      </mapping>
    </element>
    <element id="Patient.address:Home.state">
      <path value="Patient.address.state" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Home Address Province" />
      </mapping>
    </element>
    <element id="Patient.address:Home.postalCode">
      <path value="Patient.address.postalCode" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Home Address Postal Code" />
      </mapping>
    </element>
    <element id="Patient.address:Home.country">
      <path value="Patient.address.country" />
      <comment value="This element is included for socialization purposes" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Home Address Country" />
      </mapping>
    </element>
    <element id="Patient.contact">
      <path value="Patient.contact" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="relationship" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.contact:Emergency">
      <path value="Patient.contact" />
      <sliceName value="Emergency" />
    </element>
    <element id="Patient.contact:Emergency.relationship">
      <path value="Patient.contact.relationship" />
      <comment value="Used to convey that the contact is for Emergency purposes as indicated in the pCHDCF artefacts as well as to convey additional information about the relationship that is relevant to that person's role as an emergency contact (e.g., friend, mother, father). The relatedPerson resource should be used for conveying details on patient's relationships outside the context of Emergency Contact." />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Emergency Contact Relationship" />
      </mapping>
    </element>
    <element id="Patient.contact:Emergency.name">
      <path value="Patient.contact.name" />
      <comment value="This element is included for socialization purposes" />
    </element>
    <element id="Patient.contact:Emergency.name.text">
      <path value="Patient.contact.name.text" />
      <comment value="This element is included for socialization purposes" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Emergency Contact Name*" />
        <comment value="*May be used to convey multiple attributes related to Emergency Contact Name in the pCHDCF artefacts" />
      </mapping>
    </element>
    <element id="Patient.contact:Emergency.name.family">
      <path value="Patient.contact.name.family" />
      <comment value="This element is included for socialization purposes" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Emergency Contact Last Name" />
      </mapping>
    </element>
    <element id="Patient.contact:Emergency.name.given">
      <path value="Patient.contact.name.given" />
      <comment value="This element is included for socialization purposes" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Emergency Contact First Name" />
      </mapping>
    </element>
    <element id="Patient.contact:Emergency.telecom">
      <path value="Patient.contact.telecom" />
      <comment value="This element is included for socialization purposes" />
    </element>
    <element id="Patient.contact:Emergency.telecom.system">
      <path value="Patient.contact.telecom.system" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Contact Type*" />
        <comment value="*Used to convey that the contact method is for telephone or an email which is indicated in the pCHDCF artefacts" />
      </mapping>
    </element>
    <element id="Patient.contact:Emergency.telecom.value">
      <path value="Patient.contact.telecom.value" />
      <mapping>
        <identity value="pCHDCF" />
        <map value="Emergency Contact Phone Number" />
      </mapping>
      <mapping>
        <identity value="pCHDCF" />
        <map value="Emergency Contact Email Address" />
      </mapping>
    </element>
    <element id="Patient.generalPractitioner">
      <path value="Patient.generalPractitioner" />
      <comment value="This element is included for socialization purposes" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/practitioner-ca-core" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/practitionerRole-ca-core" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
      <mapping>
        <identity value="pCHDCF" />
        <map value="*Most Responsible Provider Details" />
        <comment value="*Used to convey additional details about the Most Responsible Provider as indicated in the pCHDCF artefacts" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>