FHIR Release 3 (STU) 4
This page is part of the FHIR Specification (v3.0.2: STU 3). The current version which supercedes this version is 4.0.1 . For a full list of available versions, see the Directory of published versions

8.7 Resource Location - Content

Patient Administration Work Group Maturity Level : 3   Trial Use Security Category : Business 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 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:

  • 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 happily 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):

  • Nation - Country wide 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 UsageContext , Account , ActivityDefinition , AdverseEvent , Appointment , AppointmentResponse , AuditEvent , CarePlan , CatalogEntry , Claim , ClaimResponse , Communication , Contract , CoverageEligibilityRequest , Device , DeviceRequest , DiagnosticReport , EligibilityRequest DocumentReference , Encounter , ExplanationOfBenefit , Flag , HealthcareService , ImagingStudy , Immunization , InsurancePlan , List , itself, MeasureReport , MedicationDispense , Observation , OrganizationAffiliation , PractitionerRole , Procedure , ProcedureRequest , Provenance , ResearchStudy , Schedule , ServiceRequest , Specimen , SupplyDelivery , SupplyRequest and SupplyRequest Task .

This resource implements the ParticipantContactable pattern.

Structure

Name Flags Card. Type Description & Constraints doco
. . Location TU DomainResource Details and position information for a physical place
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..* Identifier Unique code or number identifying the location to its users
. . . status ?! Σ 0..1 code active | suspended | inactive
LocationStatus ( Required )
. . . operationalStatus Σ 0..1 Coding The Operational operational status of the location (typically only for a bed/room)
v2 Bed Status BED STATUS ( Preferred )
. . . name Σ 0..1 string Name of the location as used by humans
. . . alias 0..* string A list of alternate of alternate names that the location is known as, or was known as as, in the past
. . . description Σ 0..1 string Additional details about the location that could be displayed as further information to identify the location beyond its name
. . . mode ?! Σ 0..1 code instance | kind
LocationMode ( Required )
. . . type Σ 0..1 0..* CodeableConcept Type of function performed
ServiceDeliveryLocationRoleType V3 Value SetServiceDeliveryLocationRoleType ( 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 Location type ( 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 a part of
. . . hoursOfOperation 0..* BackboneElement What days/times during a week is this location usually open
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
DaysOfWeek ( Required )
.... allDay 0..1 boolean The Location is open all day
.... openingTime 0..1 time Time that the Location opens
.... closingTime 0..1 time Time that the Location closes
... availabilityExceptions 0..1 string Description of availability exceptions
. . . endpoint 0..* Reference ( Endpoint ) Technical endpoints providing access to services operated for the location

doco Documentation for this format

UML Diagram ( Legend )

Location ( DomainResource ) Unique code or number identifying the location to its users identifier : Identifier [0..*] The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location (this element modifies the meaning of other elements) status : code [0..1] « Indicates whether the location is still in use. (Strength=Required) LocationStatus ! » The Operational operational status covers operation values most relevant to beds (but can also apply to rooms/units/chair/etc rooms/units/chairs/etc. such as an isolation unit/dialisys unit/dialysis chair). This typically covers concepts such as contamination, housekeeping housekeeping, and other activitieslike activities like maintenance operationalStatus : Coding [0..1] « The operational status if the location (where typically a bed/room) bed/room). (Strength=Preferred) v2 Bed Status v2.0116 ? » Name of the location as used by humans. Does not need to be unique name : string [0..1] A list ofalternate of alternate names that the location is known as, or was known as as, in the past alias : string [0..*] Description of the Location, which helps in finding or referencing the place description : string [0..1] Indicates 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 locations. (Strength=Required) LocationMode ! » Indicates the type of function performed at the location type : CodeableConcept [0..1] [0..*] « Indicates the type of function performed at the location. (Strength=Extensible) ServiceDeliveryLocationRoleTy... v3.ServiceDeliveryLocationRol... + » The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites telecom : ContactPoint [0..*] Physical location address : Address [0..1] Physical form of the location, e.g. building, room, vehicle, road physicalType : CodeableConcept [0..1] « Physical form of the location location. (Strength=Example) LocationType ?? » The organization responsible for the provisioning and upkeep of the location managingOrganization : Reference [0..1] « Organization » Another Location of which this Location is physically a part of partOf : Reference [0..1] « Location » 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 availabilityExceptions : string [0..1] Technical endpoints providing access to services operated for the location endpoint : Reference [0..*] « Endpoint » Position Longitude. 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..1] Latitude. 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..1] Altitude. 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..1] HoursOfOperation Indicates which days of the week are available between the start and end Times daysOfWeek : code [0..*] « The days of the week. (Strength=Required) DaysOfWeek ! » The Location is open all day allDay : boolean [0..1] Time that the Location opens openingTime : time [0..1] Time that the Location closes closingTime : time [0..1] The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML) position [0..1] What days/times during a week is this location usually open hoursOfOperation [0..*]

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>
 <status value="[code]"/><!-- 0..1 active | suspended | inactive -->
 <</operationalStatus>

 <operationalStatus><!-- 0..1 Coding The operational status of the location (typically only for a bed/room) --></operationalStatus>

 <name value="[string]"/><!-- 0..1 Name of the location as used by humans -->
 <

 <alias value="[string]"/><!-- 0..* A list of alternate names that the location is known as, or was known as, in the past -->

 <description value="[string]"/><!-- 0..1 Additional details about the location that could be displayed as further information to identify the location beyond its name -->
 <
 <</type>

 <mode value="[code]"/><!-- 0..1 instance | kind -->
 <type><!-- 0..* 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>

 <partOf><!-- 0..1 Reference(Location) Another Location this one is physically a part of --></partOf>
 <hoursOfOperation>  <!-- 0..* What days/times during a week is this location usually open -->
  <daysOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun -->
  <allDay value="[boolean]"/><!-- 0..1 The Location is open all day -->
  <openingTime value="[time]"/><!-- 0..1 Time that the Location opens -->
  <closingTime value="[time]"/><!-- 0..1 Time that the Location closes -->
 </hoursOfOperation>
 <availabilityExceptions value="[string]"/><!-- 0..1 Description of availability exceptions -->

 <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location --></endpoint>
