description: 'A Patient resource as defined by the Dutch Health and Care Information models or HCIM (Dutch: Zorginformatiebouwsteen or ZIB) Patient, with additions from the HCIMs Nationality, MaritalStatus, ContactPerson, LanguageProficiency, HealthProfessional and HealthcareProvider (HCIM releases 2015, 2016 and 2017)' package_name: nictiz.fhir.nl.stu3.zib2017 derivation: constraint name: nl-core-patient type: Patient elements: address: {type: Address, short: AddressInformation, index: 30} name: type: HumanName short: NameInformation index: 19 extensions: humannameAssemblyOrder: url: null index: 20 elements: valueCode: index: 21 slicing: slices: valueCode: match: {} schema: {index: 21} elements: extension: index: 20 slicing: slices: humannameAssemblyOrder: match: {} schema: index: 20 elements: valueCode: index: 21 slicing: slices: valueCode: match: {} schema: {index: 21} birthDate: {short: 'Patients date of birth. The date of birth is mandatory for a patient. An incomplete date, e.g. only year or only year + month, is permitted.', index: 27} multipleBirth: short: MultipleBirthIndicator choices: [] index: 33 deceased: short: DeathIndicator/DateOfDeath choices: [] index: 29 extension: index: 0 slicing: rules: open discriminator: - {path: url, type: value} min: null slices: preferredPharmacy: match: {url: null} schema: {type: Extension, short: References a patient's preferered pharmacy, url: h, index: 1} max: 1 nationality: match: {url: null} schema: type: Extension url: h index: 2 extensions: code: url: null index: 3 elements: valueCodeableConcept: index: 4 slicing: slices: valueCodeableConcept: match: {} schema: {index: 4} period: url: null index: 5 elements: valuePeriod: index: 6 slicing: slices: valuePeriod: match: {} schema: {index: 6} elements: extension: index: 3 slicing: slices: code: match: {} schema: index: 3 elements: valueCodeableConcept: index: 4 slicing: slices: valueCodeableConcept: match: {} schema: {index: 4} period: match: {} schema: index: 5 elements: valuePeriod: index: 6 slicing: slices: valuePeriod: match: {} schema: {index: 6} legalStatus: match: {url: null} schema: type: Extension url: h index: 7 elements: valueCodeableConcept: index: 8 slicing: slices: valueCodeableConcept: match: {} schema: _required: true index: 8 elements: coding: index: 9 elements: system: {index: 10} code: {index: 11} required: [system, code] required: [coding] required: [valueCodeableConcept] lifeStance: match: {url: null} schema: type: Extension url: h index: 12 elements: valueCodeableConcept: index: 13 slicing: slices: valueCodeableConcept: match: {} schema: {index: 13} active: {index: 18} communication: index: 43 extensions: languageProficiency: url: h type: Extension index: 45 extensions: type: url: null index: 46 elements: valueCoding: index: 47 slicing: slices: valueCoding: match: {} schema: {index: 47} level: url: null index: 48 elements: valueCoding: index: 49 slicing: slices: valueCoding: match: {} schema: {index: 49} elements: extension: index: 46 slicing: slices: type: match: {} schema: index: 46 elements: valueCoding: index: 47 slicing: slices: valueCoding: match: {} schema: {index: 47} level: match: {} schema: index: 48 elements: valueCoding: index: 49 slicing: slices: valueCoding: match: {} schema: {index: 49} comment: {url: h, type: Extension, index: 50} elements: extension: index: 44 slicing: rules: open discriminator: - {path: url, type: value} min: null slices: languageProficiency: match: {url: null} schema: type: Extension url: h index: 45 extensions: type: url: null index: 46 elements: valueCoding: index: 47 slicing: slices: valueCoding: match: {} schema: {index: 47} level: url: null index: 48 elements: valueCoding: index: 49 slicing: slices: valueCoding: match: {} schema: {index: 49} elements: extension: index: 46 slicing: slices: type: match: {} schema: index: 46 elements: valueCoding: index: 47 slicing: slices: valueCoding: match: {} schema: {index: 47} level: match: {} schema: index: 48 elements: valueCoding: index: 49 slicing: slices: valueCoding: match: {} schema: {index: 49} comment: match: {url: null} schema: {type: Extension, url: h, index: 50} language: {short: CommunicationLanguage, index: 51} identifier: short: PatientIdentificationNumber index: 14 slicing: rules: open discriminator: - {path: system, type: value} min: null slices: BSN: match: {system: 'http://fhir.nl/fhir/NamingSystem/bsn'} schema: short: BSN index: 15 elements: system: pattern: {type: Uri, value: 'http://fhir.nl/fhir/NamingSystem/bsn'} index: 16 value: {short: BSN (Burgerservicenummer (Dutch person identification number)), index: 17} required: [value, system] telecom: {type: ContactPoint, index: 22} generalPractitioner: type: Reference short: GeneralPractitioner refers: ['http://fhir.nl/fhir/StructureDefinition/nl-core-organization', 'http://fhir.nl/fhir/StructureDefinition/nl-core-practitioner'] index: 52 extensions: practitionerRole: {url: h, max: 1, type: Extension, index: 54} elements: extension: index: 53 slicing: rules: open discriminator: - {path: url, type: value} min: null slices: practitionerRole: match: {url: null} schema: {type: Extension, url: h, index: 54} max: 1 gender: short: Gender index: 23 extensions: GeslachtCodelijst: url: h type: Extension short: Gender index: 25 elements: valueCodeableConcept: index: 26 slicing: slices: valueCodeableConcept: match: {} schema: {index: 26} elements: extension: index: 24 slicing: rules: open discriminator: - {path: url, type: value} min: null slices: GeslachtCodelijst: match: {url: null} schema: type: Extension short: Gender url: h index: 25 elements: valueCodeableConcept: index: 26 slicing: slices: valueCodeableConcept: match: {} schema: {index: 26} maritalStatus: {short: MaritalStatus, index: 31} contact: short: ContactPerson index: 34 elements: relationship: index: 35 slicing: rules: open discriminator: - {path: $this, type: value} min: null slices: relationship: match: {} schema: {short: Relationship, index: 36} role: match: {} schema: {short: Role, index: 37} name: type: HumanName short: NameInformation index: 38 extensions: humannameAssemblyOrder: url: null index: 39 elements: valueCode: index: 40 slicing: slices: valueCode: match: {} schema: {index: 40} elements: extension: index: 39 slicing: slices: humannameAssemblyOrder: match: {} schema: index: 39 elements: valueCode: index: 40 slicing: slices: valueCode: match: {} schema: {index: 40} telecom: {type: ContactPoint, index: 41} address: {type: Address, short: AddressInformation, index: 42} package_version: 2.1.1 extensions: preferredPharmacy: {url: h, max: 1, type: Extension, short: References a patient's preferered pharmacy, index: 1} nationality: url: h type: Extension index: 2 extensions: code: url: null index: 3 elements: valueCodeableConcept: index: 4 slicing: slices: valueCodeableConcept: match: {} schema: {index: 4} period: url: null index: 5 elements: valuePeriod: index: 6 slicing: slices: valuePeriod: match: {} schema: {index: 6} elements: extension: index: 3 slicing: slices: code: match: {} schema: index: 3 elements: valueCodeableConcept: index: 4 slicing: slices: valueCodeableConcept: match: {} schema: {index: 4} period: match: {} schema: index: 5 elements: valuePeriod: index: 6 slicing: slices: valuePeriod: match: {} schema: {index: 6} legalStatus: url: h type: Extension index: 7 elements: valueCodeableConcept: index: 8 slicing: slices: valueCodeableConcept: match: {} schema: _required: true index: 8 elements: coding: index: 9 elements: system: {index: 10} code: {index: 11} required: [system, code] required: [coding] required: [valueCodeableConcept] lifeStance: url: h type: Extension index: 12 elements: valueCodeableConcept: index: 13 slicing: slices: valueCodeableConcept: match: {} schema: {index: 13} class: profile kind: resource url: http://fhir.nl/fhir/StructureDefinition/nl-core-patient base: http://hl7.org/fhir/StructureDefinition/Patient version: 2.2.0