description: Base StructureDefinition for Address Type with additions for Dutch realm addresses. Dutch addresses break down Address.line in several parts and it is important to mark an address as being 'officially registered'. package_name: nictiz.fhir.nl.stu3.zib2017 derivation: constraint name: nl-core-address type: Address elements: use: {index: 4} city: {index: 17} type: {index: 5} state: {short: Sub-unit of country (abbreviations ok)., index: 19} extension: index: 0 slicing: rules: open discriminator: - {path: url, type: value} min: 0 slices: AddressType: match: {url: null} schema: type: Extension url: h index: 1 elements: valueCodeableConcept: short: AddressType index: 2 slicing: slices: valueCodeableConcept: match: {} schema: {short: AddressType, index: 2} official: match: {url: null} schema: {short: Mark an address as an 'officially registered' address., type: Extension, url: h, index: 3} min: 0 max: 1 line: extensions: streetName: url: h type: Extension index: 7 elements: valueString: index: 8 slicing: slices: valueString: match: {} schema: {index: 8} houseNumber: url: h type: Extension index: 9 elements: valueString: index: 10 slicing: slices: valueString: match: {} schema: {index: 10} buildingNumbersuffix: url: h type: Extension index: 11 elements: valueString: index: 12 slicing: slices: valueString: match: {} schema: {index: 12} unitID: url: h type: Extension index: 13 elements: valueString: index: 14 slicing: slices: valueString: match: {} schema: {index: 14} additionalLocator: url: h type: Extension index: 15 elements: valueString: index: 16 slicing: slices: valueString: match: {} schema: {index: 16} elements: extension: index: 6 slicing: rules: open discriminator: - {path: url, type: value} min: 0 slices: streetName: match: {url: null} schema: type: Extension url: h index: 7 elements: valueString: index: 8 slicing: slices: valueString: match: {} schema: {index: 8} houseNumber: match: {url: null} schema: type: Extension url: h index: 9 elements: valueString: index: 10 slicing: slices: valueString: match: {} schema: {index: 10} buildingNumbersuffix: match: {url: null} schema: type: Extension url: h index: 11 elements: valueString: index: 12 slicing: slices: valueString: match: {} schema: {index: 12} unitID: match: {url: null} schema: type: Extension url: h index: 13 elements: valueString: index: 14 slicing: slices: valueString: match: {} schema: {index: 14} additionalLocator: match: {url: null} schema: type: Extension url: h index: 15 elements: valueString: index: 16 slicing: slices: valueString: match: {} schema: {index: 16} postalCode: constraint: nl-postal-code-pattern: {human: Dutch postal code pattern 'nnnnAA', severity: error, expression: '(country in ''nl'' | ''nld'' | ''nederland'').not() or matches(''^\\d{4}[A-Z]{2}$'')'} index: 20 country: short: Country index: 21 extensions: countryCode: url: h type: Extension short: CountryGBACode | CountryISOCode index: 23 elements: valueCodeableConcept: short: CountryGBACode | CountryISOCode index: 24 slicing: slices: valueCodeableConcept: match: {} schema: short: CountryGBACode | CountryISOCode index: 24 elements: coding: index: 25 slicing: rules: open discriminator: - {path: $this, type: pattern} min: 1 slices: countryGBACodelist: match: {system: 'urn:oid:2.16.840.1.113883.2.4.4.16.34'} schema: pattern: type: Coding value: {system: 'urn:oid:2.16.840.1.113883.2.4.4.16.34'} index: 26 countryISOCodelist: match: {system: 'urn:iso:std:iso:3166'} schema: pattern: type: Coding value: {system: 'urn:iso:std:iso:3166'} index: 27 required: [coding] elements: extension: index: 22 slicing: rules: open discriminator: - {path: url, type: value} min: 0 slices: countryCode: match: {url: null} schema: type: Extension short: CountryGBACode | CountryISOCode url: h index: 23 elements: valueCodeableConcept: short: CountryGBACode | CountryISOCode index: 24 slicing: slices: valueCodeableConcept: match: {} schema: short: CountryGBACode | CountryISOCode index: 24 elements: coding: index: 25 slicing: rules: open discriminator: - {path: $this, type: pattern} min: 1 slices: countryGBACodelist: match: {system: 'urn:oid:2.16.840.1.113883.2.4.4.16.34'} schema: pattern: type: Coding value: {system: 'urn:oid:2.16.840.1.113883.2.4.4.16.34'} index: 26 countryISOCodelist: match: {system: 'urn:iso:std:iso:3166'} schema: pattern: type: Coding value: {system: 'urn:iso:std:iso:3166'} index: 27 required: [coding] district: {index: 18} package_version: 2.2.8 extensions: AddressType: url: h type: Extension index: 1 elements: valueCodeableConcept: short: AddressType index: 2 slicing: slices: valueCodeableConcept: match: {} schema: {short: AddressType, index: 2} official: {url: h, min: 0, max: 1, short: Mark an address as an 'officially registered' address., type: Extension, index: 3} class: complex-type kind: complex-type url: http://fhir.nl/fhir/StructureDefinition/nl-core-address base: http://hl7.org/fhir/StructureDefinition/Address version: 3.0.5