Canadian Baseline
1.1.0 - CI Build
Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-location | Version: 1.1.0 | |||
Draft as of 2020-03-16 | Computable Name: LocationProfile |
Proposed constraints and extensions on the Location resource
This Location profile sets minimum expectations for the Location resource to record, search and fetch details and position information for a physical place where services are provided.
This profile defines localization concepts for use in a Canadian context.
All elements or attributes defined in FHIR have cardinality as part of their definition - a minimum number of required appearances and a maximum number.
Most elements in FHIR specification have a minimum cardinality of 0, which means that they may be missing from a resource when it is exchanged between systems.
In this Canadian Baseline Location Profile all elements are optional, i.e., there is no element with a minimum cardinality of 1. However, some optional elements (e.g., identifier) have required components that MUST be present if that optional element is provided.
Some elements are labeled as MustSupport meaning that implementations that produce or consume resources SHALL provide "support" for the element in some meaningful way (see Must Support definition).
Following elements are marked as Must Support in the Canadian Location profile to aid record matching in databases with many pediatric records.
Must Support elements:
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Location
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |
Slices for extension | Content/Rules for all slices | |||
communication | 0..* | CodeableConcept | Languages used to provide services URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage Binding: CommonLanguages (preferred): Common Languages | |
identifier | S | 0..* | Identifier | Unique code or number identifying the location to its users |
name | S | 0..1 | string | Name of the location as used by humans |
telecom | S | 0..* | ContactPoint | Contact details of the location |
address | 0..1 | Address | Physical location | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children |
Slices for extension | Content/Rules for all slices | |||
communication | 0..* | CodeableConcept | Languages used to provide services URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage Binding: CommonLanguages (preferred): Common Languages ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
identifier | SΣ | 0..* | Identifier | Unique code or number identifying the location to its users ele-1: All FHIR elements must have a @value or children |
status | ?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. ele-1: All FHIR elements must have a @value or children |
name | SΣ | 0..1 | string | Name of the location as used by humans ele-1: All FHIR elements must have a @value or children |
telecom | S | 0..* | ContactPoint | Contact details of the location ele-1: All FHIR elements must have a @value or children |
address | 0..1 | Address | Physical location ele-1: All FHIR elements must have a @value or children | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Location.status | required | LocationStatushttp://hl7.org/fhir/ValueSet/location-status|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Location | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Location | 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 | error | Location | 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 | error | Location | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Location | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
communication | 0..* | CodeableConcept | Languages used to provide services URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage Binding: CommonLanguages (preferred): Common Languages | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | SΣ | 0..* | Identifier | Unique code or number identifying the location to its users | ||||
status | ?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||
operationalStatus | Σ | 0..1 | Coding | The operational status of the location (typically only for a bed/room) Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room). | ||||
name | SΣ | 0..1 | string | Name of the location as used by humans | ||||
alias | 0..* | string | A list of alternate names that the location is known as, or was known as, in the past | |||||
description | Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name | ||||
mode | Σ | 0..1 | code | instance | kind Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations. | ||||
type | Σ | 0..* | CodeableConcept | Type of function performed Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location. | ||||
telecom | S | 0..* | ContactPoint | Contact details of the location | ||||
address | 0..1 | Address | Physical location | |||||
physicalType | Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationType (example): Physical form of the location. | ||||
position | 0..1 | BackboneElement | The absolute geographic location | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
longitude | 1..1 | decimal | Longitude with WGS84 datum | |||||
latitude | 1..1 | decimal | Latitude with WGS84 datum | |||||
altitude | 0..1 | decimal | Altitude with WGS84 datum | |||||
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization responsible for provisioning and upkeep | ||||
partOf | 0..1 | Reference(Location) | Another Location this one is physically a part of | |||||
hoursOfOperation | 0..* | BackboneElement | What days/times during a week is this location usually open | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||
allDay | 0..1 | boolean | The Location is open all day | |||||
openingTime | 0..1 | time | Time that the Location opens | |||||
closingTime | 0..1 | time | Time that the Location closes | |||||
availabilityExceptions | 0..1 | string | Description of availability exceptions | |||||
endpoint | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the location | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Location.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
| ||||
Location.status | required | LocationStatushttp://hl7.org/fhir/ValueSet/location-status|4.0.1 from the FHIR Standard | ||||
Location.operationalStatus | preferred | Hl7VSBedStatushttp://terminology.hl7.org/ValueSet/v2-0116 | ||||
Location.mode | required | LocationModehttp://hl7.org/fhir/ValueSet/location-mode|4.0.1 from the FHIR Standard | ||||
Location.type | extensible | ServiceDeliveryLocationRoleTypehttp://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType | ||||
Location.physicalType | example | LocationTypehttp://hl7.org/fhir/ValueSet/location-physical-type from the FHIR Standard | ||||
Location.hoursOfOperation.daysOfWeek | required | DaysOfWeekhttp://hl7.org/fhir/ValueSet/days-of-week|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Location | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Location | 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 | error | Location | 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 | error | Location | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Location | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
This structure is derived from Location
Differential View
This structure is derived from Location
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |
Slices for extension | Content/Rules for all slices | |||
communication | 0..* | CodeableConcept | Languages used to provide services URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage Binding: CommonLanguages (preferred): Common Languages | |
identifier | S | 0..* | Identifier | Unique code or number identifying the location to its users |
name | S | 0..1 | string | Name of the location as used by humans |
telecom | S | 0..* | ContactPoint | Contact details of the location |
address | 0..1 | Address | Physical location | |
Documentation for this format |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children |
Slices for extension | Content/Rules for all slices | |||
communication | 0..* | CodeableConcept | Languages used to provide services URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage Binding: CommonLanguages (preferred): Common Languages ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
identifier | SΣ | 0..* | Identifier | Unique code or number identifying the location to its users ele-1: All FHIR elements must have a @value or children |
status | ?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. ele-1: All FHIR elements must have a @value or children |
name | SΣ | 0..1 | string | Name of the location as used by humans ele-1: All FHIR elements must have a @value or children |
telecom | S | 0..* | ContactPoint | Contact details of the location ele-1: All FHIR elements must have a @value or children |
address | 0..1 | Address | Physical location ele-1: All FHIR elements must have a @value or children | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Location.status | required | LocationStatushttp://hl7.org/fhir/ValueSet/location-status|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Location | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Location | 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 | error | Location | 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 | error | Location | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Location | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
communication | 0..* | CodeableConcept | Languages used to provide services URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage Binding: CommonLanguages (preferred): Common Languages | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | SΣ | 0..* | Identifier | Unique code or number identifying the location to its users | ||||
status | ?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||
operationalStatus | Σ | 0..1 | Coding | The operational status of the location (typically only for a bed/room) Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room). | ||||
name | SΣ | 0..1 | string | Name of the location as used by humans | ||||
alias | 0..* | string | A list of alternate names that the location is known as, or was known as, in the past | |||||
description | Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name | ||||
mode | Σ | 0..1 | code | instance | kind Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations. | ||||
type | Σ | 0..* | CodeableConcept | Type of function performed Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location. | ||||
telecom | S | 0..* | ContactPoint | Contact details of the location | ||||
address | 0..1 | Address | Physical location | |||||
physicalType | Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationType (example): Physical form of the location. | ||||
position | 0..1 | BackboneElement | The absolute geographic location | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
longitude | 1..1 | decimal | Longitude with WGS84 datum | |||||
latitude | 1..1 | decimal | Latitude with WGS84 datum | |||||
altitude | 0..1 | decimal | Altitude with WGS84 datum | |||||
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization responsible for provisioning and upkeep | ||||
partOf | 0..1 | Reference(Location) | Another Location this one is physically a part of | |||||
hoursOfOperation | 0..* | BackboneElement | What days/times during a week is this location usually open | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||
allDay | 0..1 | boolean | The Location is open all day | |||||
openingTime | 0..1 | time | Time that the Location opens | |||||
closingTime | 0..1 | time | Time that the Location closes | |||||
availabilityExceptions | 0..1 | string | Description of availability exceptions | |||||
endpoint | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the location | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Location.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
| ||||
Location.status | required | LocationStatushttp://hl7.org/fhir/ValueSet/location-status|4.0.1 from the FHIR Standard | ||||
Location.operationalStatus | preferred | Hl7VSBedStatushttp://terminology.hl7.org/ValueSet/v2-0116 | ||||
Location.mode | required | LocationModehttp://hl7.org/fhir/ValueSet/location-mode|4.0.1 from the FHIR Standard | ||||
Location.type | extensible | ServiceDeliveryLocationRoleTypehttp://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType | ||||
Location.physicalType | example | LocationTypehttp://hl7.org/fhir/ValueSet/location-physical-type from the FHIR Standard | ||||
Location.hoursOfOperation.daysOfWeek | required | DaysOfWeekhttp://hl7.org/fhir/ValueSet/days-of-week|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Location | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Location | 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 | error | Location | 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 | error | Location | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Location | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
This structure is derived from Location
Other representations of profile: CSV, Excel, Schematron
Currently, there is no consensus or requirement for pan-Canadian method to identify a location using a business identifier. Location.identifier will remain unsliced until a requirement or rationale is put forth that supports the need to have unique constraints determined by the business identifier.
The Location MAY have a Service Language extension. This extension is to identify languages that that services are provided in this particular location.
The Location profile is provided for use in a Canadian context where some constraint on content is desirable to guarantee the quality of the Canadian address whilst still supporting other type of address (e.g., other countries or UNstructured addresses).
If an address in the Location resource instance represents Canadian address, it SHOULD follow Canadian postal code format.
The Canadian Postal Code SHOULD be a six-character uniformly structured uppercase alphanumeric code in the form of "ANA NAN", where "A" represents an alphabetic character and "N" represents a numeric character, with one space between the first three and the last three characters.
A hyphen SHOULD NOT be used (example of UNacceptable format: T0L-1K0).