<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://hl7.org/fhir/StructureDefinition/patient-genderIdentity" />
  <name value="GenderIdentity" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="Patient" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="http://hl7.org/fhir/StructureDefinition/patient-genderIdentity" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Extension.value[x].coding.id">
      <path value="Extension.value[x].coding.id" />
      <max value="0" />
    </element>
    <element id="Extension.value[x].coding.system">
      <path value="Extension.value[x].coding.system" />
      <comment value="See Mappings" />
      <mapping>
        <identity value="panorama-code" />
        <map value="https://ehealthbc.ca/API/FHIR/NamingSystem/patient-genderIdentity" />
      </mapping>
    </element>
    <element id="Extension.value[x].coding.code">
      <path value="Extension.value[x].coding.code" />
      <comment value="See Mappings at Extension header" />
      <mapping>
        <identity value="Female" />
        <map value="F" />
      </mapping>
      <mapping>
        <identity value="Male" />
        <map value="M" />
      </mapping>
      <mapping>
        <identity value="3131-1" />
        <map value="NON_BINARY" />
      </mapping>
      <mapping>
        <identity value="Other-Gender" />
        <map value="3131-1" />
      </mapping>
      <mapping>
        <identity value="Transgender" />
        <map value="TRN" />
      </mapping>
      <mapping>
        <identity value="Transgender-Female-To-Male" />
        <map value="TRN_F_M" />
      </mapping>
      <mapping>
        <identity value="Transgender-Male-To-Female" />
        <map value="TRN_M_F" />
      </mapping>
      <mapping>
        <identity value="Two-Spirit" />
        <map value="TWO_SPIRIT" />
      </mapping>
      <mapping>
        <identity value="X" />
        <map value="GENDER_X" />
      </mapping>
      <mapping>
        <identity value="Unsure-Questioning" />
        <map value="UNSURE" />
      </mapping>
    </element>
    <element id="Extension.value[x].coding.display">
      <path value="Extension.value[x].coding.display" />
      <comment value="See Code Mappings, apply ID value as DISPLAY" />
    </element>
    <element id="Extension.value[x].coding.userSelected">
      <path value="Extension.value[x].coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Extension.value[x].text">
      <path value="Extension.value[x].text" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>