DSTU2 Ballot Source

This page is part of the FHIR Specification (v0.5.0: DSTU 2 Ballot 2). 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

5.15 Resource Location - Content

This resource maintained by the Patient Administration Work Group

Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated.

5.15.1 Scope and Usage

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:

  • Building, ward, corridor, room or bed
  • Mobile Clinic
  • Freezer, incubator
  • Vehicle or lift
  • Home, shed, or a garage
  • Road, parking place, a park
  • Ambulance (generic)
  • Ambulance (specific)
  • Patient's Home (generic)
  • Jurisdiction

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)

5.15.2 Boundaries and Relationships

Locations and Organizations are very closely related resources and can often be mix/matched/confused.
The Location is intended to describe the more physical structures managed/operated by an organization, where the Organization is intended to represent the more conceptual heirarchies, 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 descrimintor(s):

  • Nation - Country wide community or Federal Government (Ministry of Health)
  • Province or State (community or Government)
  • Business (throughout an enterprise)
  • Business scope (CDC/FDA)
  • Business segment (UK Pharmacy)

This resource is referenced by Appointment, AppointmentResponse, AuditEvent, CarePlan, Claim, Contract, Device, DiagnosticOrder, DiagnosticReport, Encounter, HealthcareService, Immunization, List, MedicationDispense, Observation, Practitioner, Procedure, Provenance and Supply

5.15.3 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location DomainResourceDetails and position information for a physical place
... identifier Σ0..*IdentifierUnique code or number identifying the location to its users
... name Σ0..1stringName of the location as used by humans
... description Σ0..1stringDescription of the Location, which helps in finding or referencing the place
... mode ?! Σ0..1codeinstance | kind
LocationMode (Required)
... type Σ0..1CodeableConceptIndicates the type of function performed at the location
LocationType (Required)
... telecom 0..*ContactPointContact details of the location
... address 0..1AddressPhysical location
... physicalType Σ0..1CodeableConceptPhysical form of the location
PhysicalType (Example)
... position 0..1ElementThe absolute geographic location
.... longitude 1..1decimalLongitude with WGS84 datum
.... latitude 1..1decimalLatitude with WGS84 datum
.... altitude 0..1decimalAltitude with WGS84 datum
... managingOrganization Σ0..1OrganizationThe organization that is responsible for the provisioning and upkeep of the location
... partOf 0..1LocationAnother Location which this Location is physically part of
... status ?! Σ0..1codeactive | suspended | inactive
LocationStatus (Required)

UML Diagram

Location (DomainResource)Unique code or number identifying the location to its usersidentifier : Identifier 0..*Name of the location as used by humans. Does not need to be uniquename : string 0..1Description of the Location, which helps in finding or referencing the placedescription : string 0..1Indicates whether a resource instance represents a specific location or a class of locations (this element modifies the meaning of other elements)mode : code 0..1 « Indicates whether a resource instance represents a specific location or a class of locationsLocationMode »Indicates the type of function performed at the locationtype : CodeableConcept 0..1 « Indicates the type of function performed at the locationLocationType »The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sitestelecom : ContactPoint 0..*Physical locationaddress : Address 0..1Physical form of the location, e.g. building, room, vehicle, roadphysicalType : CodeableConcept 0..1 « (Physical form of the locationPhysicalType) »The organization that is responsible for the provisioning and upkeep of the locationmanagingOrganization : Reference(Organization) 0..1Another Location which this Location is physically part ofpartOf : Reference(Location) 0..1active | suspended | inactive (this element modifies the meaning of other elements)status : code 0..1 « Indicates whether the location is still in useLocationStatus »PositionLongitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below)longitude : decimal 1..1Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below)latitude : decimal 1..1Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below)altitude : decimal 0..1The absolute geographic location of the Location, expressed in with the WGS84 datum (This is the same co-ordinate system used in KML)position0..1

XML Template

<Location xmlns="http://hl7.org/fhir"> doco
 <!-- 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>
 <name value="[string]"/><!-- 0..1 Name of the location as used by humans -->
 <description value="[string]"/><!-- 0..1 Description of the Location, which helps in finding or referencing the place -->
 <mode value="[code]"/><!-- 0..1 instance | kind -->
 <type><!-- 0..1 CodeableConcept Indicates the type of function performed at the location --></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) 
     The organization that is responsible for the provisioning and upkeep of the location --></managingOrganization>
 <partOf><!-- 0..1 Reference(Location) 
     Another Location which this Location is physically part of --></partOf>
 <status value="[code]"/><!-- 0..1 active | suspended | inactive -->
</Location>

JSON Template

