<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="49a569c7-2d16-4e5a-8e51-9cdb96b14573" />
  <meta>
    <versionId value="5" />
    <lastUpdated value="2023-08-25T21:18:53.4308479+00:00" />
  </meta>
  <url value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-patient" />
  <version value="1.0" />
  <name value="ca-bc-careconnect-patient" />
  <status value="active" />
  <date value="2021-10-20T20:30:13.0990549+00:00" />
  <fhirVersion value="3.0.2" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Patient" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient">
      <path value="Patient" />
      <short value="Information about an individual receiving health care services" />
      <definition value="Demographics and other administrative information about an individual receiving care or other health-related services.&#xD;&#xA;Patient demographics are based on client records in EMPI, BC client registry; however a subset of patient data from local source systems is included as contained resources with a relationship as &quot;refer&quot; to the main record of Patient." />
    </element>
    <element id="Patient.id">
      <path value="Patient.id" />
      <min value="1" />
    </element>
    <element id="Patient.meta">
      <path value="Patient.meta" />
      <max value="0" />
    </element>
    <element id="Patient.implicitRules">
      <path value="Patient.implicitRules" />
      <max value="0" />
    </element>
    <element id="Patient.language">
      <path value="Patient.language" />
      <max value="0" />
    </element>
    <element id="Patient.text">
      <path value="Patient.text" />
      <max value="0" />
    </element>
    <element id="Patient.extension">
      <path value="Patient.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Patient.extension:calculatedAge">
      <path value="Patient.extension" />
      <sliceName value="calculatedAge" />
      <comment value="CalculatedAge is based on the patient's birthDate and deceasedDateTime if available otherwise the current system datetime." />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-calculated-age-extension" />
      </type>
    </element>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <comment value="Identifiers could be the patient's BC PHNs or local MRNs as stored in EMPI.&#xD;&#xA;Previously used identifiers are marked with the isHistorical extension." />
    </element>
    <element id="Patient.identifier.extension">
      <path value="Patient.identifier.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Patient.identifier.extension:isHistorical">
      <path value="Patient.identifier.extension" />
      <sliceName value="isHistorical" />
      <definition value="Optional Extension Element - found in all resources.&#xD;&#xA;This boolean flag indicates the data is not current but provided for reference only." />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-is-historical-indicator-extension" />
      </type>
    </element>
    <element id="Patient.identifier.use">
      <path value="Patient.identifier.use" />
      <definition value="The purpose of this identifier.&#xD;&#xA;Only the patient's current active BC PHN is marked as &quot;official&quot;; others are marked as &quot;usual&quot;." />
    </element>
    <element id="Patient.identifier.type.id">
      <path value="Patient.identifier.type.id" />
      <max value="0" />
    </element>
    <element id="Patient.identifier.type.coding.id">
      <path value="Patient.identifier.type.coding.id" />
      <max value="0" />
    </element>
    <element id="Patient.identifier.type.coding.version">
      <path value="Patient.identifier.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Patient.identifier.type.coding.code">
      <path value="Patient.identifier.type.coding.code" />
      <fixedCode value="MR" />
    </element>
    <element id="Patient.identifier.type.coding.display">
      <path value="Patient.identifier.type.coding.display" />
      <fixedString value="Medical record number" />
    </element>
    <element id="Patient.identifier.type.coding.userSelected">
      <path value="Patient.identifier.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Patient.identifier.type.text">
      <path value="Patient.identifier.type.text" />
      <max value="0" />
    </element>
    <element id="Patient.identifier.period">
      <path value="Patient.identifier.period" />
      <max value="0" />
    </element>
    <element id="Patient.identifier.assigner">
      <path value="Patient.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Patient.identifier.assigner.id">
      <path value="Patient.identifier.assigner.id" />
      <max value="0" />
    </element>
    <element id="Patient.identifier.assigner.reference">
      <path value="Patient.identifier.assigner.reference" />
      <max value="0" />
    </element>
    <element id="Patient.identifier.assigner.identifier">
      <path value="Patient.identifier.assigner.identifier" />
      <max value="0" />
    </element>
    <element id="Patient.active">
      <path value="Patient.active" />
      <max value="0" />
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <comment value="A patient may have multiple names with different uses or applicable periods. &#xD;&#xA;Previously used names are marked with the isHistorical extension." />
    </element>
    <element id="Patient.name.extension">
      <path value="Patient.name.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Patient.name.extension:isHistorical">
      <path value="Patient.name.extension" />
      <sliceName value="isHistorical" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-is-historical-indicator-extension" />
      </type>
    </element>
    <element id="Patient.name.text">
      <path value="Patient.name.text" />
      <max value="0" />
    </element>
    <element id="Patient.name.given.extension">
      <path value="Patient.name.given.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Patient.name.given.extension:iso21090-EN-qualifier">
      <path value="Patient.name.given.extension" />
      <sliceName value="iso21090-EN-qualifier" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier" />
      </type>
    </element>
    <element id="Patient.name.prefix">
      <path value="Patient.name.prefix" />
      <max value="0" />
    </element>
    <element id="Patient.name.suffix">
      <path value="Patient.name.suffix" />
      <max value="0" />
    </element>
    <element id="Patient.name.period">
      <path value="Patient.name.period" />
      <max value="0" />
    </element>
    <element id="Patient.name.period.id">
      <path value="Patient.name.period.id" />
      <max value="0" />
    </element>
    <element id="Patient.name.period.start">
      <path value="Patient.name.period.start" />
      <max value="0" />
    </element>
    <element id="Patient.telecom">
      <path value="Patient.telecom" />
      <comment value="A Patient may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently and also to help with identification. The address may not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).&#xD;&#xA;Previously used contact information are marked with the isHistorical extension." />
    </element>
    <element id="Patient.telecom.extension">
      <path value="Patient.telecom.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Patient.telecom.extension:sourceSystem">
      <path value="Patient.telecom.extension" />
      <sliceName value="sourceSystem" />
      <short value="Extension on Telecom to catch contact point where no type or system is provided" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/iso21090-TEL-address" />
      </type>
    </element>
    <element id="Patient.telecom.extension:sourceSystem.valueString:valueString">
      <path value="Patient.telecom.extension.valueString" />
      <sliceName value="valueString" />
      <definition value="Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).&#xD;&#xA;This is the telecom type as received from source system without any translation or mappings." />
    </element>
    <element id="Patient.telecom.extension:isHistorical">
      <path value="Patient.telecom.extension" />
      <sliceName value="isHistorical" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-is-historical-indicator-extension" />
      </type>
    </element>
    <element id="Patient.telecom.rank">
      <path value="Patient.telecom.rank" />
      <max value="0" />
    </element>
    <element id="Patient.telecom.period">
      <path value="Patient.telecom.period" />
      <max value="0" />
    </element>
    <element id="Patient.telecom.period.id">
      <path value="Patient.telecom.period.id" />
      <max value="0" />
    </element>
    <element id="Patient.telecom.period.end">
      <path value="Patient.telecom.period.end" />
      <max value="0" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <definition value="Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.&#xD;&#xA;This is the current gender the patient is referred to, as is stored in EMPI." />
    </element>
    <element id="Patient.deceased[x]:deceasedDateTime">
      <path value="Patient.deceasedDateTime" />
      <sliceName value="deceasedDateTime" />
      <short value="Date and time when the individual is deceased" />
      <definition value="The individual's deceased datetime." />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Patient.address">
      <path value="Patient.address" />
      <definition value="Addresses for the individual as stored in EMPI." />
    </element>
    <element id="Patient.address.extension">
      <path value="Patient.address.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Patient.address.extension:isHstorical">
      <path value="Patient.address.extension" />
      <sliceName value="isHstorical" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-is-historical-indicator-extension" />
      </type>
    </element>
    <element id="Patient.address.extension:isVerified">
      <path value="Patient.address.extension" />
      <sliceName value="isVerified" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-is-verified-indicator-extension" />
      </type>
    </element>
    <element id="Patient.address.use">
      <path value="Patient.address.use" />
      <max value="0" />
    </element>
    <element id="Patient.address.text">
      <path value="Patient.address.text" />
      <max value="0" />
    </element>
    <element id="Patient.address.district">
      <path value="Patient.address.district" />
      <max value="0" />
    </element>
    <element id="Patient.address.period">
      <path value="Patient.address.period" />
      <max value="0" />
    </element>
    <element id="Patient.address.period.id">
      <path value="Patient.address.period.id" />
      <max value="0" />
    </element>
    <element id="Patient.address.period.end">
      <path value="Patient.address.period.end" />
      <max value="0" />
    </element>
    <element id="Patient.maritalStatus">
      <path value="Patient.maritalStatus" />
      <max value="0" />
    </element>
    <element id="Patient.multipleBirth[x]:multipleBirthInteger">
      <path value="Patient.multipleBirthInteger" />
      <sliceName value="multipleBirthInteger" />
      <definition value="Indicates the actual birth order (integer)." />
      <type>
        <code value="integer" />
      </type>
    </element>
    <element id="Patient.photo">
      <path value="Patient.photo" />
      <max value="0" />
    </element>
    <element id="Patient.contact.id">
      <path value="Patient.contact.id" />
      <max value="0" />
    </element>
    <element id="Patient.contact.relationship.id">
      <path value="Patient.contact.relationship.id" />
      <max value="0" />
    </element>
    <element id="Patient.contact.relationship.coding.id">
      <path value="Patient.contact.relationship.coding.id" />
      <max value="0" />
    </element>
    <element id="Patient.contact.relationship.coding.version">
      <path value="Patient.contact.relationship.coding.version" />
      <max value="0" />
    </element>
    <element id="Patient.contact.relationship.coding.userSelected">
      <path value="Patient.contact.relationship.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Patient.contact.name.id">
      <path value="Patient.contact.name.id" />
      <max value="0" />
    </element>
    <element id="Patient.contact.name.text">
      <path value="Patient.contact.name.text" />
      <max value="0" />
    </element>
    <element id="Patient.contact.name.prefix">
      <path value="Patient.contact.name.prefix" />
      <max value="0" />
    </element>
    <element id="Patient.contact.name.suffix">
      <path value="Patient.contact.name.suffix" />
      <max value="0" />
    </element>
    <element id="Patient.contact.name.period">
      <path value="Patient.contact.name.period" />
      <max value="0" />
    </element>
    <element id="Patient.contact.telecom.extension">
      <path value="Patient.contact.telecom.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Patient.contact.telecom.extension:sourceType">
      <path value="Patient.contact.telecom.extension" />
      <sliceName value="sourceType" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/iso21090-TEL-address" />
      </type>
    </element>
    <element id="Patient.contact.telecom.use">
      <path value="Patient.contact.telecom.use" />
      <max value="0" />
    </element>
    <element id="Patient.contact.telecom.rank">
      <path value="Patient.contact.telecom.rank" />
      <max value="0" />
    </element>
    <element id="Patient.contact.telecom.period">
      <path value="Patient.contact.telecom.period" />
      <max value="0" />
    </element>
    <element id="Patient.contact.address.id">
      <path value="Patient.contact.address.id" />
      <max value="0" />
    </element>
    <element id="Patient.contact.address.use">
      <path value="Patient.contact.address.use" />
      <max value="0" />
    </element>
    <element id="Patient.contact.address.type">
      <path value="Patient.contact.address.type" />
      <max value="0" />
    </element>
    <element id="Patient.contact.address.text">
      <path value="Patient.contact.address.text" />
      <max value="0" />
    </element>
    <element id="Patient.contact.address.district">
      <path value="Patient.contact.address.district" />
      <max value="0" />
    </element>
    <element id="Patient.contact.address.period">
      <path value="Patient.contact.address.period" />
      <max value="0" />
    </element>
    <element id="Patient.contact.gender">
      <path value="Patient.contact.gender" />
      <max value="0" />
    </element>
    <element id="Patient.contact.organization">
      <path value="Patient.contact.organization" />
      <max value="0" />
    </element>
    <element id="Patient.contact.period.id">
      <path value="Patient.contact.period.id" />
      <max value="0" />
    </element>
    <element id="Patient.contact.period.start">
      <path value="Patient.contact.period.start" />
      <max value="0" />
    </element>
    <element id="Patient.animal">
      <path value="Patient.animal" />
      <max value="0" />
    </element>
    <element id="Patient.communication.id">
      <path value="Patient.communication.id" />
      <max value="0" />
    </element>
    <element id="Patient.communication.language.extension">
      <path value="Patient.communication.language.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Patient.communication.language.extension:lastReceivedDate">
      <path value="Patient.communication.language.extension" />
      <sliceName value="lastReceivedDate" />
      <comment value="Date element value was last received from source system." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-last-modified-date-extension" />
      </type>
    </element>
    <element id="Patient.communication.language.coding">
      <path value="Patient.communication.language.coding" />
      <max value="0" />
    </element>
    <element id="Patient.communication.language.coding.id">
      <path value="Patient.communication.language.coding.id" />
      <max value="0" />
    </element>
    <element id="Patient.communication.language.coding.version">
      <path value="Patient.communication.language.coding.version" />
      <max value="0" />
    </element>
    <element id="Patient.communication.language.coding.userSelected">
      <path value="Patient.communication.language.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Patient.communication.language.text">
      <path value="Patient.communication.language.text" />
      <min value="1" />
    </element>
    <element id="Patient.communication.preferred">
      <path value="Patient.communication.preferred" />
      <max value="0" />
    </element>
    <element id="Patient.generalPractitioner">
      <path value="Patient.generalPractitioner" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Patient.managingOrganization">
      <path value="Patient.managingOrganization" />
      <max value="0" />
    </element>
    <element id="Patient.link">
      <path value="Patient.link" />
      <comment value="The link.type is defined as &quot;refer&quot; which means this patient should be treated as a reference or &quot;refer&quot; to for additional details.&#xD;&#xA;While the main Patient resource is based on patient data set in EMPI, the linked patient is based on the locally stored patient from various source systems that provide CareConect the ADT encounters and CDA documents. &#xD;&#xA;&#xD;&#xA;The referring patient must match the main patient by &#xD;&#xA;a) BC PHN or local MRN if source system is not integrated with EMPI, and &#xD;&#xA;b) first five alpha characters in the last name, and &#xD;&#xA;c) the birth year and month (YYYYMM)." />
      <requirements value="Distribution of patient information across multiple servers." />
    </element>
    <element id="Patient.link.id">
      <path value="Patient.link.id" />
      <max value="0" />
    </element>
    <element id="Patient.link.other">
      <path value="Patient.link.other" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Patient.link.other.id">
      <path value="Patient.link.other.id" />
      <max value="0" />
    </element>
    <element id="Patient.link.other.reference.id">
      <path value="Patient.link.other.reference.id" />
      <max value="0" />
    </element>
    <element id="Patient.link.other.identifier">
      <path value="Patient.link.other.identifier" />
      <max value="0" />
    </element>
    <element id="Patient.link.other.display">
      <path value="Patient.link.other.display" />
      <max value="0" />
    </element>
    <element id="Patient.link.type">
      <path value="Patient.link.type" />
      <fixedCode value="refer" />
    </element>
  </differential>
</StructureDefinition>