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: 2 extensions: AD_use: url: h type: Extension short: Further define the address use with the exact HCIM code. index: 4 elements: valueCode: index: 5 slicing: slices: valueCode: match: {} schema: {index: 5} elements: extension: index: 3 slicing: rules: open discriminator: - {path: url, type: value} min: null slices: AD_use: match: {url: null} schema: type: Extension short: Further define the address use with the exact HCIM code. url: h index: 4 elements: valueCode: index: 5 slicing: slices: valueCode: match: {} schema: {index: 5} city: {index: 18} type: {index: 6} state: {short: Sub-unit of country (abbreviations ok)., index: 20} extension: index: 0 slicing: rules: open discriminator: - {path: url, type: value} min: null slices: official: match: {url: null} schema: {short: Mark an address as an 'officially registered' address., type: Extension, url: h, index: 1} max: 1 line: extensions: streetName: url: h type: Extension index: 8 elements: valueString: index: 9 slicing: slices: valueString: match: {} schema: {index: 9} houseNumber: url: h type: Extension index: 10 elements: valueString: index: 11 slicing: slices: valueString: match: {} schema: {index: 11} buildingNumbersuffix: url: h type: Extension index: 12 elements: valueString: index: 13 slicing: slices: valueString: match: {} schema: {index: 13} unitID: url: h type: Extension index: 14 elements: valueString: index: 15 slicing: slices: valueString: match: {} schema: {index: 15} additionalLocator: url: h type: Extension index: 16 elements: valueString: index: 17 slicing: slices: valueString: match: {} schema: {index: 17} elements: extension: index: 7 slicing: rules: open discriminator: - {path: url, type: value} min: null slices: streetName: match: {url: null} schema: type: Extension url: h index: 8 elements: valueString: index: 9 slicing: slices: valueString: match: {} schema: {index: 9} houseNumber: match: {url: null} schema: type: Extension url: h index: 10 elements: valueString: index: 11 slicing: slices: valueString: match: {} schema: {index: 11} buildingNumbersuffix: match: {url: null} schema: type: Extension url: h index: 12 elements: valueString: index: 13 slicing: slices: valueString: match: {} schema: {index: 13} unitID: match: {url: null} schema: type: Extension url: h index: 14 elements: valueString: index: 15 slicing: slices: valueString: match: {} schema: {index: 15} additionalLocator: match: {url: null} schema: type: Extension url: h index: 16 elements: valueString: index: 17 slicing: slices: valueString: match: {} schema: {index: 17} 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: 21 country: short: Country (can be ISO 3166 3 letter code) index: 22 extensions: countryCode: url: h type: Extension short: CountryGBACode | CountryISOCode index: 24 elements: valueCodeableConcept: short: CountryGBACode | CountryISOCode index: 25 slicing: slices: valueCodeableConcept: match: {} schema: short: CountryGBACode | CountryISOCode index: 25 elements: coding: index: 26 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: 27 countryISOCodelist: match: {system: 'urn:iso:std:iso:3166'} schema: pattern: type: Coding value: {system: 'urn:iso:std:iso:3166'} index: 28 required: [coding] elements: extension: index: 23 slicing: rules: open discriminator: - {path: url, type: value} min: null slices: countryCode: match: {url: null} schema: type: Extension short: CountryGBACode | CountryISOCode url: h index: 24 elements: valueCodeableConcept: short: CountryGBACode | CountryISOCode index: 25 slicing: slices: valueCodeableConcept: match: {} schema: short: CountryGBACode | CountryISOCode index: 25 elements: coding: index: 26 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: 27 countryISOCodelist: match: {system: 'urn:iso:std:iso:3166'} schema: pattern: type: Coding value: {system: 'urn:iso:std:iso:3166'} index: 28 required: [coding] district: {index: 19} package_version: 1.3.12 extensions: official: {url: h, max: 1, short: Mark an address as an 'officially registered' address., type: Extension, index: 1} class: complex-type kind: complex-type url: http://fhir.nl/fhir/StructureDefinition/nl-core-address base: http://hl7.org/fhir/StructureDefinition/Address version: 2.0.4