</Location>

JSON Template

{doco
  "resourceType" : "",

  "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
  "

  "operationalStatus" : { Coding }, // The operational status of the location (typically only for a bed/room)

  "name" : "<string>", // Name of the location as used by humans
  "

  "alias" : ["<string>"], // A list of alternate names that the location is known as, or was known as, in the past

  "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 a part of
  "hoursOfOperation" : [{ // What days/times during a week is this location usually open
    "daysOfWeek" : ["<code>"], // mon | tue | wed | thu | fri | sat | sun
    "allDay" : <boolean>, // The Location is open all day
    "openingTime" : "<time>", // Time that the Location opens
    "closingTime" : "<time>" // Time that the Location closes
  }],
  "availabilityExceptions" : "<string>", // Description of availability exceptions

  "endpoint" : [{ Reference(Endpoint) }] // Technical endpoints providing access to services operated for the location
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco
[ a fhir:;

[ a fhir:Location;

  fhir:nodeRole fhir:treeRoot; # if this is the parser root
  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Location.identifier [ Identifier ], ... ; # 0..* Unique code or number identifying the location to its users
  fhir:Location.status [ code ]; # 0..1 active | suspended | inactive
  fhir:

  fhir:Location.operationalStatus [ Coding ]; # 0..1 The operational status of the location (typically only for a bed/room)

  fhir:Location.name [ string ]; # 0..1 Name of the location as used by humans
  fhir:

  fhir:Location.alias [ string ], ... ; # 0..* A list of alternate names that the location is known as, or was known as, in the past

  fhir:Location.description [ string ]; # 0..1 Additional details about the location that could be displayed as further information to identify the location beyond its name
  fhir:
  fhir:

  fhir:Location.mode [ code ]; # 0..1 instance | kind
  fhir:Location.type [ CodeableConcept ], ... ; # 0..* Type of function performed

  fhir:Location.telecom [ ContactPoint ], ... ; # 0..* Contact details of the location
  fhir:Location.address [ Address ]; # 0..1 Physical location
  fhir:Location.physicalType [ CodeableConcept ]; # 0..1 Physical form of the location
  fhir:Location.position [ # 0..1 The absolute geographic location
    fhir:Location.position.longitude [ decimal ]; # 1..1 Longitude with WGS84 datum
    fhir:Location.position.latitude [ decimal ]; # 1..1 Latitude with WGS84 datum
    fhir:Location.position.altitude [ decimal ]; # 0..1 Altitude with WGS84 datum
  ];
  fhir:Location.managingOrganization [ Reference(Organization) ]; # 0..1 Organization responsible for provisioning and upkeep
  fhir:

  fhir:Location.partOf [ Reference(Location) ]; # 0..1 Another Location this one is physically a part of
  fhir:Location.hoursOfOperation [ # 0..* What days/times during a week is this location usually open
    fhir:Location.hoursOfOperation.daysOfWeek [ code ], ... ; # 0..* mon | tue | wed | thu | fri | sat | sun
    fhir:Location.hoursOfOperation.allDay [ boolean ]; # 0..1 The Location is open all day
    fhir:Location.hoursOfOperation.openingTime [ time ]; # 0..1 Time that the Location opens
    fhir:Location.hoursOfOperation.closingTime [ time ]; # 0..1 Time that the Location closes
  ], ...;
  fhir:Location.availabilityExceptions [ string ]; # 0..1 Description of availability exceptions

  fhir:Location.endpoint [ Reference(Endpoint) ], ... ; # 0..* Technical endpoints providing access to services operated for the location
]

Changes since DSTU2 R3

Location
Location.operationalStatus Location.status
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/location-status|4.0.0 to http://hl7.org/fhir/ValueSet/location-status|4.1.0
Location.alias Location.mode
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/location-mode|4.0.0 to http://hl7.org/fhir/ValueSet/location-mode|4.1.0
Location.endpoint Location.hoursOfOperation.daysOfWeek
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/days-of-week|4.0.0 to http://hl7.org/fhir/ValueSet/days-of-week|4.1.0

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 <--> R4 Conversion Maps (status = 6 tests that all execute ok. All tests pass round-trip testing and all 1 r3 resources are valid.). invalid (0 errors). )

Structure

Name Flags Card. Type Description & Constraints doco
. . Location TU DomainResource Details and position information for a physical place
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..* Identifier Unique code or number identifying the location to its users
. . . status ?! Σ 0..1 code active | suspended | inactive
LocationStatus ( Required )
. . . operationalStatus Σ 0..1 Coding The Operational operational status of the location (typically only for a bed/room)
v2 Bed Status BED STATUS ( Preferred )
. . . name Σ 0..1 string Name of the location as used by humans
. . . alias 0..* string A list of alternate of alternate names that the location is known as, or was known as as, in the past
. . . description Σ 0..1 string Additional details about the location that could be displayed as further information to identify the location beyond its name
. . . mode ?! Σ 0..1 code instance | kind
LocationMode ( Required )
. . . type Σ 0..1 0..* CodeableConcept Type of function performed
ServiceDeliveryLocationRoleType V3 Value SetServiceDeliveryLocationRoleType ( 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 Location type ( 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 a part of
. . . hoursOfOperation 0..* BackboneElement What days/times during a week is this location usually open
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
DaysOfWeek ( Required )
.... allDay 0..1 boolean The Location is open all day
.... openingTime 0..1 time Time that the Location opens
.... closingTime 0..1 time Time that the Location closes
... availabilityExceptions 0..1 string Description of availability exceptions
. . . endpoint 0..* Reference ( Endpoint ) Technical endpoints providing access to services operated for the location

doco Documentation for this format

UML Diagram ( Legend )

Location ( DomainResource ) Unique code or number identifying the location to its users identifier : Identifier [0..*] The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location (this element modifies the meaning of other elements) status : code [0..1] « Indicates whether the location is still in use. (Strength=Required) LocationStatus ! » The Operational operational status covers operation values most relevant to beds (but can also apply to rooms/units/chair/etc rooms/units/chairs/etc. such as an isolation unit/dialisys unit/dialysis chair). This typically covers concepts such as contamination, housekeeping housekeeping, and other activitieslike activities like maintenance operationalStatus : Coding [0..1] « The operational status if the location (where typically a bed/room) bed/room). (Strength=Preferred) v2 Bed Status v2.0116 ? » Name of the location as used by humans. Does not need to be unique name : string [0..1] A list ofalternate of alternate names that the location is known as, or was known as as, in the past alias : string [0..*] Description of the Location, which helps in finding or referencing the place description : string [0..1] Indicates 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 locations. (Strength=Required) LocationMode ! » Indicates the type of function performed at the location type : CodeableConcept [0..1] [0..*] « Indicates the type of function performed at the location. (Strength=Extensible) ServiceDeliveryLocationRoleTy... v3.ServiceDeliveryLocationRol... + » The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites telecom : ContactPoint [0..*] Physical location address : Address [0..1] Physical form of the location, e.g. building, room, vehicle, road physicalType : CodeableConcept [0..1] « Physical form of the location location. (Strength=Example) LocationType ?? » The organization responsible for the provisioning and upkeep of the location managingOrganization : Reference [0..1] « Organization » Another Location of which this Location is physically a part of partOf : Reference [0..1] « Location » 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 availabilityExceptions : string [0..1] Technical endpoints providing access to services operated for the location endpoint : Reference [0..*] « Endpoint » Position Longitude. 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..1] Latitude. 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..1] Altitude. 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..1] HoursOfOperation Indicates which days of the week are available between the start and end Times daysOfWeek : code [0..*] « The days of the week. (Strength=Required) DaysOfWeek ! » The Location is open all day allDay : boolean [0..1] Time that the Location opens openingTime : time [0..1] Time that the Location closes closingTime : time [0..1] The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML) position [0..1] What days/times during a week is this location usually open hoursOfOperation [0..*]

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>
 <status value="[code]"/><!-- 0..1 active | suspended | inactive -->
 <</operationalStatus>

 <operationalStatus><!-- 0..1 Coding The operational status of the location (typically only for a bed/room) --></operationalStatus>

 <name value="[string]"/><!-- 0..1 Name of the location as used by humans -->
 <

 <alias value="[string]"/><!-- 0..* A list of alternate names that the location is known as, or was known as, in the past -->

 <description value="[string]"/><!-- 0..1 Additional details about the location that could be displayed as further information to identify the location beyond its name -->
 <
 <</type>

 <mode value="[code]"/><!-- 0..1 instance | kind -->
 <type><!-- 0..* 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>

 <partOf><!-- 0..1 Reference(Location) Another Location this one is physically a part of --></partOf>
 <hoursOfOperation>  <!-- 0..* What days/times during a week is this location usually open -->
  <daysOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun -->
  <allDay value="[boolean]"/><!-- 0..1 The Location is open all day -->
  <openingTime value="[time]"/><!-- 0..1 Time that the Location opens -->
  <closingTime value="[time]"/><!-- 0..1 Time that the Location closes -->
 </hoursOfOperation>
 <availabilityExceptions value="[string]"/><!-- 0..1 Description of availability exceptions -->

 <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location --></endpoint>
