This
page
is
part
of
the
FHIR
Specification
(v4.3.0:
R4B
(v5.0.0-draft-final:
Final
QA
Preview
for
R5
-
STU
see
ballot
notes
).
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 : 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,
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 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.
Location
may
also
be
used
to
represent
virtual
locations,
for
example
for
telehealth
visits.
As
noted
in
the
Event
pattern,
a
Location
represents
where
a
service
is
performed.
An
Organization
can
represent
who
performed
the
service.
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):
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
Details
and
position
information
for
a
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
Unique
code
or
number
identifying
the
location
to
its
users
|
|
?! Σ | 0..1 | code |
active
|
suspended
|
inactive
Binding: |
|
Σ | 0..1 | Coding |
The
operational
status
of
the
location
(typically
only
for
a
bed/room)
Binding: hl7VS-bedStatus
(
Preferred
)
|
|
Σ | 0..1 | string |
Name
of
the
location
as
used
by
humans
|
|
0..* | string |
A
list
of
alternate
names
that
the
location
is
known
as,
or
was
known
as,
in
the
past
|
|
|
Σ | 0..1 |
|
Additional
details
about
the
location
that
could
be
displayed
as
further
information
to
identify
the
location
beyond
its
name
|
|
Σ | 0..1 | code |
instance
|
kind
Binding: |
|
Σ | 0..* | CodeableConcept |
Type
of
function
performed
Binding: ServiceDeliveryLocationRoleType
(
Extensible
)
|
|
0..* |
|
|
|
|
0..1 | Address |
Physical
location
|
|
|
Σ | 0..1 | CodeableConcept |
Physical
form
of
the
location
|
|
0..1 | BackboneElement |
The
absolute
geographic
location
|
|
|
1..1 | decimal |
Longitude
with
WGS84
datum
|
|
|
1..1 | decimal |
Latitude
with
WGS84
datum
|
|
|
0..1 | decimal |
Altitude
with
WGS84
datum
|
|
|
Σ | 0..1 | Reference ( Organization ) |
Organization
responsible
for
provisioning
and
upkeep
|
|
0..1 | Reference ( Location ) |
Another
Location
this
one
is
physically
a
part
of
|
|
|
0..* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0..* | Reference ( Endpoint ) |
Technical
endpoints
providing
access
to
services
operated
for
the
location
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
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 -->
<</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="[markdown]"/><!-- 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> <</telecom><type><!-- 0..* CodeableConcept Type of function performed--></type> <contact><!-- 0..* ExtendedContactDetail Official contact details for the location --></contact> <address><!-- 0..1 Address Physical location --></address>
<</physicalType><form><!-- 0..1 CodeableConcept Physical form of the location --></form> <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 a part of --></partOf>< < < < < </hoursOfOperation> <<characteristic><!-- 0..* CodeableConcept Collection of characteristics (attributes) --></characteristic> <hoursOfOperation><!-- 0..* Availability What days/times during a week is this location usually open (including exceptions) --></hoursOfOperation> <virtualService><!-- 0..* VirtualServiceDetail Connection details of a virtual service (e.g. conference call) --></virtualService> <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location --></endpoint> </Location>
JSON Template
{
"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" : "<markdown>", // 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
"contact" : [{ ExtendedContactDetail }], // Official contact details for the location
"address" : { Address }, // Physical location
"
"form" : { 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
"
"
"
"
"
}],
"
"characteristic" : [{ CodeableConcept }], // Collection of characteristics (attributes)
"hoursOfOperation" : [{ Availability }], // What days/times during a week is this location usually open (including exceptions)
"virtualService" : [{ VirtualServiceDetail }], // Connection details of a virtual service (e.g. conference call)
"endpoint" : [{ Reference(Endpoint) }] // Technical endpoints providing access to services operated for the location
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ 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 .modifierExtensionfhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ]; fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir:fhir:identifier ( [ Identifier ] ... ) ; # 0..* Unique code or number identifying the location to its users fhir:status [ code ] ; # 0..1 active | suspended | inactive fhir:operationalStatus [ Coding ] ; # 0..1 The operational status of the location (typically only for a bed/room) fhir:name [ string ] ; # 0..1 Name of the location as used by humans fhir:alias ( [ string ] ... ) ; # 0..* A list of alternate names that the location is known as, or was known as, in the past fhir:description [ markdown ] ; # 0..1 Additional details about the location that could be displayed as further information to identify the location beyond its name fhir:mode [ code ] ; # 0..1 instance | kind fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Type of function performed fhir:contact ( [ ExtendedContactDetail ] ... ) ; # 0..* Official contact details for the location fhir:address [ Address ] ; # 0..1 Physical location fhir:form [ CodeableConcept ] ; # 0..1 Physical form of the location fhir:position [ # 0..1 The absolute geographic location fhir:longitude [ decimal ] ; # 1..1 Longitude with WGS84 datum fhir:latitude [ decimal ] ; # 1..1 Latitude with WGS84 datum fhir:altitude [ decimal ] ; # 0..1 Altitude with WGS84 datum ] ; fhir:managingOrganization [ Reference(Organization) ] ; # 0..1 Organization responsible for provisioning and upkeep fhir:partOf [ Reference(Location) ] ; # 0..1 Another Location this one is physically a part of fhir:characteristic ( [ CodeableConcept ] ... ) ; # 0..* Collection of characteristics (attributes) fhir:hoursOfOperation ( [ Availability ] ... ) ; # 0..* What days/times during a week is this location usually open (including exceptions) fhir:virtualService ( [ VirtualServiceDetail ] ... ) ; # 0..* Connection details of a virtual service (e.g. conference call) fhir:endpoint ( [ Reference(Endpoint) ] ... ) ; # 0..* Technical endpoints providing access to services operated for the location ]
Changes since R4
| Location | |
| Location.description |
|
| Location.contact |
|
| Location.form |
|
| Location.characteristic |
|
| Location.hoursOfOperation |
|
| Location.virtualService |
|
| Location.telecom |
|
| Location.physicalType |
|
| Location.hoursOfOperation.daysOfWeek |
|
| Location.hoursOfOperation.allDay |
|
| Location.hoursOfOperation.openingTime |
|
| Location.hoursOfOperation.closingTime |
|
| Location.availabilityExceptions |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
6
tests
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
1
r3
resources
are
invalid
(0
errors).
)
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
Details
and
position
information
for
a
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
Unique
code
or
number
identifying
the
location
to
its
users
|
|
?! Σ | 0..1 | code |
active
|
suspended
|
inactive
Binding: |
|
Σ | 0..1 | Coding |
The
operational
status
of
the
location
(typically
only
for
a
bed/room)
Binding: hl7VS-bedStatus
(
Preferred
)
|
|
Σ | 0..1 | string |
Name
of
the
location
as
used
by
humans
|
|
0..* | string |
A
list
of
alternate
names
that
the
location
is
known
as,
or
was
known
as,
in
the
past
|
|
|
Σ | 0..1 |
|
Additional
details
about
the
location
that
could
be
displayed
as
further
information
to
identify
the
location
beyond
its
name
|
|
Σ | 0..1 | code |
instance
|
kind
Binding: |
|
Σ | 0..* | CodeableConcept |
Type
of
function
performed
Binding: ServiceDeliveryLocationRoleType
(
Extensible
)
|
|
0..* |
|
|
|
|
0..1 | Address |
Physical
location
|
|
|
Σ | 0..1 | CodeableConcept |
Physical
form
of
the
location
|
|
0..1 | BackboneElement |
The
absolute
geographic
location
|
|
|
1..1 | decimal |
Longitude
with
WGS84
datum
|
|
|
1..1 | decimal |
Latitude
with
WGS84
datum
|
|
|
0..1 | decimal |
Altitude
with
WGS84
datum
|
|
|
Σ | 0..1 | Reference ( Organization ) |
Organization
responsible
for
provisioning
and
upkeep
|
|
0..1 | Reference ( Location ) |
Another
Location
this
one
is
physically
a
part
of
|
|
|
0..* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0..* | Reference ( Endpoint ) |
Technical
endpoints
providing
access
to
services
operated
for
the
location
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
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 -->
<</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="[markdown]"/><!-- 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> <</telecom><type><!-- 0..* CodeableConcept Type of function performed--></type> <contact><!-- 0..* ExtendedContactDetail Official contact details for the location --></contact> <address><!-- 0..1 Address Physical location --></address>
<</physicalType><form><!-- 0..1 CodeableConcept Physical form of the location --></form> <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 a part of --></partOf>< < < < < </hoursOfOperation> <<characteristic><!-- 0..* CodeableConcept Collection of characteristics (attributes) --></characteristic> <hoursOfOperation><!-- 0..* Availability What days/times during a week is this location usually open (including exceptions) --></hoursOfOperation> <virtualService><!-- 0..* VirtualServiceDetail Connection details of a virtual service (e.g. conference call) --></virtualService> <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location --></endpoint> </Location>
JSON Template
{
"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" : "<markdown>", // 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
"contact" : [{ ExtendedContactDetail }], // Official contact details for the location
"address" : { Address }, // Physical location
"
"form" : { 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
"
"
"
"
"
}],
"
"characteristic" : [{ CodeableConcept }], // Collection of characteristics (attributes)
"hoursOfOperation" : [{ Availability }], // What days/times during a week is this location usually open (including exceptions)
"virtualService" : [{ VirtualServiceDetail }], // Connection details of a virtual service (e.g. conference call)
"endpoint" : [{ Reference(Endpoint) }] // Technical endpoints providing access to services operated for the location
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ 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 .modifierExtensionfhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ]; fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir:fhir:identifier ( [ Identifier ] ... ) ; # 0..* Unique code or number identifying the location to its users fhir:status [ code ] ; # 0..1 active | suspended | inactive fhir:operationalStatus [ Coding ] ; # 0..1 The operational status of the location (typically only for a bed/room) fhir:name [ string ] ; # 0..1 Name of the location as used by humans fhir:alias ( [ string ] ... ) ; # 0..* A list of alternate names that the location is known as, or was known as, in the past fhir:description [ markdown ] ; # 0..1 Additional details about the location that could be displayed as further information to identify the location beyond its name fhir:mode [ code ] ; # 0..1 instance | kind fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Type of function performed fhir:contact ( [ ExtendedContactDetail ] ... ) ; # 0..* Official contact details for the location fhir:address [ Address ] ; # 0..1 Physical location fhir:form [ CodeableConcept ] ; # 0..1 Physical form of the location fhir:position [ # 0..1 The absolute geographic location fhir:longitude [ decimal ] ; # 1..1 Longitude with WGS84 datum fhir:latitude [ decimal ] ; # 1..1 Latitude with WGS84 datum fhir:altitude [ decimal ] ; # 0..1 Altitude with WGS84 datum ] ; fhir:managingOrganization [ Reference(Organization) ] ; # 0..1 Organization responsible for provisioning and upkeep fhir:partOf [ Reference(Location) ] ; # 0..1 Another Location this one is physically a part of fhir:characteristic ( [ CodeableConcept ] ... ) ; # 0..* Collection of characteristics (attributes) fhir:hoursOfOperation ( [ Availability ] ... ) ; # 0..* What days/times during a week is this location usually open (including exceptions) fhir:virtualService ( [ VirtualServiceDetail ] ... ) ; # 0..* Connection details of a virtual service (e.g. conference call) fhir:endpoint ( [ Reference(Endpoint) ] ... ) ; # 0..* Technical endpoints providing access to services operated for the location ]
Changes since Release 4
| Location | |
| Location.description |
|
| Location.contact |
|
| Location.form |
|
| Location.characteristic |
|
| Location.hoursOfOperation |
|
| Location.virtualService |
|
| Location.telecom |
|
| Location.physicalType |
|
| Location.hoursOfOperation.daysOfWeek |
|
| Location.hoursOfOperation.allDay |
|
| Location.hoursOfOperation.openingTime |
|
| Location.hoursOfOperation.closingTime |
|
| Location.availabilityExceptions |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
6
tests
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
1
r3
resources
are
invalid
(0
errors).
)
See
the
Profiles
&
Extensions
and
the
alternate
Additional
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
the
extensions
,
the
spreadsheet
version
&
the
dependency
analysis
| Path |
|
Type |
|
|---|---|---|---|
| Location.status | LocationStatus | Required |
Indicates whether the location is still in use. |
| Location.operationalStatus |
Hl7VSBedStatus
(a
valid
code
from
bedStatus
)
|
Preferred |
Value Set of codes that specify the state of a bed in an inpatient setting, and is used to determine if a patient may be assigned to it or not. |
| Location.mode | LocationMode | Required |
Indicates whether a resource instance represents a specific location or a class of locations. |
| Location.type |
ServiceDeliveryLocationRoleType
|
Extensible |
A role of a place that further classifies the setting (e.g., accident site, road side, work site, community location) in which services are delivered. |
| Location.form |
LocationForm
(a
valid
code
from
Location
type
)
|
Example |
This example value set defines a set of codes that can be used to indicate the physical form of the Location. |
| Location.characteristic | LocationCharacteristic |
|
Example Set of Location Characteristics |
.
hoursOfOperation.notAvailableTime
properties.
It
might
be
defined
as
just
a
textual
description
(e.g.
Public
Holidays)
in
which
case
the
user
would
need
to
know
what
that
means.
Preferably
it
should
include
the
actual
start/end
dates
that
is
it
not
available.
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, 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 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
Medical
Centre
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.
Searching for locations often require that a facility is within a specified distance of a specified point. For example, to locate healthcare facilities within 11.2 kms of a 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|11.20|km...
The distance and distance unit parameter components are optional, if the units are missing, kms are to be 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
separator
,
or
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"/>
</valueDistance>
</extension>
</search>
</entry>
Note: When sorting by the near search parameter the results can be considered an ordered set, even if the implementation does not provide calculated distances to the point provided. Given the variety of possible implementations, this ordering might not be dependable. If no bounding distance is provided via the search parameter, this can be considered as an ordered set of closest matches (up to an implied or explicit count).
If
the
expectation
is
that
the
response
is
ordered
by
near,
then
near
MUST
be
provided
as
a
search
parameter
in
the
request
as
well.
A
Bad
Request
will
be
returned
if
sorting
by
near
is
requested
without
the
near
search
parameter.
For
example:
GET [base]/Location?near=-83.694810|42.256500|11.20|km&_sortby=near
Locations
can
also
include
a
definition
of
their
boundary
shape
in
the
standard
extension
location-boundary-geojson
.
This
is
very
useful
with
defining
explicit
coverage
areas.
The
special
contains
search
parameter
tests
that
the
geocoded
point(s)
provided
(expressed
as
[latitude]|[longitude]
using
the
WGS84
datum)
are
contained
by
the
defined
boundary.
GET [base]/Location?contains=-83.694810|42.256500
Support
for
multiple
points
can
also
be
provided
using
the
,
syntax
which
is
interpretted
as
the
location
returned
in
the
search
contains
at
least
1
of
the
provided
co-ordinates.
Note: Searching this data requires specialized geo-spatial search infrastructure, or other approximating implementations.
Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to 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 | 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 | |
| characteristic | token | One of the Location's characteristics | Location.characteristic | |
| contains | special | Select locations that contain the specified co-ordinates | Location.extension('http://hl7.org/fhir/StructureDefinition/location-boundary-geojson').value | |
| 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 | special |
Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes).
Servers
which
support
the
near
parameter
SHALL
support
the
unit
string
'km'
for
kilometers
and
SHOULD
support
'[mi_us]'
for
miles,
support
for
other
units
is
optional.
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
what
distances
should
be
considered
near
(and
units
are
|
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 | token | Searches for locations with a specific kind of status | Location.status | |
| type | token | A code for the type of location | Location.type |