Interweave Implementation Guide
0.1.0 - ci-build United Kingdom flag

Interweave Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the STU3 profiles here.

Resource Profile: InterweaveLocation

Official URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/Interweave-Location Version: 0.0.1
Draft as of 2024-07-15 Computable Name: InterweaveLocation

Interweave Location resource profile - DRAFT.

Status: DRAFT: For Review

Introduction

This profile sets minimum expectations for the Location resource, to record information on locations where care is provided.We use the Location structure definition as a base to this profile.

Location coverage and references

  • A Data Provider MUST offer Location FHIR resources to represent its own locations
  • When referencing a Location then "reference" (url to a FHIR Resource) and "display" (name), MUST be populated
    • For an external location then the url could point to an ad-hoc Contained Resource
    • In addition the "identifier" in the reference MAY also be populated. This is not as straightforward as for Organisations (where the ODS Code is widely accepted). However for some locations an ODS Site Code may be relevant, or otherwise it may still be useful to provide a local identifier.

Location structure and hierarchy

The goal for regional sharing of locations is not necessarily to build a detailed model of the real-world, but rather to provide a simple representation which is easy for Data Consumers to interpret and display. The purpose is to understand where a patient has been, give some insight into the type of services typically provided at that location, and provide contact details if further follow up is desired.

Therefore a 4-level model of site -> buillding -> ward -> room is proposed

All Data Providers must populate reference data for their own site(s) and, where relevant, buldings and wards:

  • Room-level detail may optionally be added if relevant (unlikely to be necessary for historical understanding, but may be relevant to inform attendance at future appointments)
  • Additional detail such as "bed" level of location detail is optional, may be onerous to keep up-to-date, and is not necessary for currently known regional sharing use-cases

When describing locations other than hospitals then there are a slightly different set of considerations:

  • It is rare to find a location as large and complex as a hospital, therefore the "site" level of detail will often be sufficient
  • Building, ward and Room-level detail may optionally be added only if relevant. (The phrase "ward" may be interpreted broadly as a "section of a facility" - for example a section of a care home, and not necessarily an actual hospital "ward").
  • In non-acute settings activity is more likely to occur outside of institutions - for example in the persons' home (typically modelled as a location Contained Resource)

A particular issue is making it easy and efficient for Data Consumers to understand the hierarchy.

  • The location "name" is used in references, and this needs to be usable standalone - without the need for Data Consumers to make multiple additional queries to follow a tree, just to meaningfully display where the patient is.

  • In practice this means:

    The location name must incorporate the hierarchy. For example "York Hospital: Jubilee Building: Ward 27: Room 4"

  • (In contrast just naming the location "Room 4" is meaningless to a consumer without further queries to follow the references, trace the tree, and assemble these details for themselves every time)

Mandatory fields

Bearing in mind the multiple scenarios above, a small subset of fields can be specified as mandatory:

  1. Name - The name of the location. Noting that, as per above, this must reflect any hierarchy for more informative display eg "York Hospital: Jubilee Building: Ward 27"

  2. Status - Should normally be “active”, and only active locations should be used in new references. However it may be necessary to retain locations at other statuses (eg inactive) if they have already been used in references

  3. Type - Must be populated to describe the type of services typically provided at this location. Please select a value that is as specific as possible to provide maximum information. See also further notes below.

  4. Physical Type - Standard FHIR code list. As noted in the introduction, any location structures should be kept simple with focus on site/ward/room, plus of course non-institutional locations such as "house" or "vehicle"

Must Support fields

In addition the following fields are "Must Support" - ie they must be populated if relevant and known:

  1. Identifier: Local Id - A local business identifier, over-and-above the name - to assist with more definitively identifying the location.

  2. Identifier: ODS Site code - Some locations will have an ODS site code, in which case this should be included to help formally identify the site

  3. Telecom - Eg phone and/or email details. Useful for getting in contact for further information

  4. Address - Must be provided if relevant (eg for Site and House). Not relevant for a Ward or Room. Just the current address for contact purposes, no history

  5. Managing Organisation - Must be provided for institutional locations ie Site / Ward / Room. Note: this will often be the same as the provenance of the message, but not necessarily if external locations are being referenced.

  6. Part Of - To describe the hierarchy - this is a reference to the parent location where relevant. Required to link room -> ward -> building -> site

