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