Care Coordination and 360 Referrals (Proof of Concept)
0.1.0 - proof-of-concept United Kingdom flag

Care Coordination and 360 Referrals (Proof of Concept) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Location

Official URL: https://fhir.acmeexample.org.uk/PatientCareCoordination/StructureDefinition/Location Version: 0.1.0
Draft as of 2026-11-03 Computable Name: Location

Care Directory - a site, ward, clinic or the patient's home. Sites are identified by ODS site code; wards and clinics are partOf the site. Follows the Interweave Location (hospital locations down to ward level).

Master Record

Sites are a central record in the Organisation Data Service (ODS site codes); wards, clinics and rooms are local (trust PAS). See Care Services Directory (mCSD).

Element Master record NHS England API
identifier[odsSiteCode], name, address, managingOrganization (sites) ODS Organisation Data Terminology FHIR API
Wards, clinics (partOf a site) Trust PAS Local mCSD Directory or HL7 v2 MFN^M05
Service locations (where a service is delivered) Directory of Services DoS Search API (Location with HealthcareService)

FDP Canonical Data Model

Equivalent FDP Canonical Data Model (CDM) v1.0.0 objects: Location, Site.

Differences:

  • Partial: CDM Location is id, name and site only - no type, physical type or managing organisation; Site has siteType and siteOdsCode.
  • A patient's home (virtual ward) is not a CDM Location; Virtual Ward Stay has activityLocationTypeCode.