{doco
  "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
  "name" : "<string>", // Name of the location as used by humans
  "description" : "<string>", // Description of the Location, which helps in finding or referencing the place
  "mode" : "<code>", // instance | kind
  "type" : { CodeableConcept }, // Indicates the type of function performed at the location
  "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) }, // 
     The organization that is responsible for the provisioning and upkeep of the location
  "partOf" : { Reference(Location) }, // 
     Another Location which this Location is physically part of
  "status" : "<code>" // active | suspended | inactive
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location DomainResourceDetails and position information for a physical place
... identifier Σ0..*IdentifierUnique code or number identifying the location to its users
... name Σ0..1stringName of the location as used by humans
... description Σ0..1stringDescription of the Location, which helps in finding or referencing the place
... mode ?! Σ0..1codeinstance | kind
LocationMode (Required)
... type Σ0..1CodeableConceptIndicates the type of function performed at the location
LocationType (Required)
... telecom 0..*ContactPointContact details of the location
... address 0..1AddressPhysical location
... physicalType Σ0..1CodeableConceptPhysical form of the location
PhysicalType (Example)
... position 0..1ElementThe absolute geographic location
.... longitude 1..1decimalLongitude with WGS84 datum
.... latitude 1..1decimalLatitude with WGS84 datum
.... altitude 0..1decimalAltitude with WGS84 datum
... managingOrganization Σ0..1OrganizationThe organization that is responsible for the provisioning and upkeep of the location
... partOf 0..1LocationAnother Location which this Location is physically part of
... status ?! Σ0..1codeactive | suspended | inactive
LocationStatus (Required)

UML Diagram

Location (DomainResource)Unique code or number identifying the location to its usersidentifier : Identifier 0..*Name of the location as used by humans. Does not need to be uniquename : string 0..1Description of the Location, which helps in finding or referencing the placedescription : string 0..1Indicates whether a resource instance represents a specific location or a class of locations (this element modifies the meaning of other elements)mode : code 0..1 « Indicates whether a resource instance represents a specific location or a class of locationsLocationMode »Indicates the type of function performed at the locationtype : CodeableConcept 0..1 « Indicates the type of function performed at the locationLocationType »The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sitestelecom : ContactPoint 0..*Physical locationaddress : Address 0..1Physical form of the location, e.g. building, room, vehicle, roadphysicalType : CodeableConcept 0..1 « (Physical form of the locationPhysicalType) »The organization that is responsible for the provisioning and upkeep of the locationmanagingOrganization : Reference(Organization) 0..1Another Location which this Location is physically part ofpartOf : Reference(Location) 0..1active | suspended | inactive (this element modifies the meaning of other elements)status : code 0..1 « Indicates whether the location is still in useLocationStatus »PositionLongitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below)longitude : decimal 1..1Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below)latitude : decimal 1..1Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below)altitude : decimal 0..1The absolute geographic location of the Location, expressed in with the WGS84 datum (This is the same co-ordinate system used in KML)position0..1

XML Template

<Location xmlns="http://hl7.org/fhir"> doco
 <!-- 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>
 <name value="[string]"/><!-- 0..1 Name of the location as used by humans -->
 <description value="[string]"/><!-- 0..1 Description of the Location, which helps in finding or referencing the place -->
 <mode value="[code]"/><!-- 0..1 instance | kind -->
 <type><!-- 0..1 CodeableConcept Indicates the type of function performed at the location --></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) 
     The organization that is responsible for the provisioning and upkeep of the location --></managingOrganization>
 <partOf><!-- 0..1 Reference(Location) 
     Another Location which this Location is physically part of --></partOf>
 <status value="[code]"/><!-- 0..1 active | suspended | inactive -->
</Location>

JSON Template

{doco
  "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
  "name" : "<string>", // Name of the location as used by humans
  "description" : "<string>", // Description of the Location, which helps in finding or referencing the place
  "mode" : "<code>", // instance | kind
  "type" : { CodeableConcept }, // Indicates the type of function performed at the location
  "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) }, // 
     The organization that is responsible for the provisioning and upkeep of the location
  "partOf" : { Reference(Location) }, // 
     Another Location which this Location is physically part of
  "status" : "<code>" // active | suspended | inactive
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON)

5.15.3.1 Terminology Bindings

PathDefinitionTypeReference
Location.mode Indicates whether a resource instance represents a specific location or a class of locationsRequiredhttp://hl7.org/fhir/location-mode
Location.type Indicates the type of function performed at the locationRequiredhttp://hl7.org/fhir/v3/vs/ServiceDeliveryLocationRoleType
Location.physicalType Physical form of the locationExamplehttp://hl7.org/fhir/vs/location-physical-type
Location.status Indicates whether the location is still in useRequiredhttp://hl7.org/fhir/location-status

5.15.4 Notes

  • Multiple Organizations or Practitioners may provide services at a Location. These references are not kept in Location, but can be found in the models for Organization and Practitioner instead.
  • Locations may range from whole buildings to cabinets; it is possible to relate smaller Locations to their containing bigger Location using the Location.partOf element.
  • Location.position is expressed using the same syntax, datum and reference system as used in Google Earth's KML files, see Google/OGS's KML.

5.15.4.1 Location Mode

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, eg a Burgers MU ambulance)

  • Location.identifier
  • Location.telecom
  • Location.address
  • Location.position
  • Location.status
  • Location.managingOrganization

5.15.5 Example Location Heirachy

An example location heirachy should help give some guidance as to one example of how a location heirachy 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 that Wards/Departments are not part of this structure, these would form part of the Organizational Hierarchy.

5.15.6 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
addressstringA (part of the) address of the locationLocation.address
identifiertokenUnique code or number identifying the location to its usersLocation.identifier
namestringA (portion of the) name of the locationLocation.name
neartokenThe 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)
near-distancetokenA distance quantity to limit the near search to locations within a specific distance
organizationreferenceSearches for locations that are managed by the provided organizationLocation.managingOrganization
(Organization)
partofreferenceThe location of which this location is a partLocation.partOf
(Location)
statustokenSearches for locations with a specific kind of statusLocation.status
typetokenA code for the type of locationLocation.type