Optional fields

Other fields are optional and may be populated if known - on the understanding that not all data consumers will necessarily make use of them. Points of note include:

  • Mode - this must always be "instance", and is preferably explicitly populated. "Instance" may be assumed if missing.

  • Alias and Description - May be useful to provide additional information. Description might include information to assist visitors in finding the location - eg if being used for appointments.

  • Position - Currently there is no requirement to track exact geographical coordinates.

  • hoursOfOperation - What days/times during a week is this location usually open. Specific services within the location may have their own hours which could be shorter (or longer) than the locations hours.

  • availabilityExceptions - 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.

Discouraged or Removed fields

  • Operational Status - Discouraged. As noted in the FHIR spec this is only relevant for beds / rooms, to indicate if they are undergoing housekeeping etc – relevant for a local care system, but not for tracking in a regional care record.

  • Endpoint - Removed. Technical endpoints are captured elsewhere (ie via the Participant Registry)

Further notes on Location "Type"

We always want to know what type of services are typically provided at the location - as this is useful (primarily for direct care) to help understand why the patient may have been going there. The standard code list has some very generic entries eg "Hospital", "Community Location", "Community Service Centre", "Patient's Residence". These should cover most eventualities at a high level, plus there are some useful more specific entries focused on healthcare.

  • Please select the most specific code possible, to provide maximum context about the location to Data Consumers

  • The list is perhaps not ideal, and there might be better alternatives for the UK - for example based on the NHS Data Dictionary or PRSB standards. However the binding is specified as "extensible" by FHIR which means it is simply not possible to replace it with an alternative. We therefore invite proposed additions to this code list, to be curated regionally if you have additional suggestions

  • Alternatively please select the most relevant generic option and provide further detail in the "text" field. This will still be useful for other care professionals to read in a direct care scenario

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from UKCoreLocation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location UKCoreLocation
... id S 0..1 id Logical id of this artifact
... meta
.... id 0..0
.... versionId S 0..1 id Version specific identifier
.... lastUpdated S 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... profile S 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
.... Slices for tag 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
..... tag:Source S 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
...... id 0..0
...... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... version 0..0
...... code S 1..1 code The Data Provider Id of the system supplying the data
...... display S 1..1 string Name of the system supplying the data
..... tag:Provenance S 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
...... id 0..0
...... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... version 0..0
...... code S 1..1 code The ODS Code of the organisation responsible for the data
...... display S 1..1 string Name of the organisation supplying the data
... implicitRules 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... Slices for identifier Content/Rules for all slices
.... identifier:odsSiteCode 0..1 Identifier ODS Site code to identify the organisation at site level. Should be provided for locations that have one
..... system S 1..1 uri ODS Code
..... value S 1..1 string The value that is unique
..... assigner 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
.... identifier:localIdentifier S 0..1 Identifier Unique code or number identifying the location to its users
..... system S 1..1 uri The namespace for the identifier value
Fixed Value: https://fhir.interweavedigital.nhs.uk/Id/local-location-identifier
..... value S 1..1 string The Local location Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
..... period 0..0
..... assigner 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... status 1..1 code Is the location active, inactive, or suspended
... operationalStatus 0..1 Coding DISCOURAGED - this level of operational detail may be difficult to keep up-to-date and is not necessary for regional sharing
... name 1..1 string Name of the location as used by humans. Does not need to be unique, but preferably incorporates any hierarchy for more meaningful display. Eg 'Green Road Hospital, Ward 27, Room 5
... mode 0..1 code Always a specific instance of a location (not a generic class of location). Assume 'instance' if missing
Fixed Value: instance
... type S 1..1 CodeableConcept Type of function performed. Useful to indicate the type of activity that is likely to have happened there. EXTENSIBLE on request, eg to cover other care settings
Binding: ServiceDeliveryLocationRoleType (extensible)
.... coding
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... telecom S 0..* ContactPoint Contact details of the location. Very useful for getting in touch to find out more.
.... system S 1..1 code phone | fax | email | pager | url | sms | other
.... value S 1..1 string The actual contact point details
.... use 0..1 code DISCOURAGED: Not really relevant here - it is just the current telecom details of the location.
.... period 0..1 Period DISCOURAGED: Preferably just relevant current details
... address 0..1 Address Physical location. Required when relevant (not for ward or room)
.... use 0..1 code DISCOURAGED: Not really relevant here - it is just the current address of the location.
.... text 0..1 string DISCOURAGED: Please do not rely on this. Providers might not populate and Consumers might not use. Instead display the address based on the detailed elements.
.... line S 0..* string Street name, number, direction & P.O. Box etc.
.... city S 0..1 string Name of city, town etc.
.... district S 0..1 string District name (aka county)
.... postalCode S 0..1 string Postal code for area
.... period 0..1 Period DISCOURAGED: Preferably just relevant current details
... physicalType S 1..1 CodeableConcept Physical form of the location. Extensible by request if additional types needed
Binding: LocationType (required)
.... coding S 1..1 Coding Code defined by a terminology system
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... managingOrganization S 0..1 Reference(InterweaveOrganization) Organization responsible for provisioning and upkeep
.... reference 1..1 string Reference to a resource (could be Contained)
.... type 0..0
.... identifier 0..1 Identifier If relevant could include an id
.... display 1..1 string Description of the referenced resource
... partOf S 0..1 Reference(InterweaveLocation) Another Location this one is physically part of. Must be provided for Ward->Site and Room->Ward to build the hierarchy
.... reference 1..1 string Reference to a resource (could be Contained)
.... type 0..0
.... identifier 0..1 Identifier If relevant could include an id
.... display 1..1 string Description of the referenced resource
... endpoint 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Location.typeextensibleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
Location.physicalTyperequiredLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard
NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..* UKCoreLocation Details and position information for a physical place
... id SΣ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security Σ 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... tag:Source SΣ 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... code SΣ 1..1 code The Data Provider Id of the system supplying the data
...... display SΣ 1..1 string Name of the system supplying the data
..... tag:Provenance SΣ 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... code SΣ 1..1 code The ODS Code of the organisation responsible for the data
...... display SΣ 1..1 string Name of the organisation supplying the data
... implicitRules ?!Σ 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system
.... identifier:odsSiteCode SΣ 0..1 Identifier ODS Site code to identify the organisation at site level. Should be provided for locations that have one
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system SΣ 1..1 uri ODS Code
Fixed Value: https://fhir.nhs.uk/Id/ods-site-code
..... value SΣ 1..1 string The value that is unique
Example General: 123456
..... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
.... identifier:localIdentifier SΣ 0..1 Identifier Unique code or number identifying the location to its users
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system SΣ 1..1 uri The namespace for the identifier value
Fixed Value: https://fhir.interweavedigital.nhs.uk/Id/local-location-identifier
..... value SΣ 1..1 string The Local location Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
..... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... status ?!SΣ 1..1 code Is the location active, inactive, or suspended
Binding: LocationStatus (required): Indicates whether the location is still in use.

