<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ext-patientbirthsex" />
  <url value="http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-patientbirthsex" />
  <version value="0.1.0" />
  <name value="ExtensionBirthSex" />
  <title value="Extension: Birth Sex" />
  <status value="draft" />
  <date value="2019-12-10" />
  <publisher value="HL7 Canada" />
  <description value="A code classifying the person's sex assigned at birth. Replicates the birthsex extension in US-Core-R4 for interoperability." />
  <kind value="complex-type" />
  <abstract value="false" />
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <definition value="A code classifying the person's sex assigned at birth. Replicates the birthsex extension in US-Core-R4 for interoperability." />
      <comment value="The codes required are intended to present birth sex (i.e., the sex recorded on the patient’s birth certificate) and not gender identity or reassigned sex." />
      <max value="1" />
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender" />
      </mapping>
      <mapping>
        <identity value="iso11179" />
        <map value=".patient.administrativeGenderCode" />
      </mapping>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-patientbirthsex" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <type>
        <code value="Coding" />
      </type>
    </element>
    <element id="Extension.value[x]:valueCoding">
      <path value="Extension.value[x]" />
      <sliceName value="valueCoding" />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="example" />
        <description value="Code for sex assigned at birth" />
      </binding>
    </element>
    <element id="Extension.value[x]:valueCoding.system">
      <path value="Extension.value[x].system" />
      <min value="1" />
    </element>
    <element id="Extension.value[x]:valueCoding.code">
      <path value="Extension.value[x].code" />
      <min value="1" />
    </element>
    <element id="Extension.value[x]:valueCoding.display">
      <path value="Extension.value[x].display" />
      <short value="Optional description of the sex at birth code" />
      <definition value="Plain text representation of the sex at birth concept" />
    </element>
  </differential>
</StructureDefinition>