<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ncr-ehr-patient" />
  <url value="http://fhir.iknl.nl/fhir/iknl-ncr-ehr-r4/StructureDefinition/ncr-ehr-patient" />
  <version value="1.0.0" />
  <name value="NcrEhrPatient" />
  <status value="active" />
  <contact>
    <name value="IKNL" />
    <telecom>
      <system value="email" />
      <value value="fhir@iknl.nl" />
    </telecom>
  </contact>
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <min value="1" />
    </element>
    <element id="Patient.identifier:bsn">
      <path value="Patient.identifier" />
      <sliceName value="bsn" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:patientnummer">
      <path value="Patient.identifier" />
      <sliceName value="patientnummer" />
      <short value="Patientnummer van de instelling" />
      <definition value="Patientnummer van de Instelling" />
      <min value="1" />
      <max value="1" />
      <patternIdentifier>
        <type>
          <coding>
            <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
            <code value="MR" />
          </coding>
        </type>
      </patternIdentifier>
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:patientnummer.value">
      <path value="Patient.identifier.value" />
      <short value="Patientnummer" />
      <definition value="Patientnummer" />
      <min value="1" />
    </element>
    <element id="Patient.identifier:patientnummer.assigner">
      <path value="Patient.identifier.assigner" />
      <short value="Instelling die patientnummer heeft toegekend" />
      <definition value="Instelling die patientnummer heeft toegekend" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.iknl.nl/fhir/iknl-ncr-ehr-r4/StructureDefinition/ncr-ehr-healthcare-provider" />
        <aggregation value="bundled" />
      </type>
    </element>
    <element id="Patient.name:nameInformation">
      <path value="Patient.name" />
      <sliceName value="nameInformation" />
      <max value="1" />
    </element>
    <element id="Patient.name:nameInformation.family">
      <path value="Patient.name.family" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:nameInformation.family.extension:prefix">
      <path value="Patient.name.family.extension" />
      <sliceName value="prefix" />
      <short value="Voorvoegsel van geboortenaam" />
      <definition value="Voorvoegsel van geboortenaam" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:nameInformation.family.extension:lastName">
      <path value="Patient.name.family.extension" />
      <sliceName value="lastName" />
      <short value="Achternaam" />
      <definition value="Achternaam (geboortenaam)" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:nameInformation.given">
      <path value="Patient.name.given" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="extension('http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').value" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.name:nameInformation.given:initials">
      <path value="Patient.name.given" />
      <sliceName value="initials" />
      <short value="Initialen" />
      <definition value="Initialen" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:nameInformation.given:initials.extension">
      <path value="Patient.name.given.extension" />
      <mustSupport value="false" />
    </element>
    <element id="Patient.name:nameInformation.given:initials.extension:givenOrInitial">
      <path value="Patient.name.given.extension" />
      <sliceName value="givenOrInitial" />
    </element>
    <element id="Patient.name:nameInformation.given:initials.extension:givenOrInitial.value[x]">
      <path value="Patient.name.given.extension.value[x]" />
      <fixedCode value="IN" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender.extension:genderCodelist">
      <path value="Patient.gender.extension" />
      <sliceName value="genderCodelist" />
    </element>
    <element id="Patient.gender.extension:genderCodelist.value[x]">
      <path value="Patient.gender.extension.value[x]" />
      <short value="Administratief geslacht" />
      <definition value="Administratief geslacht" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <short value="Geboortedatum van de patient" />
      <definition value="Geboortedatum van de patient" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.deceased[x]:deceasedDateTime">
      <path value="Patient.deceased[x]" />
      <sliceName value="deceasedDateTime" />
      <short value="Datum van overlijden" />
      <definition value="Datum van overlijden" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address.postalCode">
      <path value="Patient.address.postalCode" />
      <definition value="Postcode van adres." />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address.country.extension">
      <path value="Patient.address.country.extension" />
      <min value="1" />
    </element>
    <element id="Patient.address.country.extension:countryCode">
      <path value="Patient.address.country.extension" />
      <sliceName value="countryCode" />
      <min value="1" />
    </element>
    <element id="Patient.address.country.extension:countryCode.value[x]">
      <path value="Patient.address.country.extension.value[x]" />
    </element>
    <element id="Patient.address.country.extension:countryCode.value[x].coding">
      <path value="Patient.address.country.extension.value[x].coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Patient.address.country.extension:countryCode.value[x].coding:isoCoding">
      <path value="Patient.address.country.extension.value[x].coding" />
      <sliceName value="isoCoding" />
      <short value="ISO 3166 2 or 3 letter code" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="urn:iso:std:iso:3166" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address.country.extension:countryCode.value[x].coding:isoCoding.code">
      <path value="Patient.address.country.extension.value[x].coding.code" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>