PackagesCanonicalsLogsProblems
    Packages
    nictiz.fhir.nl.stu3.zib2017@1.1.1
    http://fhir.nl/fhir/StructureDefinition/nl-core-address
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:
      LandGBACodelijst:
        url: h
        type: Extension
        short: LandGBACode
        index: 24
        elements:
          valueCodeableConcept:
            index: 25
            slicing:
              slices:
                valueCodeableConcept:
                  match: {}
                  schema: {index: 25}
      LandISOCodelijst:
        url: h
        type: Extension
        short: LandISOCode
        index: 26
        elements:
          valueCodeableConcept:
            index: 27
            slicing:
              slices:
                valueCodeableConcept:
                  match: {}
                  schema: {index: 27}
    elements:
      extension:
        index: 23
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          - {path: value.coding.system, type: value}
          min: null
          slices:
            LandGBACodelijst:
              match:
                url: null
                value:
                  coding: {system: null}
              schema:
                type: Extension
                short: LandGBACode
                url: h
                index: 24
                elements:
                  valueCodeableConcept:
                    index: 25
                    slicing:
                      slices:
                        valueCodeableConcept:
                          match: {}
                          schema: {index: 25}
            LandISOCodelijst:
              match:
                url: null
                value:
                  coding: {system: null}
              schema:
                type: Extension
                short: LandISOCode
                url: h
                index: 26
                elements:
                  valueCodeableConcept:
                    index: 27
                    slicing:
                      slices:
                        valueCodeableConcept:
                          match: {}
                          schema: {index: 27}
  district: {index: 19}
package_version: 1.1.1
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.2