<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="cde-sex-assigned-at-birth" />
  <url value="http://somewhere.org/fhir/uv/myig/StructureDefinition/cde-sex-assigned-at-birth" />
  <version value="0.2.0" />
  <name value="CDE_SexAssignedAtBirth" />
  <title value="CDE Sex Assigned At Birth" />
  <status value="active" />
  <date value="2023-03-09T12:00:30.596245+00:00" />
  <description value="Dieses CDE enthält das 'bei Geburt zugewiesene Geschlecht'." />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="sct-concept" />
    <uri value="http://snomed.info/conceptdomain" />
    <name value="SNOMED CT Concept Domain Binding" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="sct-attr" />
    <uri value="http://snomed.org/attributebinding" />
    <name value="SNOMED CT Attribute Binding" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://somewhere.org/fhir/uv/myig/StructureDefinition/cls-snomed-patient-sex" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation.code">
      <path value="Observation.code" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding">
      <path value="Observation.code.coding" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding.system">
      <path value="Observation.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.code.coding.code">
      <path value="Observation.code.coding.code" />
      <min value="1" />
      <fixedCode value="76689-9" />
    </element>
    <element id="Observation.code.text">
      <path value="Observation.code.text" />
      <min value="1" />
      <patternString value="Sex assigned at birth" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.valueCodeableConcept">
      <path value="Observation.valueCodeableConcept" />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code.coding.code" />
        </discriminator>
        <description value="Slice basiert auf component.code.coding.code #value" />
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.component.valueCodeableConcept">
      <path value="Observation.component.valueCodeableConcept" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://somewhere.org/fhir/uv/myig/ValueSet/vs-biological-gender" />
      </binding>
    </element>
    <element id="Observation.component:male">
      <path value="Observation.component" />
      <sliceName value="male" />
      <min value="0" />
      <max value="*" />
    </element>
    <element id="Observation.component:male.code">
      <path value="Observation.component.code" />
      <short value="Male sex" />
      <definition value="Biological male sex" />
      <comment value="Zusätzliche Codes, die diesen Code übersetzen oder abbilden, sind erlaubt. Beispielsweise ein granularerer LOINC-Code oder Code, der lokal in einem System verwendet wird." />
      <alias value="Masculine" />
      <alias value="Männlich" />
    </element>
    <element id="Observation.component:male.code.coding">
      <path value="Observation.component.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="3" />
    </element>
    <element id="Observation.component:male.code.coding:maleSNOMEDCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="MaleSNOMEDCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:male.code.coding:maleSNOMEDCode.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Observation.component:male.code.coding:maleSNOMEDCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="248153007" />
    </element>
    <element id="Observation.component:male.code.coding:maleUMLSCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="MaleUMLSCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:male.code.coding:maleUMLSCode.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/umls" />
    </element>
    <element id="Observation.component:male.code.coding:maleUMLSCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="C1706180" />
    </element>
    <element id="Observation.component:male.code.coding:maleLOINCCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="maleLOINCCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:male.valueInteger">
      <path value="Observation.component.valueInteger" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:male.valueInteger.value">
      <path value="Observation.component.valueInteger.value" />
      <definition value="Internal coding of German Center for Diabetes Research (DZD)" />
      <min value="1" />
      <patternInteger value="1" />
    </element>
    <element id="Observation.component:female">
      <path value="Observation.component" />
      <sliceName value="female" />
      <min value="0" />
      <max value="*" />
    </element>
    <element id="Observation.component:female.code">
      <path value="Observation.component.code" />
      <short value="Female sex" />
      <definition value="Biological female sex" />
      <comment value="Zusätzliche Codes, die diesen Code übersetzen oder abbilden, sind erlaubt. Beispielsweise ein granularerer LOINC-Code oder Code, der lokal in einem System verwendet wird." />
      <alias value="Feminine" />
      <alias value="Weiblich" />
    </element>
    <element id="Observation.component:female.code.coding">
      <path value="Observation.component.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="3" />
    </element>
    <element id="Observation.component:female.code.coding:femaleSNOMEDCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="FemaleSNOMEDCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:female.code.coding:femaleSNOMEDCode.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Observation.component:female.code.coding:femaleSNOMEDCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="248152002" />
    </element>
    <element id="Observation.component:female.code.coding:femaleUMLSCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="FemaleUMLSCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:female.code.coding:femaleUMLSCode.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/umls" />
    </element>
    <element id="Observation.component:female.code.coding:femaleUMLSCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="C0015780" />
    </element>
    <element id="Observation.component:female.code.coding:femaleLOINCCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="femaleLOINCCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:female.valueInteger">
      <path value="Observation.component.valueInteger" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:female.valueInteger.value">
      <path value="Observation.component.valueInteger.value" />
      <definition value="Internal coding of German Center for Diabetes Research (DZD)" />
      <min value="1" />
      <patternInteger value="2" />
    </element>
    <element id="Observation.component:intersex">
      <path value="Observation.component" />
      <sliceName value="intersex" />
      <min value="0" />
      <max value="*" />
    </element>
    <element id="Observation.component:intersex.code">
      <path value="Observation.component.code" />
      <short value="Intersex" />
      <definition value="Biological intersexuality" />
      <comment value="Zusätzliche Codes, die diesen Code übersetzen oder abbilden, sind erlaubt. Beispielsweise ein granularerer LOINC-Code oder Code, der lokal in einem System verwendet wird." />
      <alias value="Non-binary" />
      <alias value="Divers" />
    </element>
    <element id="Observation.component:intersex.code.coding">
      <path value="Observation.component.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="3" />
    </element>
    <element id="Observation.component:intersex.code.coding:intersexSNOMEDCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="IntersexSNOMEDCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:intersex.code.coding:intersexSNOMEDCode.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Observation.component:intersex.code.coding:intersexSNOMEDCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="32570691000036108" />
    </element>
    <element id="Observation.component:intersex.code.coding:intersexUMLSCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="IntersexUMLSCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:intersex.code.coding:intersexUMLSCode.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/umls" />
    </element>
    <element id="Observation.component:intersex.code.coding:intersexUMLSCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="C1704620" />
    </element>
    <element id="Observation.component:intersex.code.coding:intersexLOINCCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="intersexLOINCCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:intersex.valueInteger">
      <path value="Observation.component.valueInteger" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:intersex.valueInteger.value">
      <path value="Observation.component.valueInteger.value" />
      <definition value="Internal coding of German Center for Diabetes Research (DZD)" />
      <min value="1" />
      <patternInteger value="3" />
    </element>
  </differential>
</StructureDefinition>