<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="cde-ethnicity" />
  <url value="http://somewhere.org/fhir/uv/myig/StructureDefinition/cde-ethnicity" />
  <version value="0.2.0" />
  <name value="CDE_Ethnicity" />
  <title value="CDE Ethnicity" />
  <status value="active" />
  <date value="2023-03-09T12:00:30.596245+00:00" />
  <description value="Dieses CDE enthält die 'Ethnizität'." />
  <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-demographic-history-detail" />
  <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://snomed.info/sct" />
    </element>
    <element id="Observation.code.coding.code">
      <path value="Observation.code.coding.code" />
      <min value="1" />
      <fixedCode value="364699009" />
    </element>
    <element id="Observation.code.text">
      <path value="Observation.code.text" />
      <min value="1" />
      <patternString value="Ethnic group" />
      <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>
      <binding>
        <strength value="required" />
        <valueSet value="http://somewhere.org/fhir/uv/myig/ValueSet/vs-ethnic-groups" />
      </binding>
    </element>
    <element id="Observation.component.valueCodeableConcept.coding">
      <path value="Observation.component.valueCodeableConcept.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:caucasian">
      <path value="Observation.component" />
      <sliceName value="caucasian" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:caucasian.code">
      <path value="Observation.component.code" />
      <short value="Caucasian" />
      <definition value="Caucasian ethnic group" />
      <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="White People" />
      <alias value="Kaukasisch" />
    </element>
    <element id="Observation.component:caucasian.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:caucasian.code.coding:caucasianSNOMEDCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="CaucasianSNOMEDCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:caucasian.code.coding:caucasianSNOMEDCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Observation.component:caucasian.code.coding:caucasianSNOMEDCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="14045001" />
    </element>
    <element id="Observation.component:caucasian.code.coding:caucasianUMLSCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="CaucasianUMLSCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:caucasian.code.coding:caucasianUMLSCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/umls" />
    </element>
    <element id="Observation.component:caucasian.code.coding:caucasianUMLSCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="C0043157" />
    </element>
    <element id="Observation.component:caucasian.code.coding:caucasianLOINCCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="caucasianLOINCCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:caucasian.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:caucasian.valueInteger.value">
      <path value="Observation.component.valueInteger.value" />
      <short value="Internal coding of German Center for Diabetes Research (DZD)" />
      <min value="1" />
      <patternInteger value="1" />
    </element>
    <element id="Observation.component:mediterranean">
      <path value="Observation.component" />
      <sliceName value="mediterranean" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:mediterranean.code">
      <path value="Observation.component.code" />
      <short value="Mediterranean" />
      <definition value="Mediterranean ethnic group" />
      <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="South European People" />
      <alias value="Mediterranean Sea" />
    </element>
    <element id="Observation.component:mediterranean.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:mediterranean.code.coding:mediterraneanNCITCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="mediterraneanNCITCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:mediterranean.code.coding:mediterraneanNCITCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://terminology.hl7.org/NamingSystem/v3-nciThesaurus" />
    </element>
    <element id="Observation.component:mediterranean.code.coding:mediterraneanNCITCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="C77811" />
    </element>
    <element id="Observation.component:mediterranean.code.coding:mediterraneanUMLSCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="mediterraneanUMLSCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:mediterranean.code.coding:mediterraneanUMLSCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/umls" />
    </element>
    <element id="Observation.component:mediterranean.code.coding:mediterraneanUMLSCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="C0240321" />
    </element>
    <element id="Observation.component:mediterranean.code.coding:mediterraneanLOINCCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="mediterraneanLOINCCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:mediterranean.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:mediterranean.valueInteger.value">
      <path value="Observation.component.valueInteger.value" />
      <short value="Internal coding of German Center for Diabetes Research (DZD)" />
      <min value="1" />
      <patternInteger value="2" />
    </element>
    <element id="Observation.component:blackAfrican">
      <path value="Observation.component" />
      <sliceName value="blackAfrican" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:blackAfrican.code">
      <path value="Observation.component.code" />
      <short value="African" />
      <definition value="Black African ethic group" />
      <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="Black or African American" />
      <alias value="Schwarzafrikanisch" />
    </element>
    <element id="Observation.component:blackAfrican.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:blackAfrican.code.coding:blackAfricanSNOMEDCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="BlackAfrianSNOMEDCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:blackAfrican.code.coding:blackAfricanSNOMEDCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Observation.component:blackAfrican.code.coding:blackAfricanSNOMEDCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="18167009" />
    </element>
    <element id="Observation.component:blackAfrican.code.coding:blackAfricanUMLSCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="BlackAfricanUMLSCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:blackAfrican.code.coding:blackAfricanUMLSCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/umls" />
    </element>
    <element id="Observation.component:blackAfrican.code.coding:blackAfricanUMLSCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="C0085756" />
    </element>
    <element id="Observation.component:blackAfrican.code.coding:blackAfricanLOINCCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="blackAfricanLOINCCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:blackAfrican.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:blackAfrican.valueInteger.value">
      <path value="Observation.component.valueInteger.value" />
      <short value="Internal coding of German Center for Diabetes Research (DZD)" />
      <min value="1" />
      <patternInteger value="3" />
    </element>
    <element id="Observation.component:asian">
      <path value="Observation.component" />
      <sliceName value="asian" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:asian.code">
      <path value="Observation.component.code" />
      <short value="Asian" />
      <definition value="Asian ethic group" />
      <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="East or Southeast Asian" />
      <alias value="Asiatisch" />
    </element>
    <element id="Observation.component:asian.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:asian.code.coding:asianSNOMEDCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="AsianSNOMEDCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:asian.code.coding:asianSNOMEDCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Observation.component:asian.code.coding:asianSNOMEDCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="315280000" />
    </element>
    <element id="Observation.component:asian.code.coding:asianUMLSCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="AsianUMLSCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:asian.code.coding:asianUMLSCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/umls" />
    </element>
    <element id="Observation.component:asian.code.coding:asianUMLSCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="C0078988" />
    </element>
    <element id="Observation.component:asian.code.coding:asianLOINCCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="asianLOINCCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:asian.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:asian.valueInteger.value">
      <path value="Observation.component.valueInteger.value" />
      <short value="Internal coding of German Center for Diabetes Research (DZD)" />
      <min value="1" />
      <patternInteger value="4" />
    </element>
    <element id="Observation.component:latinAmerican">
      <path value="Observation.component" />
      <sliceName value="latinAmerican" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:latinAmerican.code">
      <path value="Observation.component.code" />
      <short value="Latin American" />
      <definition value="Latin American ethic group" />
      <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="Hispanic or Latino" />
      <alias value="Lateinamerikanisch" />
    </element>
    <element id="Observation.component:latinAmerican.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:latinAmerican.code.coding:latinAmericanSNOMEDCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="LatinAmericanSNOMEDCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:latinAmerican.code.coding:latinAmericanSNOMEDCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Observation.component:latinAmerican.code.coding:latinAmericanSNOMEDCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="315280000" />
    </element>
    <element id="Observation.component:latinAmerican.code.coding:latinAmericanUMLSCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="LatinAmericanUMLSCode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:latinAmerican.code.coding:latinAmericanUMLSCode.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/umls" />
    </element>
    <element id="Observation.component:latinAmerican.code.coding:latinAmericanUMLSCode.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="C0078988" />
    </element>
    <element id="Observation.component:latinAmerican.code.coding:latinAmericanLOINCCode">
      <path value="Observation.component.code.coding" />
      <sliceName value="latinAmericanLOINCCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:latinAmerican.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:latinAmerican.valueInteger.value">
      <path value="Observation.component.valueInteger.value" />
      <short value="Internal coding of German Center for Diabetes Research (DZD)" />
      <min value="1" />
      <patternInteger value="5" />
    </element>
    <element id="Observation.component:other">
      <path value="Observation.component" />
      <sliceName value="other" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:other.code">
      <path value="Observation.component.code" />
      <short value="Other" />
      <definition value="Other ethic group" />
      <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="Other" />
      <alias value="Andere" />
    </element>
    <element id="Observation.component:other.code.coding">
      <path value="Observation.component.code.coding" />
      <binding>
        <strength value="required" />
        <valueSet value="http://somewhere.org/fhir/uv/myig/ValueSet/vs-ethnic-groups" />
      </binding>
    </element>
    <element id="Observation.component:other.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:other.valueInteger.value">
      <path value="Observation.component.valueInteger.value" />
      <short value="Internal coding of German Center for Diabetes Research (DZD)" />
      <min value="1" />
      <patternInteger value="6" />
    </element>
  </differential>
</StructureDefinition>