Netherlands - Generic Functions for data exchange Implementation Guide
0.2.0 - ci-build

Netherlands - Generic Functions for data exchange Implementation Guide, published by Stichting Nuts. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/nuts-foundation/nl-generic-functions-ig/ and changes regularly. See the Directory of published versions

## Resource Profile: NlGfLocation - Detailed Descriptions

Draft as of 2025-11-24

Definitions for the nl-gf-location resource profile.

- Key Elements Table
- Differential Elements Table
- Snapshot Elements Table

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

0. Location
Definition | Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
Short | HealthcareProvider / OrganizationLocationDetails and position information for a physical place
Comments | The zib HealthcareProvider is mapped to this Location profile and a profile on Organization (http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthcareProvider-Organization). This Location profile acts as the focal resource of the HealthcareProvider because most references to this zib are concerned about the recording of the physical location where the care to patient/client takes place rather than the organizational information. For the latter, the profile on Organization is used which is referenced using the `managingOrganization` element. Healthcare providers usually consist of multiple organizational levels and physical locations. The hierarchical structure may be captured by using multiple instances of this HealthcareProvider profile using the `Location.partOf` element to refer to their parent Location. Each instance refers the nl-core-HealthcareProvider-Organization at the appropriate level in the hierarchy. In consultation with 'Registratie aan de Bron', it is agreed to not include the zib concept LocationNumber (NL-CM:17.2.10) due to several reasons. Firstly, its use in the Dutch realm is unclear as this concept was initiated for the Belgium realm with specific requirements. Secondly, it cannot be mapped neatly in the FHIR model which would require the use of an extension. To avoid implementation of specific and not-used FHIR requirements, it is advised to create and use an extension at the use case level where this concept is deemed necessary.
Control | 0..*
Is Modifier | false
Summary | false
Alternate Names | OrganisatieLocatie, Zorgaanbieder, nl-core-HealthcareProvider
Invariants | dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty()) dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()) dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()) dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty()) dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. Location.implicitRules
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Short | A set of rules under which this content was created
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Control | 0..01
Type | uri
Is Modifier | true because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Location.modifierExtension
Definition | An Extension May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | ExtensionExtensions that cannot be ignored
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.
Control | 0..0*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Summary | false
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content
Invariants | ele-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())
6. Location.status
Definition | The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location.
Short | active | suspended | inactive
Control | 10..1
Binding | The codes SHALL be taken from LocationStatus http://hl7.org/fhir/ValueSet/location-status|4.0.1 (required to `http://hl7.org/fhir/ValueSet/location-status|4.0.1` ) Indicates whether the location is still in use.
Type | code
Is Modifier | true because This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
8. Location.name
Definition | Name of the location. Name of the location as used by humans. Does not need to be unique.
Short | LocationNameName of the location as used by humans
Comments | If the name of a location changes, consider putting the old name in the alias column so that it can still be located through searches.
Control | 10..1
Type | string
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Alternate Names | LocatieNaam
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. Location.type
Definition | Indicates the type of function performed at the location.
Short | Type of function performed
Control | 10..*
Binding | Unless not suitable, these codes SHALL be taken from ServiceDeliveryLocationRoleType http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType (extensible to `http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType` ) Indicates the type of function performed at the location.
Type | CodeableConcept
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. Location.telecom
Definition | The information needed to contact the healthcare organization via telephone and/or e-mail. The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.
Short | ContactInformationContact details of the location
Comments | The cardinality mismatch between the zib (`0..1`) and FHIR (`0..*`) is explained by the containers TelephoneNumbers (`0..*`) and EmailAddresses (`0..*`) inside the ContactInformation model. The FHIR datatype ContactPoint does not have these containers.
Control | 0..*
Type | ContactPoint
Is Modifier | false
Summary | false
Alternate Names | Contactgegevens
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
Slicing | This element introduces a set of slices on `Location.telecom`. The slices areUnordered and Open, and can be differentiated using the following discriminators: profile @ $this
14. Location.telecom:telephoneNumbers
Slice Name | telephoneNumbers
Definition | Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.
Short | TelephoneNumbersContact details of the location
Comments | Implementation of the "TelephoneNumbers" concept of zib ContactInformation. Please note that, although the zib concepts TelecomType and NumberType are functionally equivalent to the FHIR concepts `ContactPoint.system` and `ContactPoint.use` respectively, a mismatch occurs on the concept of mobile phone numbers; the zib uses the first concept and FHIR the second. For this reason, the ValueSet on `ContactPoint.system` is too narrow and the zib code will need to be communicated using the ext-CodeSpecification extension.
Control | 0..* This element is affected by the following invariants: ele-1
Type | ContactPoint(nl core ContactInformation TelephoneNumbers)
Is Modifier | false
Standard Status | Normative (from Trial Use)
Summary | false
Alternate Names | Telefoonnummers, nl-core-ContactInformation-TelephoneNumbers
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) cpt-2: A system is required if a value is provided. (`value.empty() or system.exists()`)
16. Location.telecom:emailAddresses
Slice Name | emailAddresses
Definition | Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.
Short | EmailAddressesContact details of the location
Comments | Implementation of the "EmailAddresses" concept of zib ContactInformation.
Control | 0..* This element is affected by the following invariants: ele-1
Type | ContactPoint(nl core ContactInformation EmailAddresses)
Is Modifier | false
Standard Status | Normative (from Trial Use)
Summary | false
Alternate Names | EmailAdressen, nl-core-ContactInformation-EmailAddresses
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) cpt-2: A system is required if a value is provided. (`value.empty() or system.exists()`)
18. Location.managingOrganization
Definition | The organization responsible for the provisioning and upkeep of the location.
Short | Organization responsible for provisioning and upkeep
Comments | This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource.
Control | 10..1
Type | Reference(Organization, nl core HealthcareProvider Organization, Organization)
Is Modifier | false
Summary | true
Requirements | Need to know who manages the location.
Invariants | ele-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. Location
2. Location.implicitRules
Control | 0..0
4. Location.modifierExtension
Control | 0..0
6. Location.status
Control | 1..?
8. Location.name
Control | 1..?
10. Location.type
Control | 1..?
12. Location.managingOrganization
Control | 1..?

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

