CH EKM (R4)
0.0.1 - ci-build Switzerland flag

CH EKM (R4), published by Federal Office of Public Health FOPH. This guide is not an authorized publication; it is the continuous build for version 0.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/ahdis/ch-ekm/ and changes regularly. See the Directory of published versions

Extension: ChEkmExtExposureAddress - Detailed Descriptions

Draft as of 2026-08-12

Definitions for the ch-ekm-ext-exposure-address extension.

Guidance on how to interpret the contents of this table can be foundhere

0. Extension
Definition

This CH EKM extension enables to provide the exposure address (the place where the patient was most likely exposed, form item 'Exposition: wo'). The country is given as an ISO 3166 code in Address.country plus the coded country in the iso21090-codedString extension; the precise location goes into Address.city. When the place of exposure is reported as unknown, the Address carries a data-absent-reason - on its own if nothing else was reported, or alongside a country/location that was reported as well (the form's 'Unbekannt' box does not suppress the other answers, see issue #26).


Optional Extension Element - found in all resources.

ShortCH EKM Extension: Exposure AddressOptional Extensions Element
Control0..*
This element is affected by the following invariants: ele-1
Is Modifierfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
2. Extension.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortExtensionAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..0*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 4. Extension.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuehttp://fhir.ch/ig/ch-ekm/StructureDefinition/ch-ekm-ext-exposure-address
    6. Extension.value[x]
    Definition

    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

    ShortExposure addressValue of extension
    Control10..1
    TypeAddress, date, Meta, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    8. Extension.value[x].extension:unknown
    Slice Nameunknown
    Definition

    Provides a reason why the expected value or elements in the element that is extended are missing.

    ShortPlace of exposure unknown (e.g. asked-unknown)
    Control0..1
    TypeExtension(Data Absent Reason) (Extension Type: code)
    Is Modifierfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    10. Extension.value[x].use
    Definition

    The purpose of this address.

    Shorthome | work | temp | old | billing - purpose of this address
    Comments

    Applications can assume that an address is current unless it explicitly says that it is temporary or old.

    Control0..1
    BindingThe codes SHALL be taken from AddressUsehttp://hl7.org/fhir/ValueSet/address-use|4.0.1
    (required to http://hl7.org/fhir/ValueSet/address-use|4.0.1)

    The use of an address.

    Typecode
    Is Modifiertrue because This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    Allows an appropriate address to be chosen from a list of many.

    ExampleGeneral: home
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    12. Extension.value[x].city
    Definition

    The name of the city, town, suburb, village or other community or delivery center.

    ShortPrecise location of exposure (Genauer Ort), in Switzerland/Liechtenstein or abroadName of city, town etc.
    Control0..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Alternate NamesMunicpality
    ExampleGeneral: Erewhon
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

    Guidance on how to interpret the contents of this table can be foundhere

    0. Extension
    Definition

    This CH EKM extension enables to provide the exposure address (the place where the patient was most likely exposed, form item 'Exposition: wo'). The country is given as an ISO 3166 code in Address.country plus the coded country in the iso21090-codedString extension; the precise location goes into Address.city. When the place of exposure is reported as unknown, the Address carries a data-absent-reason - on its own if nothing else was reported, or alongside a country/location that was reported as well (the form's 'Unbekannt' box does not suppress the other answers, see issue #26).

    ShortCH EKM Extension: Exposure Address
    2. Extension.extension
    Control0..0
    4. Extension.url
    Fixed Valuehttp://fhir.ch/ig/ch-ekm/StructureDefinition/ch-ekm-ext-exposure-address
    6. Extension.value[x]
    ShortExposure address
    Control1..?
    TypeAddress, date, Meta, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    8. Extension.value[x].extension:unknown
    Slice Nameunknown
    ShortPlace of exposure unknown (e.g. asked-unknown)
    Control0..1
    TypeExtension(Data Absent Reason) (Extension Type: code)
    10. Extension.value[x].city
    ShortPrecise location of exposure (Genauer Ort), in Switzerland/Liechtenstein or abroad
    12. Extension.value[x].country
    14. Extension.value[x].country.extension
    SlicingThis element introduces a set of slices on Extension.value[x].country.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 16. Extension.value[x].country.extension:countryCoding
      Slice NamecountryCoding
      ShortCountry of exposure as a Coding (ISO 3166)
      Control0..1
      TypeExtension(Coded string) (Extension Type: Coding)

      Guidance on how to interpret the contents of this table can be foundhere

      0. Extension
      Definition

      This CH EKM extension enables to provide the exposure address (the place where the patient was most likely exposed, form item 'Exposition: wo'). The country is given as an ISO 3166 code in Address.country plus the coded country in the iso21090-codedString extension; the precise location goes into Address.city. When the place of exposure is reported as unknown, the Address carries a data-absent-reason - on its own if nothing else was reported, or alongside a country/location that was reported as well (the form's 'Unbekannt' box does not suppress the other answers, see issue #26).

      ShortCH EKM Extension: Exposure Address
      Control0..*
      This element is affected by the following invariants: ele-1
      Is Modifierfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      2. Extension.id
      Definition

      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

      ShortUnique id for inter-element referencing
      Control0..1
      Typestring
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      4. Extension.extension
      Definition

      An Extension

      ShortExtension
      Control0..0
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingThis element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 6. Extension.url
        Definition

        Source of the definition for the extension code - a logical name or a URL.

        Shortidentifies the meaning of the extension
        Comments

        The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

        Control1..1
        Typeuri
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        Fixed Valuehttp://fhir.ch/ig/ch-ekm/StructureDefinition/ch-ekm-ext-exposure-address
        8. Extension.value[x]
        Definition

        Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

        ShortExposure address
        Control1..1
        TypeAddress
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        10. Extension.value[x].id
        Definition

        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

        ShortUnique id for inter-element referencing
        Control0..1
        Typestring
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        12. Extension.value[x].extension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

        ShortAdditional content defined by implementations
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        SlicingThis element introduces a set of slices on Extension.value[x].extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 14. Extension.value[x].extension:unknown
          Slice Nameunknown
          Definition

          Provides a reason why the expected value or elements in the element that is extended are missing.

          ShortPlace of exposure unknown (e.g. asked-unknown)
          Control0..1
          TypeExtension(Data Absent Reason) (Extension Type: code)
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          16. Extension.value[x].use
          Definition

          The purpose of this address.

          Shorthome | work | temp | old | billing - purpose of this address
          Comments

          Applications can assume that an address is current unless it explicitly says that it is temporary or old.

          Control0..1
          BindingThe codes SHALL be taken from AddressUse
          (required to http://hl7.org/fhir/ValueSet/address-use|4.0.1)

          The use of an address.

          Typecode
          Is Modifiertrue because This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Requirements

          Allows an appropriate address to be chosen from a list of many.

          ExampleGeneral: home
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          18. Extension.value[x].type
          Definition

          Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.

          Shortpostal | physical | both
          Comments

          The definition of Address states that "address is intended to describe postal addresses, not physical locations". However, many applications track whether an address has a dual purpose of being a location that can be visited as well as being a valid delivery destination, and Postal addresses are often used as proxies for physical locations (also see the Location resource).

          Control0..1
          BindingThe codes SHALL be taken from AddressType
          (required to http://hl7.org/fhir/ValueSet/address-type|4.0.1)

          The type of an address (physical / postal).

          Typecode
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          ExampleGeneral: both
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          20. Extension.value[x].text
          Definition

          Specifies the entire address as it should be displayed e.g. on a postal label. This may be provided instead of or as well as the specific parts.

          ShortText representation of the address
          Comments

          Can provide both a text representation and parts. Applications updating an address SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.

          Control0..1
          Typestring
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Requirements

          A renderable, unencoded form.

          ExampleGeneral: 137 Nowhere Street, Erewhon 9132
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          22. Extension.value[x].line
          Definition

          This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.

          ShortStreet name, number, direction & P.O. Box etc.
          Control0..*
          Typestring
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          ExampleGeneral: 137 Nowhere Street
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          24. Extension.value[x].city
          Definition

          The name of the city, town, suburb, village or other community or delivery center.

          ShortPrecise location of exposure (Genauer Ort), in Switzerland/Liechtenstein or abroad
          Control0..1
          Typestring
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Alternate NamesMunicpality
          ExampleGeneral: Erewhon
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          26. Extension.value[x].district
          Definition

          The name of the administrative area (county).

          ShortDistrict name (aka county)
          Comments

          District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.

          Control0..1
          Typestring
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Alternate NamesCounty
          ExampleGeneral: Madison
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          28. Extension.value[x].state
          Definition

          Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes).

          ShortSub-unit of country (abbreviations ok)
          Control0..1
          Typestring
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Alternate NamesProvince, Territory
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          30. Extension.value[x].postalCode
          Definition

          A postal code designating a region defined by the postal service.

          ShortPostal code for area
          Control0..1
          Typestring
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Alternate NamesZip
          ExampleGeneral: 9132
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          32. Extension.value[x].country
          Definition

          Country - a nation as commonly understood or generally accepted.

          ShortCountry (e.g. can be ISO 3166 2 or 3 letter code)
          Comments

          ISO 3166 3 letter codes can be used in place of a human readable country name.

          Control0..1
          Typestring
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          34. Extension.value[x].country.id
          Definition

          unique id for the element within a resource (for internal references)

          Shortxml:id (or equivalent in JSON)
          Control0..1
          Typestring
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          36. Extension.value[x].country.extension
          Definition

          An Extension

          ShortExtension
          Control0..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          SlicingThis element introduces a set of slices on Extension.value[x].country.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 38. Extension.value[x].country.extension:countryCoding
            Slice NamecountryCoding
            Definition

            Provides a coded expression for the content represented in a string.

            ShortCountry of exposure as a Coding (ISO 3166)
            Control0..1
            This element is affected by the following invariants: ele-1
            TypeExtension(Coded string) (Extension Type: Coding)
            Is Modifierfalse
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            40. Extension.value[x].country.value
            Definition

            The actual value

            ShortPrimitive value for string
            Control0..1
            Typestring
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            Max Length:1048576
            42. Extension.value[x].period
            Definition

            Time period when address was/is in use.

            ShortTime period when address was/is in use
            Control0..1
            TypePeriod
            Is Modifierfalse
            Summarytrue
            Requirements

            Allows addresses to be placed in historical context.

            ExampleGeneral: { "start" : "2010-03-23", "end" : "2010-07-01" }
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))