The CDM is a downstream persistence model, used here as evidence of what NHS operations record, not as a design source. Mapping by property name - To confirm. See FDP Canonical Data Model Mapping for the full mapping.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Location 0..* Location Details and position information for a physical place
Location.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Location.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Location.Slices for identifier This element must be supported. This element is included in summaries. 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Location.Slices for identifier.identifier:odsSiteCode This element must be supported. This element is included in summaries. 0..1 OrganisationSiteIdentifier ODS site code (sites)
Location.status This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 code active | suspended | inactive
Binding: LocationStatus (required): Indicates whether the location is still in use.
Location.name This element must be supported. This element is included in summaries. 0..1 string Name of the location as used by humans
Location.type This element must be supported. This element is included in summaries. 0..* CodeableConcept e.g. hospital, ward, clinic, patient's residence (v3-RoleCode)
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
Location.physicalType This element must be supported. This element is included in summaries. 0..1 CodeableConcept site | building | ward | room | house
Binding: LocationType (example): Physical form of the location.
Location.managingOrganization This element must be supported. This element is included in summaries. 0..1 Reference(Organization) Organization responsible for provisioning and upkeep
Location.managingOrganization.identifier This element is included in summaries. 0..1 OrganisationCode Logical reference, when literal reference is not known
Location.partOf This element must be supported. 0..1 Reference(Location) Another Location this one is physically a part of

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.status Base required LocationStatus 📍4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.5
Location.physicalType Base example Location type 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Location 0..* Location Details and position information for a physical place
Location.Slices for identifier This element must be supported. 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Location.Slices for identifier.identifier:odsSiteCode This element must be supported. 0..1 OrganisationSiteIdentifier ODS site code (sites)
Location.status This element must be supported. 0..1 code active | suspended | inactive
Location.name This element must be supported. 0..1 string Name of the location as used by humans
Location.physicalType This element must be supported. 0..1 CodeableConcept site | building | ward | room | house
Location.managingOrganization This element must be supported. 0..1 Reference(Organization) Organization responsible for provisioning and upkeep
Location.managingOrganization.identifier 0..1 OrganisationCode Logical reference, when literal reference is not known
Location.partOf This element must be supported. 0..1 Reference(Location) Another Location this one is physically a part of

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Location 0..* Location Details and position information for a physical place
Location.id This element is included in summaries. 0..1 id Logical id of this artifact
Location.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Location.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Location.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Location.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Location.contained 0..* Resource Contained, inline Resources
Location.extension 0..* Extension Additional content defined by implementations
Location.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Location.Slices for identifier This element must be supported. This element is included in summaries. 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Location.Slices for identifier.identifier:odsSiteCode This element must be supported. This element is included in summaries. 0..1 OrganisationSiteIdentifier ODS site code (sites)
Location.status This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 code active | suspended | inactive
Binding: LocationStatus (required): Indicates whether the location is still in use.
Location.operationalStatus This element is included in summaries. 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).
Location.name This element must be supported. This element is included in summaries. 0..1 string Name of the location as used by humans
Location.alias 0..* string A list of alternate names that the location is known as, or was known as, in the past
Location.description This element is included in summaries. 0..1 string Additional details about the location that could be displayed as further information to identify the location beyond its name
Location.mode This element is included in summaries. 0..1 code instance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.
Location.type This element must be supported. This element is included in summaries. 0..* CodeableConcept e.g. hospital, ward, clinic, patient's residence (v3-RoleCode)
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
Location.telecom 0..* ContactPoint Contact details of the location
Location.address 0..1 Address Physical location
Location.physicalType This element must be supported. This element is included in summaries. 0..1 CodeableConcept site | building | ward | room | house
Binding: LocationType (example): Physical form of the location.
Location.position 0..1 BackboneElement The absolute geographic location
Location.position.id 0..1 string Unique id for inter-element referencing
Location.position.extension 0..* Extension Additional content defined by implementations
Location.position.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Location.position.longitude 1..1 decimal Longitude with WGS84 datum
Location.position.latitude 1..1 decimal Latitude with WGS84 datum
Location.position.altitude 0..1 decimal Altitude with WGS84 datum
Location.managingOrganization This element must be supported. This element is included in summaries. 0..1 Reference(Organization) Organization responsible for provisioning and upkeep
Location.managingOrganization.id 0..1 string Unique id for inter-element referencing
Location.managingOrganization.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Location.managingOrganization.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Location.managingOrganization.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Location.managingOrganization.identifier This element is included in summaries. 0..1 OrganisationCode Logical reference, when literal reference is not known
Location.managingOrganization.display This element is included in summaries. 0..1 string Text alternative for the resource
Location.partOf This element must be supported. 0..1 Reference(Location) Another Location this one is physically a part of
Location.hoursOfOperation 0..* BackboneElement What days/times during a week is this location usually open
Location.hoursOfOperation.id 0..1 string Unique id for inter-element referencing
Location.hoursOfOperation.extension 0..* Extension Additional content defined by implementations
Location.hoursOfOperation.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Location.hoursOfOperation.daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
Location.hoursOfOperation.allDay 0..1 boolean The Location is open all day
Location.hoursOfOperation.openingTime 0..1 time Time that the Location opens
Location.hoursOfOperation.closingTime 0..1 time Time that the Location closes
Location.availabilityExceptions 0..1 string Description of availability exceptions
Location.endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Location.status Base required LocationStatus 📍4.0.1 FHIR Std.
Location.operationalStatus Base preferred hl7VS-bedStatus 📦3.0.0 THO v7.5
Location.mode Base required LocationMode 📍4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.5
Location.physicalType Base example Location type 📍4.0.1 FHIR Std.
Location.managingOrganization.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Location.hoursOfOperation.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Location 0..* Location Details and position information for a physical place
Location.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Location.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Location.Slices for identifier This element must be supported. This element is included in summaries. 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Location.Slices for identifier.identifier:odsSiteCode This element must be supported. This element is included in summaries. 0..1 OrganisationSiteIdentifier ODS site code (sites)
Location.status This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 code active | suspended | inactive
Binding: LocationStatus (required): Indicates whether the location is still in use.
Location.name This element must be supported. This element is included in summaries. 0..1 string Name of the location as used by humans
Location.type This element must be supported. This element is included in summaries. 0..* CodeableConcept e.g. hospital, ward, clinic, patient's residence (v3-RoleCode)
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
Location.physicalType This element must be supported. This element is included in summaries. 0..1 CodeableConcept site | building | ward | room | house
Binding: LocationType (example): Physical form of the location.
Location.managingOrganization This element must be supported. This element is included in summaries. 0..1 Reference(Organization) Organization responsible for provisioning and upkeep
Location.managingOrganization.identifier This element is included in summaries. 0..1 OrganisationCode Logical reference, when literal reference is not known
Location.partOf This element must be supported. 0..1 Reference(Location) Another Location this one is physically a part of

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.status Base required LocationStatus 📍4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.5
Location.physicalType Base example Location type 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()

Differential View

