<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://example.org/fhir/StructureDefinition/SpireCore-Patient" />
  <name value="SpireCorePatient" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient">
      <path value="Patient" />
      <comment value="- Review extension descriptions with the business.&#xD;&#xA;- Decide on a datatype for deceased/multipleBirth if required." />
    </element>
    <element id="Patient.extension">
      <path value="Patient.extension" />
      <min value="1" />
    </element>
    <element id="Patient.extension:patientJourneyStage">
      <path value="Patient.extension" />
      <sliceName value="patientJourneyStage" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://example.org/fhir/StructureDefinition/Extension-SpireCore-PatientJourneyStage" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Patient.extension:patientJourneyStage.value[x]">
      <path value="Patient.extension.value[x]" />
      <binding>
        <strength value="required" />
        <valueSet value="https://example.org/fhir/ValueSet/SpireCore-PatientJourneyStage" />
      </binding>
    </element>
    <element id="Patient.extension:registeredWithSpireDate">
      <path value="Patient.extension" />
      <sliceName value="registeredWithSpireDate" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://example.org/fhir/StructureDefinition/Extension-SpireCore-RegisteredWithSpireDate" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Patient.extension:registeredWithSpireDate.value[x]">
      <path value="Patient.extension.value[x]" />
      <min value="1" />
    </element>
    <element id="Patient.extension:isVIP">
      <path value="Patient.extension" />
      <sliceName value="isVIP" />
      <type>
        <code value="Extension" />
        <profile value="https://example.org/fhir/StructureDefinition/Extension-SpireCore-IsVIP" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Patient.extension:riskIndicator">
      <path value="Patient.extension" />
      <sliceName value="riskIndicator" />
      <type>
        <code value="Extension" />
        <profile value="https://example.org/fhir/StructureDefinition/Extension-SpireCore-RiskIndicator" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Patient.name.given">
      <path value="Patient.name.given" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Patient.telecom.extension:dataAbsentReason">
      <path value="Patient.telecom.extension" />
      <sliceName value="dataAbsentReason" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/data-absent-reason" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Patient.telecom.extension:dataAbsentReason.value[x]">
      <path value="Patient.telecom.extension.value[x]" />
      <short value="Reason for Absent Data" />
    </element>
    <element id="Patient.contact.extension">
      <path value="Patient.contact.extension" />
      <min value="1" />
    </element>
    <element id="Patient.contact.extension:contactAllowed">
      <path value="Patient.contact.extension" />
      <sliceName value="contactAllowed" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://example.org/fhir/StructureDefinition/Extension-SpireCore-ContactAllowed" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Patient.contact.extension:noEmailReason">
      <path value="Patient.contact.extension" />
      <sliceName value="noEmailReason" />
      <type>
        <code value="Extension" />
        <profile value="https://example.org/fhir/StructureDefinition/Extension-SpireCore-NoEmailReason" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Patient.generalPractitioner">
      <path value="Patient.generalPractitioner" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://example.org/fhir/StructureDefinition/SpireCore-Organization" />
        <targetProfile value="https://example.org/fhir/StructureDefinition/SpireCore-Practitioner" />
        <targetProfile value="https://example.org/fhir/StructureDefinition/SpireCore-PractitionerRole" />
      </type>
    </element>
    <element id="Patient.managingOrganization">
      <path value="Patient.managingOrganization" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://example.org/fhir/StructureDefinition/SpireCore-Organization" />
      </type>
    </element>
    <element id="Patient.link.other">
      <path value="Patient.link.other" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://example.org/fhir/StructureDefinition/SpireCore-RelatedPerson" />
        <targetProfile value="https://example.org/fhir/StructureDefinition/SpireCore-Organization" />
      </type>
    </element>
  </differential>
</StructureDefinition>