... operationalStatus Σ 0..1 Coding DISCOURAGED - this level of operational detail may be difficult to keep up-to-date and is not necessary for regional sharing
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).

... name SΣ 1..1 string Name of the location as used by humans. Does not need to be unique, but preferably incorporates any hierarchy for more meaningful display. Eg 'Green Road Hospital, Ward 27, Room 5
... mode Σ 0..1 code Always a specific instance of a location (not a generic class of location). Assume 'instance' if missing
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.


Fixed Value: instance
... type SΣ 1..1 CodeableConcept Type of function performed. Useful to indicate the type of activity that is likely to have happened there. EXTENSIBLE on request, eg to cover other care settings
Binding: ServiceDeliveryLocationRoleType (extensible)
... telecom S 0..* ContactPoint Contact details of the location. Very useful for getting in touch to find out more.
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value SΣ 1..1 string The actual contact point details
.... use ?!Σ 0..1 code DISCOURAGED: Not really relevant here - it is just the current telecom details of the location.
Binding: ContactPointUse (required): Use of contact point.

.... period Σ 0..1 Period DISCOURAGED: Preferably just relevant current details
... address S 0..1 Address Physical location. Required when relevant (not for ward or room)
.... use ?!Σ 0..1 code DISCOURAGED: Not really relevant here - it is just the current address of the location.
Binding: AddressUse (required): The use of an address.