This structure is derived from Location

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Location 0..* Location Details and position information for a physical place
Location.Slices for identifier This element must be supported. 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Location.Slices for identifier.identifier:odsSiteCode This element must be supported. 0..1 OrganisationSiteIdentifier ODS site code (sites)
Location.status This element must be supported. 0..1 code active | suspended | inactive
Location.name This element must be supported. 0..1 string Name of the location as used by humans
Location.type This element must be supported. 0..* CodeableConcept e.g. hospital, ward, clinic, patient's residence (v3-RoleCode)
Location.physicalType This element must be supported. 0..1 CodeableConcept site | building | ward | room | house
Location.managingOrganization This element must be supported. 0..1 Reference(Organization) Organization responsible for provisioning and upkeep
Location.managingOrganization.identifier 0..1 OrganisationCode Logical reference, when literal reference is not known
Location.partOf This element must be supported. 0..1 Reference(Location) Another Location this one is physically a part of

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Location 0..* Location Details and position information for a physical place
Location.id This element is included in summaries. 0..1 id Logical id of this artifact
Location.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Location.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Location.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Location.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Location.contained 0..* Resource Contained, inline Resources
Location.extension 0..* Extension Additional content defined by implementations
Location.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Location.Slices for identifier This element must be supported. This element is included in summaries. 0..* Identifier Unique code or number identifying the location to its users
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Location.Slices for identifier.identifier:odsSiteCode This element must be supported. This element is included in summaries. 0..1 OrganisationSiteIdentifier ODS site code (sites)
Location.status This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 code active | suspended | inactive
Binding: LocationStatus (required): Indicates whether the location is still in use.
Location.operationalStatus This element is included in summaries. 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).
Location.name This element must be supported. This element is included in summaries. 0..1 string Name of the location as used by humans
Location.alias 0..* string A list of alternate names that the location is known as, or was known as, in the past
Location.description This element is included in summaries. 0..1 string Additional details about the location that could be displayed as further information to identify the location beyond its name
Location.mode This element is included in summaries. 0..1 code instance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.
Location.type This element must be supported. This element is included in summaries. 0..* CodeableConcept e.g. hospital, ward, clinic, patient's residence (v3-RoleCode)
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
Location.telecom 0..* ContactPoint Contact details of the location
Location.address 0..1 Address Physical location
Location.physicalType This element must be supported. This element is included in summaries. 0..1 CodeableConcept site | building | ward | room | house
Binding: LocationType (example): Physical form of the location.
Location.position 0..1 BackboneElement The absolute geographic location
Location.position.id 0..1 string Unique id for inter-element referencing
Location.position.extension 0..* Extension Additional content defined by implementations
Location.position.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Location.position.longitude 1..1 decimal Longitude with WGS84 datum
Location.position.latitude 1..1 decimal Latitude with WGS84 datum
Location.position.altitude 0..1 decimal Altitude with WGS84 datum
Location.managingOrganization This element must be supported. This element is included in summaries. 0..1 Reference(Organization) Organization responsible for provisioning and upkeep
Location.managingOrganization.id 0..1 string Unique id for inter-element referencing
Location.managingOrganization.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Location.managingOrganization.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Location.managingOrganization.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Location.managingOrganization.identifier This element is included in summaries. 0..1 OrganisationCode Logical reference, when literal reference is not known
Location.managingOrganization.display This element is included in summaries. 0..1 string Text alternative for the resource
Location.partOf This element must be supported. 0..1 Reference(Location) Another Location this one is physically a part of
Location.hoursOfOperation 0..* BackboneElement What days/times during a week is this location usually open
Location.hoursOfOperation.id 0..1 string Unique id for inter-element referencing
Location.hoursOfOperation.extension 0..* Extension Additional content defined by implementations
Location.hoursOfOperation.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Location.hoursOfOperation.daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
Location.hoursOfOperation.allDay 0..1 boolean The Location is open all day
Location.hoursOfOperation.openingTime 0..1 time Time that the Location opens
Location.hoursOfOperation.closingTime 0..1 time Time that the Location closes
Location.availabilityExceptions 0..1 string Description of availability exceptions
Location.endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Location.status Base required LocationStatus 📍4.0.1 FHIR Std.
Location.operationalStatus Base preferred hl7VS-bedStatus 📦3.0.0 THO v7.5
Location.mode Base required LocationMode 📍4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.5
Location.physicalType Base example Location type 📍4.0.1 FHIR Std.
Location.managingOrganization.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Location.hoursOfOperation.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()

 

Other representations of profile: CSV, Excel, Schematron