<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ext-administrative-parent-name" />
  <url value="http://fhir.health.gov.il/StructureDefinition/ext-administrative-parent-name" />
  <version value="0.21.0" />
  <name value="AdminParentName" />
  <title value="Ext: Administrative Parent Name" />
  <status value="active" />
  <date value="2026-03-23" />
  <publisher value="Israel Core Team" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="tal.primak@moh.gov.il" />
    </telecom>
  </contact>
  <description value="Extension: The name of a person’s parent, recorded for administrative purposes as part of the person’s demographics (e.g to help with identification). This SHOULD NOT be confused with a parent whose details are recorded for contact purposes (Patient.contact) or as a family member (RelatedPerson). Most systems will use the “father’s name” field as the source of data for this extension. NOTE: This extension replaces the old ParentName extension and is the PREFFERED extension. Note: there SHOULD be only one parent marked as 'official'" />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="Patient" />
  </context>
  <context>
    <type value="element" />
    <expression value="Practitioner" />
  </context>
  <context>
    <type value="element" />
    <expression value="RelatedPerson" />
  </context>
  <context>
    <type value="element" />
    <expression value="Person" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="Ext: Administrative Parent Name" />
      <definition value="Extension: The name of a person’s parent, recorded for administrative purposes as part of the person’s demographics (e.g to help with identification). This SHOULD NOT be confused with a parent whose details are recorded for contact purposes (Patient.contact) or as a family member (RelatedPerson). Most systems will use the “father’s name” field as the source of data for this extension. NOTE: This extension replaces the old ParentName extension and is the PREFFERED extension. Note: there SHOULD be only one parent marked as 'official'" />
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <min value="1" />
    </element>
    <element id="Extension.extension:given">
      <path value="Extension.extension" />
      <sliceName value="given" />
      <short value="first/given name of parent" />
      <definition value="when recording a parent’s name as part of a person’s record, only the given name is used" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:given.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:given.url">
      <path value="Extension.extension.url" />
      <fixedUri value="given" />
    </element>
    <element id="Extension.extension:given.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
      <example>
        <label value="Valid Example" />
        <valueString value="James" />
      </example>
    </element>
    <element id="Extension.extension:role">
      <path value="Extension.extension" />
      <sliceName value="role" />
      <short value="role of parent" />
      <definition value="most systems define this field as “father’s name”, but it may actually contain the name of a mother. When the role is explicitly known, systems should populate this element." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:role.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:role.url">
      <path value="Extension.extension.url" />
      <fixedUri value="role" />
    </element>
    <element id="Extension.extension:role.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="code" />
      </type>
      <example>
        <label value="Valid Example" />
        <valueCode value="MTH" />
      </example>
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-parent-name-role" />
      </binding>
    </element>
    <element id="Extension.extension:official">
      <path value="Extension.extension" />
      <sliceName value="official" />
      <short value="this parent name is the official one" />
      <definition value="A parent’s name marked as ‘official’ is the one expected to match the person’s father name in governmental records." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:official.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:official.url">
      <path value="Extension.extension.url" />
      <fixedUri value="official" />
    </element>
    <element id="Extension.extension:official.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
      <example>
        <label value="Valid Example" />
        <valueBoolean value="true" />
      </example>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="http://fhir.health.gov.il/StructureDefinition/ext-administrative-parent-name" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>