Example General: home
.... text Σ 0..1 string DISCOURAGED: Please do not rely on this. Providers might not populate and Consumers might not use. Instead display the address based on the detailed elements.
Example General: 137 Nowhere Street, Erewhon 9132
.... line SΣ 0..* string Street name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city SΣ 0..1 string Name of city, town etc.
Example General: Erewhon
.... district SΣ 0..1 string District name (aka county)
Example General: Madison
.... postalCode SΣ 0..1 string Postal code for area
Example General: 9132
.... period Σ 0..1 Period DISCOURAGED: Preferably just relevant current details
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... physicalType SΣ 1..1 CodeableConcept Physical form of the location. Extensible by request if additional types needed
Binding: LocationType (required)
.... coding SΣ 1..1 Coding Code defined by a terminology system
..... system Σ 1..1 uri Identity of the terminology system
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
... managingOrganization SΣ 0..1 Reference(InterweaveOrganization) Organization responsible for provisioning and upkeep
.... reference ΣC 1..1 string Reference to a resource (could be Contained)
.... identifier Σ 0..1 Identifier If relevant could include an id
.... display Σ 1..1 string Description of the referenced resource
... partOf S 0..1 Reference(InterweaveLocation) Another Location this one is physically part of. Must be provided for Ward->Site and Room->Ward to build the hierarchy
.... reference ΣC 1..1 string Reference to a resource (could be Contained)
.... identifier Σ 0..1 Identifier If relevant could include an id
.... display Σ 1..1 string Description of the referenced resource

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Location.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Location.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.meta.tag:SourceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.meta.tag:ProvenanceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Location.identifier:odsSiteCode.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Location.identifier:localIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Location.statusrequiredLocationStatus
http://hl7.org/fhir/ValueSet/location-status|4.0.1
from the FHIR Standard
Location.operationalStatuspreferredHl7VSBedStatus
http://terminology.hl7.org/ValueSet/v2-0116
Location.moderequiredFixed Value: instance
http://hl7.org/fhir/ValueSet/location-mode|4.0.1
from the FHIR Standard
Location.typeextensibleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
Location.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Location.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Location.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard
Location.physicalTyperequiredLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorLocationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLocationIf 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-4errorLocationIf 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-5errorLocationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLocationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..* UKCoreLocation Details and position information for a physical place
... id SΣ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security Σ 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... tag:Source SΣ 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... code SΣ 1..1 code The Data Provider Id of the system supplying the data
...... display SΣ 1..1 string Name of the system supplying the data
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... tag:Provenance SΣ 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... code SΣ 1..1 code The ODS Code of the organisation responsible for the data
...... display SΣ 1..1 string Name of the organisation supplying the data
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... implicitRules ?!Σ 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system
.... identifier:odsSiteCode SΣ 0..1 Identifier ODS Site code to identify the organisation at site level. Should be provided for locations that have one
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ 1..1 uri ODS Code
Fixed Value: https://fhir.nhs.uk/Id/ods-site-code
..... value SΣ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
.... identifier:localIdentifier SΣ 0..1 Identifier Unique code or number identifying the location to its users
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ 1..1 uri The namespace for the identifier value
Fixed Value: https://fhir.interweavedigital.nhs.uk/Id/local-location-identifier
..... value SΣ 1..1 string The Local location Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
..... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... status ?!SΣ 1..1 code Is the location active, inactive, or suspended
Binding: LocationStatus (required): Indicates whether the location is still in use.

... operationalStatus Σ 0..1 Coding DISCOURAGED - this level of operational detail may be difficult to keep up-to-date and is not necessary for regional sharing
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).

... name SΣ 1..1 string Name of the location as used by humans. Does not need to be unique, but preferably incorporates any hierarchy for more meaningful display. Eg 'Green Road Hospital, Ward 27, Room 5
... 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 Always a specific instance of a location (not a generic class of location). Assume 'instance' if missing
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.


