PackagesCanonicalsLogsProblems
    Packages
    ch.fhir.ig.ch@core-4.0.0
    http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-address
description: address incorporating eCH-0010 postal address extensions
package_name: ch.fhir.ig.ch
derivation: constraint
name: CHCoreAddress
type: Address
elements:
  line:
    extensions:
      addressLine1:
        url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
        type: Extension
        index: 1
        elements:
          value:
            choices: []
            index: 3
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    pattern: {type: Code, value: addressLine1}
                    choices: [valueCode]
                    _required: true
                    index: 5
                  min: 1
          valueCode:
            type: code
            pattern: {type: Code, value: addressLine1}
            choiceOf: value
            index: 6
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    type: code
                    pattern: {type: Code, value: addressLine1}
                    choiceOf: value
                    _required: true
                    index: 6
                  min: 1
        required: [valueCode, value]
      addressLine2:
        url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
        type: Extension
        index: 7
        elements:
          value:
            choices: []
            index: 9
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    pattern: {type: Code, value: addressLine2}
                    choices: [valueCode]
                    _required: true
                    index: 11
                  min: 1
          valueCode:
            type: code
            pattern: {type: Code, value: addressLine2}
            choiceOf: value
            index: 12
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    type: code
                    pattern: {type: Code, value: addressLine2}
                    choiceOf: value
                    _required: true
                    index: 12
                  min: 1
        required: [valueCode, value]
      street:
        url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
        type: Extension
        index: 13
        elements:
          value:
            choices: []
            index: 15
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    pattern: {type: Code, value: street}
                    choices: [valueCode]
                    _required: true
                    index: 17
                  min: 1
          valueCode:
            type: code
            pattern: {type: Code, value: street}
            choiceOf: value
            index: 18
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    type: code
                    pattern: {type: Code, value: street}
                    choiceOf: value
                    _required: true
                    index: 18
                  min: 1
        required: [valueCode, value]
      streetName: {url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName', min: 0, max: 1, type: Extension, short: 'street part of the street line, e.g. withouth housenumber', index: 19}
      houseNumber: {url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber', min: 0, max: 1, type: Extension, short: houseNumber part of the street line, index: 20}
      unitID: {url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-unitID', min: 0, max: 1, type: Extension, short: 'unitID, dwellingNumber part of the street line', index: 21}
      postOfficeBoxText:
        url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
        type: Extension
        short: Postbox addresses need an postbox text and optional postbox number
        index: 22
        elements:
          value:
            choices: []
            index: 24
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    pattern: {type: Code, value: postOfficeBoxText}
                    choices: [valueCode]
                    _required: true
                    index: 26
                  min: 1
          valueCode:
            type: code
            pattern: {type: Code, value: postOfficeBoxText}
            choiceOf: value
            index: 27
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    type: code
                    pattern: {type: Code, value: postOfficeBoxText}
                    choiceOf: value
                    _required: true
                    index: 27
                  min: 1
        required: [valueCode, value]
      postOfficeBoxNumber: {url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox', min: 0, max: 1, type: Extension, short: Optional postOfficeBoxNumber as a separate part of the postOfficeBoxText, index: 28}
    elements:
      extension:
        index: 0
        slicing:
          rules: open
          ordered: true
          discriminator:
          - {path: url, type: value}
          - {path: value, type: value}
          min: null
          slices:
            addressLine1:
              match: {url: null, value: null}
              schema:
                type: Extension
                url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
                index: 1
                elements:
                  value:
                    choices: []
                    index: 3
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            pattern: {type: Code, value: addressLine1}
                            choices: [valueCode]
                            _required: true
                            index: 5
                          min: 1
                  valueCode:
                    type: code
                    pattern: {type: Code, value: addressLine1}
                    choiceOf: value
                    index: 6
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            type: code
                            pattern: {type: Code, value: addressLine1}
                            choiceOf: value
                            _required: true
                            index: 6
                          min: 1
                required: [valueCode, value]
            addressLine2:
              match: {url: null, value: null}
              schema:
                type: Extension
                url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
                index: 7
                elements:
                  value:
                    choices: []
                    index: 9
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            pattern: {type: Code, value: addressLine2}
                            choices: [valueCode]
                            _required: true
                            index: 11
                          min: 1
                  valueCode:
                    type: code
                    pattern: {type: Code, value: addressLine2}
                    choiceOf: value
                    index: 12
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            type: code
                            pattern: {type: Code, value: addressLine2}
                            choiceOf: value
                            _required: true
                            index: 12
                          min: 1
                required: [valueCode, value]
            street:
              match: {url: null, value: null}
              schema:
                type: Extension
                url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
                index: 13
                elements:
                  value:
                    choices: []
                    index: 15
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            pattern: {type: Code, value: street}
                            choices: [valueCode]
                            _required: true
                            index: 17
                          min: 1
                  valueCode:
                    type: code
                    pattern: {type: Code, value: street}
                    choiceOf: value
                    index: 18
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            type: code
                            pattern: {type: Code, value: street}
                            choiceOf: value
                            _required: true
                            index: 18
                          min: 1
                required: [valueCode, value]
            streetName:
              match: {url: null, value: null}
              schema: {type: Extension, short: 'street part of the street line, e.g. withouth housenumber', url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName', index: 19}
              min: 0
              max: 1
            houseNumber:
              match: {url: null, value: null}
              schema: {type: Extension, short: houseNumber part of the street line, url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber', index: 20}
              min: 0
              max: 1
            unitID:
              match: {url: null, value: null}
              schema: {type: Extension, short: 'unitID, dwellingNumber part of the street line', url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-unitID', index: 21}
              min: 0
              max: 1
            postOfficeBoxText:
              match: {url: null, value: null}
              schema:
                type: Extension
                short: Postbox addresses need an postbox text and optional postbox number
                url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
                index: 22
                elements:
                  value:
                    choices: []
                    index: 24
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            pattern: {type: Code, value: postOfficeBoxText}
                            choices: [valueCode]
                            _required: true
                            index: 26
                          min: 1
                  valueCode:
                    type: code
                    pattern: {type: Code, value: postOfficeBoxText}
                    choiceOf: value
                    index: 27
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            type: code
                            pattern: {type: Code, value: postOfficeBoxText}
                            choiceOf: value
                            _required: true
                            index: 27
                          min: 1
                required: [valueCode, value]
            postOfficeBoxNumber:
              match: {url: null, value: null}
              schema: {type: Extension, short: Optional postOfficeBoxNumber as a separate part of the postOfficeBoxText, url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox', index: 28}
              min: 0
              max: 1
  city:
    index: 29
    extensions:
      bfs: {url: 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-7-municipalityid', min: 0, max: 1, type: Extension, index: 31}
    elements:
      extension:
        index: 30
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            bfs:
              match: {url: null}
              schema: {type: Extension, url: 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-7-municipalityid', index: 31}
              min: 0
              max: 1
  district: {index: 32}
  state:
    binding: {strength: example, valueSet: 'http://fhir.ch/ig/ch-core/ValueSet/ech-7-cantonflabbreviation'}
    index: 33
  postalCode: {index: 34}
  country:
    index: 35
    extensions:
      countrycode:
        url: http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding
        min: 0
        max: 1
        constraint:
          ch-addr-1: {human: ISO Country Alpha-2 or ISO Country Alpha-3 code, source: 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-address', severity: error, expression: '((value.code.length()=2) and value.code.memberOf(''http://hl7.org/fhir/ValueSet/iso3166-1-2'')) or ((value.code.length() = 3) and value.code.memberOf(''http://hl7.org/fhir/ValueSet/iso3166-1-3''))'}
        short: ISO Country Alpha-2 or ISO Country Alpha-3 code
        type: Extension
        index: 37
    elements:
      extension:
        index: 36
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            countrycode:
              match: {url: null}
              schema:
                constraint:
                  ch-addr-1: {human: ISO Country Alpha-2 or ISO Country Alpha-3 code, source: 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-address', severity: error, expression: '((value.code.length()=2) and value.code.memberOf(''http://hl7.org/fhir/ValueSet/iso3166-1-2'')) or ((value.code.length() = 3) and value.code.memberOf(''http://hl7.org/fhir/ValueSet/iso3166-1-3''))'}
                short: ISO Country Alpha-2 or ISO Country Alpha-3 code
                type: Extension
                url: http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding
                index: 37
              min: 0
              max: 1
package_version: core-4.0.0
class: complex-type
kind: complex-type
url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-address
base: http://hl7.org/fhir/StructureDefinition/Address
version: 4.0.0