0. Location
Definition | Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
Short | HealthcareProvider / OrganizationLocation
Comments | The zib HealthcareProvider is mapped to this Location profile and a profile on Organization (http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthcareProvider-Organization). This Location profile acts as the focal resource of the HealthcareProvider because most references to this zib are concerned about the recording of the physical location where the care to patient/client takes place rather than the organizational information. For the latter, the profile on Organization is used which is referenced using the `managingOrganization` element. Healthcare providers usually consist of multiple organizational levels and physical locations. The hierarchical structure may be captured by using multiple instances of this HealthcareProvider profile using the `Location.partOf` element to refer to their parent Location. Each instance refers the nl-core-HealthcareProvider-Organization at the appropriate level in the hierarchy. In consultation with 'Registratie aan de Bron', it is agreed to not include the zib concept LocationNumber (NL-CM:17.2.10) due to several reasons. Firstly, its use in the Dutch realm is unclear as this concept was initiated for the Belgium realm with specific requirements. Secondly, it cannot be mapped neatly in the FHIR model which would require the use of an extension. To avoid implementation of specific and not-used FHIR requirements, it is advised to create and use an extension at the use case level where this concept is deemed necessary.
Control | 0..*
Is Modifier | false
Summary | false
Alternate Names | OrganisatieLocatie, Zorgaanbieder, nl-core-HealthcareProvider
Invariants | dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (`contained.contained.empty()`) dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (`contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`) dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (`contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`) dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (`contained.meta.security.empty()`) dom-6: A resource should have narrative for robust management (`text.`div`.exists()`)
2. Location.id
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Short | Logical id of this artifact
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
Control | 0..1
Type | id
Is Modifier | false
Summary | true
4. Location.meta
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
Short | Metadata about the resource
Control | 0..1
Type | Meta
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
6. Location.implicitRules
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Short | A set of rules under which this content was created
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Control | 0..0
Type | uri
Is Modifier | true because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
8. Location.language
Definition | The base language in which the resource is written.
Short | Language of the resource content
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
Control | 0..1
Binding | The codes SHOULD be taken from CommonLanguages (preferred to `http://hl7.org/fhir/ValueSet/languages` ) A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Type | code
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
10. Location.text
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Short | Text summary of the resource, for human interpretation
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
Control | 0..1
Type | Narrative
Is Modifier | false
Summary | false
Alternate Names | narrative, html, xhtml, display
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
12. Location.contained
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Short | Contained, inline Resources
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
Control | 0..*
Type | Resource
Is Modifier | false
Summary | false
Alternate Names | inline resources, anonymous resources, contained resources
14. Location.extension
Definition | May be used to represent additional information that is not part of the basic definition of the resource. 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.
Short | Additional 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.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-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. Location.modifierExtension
Definition | An Extension
Short | Extension
Control | 0..0
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Summary | false
Invariants | ele-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()`)
18. Location.identifier
Definition | Unique code or number identifying the location to its users.
Short | Unique code or number identifying the location to its users
Note | This is a business identifier, not a resource identifier (see discussion)
Control | 0..*
Type | Identifier
Is Modifier | false
Summary | true
Requirements | Organization label locations in registries, need to keep track of those.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
20. Location.status
Definition | The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location.
Short | active | suspended | inactive
Control | 1..1
Binding | The codes SHALL be taken from LocationStatus (required to `http://hl7.org/fhir/ValueSet/location-status|4.0.1` ) Indicates whether the location is still in use.
Type | code
Is Modifier | true because This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
22. Location.operationalStatus
Definition | The operational status covers operation values most relevant to beds (but can also apply to rooms/units/chairs/etc. such as an isolation unit/dialysis chair). This typically covers concepts such as contamination, housekeeping, and other activities like maintenance.
Short | The operational status of the location (typically only for a bed/room)
Control | 0..1
Binding | The codes SHOULD be taken from hl7VS-bedStatus (preferred to `http://terminology.hl7.org/ValueSet/v2-0116` ) The operational status if the location (where typically a bed/room).
Type | Coding
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
24. Location.name
Definition | Name of the location.
Short | LocationName
Comments | If the name of a location changes, consider putting the old name in the alias column so that it can still be located through searches.
Control | 1..1
Type | string
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Alternate Names | LocatieNaam
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
26. Location.alias
Definition | A list of alternate names that the location is known as, or was known as, in the past.
Short | A list of alternate names that the location is known as, or was known as, in the past
Comments | There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location.
Control | 0..*
Type | string
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Requirements | Over time locations and organizations go through many changes and can be known by different names. For searching knowing previous names that the location was known by can be very useful.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
28. Location.description
Definition | Description of the Location, which helps in finding or referencing the place.
Short | Additional details about the location that could be displayed as further information to identify the location beyond its name
Control | 0..1
Type | string
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Humans need additional information to verify a correct location has been identified.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
30. Location.mode
Definition | Indicates whether a resource instance represents a specific location or a class of locations.
Short | instance | kind
Comments | This is labeled as a modifier because whether or not the location is a class of locations changes how it can be used and understood.
Control | 0..1
Binding | The codes SHALL be taken from LocationMode (required to `http://hl7.org/fhir/ValueSet/location-mode|4.0.1` ) Indicates whether a resource instance represents a specific location or a class of locations.
Type | code
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | When using a Location resource for scheduling or orders, we need to be able to refer to a class of Locations instead of a specific Location.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
32. Location.type
Definition | Indicates the type of function performed at the location.
Short | Type of function performed
Control | 1..*
Binding | Unless not suitable, these codes SHALL be taken from ServiceDeliveryLocationRoleType (extensible to `http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType` ) Indicates the type of function performed at the location.
Type | CodeableConcept
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
34. Location.telecom
Definition | The information needed to contact the healthcare organization via telephone and/or e-mail.
Short | ContactInformation
Comments | The cardinality mismatch between the zib (`0..1`) and FHIR (`0..*`) is explained by the containers TelephoneNumbers (`0..*`) and EmailAddresses (`0..*`) inside the ContactInformation model. The FHIR datatype ContactPoint does not have these containers.
Control | 0..*
Type | ContactPoint
Is Modifier | false
Summary | false
Alternate Names | Contactgegevens
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
Slicing | This element introduces a set of slices on `Location.telecom`. The slices areUnordered and Open, and can be differentiated using the following discriminators: profile @ $this
36. Location.telecom:telephoneNumbers
Slice Name | telephoneNumbers
Definition | Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
Short | TelephoneNumbers
Comments | Implementation of the "TelephoneNumbers" concept of zib ContactInformation. Please note that, although the zib concepts TelecomType and NumberType are functionally equivalent to the FHIR concepts `ContactPoint.system` and `ContactPoint.use` respectively, a mismatch occurs on the concept of mobile phone numbers; the zib uses the first concept and FHIR the second. For this reason, the ValueSet on `ContactPoint.system` is too narrow and the zib code will need to be communicated using the ext-CodeSpecification extension.
Control | 0..* This element is affected by the following invariants: ele-1
Type | ContactPoint(nl core ContactInformation TelephoneNumbers)
Is Modifier | false
Standard Status | Normative (from Trial Use)
Summary | false
Alternate Names | Telefoonnummers, nl-core-ContactInformation-TelephoneNumbers
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) cpt-2: A system is required if a value is provided. (`value.empty() or system.exists()`)
38. Location.telecom:emailAddresses
Slice Name | emailAddresses
Definition | Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
Short | EmailAddresses
Comments | Implementation of the "EmailAddresses" concept of zib ContactInformation.
Control | 0..* This element is affected by the following invariants: ele-1
Type | ContactPoint(nl core ContactInformation EmailAddresses)
Is Modifier | false
Standard Status | Normative (from Trial Use)
Summary | false
Alternate Names | EmailAdressen, nl-core-ContactInformation-EmailAddresses
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) cpt-2: A system is required if a value is provided. (`value.empty() or system.exists()`)
40. Location.address
Definition | An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.
Short | AddressInformation
Comments | This datatype defines a common basis for expressing all addresses around the world, but adds extensions to express Dutch addresses specifically, according to the zib AddressInformation v1.1 (2020). A Dutch Address still is a proper FHIR Address, which means that systems that cannot interpret the extensions will still be able to render and work with this datatype. To have true compatibility an implementer SHOULD use the core Address parts as intended. To have addresses work for Dutch context, the implementer SHOULD in addition use the extension elements. Separate address parts The first addition is that Dutch addresses make certain address parts separately communicable. These parts are required for use in true Dutch systems when dealing with Dutch addresses, but may not have value for international systems when information gets sent abroad. Custom address types The second addition is that the zib defines its own ValueSet for address types, which can only be partially expressed using the FHIR Address datatype and requires a mapping to multiple elements. The table below explains how the zib concepts are mapped to the various FHIR elements (see the ConceptMaps http://nictiz.nl/fhir/ConceptMap/AdresSoortCodelijst-to-AddressUse and http://nictiz.nl/fhir/ConceptMap/AdresSoortCodelijst-to-AddressType as well). The code from the zib should also be included using the extension on `Address.extension:addressType`.
zib | .ext:addressType | .use | .type
--- | --- | --- | ---
Postal Address/Postadres | PST |  | postal
Primary Home/Officieel adres | HP | home | both
Visit Address/Woon-/verblijfadres | PHYS | home | physical
Temporary Address/Tijdelijk adres | TMP | temp |
Work Place/Werkadres | WP | work |
Vacation Home/Vakantie adres | HV | temp |
If `Address.type` is both then this is to be understood as a dual purpose address (postal and physical), unless a specific postal type address is added. Systems that support importing it like this are encouraged to do so, otherwise they may need to import this as two separate addresses. Note: FHIR core defines the AD-use extension to further specify the postal address type. However, the ValueSet used in that extension doesn't completely match the zib ValueSet. Therefore, a custom extension has been made. This doesn't preclude the use of the AD-use extension.
Control | 0..1 This element is affected by the following invariants: ele-1
Type | Address(nl core AddressInformation)
Is Modifier | false
Summary | false
Requirements | If locations can be visited, we need to keep track of their address.
Alternate Names | Adresgegevens, nl-core-AddressInformation
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
42. Location.physicalType
Definition | Physical form of the location, e.g. building, room, vehicle, road.
Short | Physical form of the location
Control | 0..1
Binding | For example codes, see LocationType (example to `http://hl7.org/fhir/ValueSet/location-physical-type` ) Physical form of the location.
Type | CodeableConcept
Is Modifier | false
Summary | true
Requirements | For purposes of showing relevant locations in queries, we need to categorize locations.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
44. Location.position
Definition | The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).
Short | The absolute geographic location
Control | 0..1
Type | BackboneElement
Is Modifier | false
Summary | false
Requirements | For mobile applications and automated route-finding knowing the exact location of the Location is required.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
46. Location.position.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
48. Location.position.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.
Short | Additional 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.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-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()`)
50. Location.position.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored even if unrecognized
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.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content, modifiers
Invariants | ele-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()`)
52. Location.position.longitude
Definition | Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).
Short | Longitude with WGS84 datum
Control | 1..1
Type | decimal
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
54. Location.position.latitude
Definition | Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).
Short | Latitude with WGS84 datum
Control | 1..1
Type | decimal
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
56. Location.position.altitude
Definition | Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below).
Short | Altitude with WGS84 datum
Control | 0..1
Type | decimal
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
58. Location.managingOrganization
Definition | The organization responsible for the provisioning and upkeep of the location.
Short | Organization responsible for provisioning and upkeep
Comments | This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource.
Control | 1..1
Type | Reference(Organization, nl core HealthcareProvider Organization)
Is Modifier | false
Summary | true
Requirements | Need to know who manages the location.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
60. Location.partOf
Definition | Another Location of which this Location is physically a part of.
Short | Another Location this one is physically a part of
Control | 0..1
Type | Reference(Location, nl core HealthcareProvider)
Is Modifier | false
Summary | false
Requirements | For purposes of location, display and identification, knowing which locations are located within other locations is important.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
62. Location.hoursOfOperation
Definition | What days/times during a week is this location usually open.
Short | What days/times during a week is this location usually open
Comments | This type of information is commonly found published in directories and on websites informing customers when the facility is available. Specific services within the location may have their own hours which could be shorter (or longer) than the locations hours.
Control | 0..*
Type | BackboneElement
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
64. Location.hoursOfOperation.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
66. Location.hoursOfOperation.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.
Short | Additional 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.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-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()`)
68. Location.hoursOfOperation.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored even if unrecognized
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.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content, modifiers
Invariants | ele-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()`)
70. Location.hoursOfOperation.daysOfWeek
Definition | Indicates which days of the week are available between the start and end Times.
Short | mon | tue | wed | thu | fri | sat | sun
Control | 0..*
Binding | The codes SHALL be taken from DaysOfWeek (required to `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` ) The days of the week.
Type | code
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
72. Location.hoursOfOperation.allDay
Definition | The Location is open all day.
Short | The Location is open all day
Control | 0..1
Type | boolean
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
74. Location.hoursOfOperation.openingTime
Definition | Time that the Location opens.
Short | Time that the Location opens
Control | 0..1
Type | time
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
76. Location.hoursOfOperation.closingTime
Definition | Time that the Location closes.
Short | Time that the Location closes
Control | 0..1
Type | time
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
78. Location.availabilityExceptions
Definition | A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times.
Short | Description of availability exceptions
Control | 0..1
Type | string
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
80. Location.endpoint
Definition | Technical endpoints providing access to services operated for the location.
Short | Technical endpoints providing access to services operated for the location
Control | 0..*
Type | Reference(Endpoint)
Is Modifier | false
Summary | false
Requirements | Organizations may have different systems at different locations that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)