</Location>

JSON Template

{doco
  "resourceType" : "",

  "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
  "

  "operationalStatus" : { Coding }, // The operational status of the location (typically only for a bed/room)

  "name" : "<string>", // Name of the location as used by humans
  "

  "alias" : ["<string>"], // A list of alternate names that the location is known as, or was known as, in the past

  "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 a part of
  "hoursOfOperation" : [{ // What days/times during a week is this location usually open
    "daysOfWeek" : ["<code>"], // mon | tue | wed | thu | fri | sat | sun
    "allDay" : <boolean>, // The Location is open all day
    "openingTime" : "<time>", // Time that the Location opens
    "closingTime" : "<time>" // Time that the Location closes
  }],
  "availabilityExceptions" : "<string>", // Description of availability exceptions

  "endpoint" : [{ Reference(Endpoint) }] // Technical endpoints providing access to services operated for the location
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco
[ a fhir:;

[ a fhir:Location;

  fhir:nodeRole fhir:treeRoot; # if this is the parser root
  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Location.identifier [ Identifier ], ... ; # 0..* Unique code or number identifying the location to its users
  fhir:Location.status [ code ]; # 0..1 active | suspended | inactive
  fhir:

  fhir:Location.operationalStatus [ Coding ]; # 0..1 The operational status of the location (typically only for a bed/room)

  fhir:Location.name [ string ]; # 0..1 Name of the location as used by humans
  fhir:

  fhir:Location.alias [ string ], ... ; # 0..* A list of alternate names that the location is known as, or was known as, in the past

  fhir:Location.description [ string ]; # 0..1 Additional details about the location that could be displayed as further information to identify the location beyond its name
  fhir:
  fhir:

  fhir:Location.mode [ code ]; # 0..1 instance | kind
  fhir:Location.type [ CodeableConcept ], ... ; # 0..* Type of function performed

  fhir:Location.telecom [ ContactPoint ], ... ; # 0..* Contact details of the location
  fhir:Location.address [ Address ]; # 0..1 Physical location
  fhir:Location.physicalType [ CodeableConcept ]; # 0..1 Physical form of the location
  fhir:Location.position [ # 0..1 The absolute geographic location
    fhir:Location.position.longitude [ decimal ]; # 1..1 Longitude with WGS84 datum
    fhir:Location.position.latitude [ decimal ]; # 1..1 Latitude with WGS84 datum
    fhir:Location.position.altitude [ decimal ]; # 0..1 Altitude with WGS84 datum
  ];
  fhir:Location.managingOrganization [ Reference(Organization) ]; # 0..1 Organization responsible for provisioning and upkeep
  fhir:

  fhir:Location.partOf [ Reference(Location) ]; # 0..1 Another Location this one is physically a part of
  fhir:Location.hoursOfOperation [ # 0..* What days/times during a week is this location usually open
    fhir:Location.hoursOfOperation.daysOfWeek [ code ], ... ; # 0..* mon | tue | wed | thu | fri | sat | sun
    fhir:Location.hoursOfOperation.allDay [ boolean ]; # 0..1 The Location is open all day
    fhir:Location.hoursOfOperation.openingTime [ time ]; # 0..1 Time that the Location opens
    fhir:Location.hoursOfOperation.closingTime [ time ]; # 0..1 Time that the Location closes
  ], ...;
  fhir:Location.availabilityExceptions [ string ]; # 0..1 Description of availability exceptions

  fhir:Location.endpoint [ Reference(Endpoint) ], ... ; # 0..* Technical endpoints providing access to services operated for the location
]

Changes since DSTU2 Release 3

Location
Location.operationalStatus Location.status
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/location-status|4.0.0 to http://hl7.org/fhir/ValueSet/location-status|4.1.0
Location.alias Location.mode
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/location-mode|4.0.0 to http://hl7.org/fhir/ValueSet/location-mode|4.1.0
Location.endpoint Location.hoursOfOperation.daysOfWeek
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/days-of-week|4.0.0 to http://hl7.org/fhir/ValueSet/days-of-week|4.1.0

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 <--> R4 Conversion Maps (status = 6 tests that all execute ok. All tests pass round-trip testing and all 1 r3 resources are valid.). invalid (0 errors). )

 

Alternate See the Profiles & Extensions and the alternate definitions: Master Definition ( XML , + JSON ), , XML Schema / Schematron (for ) + JSON Schema , ShEx (for Turtle ) + see the extensions , the spreadsheet version & the dependency analysis a

Path Definition Type Reference
Location.status Indicates whether the location is still in use. Required LocationStatus
Location.operationalStatus The operational status if the location (where typically a bed/room) bed/room). Preferred v2 Bed Status v2.0116
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 v3.ServiceDeliveryLocationRoleType
Location.physicalType Physical form of the location location. Example LocationType
Location.hoursOfOperation.daysOfWeek The days of the week. Required DaysOfWeek

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

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 to identify 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 by identifying information is missing. missing information. 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 Medical Centre ambulance)

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

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.

