PackagesCanonicalsLogsProblems
    Packages
    ch.fhir.ig.ch-core@6.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-core
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:
            pattern: {type: Code, value: addressLine1}
            choices: [valueCode]
            index: 3
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    pattern: {type: Code, value: addressLine1}
                    choices: [valueCode]
                    index: 3
          valueCode:
            type: code
            pattern: {type: Code, value: addressLine1}
            choiceOf: value
            index: 4
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    type: code
                    pattern: {type: Code, value: addressLine1}
                    choiceOf: value
                    index: 4
      addressLine2:
        url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
        type: Extension
        index: 5
        elements:
          value:
            pattern: {type: Code, value: addressLine2}
            choices: [valueCode]
            index: 7
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    pattern: {type: Code, value: addressLine2}
                    choices: [valueCode]
                    index: 7
          valueCode:
            type: code
            pattern: {type: Code, value: addressLine2}
            choiceOf: value
            index: 8
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    type: code
                    pattern: {type: Code, value: addressLine2}
                    choiceOf: value
                    index: 8
      street:
        url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
        type: Extension
        index: 9
        elements:
          value:
            pattern: {type: Code, value: street}
            choices: [valueCode]
            index: 11
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    pattern: {type: Code, value: street}
                    choices: [valueCode]
                    index: 11
          valueCode:
            type: code
            pattern: {type: Code, value: street}
            choiceOf: value
            index: 12
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    type: code
                    pattern: {type: Code, value: street}
                    choiceOf: value
                    index: 12
      streetName: {url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName|5.3.0-ballot-tc1', min: 0, max: 1, type: Extension, short: 'street part of the street line, e.g. withouth housenumber', index: 13}
      houseNumber: {url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber|5.3.0-ballot-tc1', min: 0, max: 1, type: Extension, short: houseNumber part of the street line, index: 14}
      unitID: {url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-unitID|5.3.0-ballot-tc1', min: 0, max: 1, type: Extension, short: 'unitID, dwellingNumber part of the street line', index: 15}
      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: 16
        elements:
          value:
            pattern: {type: Code, value: postOfficeBoxText}
            choices: [valueCode]
            index: 18
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    pattern: {type: Code, value: postOfficeBoxText}
                    choices: [valueCode]
                    index: 18
          valueCode:
            type: code
            pattern: {type: Code, value: postOfficeBoxText}
            choiceOf: value
            index: 19
            slicing:
              slices:
                valueCode:
                  match: {}
                  schema:
                    type: code
                    pattern: {type: Code, value: postOfficeBoxText}
                    choiceOf: value
                    index: 19
      postOfficeBoxNumber: {url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox|5.3.0-ballot-tc1', min: 0, max: 1, type: Extension, short: Optional postOfficeBoxNumber as a separate part of the postOfficeBoxText, index: 20}
    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: addressLine1}
              schema:
                type: Extension
                url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
                index: 1
                elements:
                  value:
                    pattern: {type: Code, value: addressLine1}
                    choices: [valueCode]
                    index: 3
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            pattern: {type: Code, value: addressLine1}
                            choices: [valueCode]
                            index: 3
                  valueCode:
                    type: code
                    pattern: {type: Code, value: addressLine1}
                    choiceOf: value
                    index: 4
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            type: code
                            pattern: {type: Code, value: addressLine1}
                            choiceOf: value
                            index: 4
            addressLine2:
              match: {url: null, value: addressLine2}
              schema:
                type: Extension
                url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
                index: 5
                elements:
                  value:
                    pattern: {type: Code, value: addressLine2}
                    choices: [valueCode]
                    index: 7
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            pattern: {type: Code, value: addressLine2}
                            choices: [valueCode]
                            index: 7
                  valueCode:
                    type: code
                    pattern: {type: Code, value: addressLine2}
                    choiceOf: value
                    index: 8
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            type: code
                            pattern: {type: Code, value: addressLine2}
                            choiceOf: value
                            index: 8
            street:
              match: {url: null, value: street}
              schema:
                type: Extension
                url: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-10-linetype
                index: 9
                elements:
                  value:
                    pattern: {type: Code, value: street}
                    choices: [valueCode]
                    index: 11
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            pattern: {type: Code, value: street}
                            choices: [valueCode]
                            index: 11
                  valueCode:
                    type: code
                    pattern: {type: Code, value: street}
                    choiceOf: value
                    index: 12
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            type: code
                            pattern: {type: Code, value: street}
                            choiceOf: value
                            index: 12
            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|5.3.0-ballot-tc1', index: 13}
              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|5.3.0-ballot-tc1', index: 14}
              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|5.3.0-ballot-tc1', index: 15}
              min: 0
              max: 1
            postOfficeBoxText:
              match: {url: null, value: postOfficeBoxText}
              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: 16
                elements:
                  value:
                    pattern: {type: Code, value: postOfficeBoxText}
                    choices: [valueCode]
                    index: 18
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            pattern: {type: Code, value: postOfficeBoxText}
                            choices: [valueCode]
                            index: 18
                  valueCode:
                    type: code
                    pattern: {type: Code, value: postOfficeBoxText}
                    choiceOf: value
                    index: 19
                    slicing:
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            type: code
                            pattern: {type: Code, value: postOfficeBoxText}
                            choiceOf: value
                            index: 19
            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|5.3.0-ballot-tc1', index: 20}
              min: 0
              max: 1
  city:
    index: 21
    extensions:
      bfs: {url: 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-7-municipalityid', min: 0, max: 1, type: Extension, index: 23}
    elements:
      extension:
        index: 22
        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: 23}
              min: 0
              max: 1
  district: {index: 24}
  state:
    binding: {strength: example, valueSet: 'http://fhir.ch/ig/ch-core/ValueSet/ech-7-cantonabbreviation'}
    index: 25
  postalCode: {index: 26}
  country:
    index: 27
    extensions:
      countrycode:
        url: http://hl7.org/fhir/StructureDefinition/iso21090-codedString|5.3.0-ballot-tc1
        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: warning, 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: 29
    elements:
      extension:
        index: 28
        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: warning, 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-codedString|5.3.0-ballot-tc1
                index: 29
              min: 0
              max: 1
package_version: 6.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: 6.0.0