Fixed Value: instance
... type SΣ 1..1 CodeableConcept Type of function performed. Useful to indicate the type of activity that is likely to have happened there. EXTENSIBLE on request, eg to cover other care settings
Binding: ServiceDeliveryLocationRoleType (extensible)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... telecom S 0..* ContactPoint Contact details of the location. Very useful for getting in touch to find out more.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value SΣ 1..1 string The actual contact point details
.... use ?!Σ 0..1 code DISCOURAGED: Not really relevant here - it is just the current telecom details of the location.
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ 0..1 positiveInt Specify preferred order of use (1 = highest)
.... period Σ 0..1 Period DISCOURAGED: Preferably just relevant current details
... address S 0..1 Address Physical location. Required when relevant (not for ward or room)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code DISCOURAGED: Not really relevant here - it is just the current address of the location.
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ 0..1 code postal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ 0..1 string DISCOURAGED: Please do not rely on this. Providers might not populate and Consumers might not use. Instead display the address based on the detailed elements.
Example General: 137 Nowhere Street, Erewhon 9132
.... line SΣ 0..* string Street name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city SΣ 0..1 string Name of city, town etc.
Example General: Erewhon
.... district SΣ 0..1 string District name (aka county)
Example General: Madison
.... state Σ 0..1 string Sub-unit of country (abbreviations ok)
.... postalCode SΣ 0..1 string Postal code for area
Example General: 9132
.... country Σ 0..1 string Country (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ 0..1 Period DISCOURAGED: Preferably just relevant current details
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... physicalType SΣ 1..1 CodeableConcept Physical form of the location. Extensible by request if additional types needed
Binding: LocationType (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 1..1 Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... 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 SΣ 0..1 Reference(InterweaveOrganization) Organization responsible for provisioning and upkeep
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Reference to a resource (could be Contained)
.... identifier Σ 0..1 Identifier If relevant could include an id
.... display Σ 1..1 string Description of the referenced resource
... partOf S 0..1 Reference(InterweaveLocation) Another Location this one is physically part of. Must be provided for Ward->Site and Room->Ward to build the hierarchy
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Reference to a resource (could be Contained)
.... identifier Σ 0..1 Identifier If relevant could include an id
.... display Σ 1..1 string Description of the referenced resource
... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Location.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Location.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.meta.tag:SourceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.meta.tag:ProvenanceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Location.identifier:odsSiteCode.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Location.identifier:odsSiteCode.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Location.identifier:localIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Location.identifier:localIdentifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Location.statusrequiredLocationStatus
http://hl7.org/fhir/ValueSet/location-status|4.0.1
from the FHIR Standard
Location.operationalStatuspreferredHl7VSBedStatus
http://terminology.hl7.org/ValueSet/v2-0116
Location.moderequiredFixed Value: instance
http://hl7.org/fhir/ValueSet/location-mode|4.0.1
from the FHIR Standard
Location.typeextensibleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
Location.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Location.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Location.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard
Location.address.typerequiredAddressType
http://hl7.org/fhir/ValueSet/address-type|4.0.1
from the FHIR Standard
Location.physicalTyperequiredLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard
Location.hoursOfOperation.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorLocationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLocationIf 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-4errorLocationIf 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-5errorLocationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLocationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from UKCoreLocation

Summary

Mandatory: 8 elements(17 nested mandatory elements)
Must-Support: 27 elements
Fixed: 4 elements
Prohibited: 9 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Location.meta.tag

Differential View

This structure is derived from UKCoreLocation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location UKCoreLocation
... id S 0..1 id Logical id of this artifact
... meta
.... id 0..0
.... versionId S 0..1 id Version specific identifier
.... lastUpdated S 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... profile S 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
.... Slices for tag 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
..... tag:Source S 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
...... id 0..0
...... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... version 0..0
...... code S 1..1 code The Data Provider Id of the system supplying the data
...... display S 1..1 string Name of the system supplying the data
..... tag:Provenance S 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
...... id 0..0
...... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... version 0..0
...... code S 1..1 code The ODS Code of the organisation responsible for the data
...... display S 1..1 string Name of the organisation supplying the data
... implicitRules 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... Slices for identifier Content/Rules for all slices
.... identifier:odsSiteCode 0..1 Identifier ODS Site code to identify the organisation at site level. Should be provided for locations that have one
..... system S 1..1 uri ODS Code
..... value S 1..1 string The value that is unique
..... assigner 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
.... identifier:localIdentifier S 0..1 Identifier Unique code or number identifying the location to its users
..... system S 1..1 uri The namespace for the identifier value
Fixed Value: https://fhir.interweavedigital.nhs.uk/Id/local-location-identifier
..... value S 1..1 string The Local location Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
..... period 0..0
..... assigner 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... status 1..1 code Is the location active, inactive, or suspended
... operationalStatus 0..1 Coding DISCOURAGED - this level of operational detail may be difficult to keep up-to-date and is not necessary for regional sharing
... name 1..1 string Name of the location as used by humans. Does not need to be unique, but preferably incorporates any hierarchy for more meaningful display. Eg 'Green Road Hospital, Ward 27, Room 5
... mode 0..1 code Always a specific instance of a location (not a generic class of location). Assume 'instance' if missing
Fixed Value: instance
... type S 1..1 CodeableConcept Type of function performed. Useful to indicate the type of activity that is likely to have happened there. EXTENSIBLE on request, eg to cover other care settings
Binding: ServiceDeliveryLocationRoleType (extensible)
.... coding
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... telecom S 0..* ContactPoint Contact details of the location. Very useful for getting in touch to find out more.
.... system S 1..1 code phone | fax | email | pager | url | sms | other
.... value S 1..1 string The actual contact point details
.... use 0..1 code DISCOURAGED: Not really relevant here - it is just the current telecom details of the location.
.... period 0..1 Period DISCOURAGED: Preferably just relevant current details
... address 0..1 Address Physical location. Required when relevant (not for ward or room)
.... use 0..1 code DISCOURAGED: Not really relevant here - it is just the current address of the location.
.... text 0..1 string DISCOURAGED: Please do not rely on this. Providers might not populate and Consumers might not use. Instead display the address based on the detailed elements.
.... line S 0..* string Street name, number, direction & P.O. Box etc.
.... city S 0..1 string Name of city, town etc.
.... district S 0..1 string District name (aka county)
.... postalCode S 0..1 string Postal code for area
.... period 0..1 Period DISCOURAGED: Preferably just relevant current details
... physicalType S 1..1 CodeableConcept Physical form of the location. Extensible by request if additional types needed
Binding: LocationType (required)
.... coding S 1..1 Coding Code defined by a terminology system
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... managingOrganization S 0..1 Reference(InterweaveOrganization) Organization responsible for provisioning and upkeep
.... reference 1..1 string Reference to a resource (could be Contained)
.... type 0..0
.... identifier 0..1 Identifier If relevant could include an id
.... display 1..1 string Description of the referenced resource
... partOf S 0..1 Reference(InterweaveLocation) Another Location this one is physically part of. Must be provided for Ward->Site and Room->Ward to build the hierarchy
.... reference 1..1 string Reference to a resource (could be Contained)
.... type 0..0
.... identifier 0..1 Identifier If relevant could include an id
.... display 1..1 string Description of the referenced resource
... endpoint 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Location.typeextensibleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
Location.physicalTyperequiredLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..* UKCoreLocation Details and position information for a physical place
... id SΣ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security Σ 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... tag:Source SΣ 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... code SΣ 1..1 code The Data Provider Id of the system supplying the data
...... display SΣ 1..1 string Name of the system supplying the data
..... tag:Provenance SΣ 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... code SΣ 1..1 code The ODS Code of the organisation responsible for the data
...... display SΣ 1..1 string Name of the organisation supplying the data
... implicitRules ?!Σ 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system
.... identifier:odsSiteCode SΣ 0..1 Identifier ODS Site code to identify the organisation at site level. Should be provided for locations that have one
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system SΣ 1..1 uri ODS Code
Fixed Value: https://fhir.nhs.uk/Id/ods-site-code
..... value SΣ 1..1 string The value that is unique
Example General: 123456
..... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
.... identifier:localIdentifier SΣ 0..1 Identifier Unique code or number identifying the location to its users
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system SΣ 1..1 uri The namespace for the identifier value
Fixed Value: https://fhir.interweavedigital.nhs.uk/Id/local-location-identifier
..... value SΣ 1..1 string The Local location Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
..... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... status ?!SΣ 1..1 code Is the location active, inactive, or suspended
Binding: LocationStatus (required): Indicates whether the location is still in use.

... operationalStatus Σ 0..1 Coding DISCOURAGED - this level of operational detail may be difficult to keep up-to-date and is not necessary for regional sharing
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).

... name SΣ 1..1 string Name of the location as used by humans. Does not need to be unique, but preferably incorporates any hierarchy for more meaningful display. Eg 'Green Road Hospital, Ward 27, Room 5
... mode Σ 0..1 code Always a specific instance of a location (not a generic class of location). Assume 'instance' if missing
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.


Fixed Value: instance
... type SΣ 1..1 CodeableConcept Type of function performed. Useful to indicate the type of activity that is likely to have happened there. EXTENSIBLE on request, eg to cover other care settings
Binding: ServiceDeliveryLocationRoleType (extensible)
... telecom S 0..* ContactPoint Contact details of the location. Very useful for getting in touch to find out more.
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value SΣ 1..1 string The actual contact point details
.... use ?!Σ 0..1 code DISCOURAGED: Not really relevant here - it is just the current telecom details of the location.
Binding: ContactPointUse (required): Use of contact point.

.... period Σ 0..1 Period DISCOURAGED: Preferably just relevant current details
... address S 0..1 Address Physical location. Required when relevant (not for ward or room)
.... use ?!Σ 0..1 code DISCOURAGED: Not really relevant here - it is just the current address of the location.
Binding: AddressUse (required): The use of an address.


Example General: home
.... text Σ 0..1 string DISCOURAGED: Please do not rely on this. Providers might not populate and Consumers might not use. Instead display the address based on the detailed elements.
Example General: 137 Nowhere Street, Erewhon 9132
.... line SΣ 0..* string Street name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city SΣ 0..1 string Name of city, town etc.
Example General: Erewhon
.... district SΣ 0..1 string District name (aka county)
Example General: Madison
.... postalCode SΣ 0..1 string Postal code for area
Example General: 9132
.... period Σ 0..1 Period DISCOURAGED: Preferably just relevant current details
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... physicalType SΣ 1..1 CodeableConcept Physical form of the location. Extensible by request if additional types needed
Binding: LocationType (required)
.... coding SΣ 1..1 Coding Code defined by a terminology system
..... system Σ 1..1 uri Identity of the terminology system
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
... managingOrganization SΣ 0..1 Reference(InterweaveOrganization) Organization responsible for provisioning and upkeep
.... reference ΣC 1..1 string Reference to a resource (could be Contained)
.... identifier Σ 0..1 Identifier If relevant could include an id
.... display Σ 1..1 string Description of the referenced resource
... partOf S 0..1 Reference(InterweaveLocation) Another Location this one is physically part of. Must be provided for Ward->Site and Room->Ward to build the hierarchy
.... reference ΣC 1..1 string Reference to a resource (could be Contained)
.... identifier Σ 0..1 Identifier If relevant could include an id
.... display Σ 1..1 string Description of the referenced resource

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Location.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Location.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.meta.tag:SourceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.meta.tag:ProvenanceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Location.identifier:odsSiteCode.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Location.identifier:localIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Location.statusrequiredLocationStatus
http://hl7.org/fhir/ValueSet/location-status|4.0.1
from the FHIR Standard
Location.operationalStatuspreferredHl7VSBedStatus
http://terminology.hl7.org/ValueSet/v2-0116
Location.moderequiredFixed Value: instance
http://hl7.org/fhir/ValueSet/location-mode|4.0.1
from the FHIR Standard
Location.typeextensibleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
Location.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Location.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Location.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard
Location.physicalTyperequiredLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorLocationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLocationIf 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-4errorLocationIf 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-5errorLocationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLocationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..* UKCoreLocation Details and position information for a physical place
... id SΣ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security Σ 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... tag:Source SΣ 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... code SΣ 1..1 code The Data Provider Id of the system supplying the data
...... display SΣ 1..1 string Name of the system supplying the data
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... tag:Provenance SΣ 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... code SΣ 1..1 code The ODS Code of the organisation responsible for the data
...... display SΣ 1..1 string Name of the organisation supplying the data
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... implicitRules ?!Σ 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system
.... identifier:odsSiteCode SΣ 0..1 Identifier ODS Site code to identify the organisation at site level. Should be provided for locations that have one
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ 1..1 uri ODS Code
Fixed Value: https://fhir.nhs.uk/Id/ods-site-code
..... value SΣ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
.... identifier:localIdentifier SΣ 0..1 Identifier Unique code or number identifying the location to its users
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ 1..1 uri The namespace for the identifier value
Fixed Value: https://fhir.interweavedigital.nhs.uk/Id/local-location-identifier
..... value SΣ 1..1 string The Local location Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
..... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... status ?!SΣ 1..1 code Is the location active, inactive, or suspended
Binding: LocationStatus (required): Indicates whether the location is still in use.

... operationalStatus Σ 0..1 Coding DISCOURAGED - this level of operational detail may be difficult to keep up-to-date and is not necessary for regional sharing
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).