Searching for locations often require that a facility is within a specified distance of a particular specified point. For example, to locate healthcare facilities within 2kms 11.2 kms of a clients client's home, or the current geo-coded position of a practitioner travelling between patients (read from a mobile phone or device).

GET [base]/Location?near=-83.694810:42.256500&near-distance=11.20||km...
 GET [base]/Location?near=-83.694810|42.256500|11.20|km...

Note: The near search parameters distance and distance unit parameter components are optional, if the units are missing, kms are not able to be used with multiples thus assumed. If the distance parameter component is missing, then the server may choose its own interpretation of what near enough is to be included in the search results.

Note: The STU3 version of this functionality did not support the multiple seperator separator , should not be used with near or near-distance. chaining. The update to this format now supports both of these use cases.
(And the near-distance was deprecated as a result of this change too)

The distance between the location and the provided point is often used as one of the determining factors for selection of the location. So this value is included in the results.
However the value cannot be inside the Location resource as it is different depending on the point of reference in the search. So the distance between is included in the search section of the bundle entry. Where multiple near positions are included, the distance to the closest point provided may be included.

<entry> 
    <resource>
        <Location>
            <!-- location details -->
        </Location>
    </resource>
    <search>
        <extension url="http://hl7.org/fhir/StructureDefinition/location-distance">
            <valueDistance >
                <!-- The distance that this location resource is from the provided point in the query --<
                </value value="10.5"/>
                </unit value="km"/>

                <!-- The distance that this location resource is from the provided point in the query -->
                <value value="10.5"/>
                <unit value="km"/>

            </valueDistance>
        </extension>
    </search>
