<?xml version="1.0" encoding="UTF-8"?>

<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ti-human-name"/>
  <language value="de"/>
  <url value="https://gematik.de/fhir/ti/StructureDefinition/ti-human-name"/>
  <version value="1.5.0"/>
  <name value="TIHumanName"/>
  <title value="TI Human Name"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2026-11-16"/>
  <publisher value="gematik GmbH"/>
  <contact>
    <name value="gematik GmbH"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.gematik.de"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="patientteam [ at ] gematik.de"/>
    </telecom>
  </contact>
  <description value="Dieses Profil definiert die Repräsentation des offiziellen Namens innerhalb der Telematikinfrastruktur (TI) auf Grundlage des deutschen HumanName-Basisprofils. Der Name wird durch `use = official` gekennzeichnet und legt die für den offiziellen Namen relevanten Namensbestandteile sowie die Kennzeichnung akademischer Titel fest."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="DE"/>
    </coding>
  </jurisdiction>
  <copyright value="gematik GmbH / Dieses Artefakt ist lizenziert unter [Apache License](./license.html), Version 2.0."/>
  <fhirVersion value="4.0.1"/>
  <kind value="complex-type"/>
  <abstract value="false"/>
  <type value="HumanName"/>
  <baseDefinition value="http://fhir.de/StructureDefinition/humanname-de-basis"/>
  <derivation value="constraint"/>
  <snapshot>
    <extension url="http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version">
      <valueString value="1.6.0"/>
    </extension>
    <element id="HumanName">
      <path value="HumanName"/>
      <short value="Personenname"/>
      <definition value="Personenname mit in Deutschland üblichen Erweiterungen"/>
      <comment value="Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts may or may not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="HumanName"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <condition value="ele-1"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="hum-1"/>
        <severity value="error"/>
        <human value="Wenn die Extension 'namenszusatz' verwendet wird, dann muss der vollständige Name im Attribut 'family' angegeben werden"/>
        <expression value="family.extension('http://fhir.de/StructureDefinition/humanname-namenszusatz').empty() or family.hasValue()"/>
        <source value="http://fhir.de/StructureDefinition/humanname-de-basis"/>
      </constraint>
      <constraint>
        <key value="hum-2"/>
        <severity value="error"/>
        <human value="Wenn die Extension 'nachname' verwendet wird, dann muss der vollständige Name im Attribut 'family' angegeben werden"/>
        <expression value="family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty() or family.hasValue()"/>
        <source value="http://fhir.de/StructureDefinition/humanname-de-basis"/>
      </constraint>
      <constraint>
        <key value="hum-3"/>
        <severity value="error"/>
        <human value="Wenn die Extension 'vorsatzwort' verwendet wird, dann muss der vollständige Name im Attribut 'family' angegeben werden"/>
        <expression value="family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty() or family.hasValue()"/>
        <source value="http://fhir.de/StructureDefinition/humanname-de-basis"/>
      </constraint>
      <constraint>
        <key value="hum-4"/>
        <severity value="error"/>
        <human value="Wenn die Extension 'prefix-qualifier' verwendet wird, dann muss ein Namenspräfix im Attribut 'prefix' angegeben werden"/>
        <expression value="prefix.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').empty() or $this.hasValue())"/>
        <source value="http://fhir.de/StructureDefinition/humanname-de-basis"/>
      </constraint>
      <isModifier value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
      <mapping>
        <identity value="v2"/>
        <map value="XPN"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="EN (actually, PN)"/>
      </mapping>
      <mapping>
        <identity value="servd"/>
        <map value="ProviderName"/>
      </mapping>
    </element>
    <element id="HumanName.id">
      <path value="HumanName.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="HumanName.extension">
      <path value="HumanName.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="HumanName.use">
      <path value="HumanName.use"/>
      <short value="usual | official | temp | nickname | anonymous | old | maiden"/>
      <definition value="Identifies the purpose for this name."/>
      <comment value="Applications can assume that a name is current unless it explicitly says that it is temporary or old."/>
      <requirements value="Allows the appropriate name for a particular context of use to be selected from among a set of names."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="HumanName.use"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <fixedCode value="official"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="true"/>
      <isModifierReason value="This is labeled as &quot;Is Modifier&quot; because applications should not mistake a temporary or old name etc.for a current/permanent one"/>
      <isSummary value="true"/>
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="NameUse"/>
        </extension>
        <strength value="required"/>
        <description value="The use of a human name."/>
        <valueSet value="http://hl7.org/fhir/ValueSet/name-use|4.0.1"/>
      </binding>
      <mapping>
        <identity value="v2"/>
        <map value="XPN.7, but often indicated by which field contains the name"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="unique(./use)"/>
      </mapping>
      <mapping>
        <identity value="servd"/>
        <map value="./NamePurpose"/>
      </mapping>
    </element>
    <element id="HumanName.text">
      <path value="HumanName.text"/>
      <short value="Text representation of the full name"/>
      <definition value="Specifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts."/>
      <comment value="Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present,  no content is included in the text that isn't found in a part."/>
      <requirements value="A renderable, unencoded form."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="HumanName.text"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="implied by XPN.11"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="./formatted"/>
      </mapping>
    </element>
    <element id="HumanName.family">
      <path value="HumanName.family"/>
      <short value="Familienname"/>
      <definition value="Der vollständige Familienname, einschließlich aller Vorsatz- und Zusatzwörter, mit Leerzeichen getrennt."/>
      <comment value="Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures)."/>
      <alias value="surname"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="HumanName.family"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="XPN.1/FN.1"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="./part[partType = FAM]"/>
      </mapping>
      <mapping>
        <identity value="servd"/>
        <map value="./FamilyName"/>
      </mapping>
    </element>
    <element id="HumanName.family.id">
      <path value="HumanName.family.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="HumanName.family.extension">
      <path value="HumanName.family.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="HumanName.family.extension:namenszusatz">
      <path value="HumanName.family.extension"/>
      <sliceName value="namenszusatz"/>
      <short value="Namenszusatz gemäß VSDM (Versichertenstammdatenmanagement, &quot;eGK&quot;)"/>
      <definition value="Namenszusatz als Bestandteil das Nachnamens, wie in VSDM (Versichertenstammdatenmanagement, &quot;eGK&quot;) definiert.&#xD;&#xA;Beispiele: Gräfin, Prinz oder Fürst"/>
      <comment value="Die Extension wurde erstellt aufgrund der Anforderung, die auf der eGK vorhandenen Patientenstammdaten in FHIR abbilden zu können. Auf der eGK werden die Namensbestandteile &quot;Namenszusatz&quot; und &quot;Vorsatzwort&quot; getrennt vom Nachnamen gespeichert. Anhand der Liste der zulässigen Namenszusätze ist deutlich erkennbar, dass es sich hierbei sinngemäß um Adelstitel handelt.&#xD;&#xA;Das Vorsatzwort kann durch die Core-Extension own-prefix&#x9;(Canonical: http://hl7.org/fhir/StructureDefinition/humanname-own-prefix) abgebildet werden, für den Namenszusatz ergibt sich jedoch die Notwendikeit einer nationalen Extension, da in andern Ländern Adelstitel entweder gar nicht oder als reguläres Namenspräfix erfasst werden."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile value="http://fhir.de/StructureDefinition/humanname-namenszusatz"/>
      </type>
      <condition value="ele-1"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="HumanName.family.extension:nachname">
      <path value="HumanName.family.extension"/>
      <sliceName value="nachname"/>
      <short value="Portion derived from person's own surname"/>
      <definition value="The portion of the family name that is derived from the person's own surname, as distinguished from any portion that is derived from the surname of the person's partner or spouse."/>
      <comment value="If the person's surname has legally changed to become (or incorporate) the surname of the person's partner or spouse, this is the person's surname immediately prior to such change. Often this is the person's &quot;maiden name&quot;."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/humanname-own-name"/>
      </type>
      <condition value="ele-1"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
      <mapping>
        <identity value="v2"/>
        <map value="FN.3"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="ENXP where Qualifiers = (BR)"/>
      </mapping>
    </element>
    <element id="HumanName.family.extension:vorsatzwort">
      <path value="HumanName.family.extension"/>
      <sliceName value="vorsatzwort"/>
      <short value="Voorvoegsel derived from person's own surname"/>
      <definition value="The prefix portion (e.g. voorvoegsel) of the family name that is derived from the person's own surname, as distinguished from any portion that is derived from the surname of the person's partner or spouse."/>
      <comment value="An example of a voorvoegsel is the &quot;van&quot; in &quot;Ludwig van Beethoven&quot;. Since the voorvoegsel doesn't sort completely alphabetically, it is reasonable to specify it as a separate sub-component."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/humanname-own-prefix"/>
      </type>
      <condition value="ele-1"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
      <mapping>
        <identity value="v2"/>
        <map value="FN.2"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="ENXP where Qualifiers = (VV, R)"/>
      </mapping>
    </element>
    <element id="HumanName.family.value">
      <path value="HumanName.family.value"/>
      <representation value="xmlAttr"/>
      <short value="Primitive value for string"/>
      <definition value="Primitive value for string"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="string.value"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string"/>
        </extension>
        <extension url="http://hl7.org/fhir/StructureDefinition/regex">
          <valueString value="[ \r\n\t\S]+"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <maxLength value="1048576"/>
    </element>
    <element id="HumanName.given">
      <path value="HumanName.given"/>
      <short value="Vorname"/>
      <definition value="Vorname der Person"/>
      <comment value="If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations.  This element is not called &quot;first name&quot; since given names do not always come first."/>
      <alias value="first name"/>
      <alias value="middle name"/>
      <min value="1"/>
      <max value="*"/>
      <base>
        <path value="HumanName.given"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <orderMeaning value="Given Names appear in the correct order for presenting the name"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="XPN.2 + XPN.3"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="./part[partType = GIV]"/>
      </mapping>
      <mapping>
        <identity value="servd"/>
        <map value="./GivenNames"/>
      </mapping>
    </element>
    <element id="HumanName.prefix">
      <path value="HumanName.prefix"/>
      <short value="Namensteile vor dem Vornamen"/>
      <definition value="Namensteile vor dem Vornamen, z.B. akademischer Titel."/>
      <comment value="Note that FHIR strings SHALL NOT exceed 1MB in size"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="HumanName.prefix"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <orderMeaning value="Prefixes appear in the correct order for presenting the name"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="XPN.5"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="./part[partType = PFX]"/>
      </mapping>
      <mapping>
        <identity value="servd"/>
        <map value="./TitleCode"/>
      </mapping>
    </element>
    <element id="HumanName.prefix.id">
      <path value="HumanName.prefix.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="HumanName.prefix.extension">
      <path value="HumanName.prefix.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="HumanName.prefix.extension:prefix-qualifier">
      <path value="HumanName.prefix.extension"/>
      <sliceName value="prefix-qualifier"/>
      <short value="LS | AC | NB | PR | HON | BR | AD | SP | MID | CL | IN | VV"/>
      <definition value="A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type."/>
      <comment value="Used to indicate additional information about the name part and how it should be used."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"/>
      </type>
      <condition value="ele-1"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="ENXP.qualifier"/>
      </mapping>
    </element>
    <element id="HumanName.prefix.extension:prefix-qualifier.id">
      <path value="HumanName.prefix.extension.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="HumanName.prefix.extension:prefix-qualifier.extension">
      <path value="HumanName.prefix.extension.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="0"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="HumanName.prefix.extension:prefix-qualifier.url">
      <path value="HumanName.prefix.extension.url"/>
      <representation value="xmlAttr"/>
      <short value="identifies the meaning of the extension"/>
      <definition value="Source of the definition for the extension code - a logical name or a URL."/>
      <comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Extension.url"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="uri"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <fixedUri value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="HumanName.prefix.extension:prefix-qualifier.value[x]">
      <path value="HumanName.prefix.extension.value[x]"/>
      <short value="Value of extension"/>
      <definition value="Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list)."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Extension.value[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <fixedCode value="AC"/>
      <condition value="ele-1"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="EntityNamePartQualifier"/>
        </extension>
        <strength value="required"/>
        <valueSet value="http://hl7.org/fhir/ValueSet/name-part-qualifier"/>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="HumanName.prefix.value">
      <path value="HumanName.prefix.value"/>
      <representation value="xmlAttr"/>
      <short value="Primitive value for string"/>
      <definition value="Primitive value for string"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="string.value"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string"/>
        </extension>
        <extension url="http://hl7.org/fhir/StructureDefinition/regex">
          <valueString value="[ \r\n\t\S]+"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <maxLength value="1048576"/>
    </element>
    <element id="HumanName.suffix">
      <path value="HumanName.suffix"/>
      <short value="Namensteile nach dem Nachnamen"/>
      <definition value="Namensteile nach dem Nachnamen"/>
      <comment value="Note that FHIR strings SHALL NOT exceed 1MB in size"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="HumanName.suffix"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <orderMeaning value="Suffixes appear in the correct order for presenting the name"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="XPN/4"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="./part[partType = SFX]"/>
      </mapping>
    </element>
    <element id="HumanName.period">
      <path value="HumanName.period"/>
      <short value="Time period when name was/is in use"/>
      <definition value="Indicates the period of time when this name was valid for the named person."/>
      <comment value="A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. &quot;the patient was an inpatient of the hospital for this time range&quot;) or one value from the range applies (e.g. &quot;give to the patient between these two times&quot;).&#xA;&#xA;Period is not used for a duration (a measure of elapsed time). See [Duration](http://hl7.org/fhir/R4/datatypes.html#Duration)."/>
      <requirements value="Allows names to be placed in historical context."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="HumanName.period"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Period"/>
      </type>
      <condition value="ele-1"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="per-1"/>
        <severity value="error"/>
        <human value="If present, start SHALL have a lower value than end"/>
        <expression value="start.hasValue().not() or end.hasValue().not() or (start &lt;= end)"/>
        <xpath value="not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) &lt;= xs:dateTime(f:end/@value))"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Period"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
      <mapping>
        <identity value="v2"/>
        <map value="DR"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="IVL&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;] or URG&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;]"/>
      </mapping>
      <mapping>
        <identity value="v2"/>
        <map value="XPN.13 + XPN.14"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="./usablePeriod[type=&quot;IVL&lt;TS&gt;&quot;]"/>
      </mapping>
      <mapping>
        <identity value="servd"/>
        <map value="./StartDate and ./EndDate"/>
      </mapping>
    </element>
  </snapshot>
  <differential>
    <element id="HumanName">
      <path value="HumanName"/>
    </element>
    <element id="HumanName.use">
      <path value="HumanName.use"/>
      <min value="1"/>
      <fixedCode value="official"/>
      <mustSupport value="true"/>
    </element>
    <element id="HumanName.family">
      <path value="HumanName.family"/>
      <min value="1"/>
      <mustSupport value="true"/>
    </element>
    <element id="HumanName.family.extension:namenszusatz">
      <path value="HumanName.family.extension"/>
      <sliceName value="namenszusatz"/>
      <mustSupport value="true"/>
    </element>
    <element id="HumanName.family.extension:nachname">
      <path value="HumanName.family.extension"/>
      <sliceName value="nachname"/>
      <mustSupport value="true"/>
    </element>
    <element id="HumanName.family.extension:vorsatzwort">
      <path value="HumanName.family.extension"/>
      <sliceName value="vorsatzwort"/>
      <mustSupport value="true"/>
    </element>
    <element id="HumanName.given">
      <path value="HumanName.given"/>
      <min value="1"/>
      <mustSupport value="true"/>
    </element>
    <element id="HumanName.prefix">
      <path value="HumanName.prefix"/>
      <mustSupport value="true"/>
    </element>
    <element id="HumanName.prefix.extension:prefix-qualifier">
      <path value="HumanName.prefix.extension"/>
      <sliceName value="prefix-qualifier"/>
      <mustSupport value="true"/>
    </element>
    <element id="HumanName.prefix.extension:prefix-qualifier.value[x]">
      <path value="HumanName.prefix.extension.value[x]"/>
      <fixedCode value="AC"/>
      <mustSupport value="true"/>
    </element>
  </differential>
</StructureDefinition>