... name SΣ 1..1 string Name of the location as used by humans. Does not need to be unique, but preferably incorporates any hierarchy for more meaningful display. Eg 'Green Road Hospital, Ward 27, Room 5
... 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 Always a specific instance of a location (not a generic class of location). Assume 'instance' if missing
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.


Fixed Value: instance
... type SΣ 1..1 CodeableConcept Type of function performed. Useful to indicate the type of activity that is likely to have happened there. EXTENSIBLE on request, eg to cover other care settings
Binding: ServiceDeliveryLocationRoleType (extensible)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... telecom S 0..* ContactPoint Contact details of the location. Very useful for getting in touch to find out more.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value SΣ 1..1 string The actual contact point details
.... use ?!Σ 0..1 code DISCOURAGED: Not really relevant here - it is just the current telecom details of the location.
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ 0..1 positiveInt Specify preferred order of use (1 = highest)
.... period Σ 0..1 Period DISCOURAGED: Preferably just relevant current details
... address S 0..1 Address Physical location. Required when relevant (not for ward or room)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code DISCOURAGED: Not really relevant here - it is just the current address of the location.
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ 0..1 code postal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ 0..1 string DISCOURAGED: Please do not rely on this. Providers might not populate and Consumers might not use. Instead display the address based on the detailed elements.
Example General: 137 Nowhere Street, Erewhon 9132
.... line SΣ 0..* string Street name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city SΣ 0..1 string Name of city, town etc.
Example General: Erewhon
.... district SΣ 0..1 string District name (aka county)
Example General: Madison
.... state Σ 0..1 string Sub-unit of country (abbreviations ok)
.... postalCode SΣ 0..1 string Postal code for area
Example General: 9132
.... country Σ 0..1 string Country (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ 0..1 Period DISCOURAGED: Preferably just relevant current details
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... physicalType SΣ 1..1 CodeableConcept Physical form of the location. Extensible by request if additional types needed
Binding: LocationType (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 1..1 Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... 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 SΣ 0..1 Reference(InterweaveOrganization) Organization responsible for provisioning and upkeep
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Reference to a resource (could be Contained)
.... identifier Σ 0..1 Identifier If relevant could include an id
.... display Σ 1..1 string Description of the referenced resource
... partOf S 0..1 Reference(InterweaveLocation) Another Location this one is physically part of. Must be provided for Ward->Site and Room->Ward to build the hierarchy
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Reference to a resource (could be Contained)
.... identifier Σ 0..1 Identifier If relevant could include an id
.... display Σ 1..1 string Description of the referenced resource
... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Location.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Location.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.meta.tag:SourceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.meta.tag:ProvenanceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Location.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Location.identifier:odsSiteCode.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Location.identifier:odsSiteCode.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Location.identifier:localIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Location.identifier:localIdentifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Location.statusrequiredLocationStatus
http://hl7.org/fhir/ValueSet/location-status|4.0.1
from the FHIR Standard
Location.operationalStatuspreferredHl7VSBedStatus
http://terminology.hl7.org/ValueSet/v2-0116
Location.moderequiredFixed Value: instance
http://hl7.org/fhir/ValueSet/location-mode|4.0.1
from the FHIR Standard
Location.typeextensibleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
Location.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Location.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Location.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard
Location.address.typerequiredAddressType
http://hl7.org/fhir/ValueSet/address-type|4.0.1
from the FHIR Standard
Location.physicalTyperequiredLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard
Location.hoursOfOperation.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorLocationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLocationIf 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-4errorLocationIf 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-5errorLocationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLocationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from UKCoreLocation

Summary

Mandatory: 8 elements(17 nested mandatory elements)
Must-Support: 27 elements
Fixed: 4 elements
Prohibited: 9 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Location.meta.tag

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Differences between Interweave STU3 and R4 profiles

Element name Change details
identifier:localIdentifier.system
  • Changed fixed value from https://fhir.yhcr.nhs.uk/Id/local-location-identifier to https://fhir.interweavedigital.nhs.uk/Id/local-location-identifier
type
  • Change valueSet from http://hl7.org/fhir/ValueSet/v3-ServiceDeliveryLocationRoleType to http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
hoursOfOperation
  • Added Element
availabilityExceptions
  • Added Element