</entry> 

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 Expression In Common
address string A (part of the) address of the location Location.address
address-city N string A city specified in an address Location.address.city
address-country N string A country specified in an address Location.address.country
address-postalcode N string A postal code specified in an address Location.address.postalCode
address-state N string A state specified in an address Location.address.state
address-use N token A use code specified in an address Location.address.use
endpoint reference Technical endpoints providing access to services operated for the location Location.endpoint
( Endpoint )
identifier token An identifier for the location Location.identifier
name string A portion of the location's name or alias Location.name | Location.alias
near token special The Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]:[longitude] [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes) notes). If the units are omitted, then kms should be assumed. If the distance is omitted, then the server can use its own discretion as to find locations what distances should be considered near to (servers (and units are irrelevant) Servers may search using a square rather than a circle for efficiency) various techniques that might have differing accuracies, depending on implementation efficiency. Requires the near-distance parameter to be provided also Location.position
near-distance quantity A distance quantity to limit the near search to locations within a specific distance Requires the near parameter to also be included Location.position operational-status token Searches for locations (typically bed/room) that have an operational status (e.g. contaminated, housekeeping) Location.operationalStatus
organization reference Searches for locations that are managed by the provided organization Location.managingOrganization
( Organization )
partof reference A location of which this location is a part Location.partOf
( Location )
status N token Searches for locations with a specific kind of status Location.status
type token A code for the type of location Location.type