|
Observation
|
|
Definition
|
Measurements
and
simple
assertions
made
about
a
patient,
device
or
other
subject.
Measurements and simple assertions made about a patient, device or other subject.
|
|
Control
|
1..1
|
|
Requirements
|
Observations
are
a
key
aspect
of
healthcare.
This
resource
is
used
to
capture
those
that
do
not
require
more
sophisticated
mechanisms.
Observations are a key aspect of healthcare. This resource is used to capture those that do not require more sophisticated mechanisms.
|
Alternate
Names
Alternate Names
|
Vital
Signs;
Measurement;
Results;
Tests
Vital Signs; Measurement; Results; Tests
|
|
Comments
|
Used
for
simple
observations
such
as
device
measurements,
laboratory
atomic
results,
vital
signs,
height,
weight,
smoking
status,
comments,
etc.
Other
resources
are
used
to
provide
context
for
observations
such
as
lab
reports,
etc.
Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc. Other resources are used to provide context for observations such as lab reports, etc.
|
|
Invariants
|
Defined
on
this
element
Defined on this element
obs-6
:
SHALL
only
be
present
if
Observation.value[x]
is
not
present
(xpath:
not(exists(f:dataAbsentReason))
or
(not(exists(*[starts-with(local-name(.),
'value')]))))
: dataAbsentReason SHALL only be present if Observation.value[x] is not present (
expression
: dataAbsentReason.empty() or value.empty(), xpath: not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')]))))
obs-7
:
Component
code
SHALL
not
be
same
as
observation
code
(xpath:
not(exists(f:component/f:code))
or
count(for
$coding
in
f:code/f:coding
return
parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value
and
f:system/@value=$coding/f:system/@value])=0)
: If code is the same as a component code then the value element associated with the code SHALL NOT be present (
expression
: value.empty() or code!=component.code, xpath: not(exists(f:value)) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0))
|
|
Observation.identifier
|
|
Definition
|
A
unique
identifier
for
the
simple
observation
instance.
A unique identifier for the simple observation instance.
|
|
Note
|
This
is
a
business
identifer,
not
a
resource
identifier
(see
This is a business identifer, not a resource identifier (see
discussion
)
|
|
Control
|
0..*
|
|
Type
|
Identifier
|
|
Requirements
|
Allows
observations
to
be
distinguished
and
referenced.
Allows observations to be distinguished and referenced.
|
|
Observation.status
|
|
Definition
|
The
status
of
the
result
value.
The status of the result value.
|
|
Control
|
1..1
|
|
Binding
|
ObservationStatus:
Codes
providing
the
status
of
an
observation.
(
ObservationStatus:
Codes providing the status of an observation.
(
Required
)
|
|
Type
|
code
|
Is
Modifier
Is Modifier
|
true
|
|
Requirements
|
Need
to
track
the
status
of
individual
results.
Some
results
are
finalized
before
the
whole
report
is
finalized.
Need to track the status of individual results. Some results are finalized before the whole report is finalized.
|
|
Summary
|
true
|
|
Observation.category
|
|
Definition
|
A
code
that
classifies
the
general
type
of
observation
being
made.
This
is
used
for
searching,
sorting
and
display
purposes.
A code that classifies the general type of observation being made.
|
|
Control
|
0..1
0..*
|
|
Binding
|
Observation
Category
Codes:
Codes
for
high
level
observation
categories
.
(
Observation Category Codes:
Codes for high level observation categories .
(
Example
)
|
|
Type
|
CodeableConcept
|
Comments
Requirements
|
The
level
of
granularity
is
defined
by
the
category
concepts
in
the
value
set.
More
fine-grained
filtering
can
be
performed
using
the
metadata
and/or
terminology
hierarchy
in
Observation.code.
Used for filtering what observations are retreived and displayed.
|
|
Comments
|
There may be multiple axis of categoriization depending on the context or use case for retrieving or displaying the resource. The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in Observation.code.
|
|
Observation.code
|
|
Definition
|
Describes
what
was
observed.
Sometimes
this
is
called
the
observation
"name".
Describes what was observed. Sometimes this is called the observation "name".
|
|
Control
|
1..1
|
|
Binding
|
LOINC
Codes:
Codes
identifying
names
of
simple
observations.
(
LOINC Codes:
Codes identifying names of simple observations.
(
Example
)
|
|
Type
|
CodeableConcept
|
|
Requirements
|
Knowing
what
kind
of
observation
is
being
made
is
essential
to
understanding
the
observation.
Knowing what kind of observation is being made is essential to understanding the observation.
|
|
Summary
|
true
|
|
Observation.subject
|
|
Definition
|
The
patient,
or
group
of
patients,
location,
or
device
whose
characteristics
(direct
or
indirect)
are
described
by
the
observation
and
into
whose
record
the
observation
is
placed.
Comments:
Indirect
characteristics
may
be
those
of
a
specimen,
fetus,
donor,
other
observer
(for
example
a
relative
or
EMT),
or
any
observation
made
about
the
subject.
The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed. Comments: Indirect characteristics may be those of a specimen, fetus, donor, other observer (for example a relative or EMT), or any observation made about the subject.
|
|
Control
|
0..1
|
|
Type
|
Reference
(
Patient
|
|
Group
|
|
Device
|
|
Location
)
|
|
Requirements
|
Observations
have
no
value
if
you
don't
know
who
or
what
they're
about.
Observations have no value if you don't know who or what they're about.
|
|
Summary
|
true
|
|
Comments
|
One
would
expect
this
element
to
be
a
cardinality
of
1..1.
The
only
circumstance
in
which
the
subject
can
be
missing
is
when
the
observation
is
made
by
a
device
that
does
not
know
the
patient.
In
this
case,
the
observation
SHALL
be
matched
to
a
patient
through
some
context/channel
matching
technique,
and
at
this
point,
the
observation
should
be
updated.
If
the
target
of
the
observation
is
different
than
the
subject,
the
general
extension
One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.
If the target of the observation is different than the subject, the general extension
observation-focal-subject
.
may
be
used.
However,
the
distinction
between
the
patient's
own
value
for
an
observation
versus
that
of
the
fetus,
or
the
donor
or
blood
product
unit,
etc.,
are
often
specified
in
the
observation
code.
. may be used. However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.
|
|
Observation.encounter
|
|
Definition
|
The
healthcare
event
(e.g.
a
patient
and
healthcare
provider
interaction)
during
which
this
observation
is
made.
The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made.
|
|
Control
|
0..1
|
|
Type
|
Reference
(
Encounter
)
|
|
Requirements
|
For
some
observations
it
may
be
important
to
know
the
link
between
an
observation
and
a
particular
encounter.
For some observations it may be important to know the link between an observation and a particular encounter.
|
|
Observation.effective[x]
|
|
Definition
|
The
time
or
time-period
the
observed
value
is
asserted
as
being
true.
For
biological
subjects
-
e.g.
human
patients
-
this
is
usually
called
the
"physiologically
relevant
time".
This
is
usually
either
the
time
of
the
procedure
or
of
specimen
collection,
but
very
often
the
source
of
the
date/time
is
not
known,
only
the
date/time
itself.
The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the "physiologically relevant time". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.
|
|
Control
|
0..1
|
|
Type
|
dateTime
|
Period
|
[x]
Note
[x] Note
|
See
Choice
of
Data
Types
for
further
information
about
how
to
use
[x]
See
Choice of Data Types
for further information about how to use [x]
|
|
Requirements
|
Knowing
when
an
observation
was
deemed
true
is
important
to
its
relevance
as
well
as
determining
trends.
Knowing when an observation was deemed true is important to its relevance as well as determining trends.
|
|
Summary
|
true
|
|
Comments
|
At
least
a
date
should
be
present
unless
this
observation
is
a
historical
report.
At least a date should be present unless this observation is a historical report.
|
|
Observation.issued
|
|
Definition
|
The
date
and
time
this
observation
was
made
available
to
providers,
typically
after
the
results
have
been
reviewed
and
verified.
The date and time this observation was made available to providers, typically after the results have been reviewed and verified.
|
|
Control
|
0..1
|
|
Type
|
instant
|
|
Summary
|
true
|
|
Comments
|
Updated
when
the
result
is
updated.
Updated when the result is updated.
|
|
Observation.performer
|
|
Definition
|
Who
was
responsible
for
asserting
the
observed
value
as
"true".
Who was responsible for asserting the observed value as "true".
|
|
Control
|
0..*
|
|
Type
|
Reference
(
Practitioner
|
|
Organization
|
|
Patient
|
|
RelatedPerson
)
|
|
Requirements
|
May
give
a
degree
of
confidence
in
the
observation
and
also
indicates
where
follow-up
questions
should
be
directed.
May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.
|
|
Summary
|
true
|
|
Observation.value[x]
|
|
Definition
|
The
information
determined
as
a
result
of
making
the
observation,
if
the
information
has
a
simple
value.
The information determined as a result of making the observation, if the information has a simple value.
|
|
Control
|
0..1
|
|
Type
|
Quantity
|
CodeableConcept
|
string
|
Range
|
Ratio
|
SampledData
|
Attachment
|
time
|
dateTime
|
Period
|
[x]
Note
[x] Note
|
See
Choice
of
Data
Types
for
further
information
about
how
to
use
[x]
See
Choice of Data Types
for further information about how to use [x]
|
|
Requirements
|
An
observation
exists
to
have
a
value,
though
it
may
not
if
it
is
in
error,
or
it
represents
a
group
of
observations.
An observation exists to have a value, though it may not if it is in error, or it represents a group of observations.
|
|
Summary
|
true
|
|
Comments
|
Normally,
an
observation
will
have
either
a
value
or
a
set
of
related
observations.
A
few
observations
(e.g.
Apgar
score)
may
have
both
a
value
and
related
observations
(for
an
Apgar
score,
the
observations
from
which
the
measure
is
derived).
If
a
value
is
present,
the
datatype
for
this
element
should
be
determined
by
Observation.code.
This
element
has
a
variable
name
depending
on
the
type
as
follows:
valueQuantity,
valueCodeableConcept,
valueString,
valueRange,
valueRatio,
valueSampledData,
valueAttachment,
valueTime,
valueDateTime,
or
valuePeriod.
(The
name
format
is
"'value'
+
the
type
name"
with
a
capital
on
the
first
letter
of
the
type).
If
the
data
element
is
usually
coded
or
if
the
type
associated
with
the
Observation.value
defines
a
coded
value,
use
CodeableConcept
instead
of
string
datatype
even
if
the
value
is
uncoded
text.
A
value
set
is
bound
to
the
ValueCodeableConcept
element.
For
boolean
values
use
valueCodeableConcept
and
select
codes
from
HL7
Version
2
Table
0136
.
These
"yes/no"
concepts
can
be
mapped
to
the
display
name
"true/false"
or
other
mutually
exclusive
terms
that
may
be
needed.
For
further
discussion
and
examples
see
the
notes
section
below.
Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type).
If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For boolean values use valueCodeableConcept and select codes from
HL7 Version 2 Table 0136
. These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed. For further discussion and examples see the
notes section
below. |
|
Invariants
|
Affect this element
obs-7
: If code is the same as a component code then the value element associated with the code SHALL NOT be present (
expression
: value.empty() or code!=component.code, xpath: not(exists(f:value)) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)) |
|
To Do
|
verify invariant.
|
|
Observation.dataAbsentReason
|
|
Definition
|
Provides
a
reason
why
the
expected
value
in
the
element
Observation.value[x]
is
missing.
Provides a reason why the expected value in the element Observation.value[x] is missing.
|
|
Control
|
0..1
|
|
Binding
|
Observation
Value
Absent
Reason:
Codes
specifying
why
the
result
(Observation.value[x])
is
missing.
(
Observation Value Absent Reason:
Codes specifying why the result (Observation.value[x]) is missing.
(
Extensible
)
|
|
Type
|
CodeableConcept
|
|
Requirements
|
For
many
results
it
is
necessary
to
handle
exceptional
values
in
measurements.
For many results it is necessary to handle exceptional values in measurements.
|
|
Comments
|
Null
or
exceptional
values
can
be
represented
two
ways
in
FHIR
Observations.
One
way
is
to
simply
include
them
in
the
value
set
and
represent
the
exceptions
in
the
value.
For
example,
measurement
values
for
a
serology
test
could
be
"detected",
"not
detected",
"inconclusive",
or
"specimen
unsatisfactory".
The
alternate
way
is
to
use
the
value
element
for
actual
observations
and
use
the
explicit
dataAbsentReason
element
to
record
exceptional
values.
For
example,
the
dataAbsentReason
code
"error"
could
be
used
when
the
measurement
was
not
completed.
Because
of
these
options,
use-case
agreements
are
required
to
interpret
general
observations
for
exceptional
values.
Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "specimen unsatisfactory". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values.
|
|
Invariants
|
Affect
this
element
Affect this element
obs-6
:
SHALL
only
be
present
if
Observation.value[x]
is
not
present
(xpath:
not(exists(f:dataAbsentReason))
or
(not(exists(*[starts-with(local-name(.),
'value')]))))
: dataAbsentReason SHALL only be present if Observation.value[x] is not present (
expression
: dataAbsentReason.empty() or value.empty(), xpath: not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')]))))
|
|
Observation.interpretation
|
|
Definition
|
The
assessment
made
based
on
the
result
of
the
observation.
Intended
as
a
simple
compact
code
often
placed
adjacent
to
the
result
value
in
reports
and
flow
sheets
to
signal
the
meaning/normalcy
status
of
the
result.
Otherwise
known
as
abnormal
flag.
The assessment made based on the result of the observation. Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.
|
|
Control
|
0..1
|
|
Binding
|
Observation
Interpretation
Codes:
Codes
identifying
interpretations
of
observations.
(
Observation Interpretation Codes:
Codes identifying interpretations of observations.
(
Extensible
)
|
|
Type
|
CodeableConcept
|
|
Requirements
|
For
some
results,
particularly
numeric
results,
an
interpretation
is
necessary
to
fully
understand
the
significance
of
a
result.
For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.
|
Alternate
Names
Alternate Names
|
Abnormal
Flag
Abnormal Flag
|
Observation.comments
Observation.comment
|
|
Definition
|
May
include
statements
about
significant,
unexpected
or
unreliable
values,
or
information
about
the
source
of
the
value
where
this
may
be
relevant
to
the
interpretation
of
the
result.
May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
Need
to
be
able
to
provide
free
text
additional
information.
Need to be able to provide free text additional information.
|
|
Observation.bodySite
|
|
Definition
|
Indicates
the
site
on
the
subject's
body
where
the
observation
was
made
(i.e.
the
target
site).
Indicates the site on the subject's body where the observation was made (i.e. the target site).
|
|
Control
|
0..1
|
|
Binding
|
SNOMED
CT
Body
Structures:
Codes
describing
anatomical
locations.
May
include
laterality.
(
SNOMED CT Body Structures:
Codes describing anatomical locations. May include laterality.
(
Example
)
|
|
Type
|
CodeableConcept
|
|
Requirements
|
Knowing
where
the
observation
is
made
is
important
for
tracking
if
multiple
sites
are
possible.
Knowing where the observation is made is important for tracking if multiple sites are possible.
|
|
Comments
|
Only
used
if
not
implicit
in
code
found
in
Observation.code.
If
the
use
case
requires
BodySite
to
be
handled
as
a
separate
resource
instead
of
an
inline
coded
element
(e.g.
to
identify
and
track
separately)
then
use
the
standard
extension
body-site-instance
Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use The standard extension
body-site-instance
.
|
|
Observation.method
|
|
Definition
|
Indicates
the
mechanism
used
to
perform
the
observation.
Indicates the mechanism used to perform the observation.
|
|
Control
|
0..1
|
|
Binding
|
Observation
Methods:
Methods
for
simple
observations.
(
Observation Methods:
Methods for simple observations.
(
Example
)
|
|
Type
|
CodeableConcept
|
|
Requirements
|
In
some
cases,
method
can
impact
results
and
is
thus
used
for
determining
whether
results
can
be
compared
or
determining
significance
of
results.
In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.
|
|
Comments
|
Only
used
if
not
implicit
in
code
for
Observation.code.
Only used if not implicit in code for Observation.code.
|
|
Observation.specimen
|
|
Definition
|
The
specimen
that
was
used
when
this
observation
was
made.
The specimen that was used when this observation was made.
|
|
Control
|
0..1
|
|
Type
|
Reference
(
Specimen
)
|
|
Comments
|
Observations
are
not
made
on
specimens
themselves;
they
are
made
on
a
subject,
but
usually
by
the
means
of
a
specimen.
Note
that
although
specimens
are
often
involved,
they
are
not
always
tracked
and
reported
explicitly.
Also
note
that
observation
resources
may
be
used
in
contexts
that
track
the
specimen
explicitly
(e.g.
Diagnostic
Report).
Observations are not made on specimens themselves; they are made on a subject, but usually by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).
|
|
Observation.device
|
|
Definition
|
The
device
used
to
generate
the
observation
data.
The device used to generate the observation data.
|
|
Control
|
0..1
|
|
Type
|
Reference
(
Device
|
|
DeviceMetric
)
|
|
Comments
|
An
extension
should
be
used
if
further
typing
of
the
device
is
needed.
Devices
used
to
support
obtaining
an
observation
can
be
represented
using
either
extension
or
through
the
Observation.related
element.
An extension should be used if further typing of the device is needed. Devices used to support obtaining an observation can be represented using either extension or through the Observation.related element.
|
|
Observation.referenceRange
|
|
Definition
|
Guidance
on
how
to
interpret
the
value
by
comparison
to
a
normal
or
recommended
range.
Guidance on how to interpret the value by comparison to a normal or recommended range.
|
|
Control
|
0..*
|
|
Requirements
|
Knowing
what
values
are
considered
"normal"
can
help
evaluate
the
significance
of
a
particular
result.
Need
to
be
able
to
provide
multiple
reference
ranges
for
different
contexts.
Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.
|
|
Comments
|
Most
observations
only
have
one
generic
reference
range.
Systems
MAY
choose
to
restrict
to
only
supplying
the
relevant
reference
range
based
on
knowledge
about
the
patient
(e.g.
specific
to
the
patient's
age,
gender,
weight
and
other
factors),
but
this
may
not
be
possible
or
appropriate.
Whenever
more
than
one
reference
range
is
supplied,
the
differences
between
them
SHOULD
be
provided
in
the
reference
range
and/or
age
properties.
Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g. specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.
|
|
Invariants
|
Defined
on
this
element
Defined on this element
obs-3
:
Must
have
at
least
a
low
or
a
high
or
text
(xpath:
(exists(f:low)
or
exists(f:high)or
exists(f:text)))
: Must have at least a low or a high or text (
expression
: low.exists() or high.exists() or text.exists(), xpath: (exists(f:low) or exists(f:high)or exists(f:text)))
|
|
Observation.referenceRange.low
|
|
Definition
|
The
value
of
the
low
bound
of
the
reference
range.
The
low
bound
of
the
reference
range
endpoint
is
inclusive
of
the
value
(e.g.
reference
range
is
>=5
-
<=9).
If
the
low
bound
is
omitted,
it
is
assumed
to
be
meaningless
(e.g.
reference
range
is
<=2.3).
The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3).
|
|
Control
|
0..1
|
|
Type
|
SimpleQuantity
|
|
Invariants
|
Affect
this
element
Affect this element
obs-3
:
Must
have
at
least
a
low
or
a
high
or
text
(xpath:
(exists(f:low)
or
exists(f:high)or
exists(f:text)))
: Must have at least a low or a high or text (
expression
: low.exists() or high.exists() or text.exists(), xpath: (exists(f:low) or exists(f:high)or exists(f:text)))
|
|
Observation.referenceRange.high
|
|
Definition
|
The
value
of
the
high
bound
of
the
reference
range.
The
high
bound
of
the
reference
range
endpoint
is
inclusive
of
the
value
(e.g.
reference
range
is
>=5
-
<=9).
If
the
high
bound
is
omitted,
it
is
assumed
to
be
meaningless
(e.g.
reference
range
is
>=
2.3).
The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3).
|
|
Control
|
0..1
|
|
Type
|
SimpleQuantity
|
|
Invariants
|
Affect
this
element
Affect this element
obs-3
:
Must
have
at
least
a
low
or
a
high
or
text
(xpath:
(exists(f:low)
or
exists(f:high)or
exists(f:text)))
: Must have at least a low or a high or text (
expression
: low.exists() or high.exists() or text.exists(), xpath: (exists(f:low) or exists(f:high)or exists(f:text)))
|
|
Observation.referenceRange.meaning
|
|
Definition
|
Code
for
the
meaning
of
the
reference
range.
Codes to indicate the the target population this reference range applies to. For example, a reference range may be based on the normal population or a particular sex, race, therapeutic status, or endocrine or reproductive status.
|
|
Control
|
0..1
0..*
|
|
Binding
|
Observation
Reference
Range
Meaning
Codes:
Code
for
the
meaning
of
a
reference
range.
(
Observation Reference Range Meaning Codes:
Code for the meaning of a reference range.
(
Example
)
|
|
Type
|
CodeableConcept
|
|
Requirements
|
Need
to
be
able
to
say
what
kind
of
reference
range
this
is
-
normal,
recommended,
therapeutic,
or
perhaps
what
state
this
reference
range
applies
to
(i.e.
age,
hormonal
cycles,
etc.).
Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc - for proper interpretation.
|
|
Comments
|
This
SHOULD
be
populated
if
there
is
more
than
one
range.
This SHOULD be populated if there is more than one range. If this element is not present then the norma population is assumed.
|
|
Observation.referenceRange.age
|
|
Definition
|
The
age
at
which
this
reference
range
is
applicable.
This
is
a
neonatal
age
(e.g.
number
of
weeks
at
term)
if
the
meaning
says
so.
The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.
|
|
Control
|
0..1
|
|
Type
|
Range
|
|
Requirements
|
Some
analytes
vary
greatly
over
age.
Some analytes vary greatly over age.
|
|
Observation.referenceRange.text
|
|
Definition
|
Text
based
reference
range
in
an
observation
which
may
be
used
when
a
quantitative
range
is
not
appropriate
for
an
observation.
An
example
would
be
a
reference
value
of
"Negative"
or
a
list
or
table
of
'normals'.
Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of 'normals'.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Observation.related
|
|
Definition
|
A
reference
to
another
resource
(usually
another
Observation
but
could
also
be
a
QuestionnaireAnswer)
whose
relationship
is
defined
by
the
relationship
type
code.
A reference to another resource (usually another Observation) whose relationship is defined by the relationship type code.
|
|
Control
|
0..*
|
|
Requirements
|
Normally,
an
observation
will
have
either
a
value
or
a
set
of
related
observations.
A
few
observations
(e.g.
Apgar
score)
may
have
both
a
value
and
a
set
of
related
observations
or
sometimes
QuestionnaireResponse
from
which
the
measure
is
derived.
Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes QuestionnaireResponse from which the measure is derived.
|
|
Summary
|
true
|
|
Comments
|
For
a
discussion
on
the
ways
Observations
can
assembled
in
groups
together
see
Notes
below
For a discussion on the ways Observations can assembled in groups together see
Notes below
.
|
|
Observation.related.type
|
|
Definition
|
A
code
specifying
the
kind
of
relationship
that
exists
with
the
target
resource.
A code specifying the kind of relationship that exists with the target resource.
|
|
Control
|
0..1
|
|
Binding
|
ObservationRelationshipType:
Codes
specifying
how
two
observations
are
related.
(
ObservationRelationshipType:
Codes specifying how two observations are related.
(
Required
)
|
|
Type
|
code
|
|
Requirements
|
A
relationship
type
SHOULD
be
provided.
A relationship type SHOULD be provided.
|
|
Comments
|
"derived-from"
is
only
logical
choice
when
referencing
QuestionnaireAnswer
resource.
"derived-from" is only logical choice when referencing QuestionnaireAnswer resource.
|
|
Observation.related.target
|
|
Definition
|
A
reference
to
the
observation
or
A reference to the observation or
QuestionnaireResponse
resource
that
is
related
to
this
observation.
resource that is related to this observation.
|
|
Control
|
1..1
|
|
Type
|
Reference
(
Observation
|
|
QuestionnaireResponse
|
Sequence
)
|
|
Observation.component
|
|
Definition
|
Some
observations
have
multiple
component
observations.
These
component
observations
are
expressed
as
separate
code
value
pairs
that
share
the
same
attributes.
Examples
include
systolic
and
diastolic
component
observations
for
blood
pressure
measurement
and
multiple
component
observations
for
genetics
observations.
Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.
|
|
Control
|
0..*
|
|
Requirements
|
Component
observations
share
the
same
attributes
in
the
Observation
resource
as
the
primary
observation
and
are
always
treated
a
part
of
a
single
observation
(they
are
not
separable).
However,
the
reference
range
for
the
primary
observation
value
is
not
inherited
by
the
component
values
and
is
required
when
appropriate
for
each
component
observation.
Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.
|
|
Summary
|
true
|
|
Comments
|
For
a
discussion
on
the
ways
Observations
can
assembled
in
groups
together
see
For a discussion on the ways Observations can assembled in groups together see
Notes
below
.
below.
|
|
Observation.component.code
|
|
Definition
|
Describes
what
was
observed.
Sometimes
this
is
called
the
observation
"code".
Describes what was observed. Sometimes this is called the observation "code".
|
|
Control
|
1..1
|
|
Binding
|
LOINC
Codes:
Codes
identifying
names
of
simple
observations.
(
LOINC Codes:
Codes identifying names of simple observations.
(
Example
)
|
|
Type
|
CodeableConcept
|
|
Requirements
|
Knowing
what
kind
of
observation
is
being
made
is
essential
to
understanding
the
observation.
Knowing what kind of observation is being made is essential to understanding the observation.
|
|
Summary
|
true
|
Invariants
Affect
this
element
obs-7
:
Component
code
SHALL
not
be
same
as
observation
code
(xpath:
not(exists(f:component/f:code))
or
count(for
$coding
in
f:code/f:coding
return
parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value
and
f:system/@value=$coding/f:system/@value])=0)
|
Observation.component.value[x]
|
|
Definition
|
The
information
determined
as
a
result
of
making
the
observation,
if
the
information
has
a
simple
value.
The information determined as a result of making the observation, if the information has a simple value.
|
|
Control
|
0..1
|
|
Type
|
Quantity
|
CodeableConcept
|
string
|
Range
|
Ratio
|
SampledData
|
Attachment
|
time
|
dateTime
|
Period
|
[x]
Note
[x] Note
|
See
Choice
of
Data
Types
for
further
information
about
how
to
use
[x]
See
Choice of Data Types
for further information about how to use [x]
|
|
Requirements
|
An
observation
exists
to
have
a
value,
though
it
may
not
if
it
is
in
error,
or
it
represents
a
group
of
observations.
An observation exists to have a value, though it may not if it is in error, or it represents a group of observations.
|
|
Summary
|
true
|
|
Comments
|
Normally,
an
observation
will
have
either
a
value
or
a
set
of
related
observations.
A
few
observations
(e.g.
Apgar
score)
may
have
both
a
value
and
related
observations
(for
an
Apgar
score,
the
observations
from
which
the
measure
is
derived).
If
a
value
is
present,
the
datatype
for
this
element
should
be
determined
by
Observation.code.
A
CodeableConcept
with
just
a
text
would
be
used
instead
of
a
string
if
the
field
was
usually
coded,
or
if
the
type
associated
with
the
Observation.code
defines
a
coded
value.
For
boolean
values
use
valueCodeableConcept
and
select
codes
from
<http://hl7.org/fhir/ValueSet/v2-0136>
(These
"yes/no"
concepts
can
be
mapped
to
the
display
name
"true/false"
or
other
mutually
exclusive
terms
that
may
be
needed").
The
element,
Observation.value[x],
has
a
variable
name
depending
on
the
type
as
follows:
valueQuantity,
valueCodeableConcept,
valueRatio,
valueChoice,
valuePeriod,
valueSampleData,
or
valueString
(The
name
format
is
"'value'
+
the
type
name"
with
a
capital
on
the
first
letter
of
the
type).
Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "'value' + the type name" with a capital on the first letter of the type).
|
|
Observation.component.dataAbsentReason
|
|
Definition
|
Provides
a
reason
why
the
expected
value
in
the
element
Observation.value[x]
is
missing.
Provides a reason why the expected value in the element Observation.value[x] is missing.
|
|
Control
|
0..1
|
|
Binding
|
Observation
Value
Absent
Reason:
Codes
specifying
why
the
result
(Observation.value[x])
is
missing.
(
Observation Value Absent Reason:
Codes specifying why the result (Observation.value[x]) is missing.
(
Extensible
)
|
|
Type
|
CodeableConcept
|
|
Requirements
|
For
many
results
it
is
necessary
to
handle
exceptional
values
in
measurements.
For many results it is necessary to handle exceptional values in measurements.
|
|
Comments
|
"Null"
or
exceptional
values
can
be
represented
two
ways
in
FHIR
Observations.
One
way
is
to
simply
include
them
in
the
value
set
and
represent
the
exceptions
in
the
value.
For
example,
measurement
values
for
a
serology
test
could
be
"detected",
"not
detected",
"inconclusive",
or
"test
not
done".
The
alternate
way
is
to
use
the
value
element
for
actual
observations
and
use
the
explicit
dataAbsentReason
element
to
record
exceptional
values.
For
example,
the
dataAbsentReason
code
"error"
could
be
used
when
the
measurement
was
not
completed.
Because
of
these
options,
use-case
agreements
are
required
to
interpret
general
observations
for
exceptional
values.
"Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "test not done". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values.
|
|
Invariants
|
Affect
this
element
Affect this element
obs-6
:
SHALL
only
be
present
if
Observation.value[x]
is
not
present
(xpath:
not(exists(f:dataAbsentReason))
or
(not(exists(*[starts-with(local-name(.),
'value')]))))
: dataAbsentReason SHALL only be present if Observation.value[x] is not present (
expression
: dataAbsentReason.empty() or value.empty(), xpath: not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')]))))
|
Observation.component.referenceRange
Observation.component.interpretation
|
|
Definition
|
Guidance
on
how
to
interpret
the
value
by
comparison
to
a
normal
or
recommended
range.
The assessment made based on the result of the observation. Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.
|
|
Control
|
0..*
0..1
|
|
Binding
|
Observation Interpretation Codes:
Codes identifying interpretations of observations.
(
Extensible
)
|
|
Type
|
See
Observation.referenceRange
CodeableConcept
|
|
Requirements
|
Knowing
what
values
are
considered
"normal"
can
help
evaluate
the
significance
of
a
particular
result.
Need
to
be
able
to
provide
multiple
reference
ranges
for
different
contexts.
For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.
|
|
Alternate Names
|
Abnormal Flag
|
|
Comments
|
Most
observations
only
have
one
generic
reference
range.
Systems
MAY
choose
to
restrict
to
only
supplying
the
relevant
reference
range
based
on
knowledge
about
the
patient
(e.g.
specific
to
the
patient's
age,
gender,
weight
and
other
factors),
but
this
may
not
be
possible
or
appropriate.
Whenever
more
than
one
reference
range
is
supplied,
the
differences
between
them
SHOULD
be
provided
in
the
reference
range
and/or
age
properties.
The component interpretation is applies only to the indivual component value. For an overall interpretation all components together use Observation.interpretation element.
|
|
Observation.component.referenceRange
|
|
Definition
|
©
HL7.org
2011+.
FHIR
DSTU2
(v1.0.2-7202)
generated
on
Sat,
Oct
24,
2015
07:43+1100.
Links:
Search
Guidance on how to interpret the value by comparison to a normal or recommended range.
|
|
Version
History
|
Table
of
Contents
|
Compare
to
DSTU1
Control
|
|
0..*
|
Type
|
Propose
a
change
|
See Observation.referenceRange
|
|
Requirements
|
Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.
|
|
Comments
|
Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g. specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.
|