This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Patient Administration Work Group | Maturity Level: 1 | Compartments: Not linked to any defined compartments |
Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated.
A Location includes both incidental locations (a place which is used for healthcare without prior designation or authorization) and dedicated, formally appointed locations. Locations may be private, public, mobile or fixed and scale from small freezers to full hospital buildings or parking garages.
Examples of Locations are:
These locations are not intended to cover locations on a patient where something occurred (i.e. a patient's broken leg), but can hapily cover the location where the patient broke the leg (the playground)
Locations and Organizations are very closely related resources and can often be mixed/matched/confused.
The Location is intended to describe the more physical structures managed/operated by an organization, whereas the Organization is intended to
represent the more conceptual hierarchies, such as a ward.
A Location is valid without an address in cases where it could be purely described by
a geo-coded location in remote areas, or when recorded by a device. Locations with a mode = "kind" would
also likely not have an address, as they are just a type of location, but could also have an address where
they can be found at the address.
Another use of location could be for describing a Jurisdiction. This jurisdiction may be considered a classified boundary which could be a combination of a physical boundary, and some other discriminator(s):
This resource is referenced by Account, Appointment, AppointmentResponse, AuditEvent, CarePlan, Claim, Contract, Device, DiagnosticOrder, DiagnosticReport, EligibilityRequest, Encounter, ExplanationOfBenefit, Flag, HealthcareService, Immunization, List, MedicationDispense, Observation, Practitioner, PractitionerRole, Procedure, Protocol, Provenance, Schedule and SupplyDelivery
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | DomainResource | Details and position information for a physical place | ||
identifier | Σ | 0..* | Identifier | Unique code or number identifying the location to its users |
status | ?! Σ | 0..1 | code | active | suspended | inactive LocationStatus (Required) |
name | Σ | 0..1 | string | Name of the location as used by humans |
description | Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name |
mode | ?! Σ | 0..1 | code | instance | kind LocationMode (Required) |
type | Σ | 0..1 | CodeableConcept | Type of function performed ServiceDeliveryLocationRoleType (Extensible) |
telecom | 0..* | ContactPoint | Contact details of the location | |
address | 0..1 | Address | Physical location | |
physicalType | Σ | 0..1 | CodeableConcept | Physical form of the location LocationType (Example) |
position | 0..1 | BackboneElement | The absolute geographic location | |
longitude | 1..1 | decimal | Longitude with WGS84 datum | |
latitude | 1..1 | decimal | Latitude with WGS84 datum | |
altitude | 0..1 | decimal | Altitude with WGS84 datum | |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization responsible for provisioning and upkeep |
partOf | 0..1 | Reference(Location) | Another Location this one is physically part of | |
Documentation for this format |
UML Diagram
XML Template
<Location xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique code or number identifying the location to its users --></identifier> <status value="[code]"/><!-- 0..1 active | suspended | inactive --> <name value="[string]"/><!-- 0..1 Name of the location as used by humans --> <description value="[string]"/><!-- 0..1 Additional details about the location that could be displayed as further information to identify the location beyond its name --> <mode value="[code]"/><!-- 0..1 instance | kind --> <type><!-- 0..1 CodeableConcept Type of function performed --></type> <telecom><!-- 0..* ContactPoint Contact details of the location --></telecom> <address><!-- 0..1 Address Physical location --></address> <physicalType><!-- 0..1 CodeableConcept Physical form of the location --></physicalType> <position> <!-- 0..1 The absolute geographic location --> <longitude value="[decimal]"/><!-- 1..1 Longitude with WGS84 datum --> <latitude value="[decimal]"/><!-- 1..1 Latitude with WGS84 datum --> <altitude value="[decimal]"/><!-- 0..1 Altitude with WGS84 datum --> </position> <managingOrganization><!-- 0..1 Reference(Organization) Organization responsible for provisioning and upkeep --></managingOrganization> <partOf><!-- 0..1 Reference(Location) Another Location this one is physically part of --></partOf> </Location>
JSON Template
{ "resourceType" : "Location", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique code or number identifying the location to its users "status" : "<code>", // active | suspended | inactive "name" : "<string>", // Name of the location as used by humans "description" : "<string>", // Additional details about the location that could be displayed as further information to identify the location beyond its name "mode" : "<code>", // instance | kind "type" : { CodeableConcept }, // Type of function performed "telecom" : [{ ContactPoint }], // Contact details of the location "address" : { Address }, // Physical location "physicalType" : { CodeableConcept }, // Physical form of the location "position" : { // The absolute geographic location "longitude" : <decimal>, // R! Longitude with WGS84 datum "latitude" : <decimal>, // R! Latitude with WGS84 datum "altitude" : <decimal> // Altitude with WGS84 datum }, "managingOrganization" : { Reference(Organization) }, // Organization responsible for provisioning and upkeep "partOf" : { Reference(Location) } // Another Location this one is physically part of }
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | DomainResource | Details and position information for a physical place | ||
identifier | Σ | 0..* | Identifier | Unique code or number identifying the location to its users |
status | ?! Σ | 0..1 | code | active | suspended | inactive LocationStatus (Required) |
name | Σ | 0..1 | string | Name of the location as used by humans |
description | Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name |
mode | ?! Σ | 0..1 | code | instance | kind LocationMode (Required) |
type | Σ | 0..1 | CodeableConcept | Type of function performed ServiceDeliveryLocationRoleType (Extensible) |
telecom | 0..* | ContactPoint | Contact details of the location | |
address | 0..1 | Address | Physical location | |
physicalType | Σ | 0..1 | CodeableConcept | Physical form of the location LocationType (Example) |
position | 0..1 | BackboneElement | The absolute geographic location | |
longitude | 1..1 | decimal | Longitude with WGS84 datum | |
latitude | 1..1 | decimal | Latitude with WGS84 datum | |
altitude | 0..1 | decimal | Altitude with WGS84 datum | |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization responsible for provisioning and upkeep |
partOf | 0..1 | Reference(Location) | Another Location this one is physically part of | |
Documentation for this format |
XML Template
<Location xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique code or number identifying the location to its users --></identifier> <status value="[code]"/><!-- 0..1 active | suspended | inactive --> <name value="[string]"/><!-- 0..1 Name of the location as used by humans --> <description value="[string]"/><!-- 0..1 Additional details about the location that could be displayed as further information to identify the location beyond its name --> <mode value="[code]"/><!-- 0..1 instance | kind --> <type><!-- 0..1 CodeableConcept Type of function performed --></type> <telecom><!-- 0..* ContactPoint Contact details of the location --></telecom> <address><!-- 0..1 Address Physical location --></address> <physicalType><!-- 0..1 CodeableConcept Physical form of the location --></physicalType> <position> <!-- 0..1 The absolute geographic location --> <longitude value="[decimal]"/><!-- 1..1 Longitude with WGS84 datum --> <latitude value="[decimal]"/><!-- 1..1 Latitude with WGS84 datum --> <altitude value="[decimal]"/><!-- 0..1 Altitude with WGS84 datum --> </position> <managingOrganization><!-- 0..1 Reference(Organization) Organization responsible for provisioning and upkeep --></managingOrganization> <partOf><!-- 0..1 Reference(Location) Another Location this one is physically part of --></partOf> </Location>
JSON Template
{ "resourceType" : "Location", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique code or number identifying the location to its users "status" : "<code>", // active | suspended | inactive "name" : "<string>", // Name of the location as used by humans "description" : "<string>", // Additional details about the location that could be displayed as further information to identify the location beyond its name "mode" : "<code>", // instance | kind "type" : { CodeableConcept }, // Type of function performed "telecom" : [{ ContactPoint }], // Contact details of the location "address" : { Address }, // Physical location "physicalType" : { CodeableConcept }, // Physical form of the location "position" : { // The absolute geographic location "longitude" : <decimal>, // R! Longitude with WGS84 datum "latitude" : <decimal>, // R! Latitude with WGS84 datum "altitude" : <decimal> // Altitude with WGS84 datum }, "managingOrganization" : { Reference(Organization) }, // Organization responsible for provisioning and upkeep "partOf" : { Reference(Location) } // Another Location this one is physically part of }
Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire
Path | Definition | Type | Reference |
---|---|---|---|
Location.status | Indicates whether the location is still in use. | Required | LocationStatus |
Location.mode | Indicates whether a resource instance represents a specific location or a class of locations. | Required | LocationMode |
Location.type | Indicates the type of function performed at the location. | Extensible | ServiceDeliveryLocationRoleType |
Location.physicalType | Physical form of the location | Example | LocationType |
The Location.mode element can be used to indicate whether a Location resource represents a specific (potentially identifiable) Location ('instance'), or a class of Locations ('kind'). Especially Resources capturing orders, resource scheduling, plans and definitions may refer to Locations in 'kind' mode. For these domains, it is often not necessary to refer to a specific Location, but rather to a class of Locations. An example of this is found in planning, where we need to allocate an "isolation room" for a patient, or need to dispatch "an ambulance" at a certain time. In these cases it is not important exactly which isolation room or ambulance is allocated, and it is sufficient to just indicate a 'kind' of Location.
Note that 'kind' should not be used to represent Locations where an actual instance of a Location was involved, but identifying information is missing. E.g. when a patient arrived 'by ambulance', but it is not known by which ambulance, this should be represented using a Location in 'instance' mode with a missing identifier, not a Location of 'kind' ambulance.
Some of Location's data elements are only relevant when mode is 'instance' and should not be used when mode is 'kind':
(however this information could still be included if was relevant, such as when it is a generic item, but not globally generic, e.g. a Burgers MU ambulance)
An example location hierarchy should help give some guidance as to one example
of how a location hierarchy could look within a fictitious Hospital.
(The nesting here would be the "part-of" structure of the location)
Hospital A Building C (instance) East Wing (instance) Level 1 (instance) Reception (instance) Nurses Station EM-ns1 (instance) Medication Cupboard A (instance) Room 1 (instance) Room 1a (instance) - space in room separatable via a curtain Bed 1a (instance) - always in this room Room 1b (instance) Trolley 43 (instance) - moves about Room 1d (instance) Trolley 19 (instance) - moves about Room 2 (instance) ... Theatre EM-TA (instance) Coridor (generic) Level 2 (instance) Reception (instance) ... Nurses Station EM-ns1 (instance) Medication Cupboard A (instance) Coridor (generic) Mobile Services (kind) Ambulance (kind) Ambulance AMB1 (instance) Ambulance AMB2 (instance)
Note: Wards/departments are not part of this structure - these would form part of the Organizational Hierarchy.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Paths |
address | string | A (part of the) address of the location | Location.address |
address-city | string | A city specified in an address | Location.address.city |
address-country | string | A country specified in an address | Location.address.country |
address-postalcode | string | A postal code specified in an address | Location.address.postalCode |
address-state | string | A state specified in an address | Location.address.state |
address-use | token | A use code specified in an address | Location.address.use |
identifier | token | Unique code or number identifying the location to its users | Location.identifier |
name | string | A (portion of the) name of the location | Location.name |
near | token | The coordinates expressed as [lat],[long] (using the WGS84 datum, see notes) to find locations near to (servers may search using a square rather than a circle for efficiency) | Location.position |
near-distance | token | A distance quantity to limit the near search to locations within a specific distance | Location.position |
organization | reference | Searches for locations that are managed by the provided organization | Location.managingOrganization (Organization) |
partof | reference | The location of which this location is a part | Location.partOf (Location) |
status | token | Searches for locations with a specific kind of status | Location.status |
type | token | A code for the type of location | Location.type |