DSTU2

This page is part of the FHIR Specification (v0.0.82: (v1.0.2: DSTU 1). 2). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

4.15.7 4.20.7 Resource Observation - Formal Definitions Detailed Descriptions

Formal definitions Detailed Descriptions for the elements in the Observation resource.

Aliases Requirements Need to track the status of individual results - some results are finalised before the whole report is finalised. Comments
Observation
Definition

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.

Alternate Names 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 lab reports, etc.

Invariants Defined on this element
Inv-2 obs-6 : Can SHALL only have normal range be present if value Observation.value[x] is a quantity not present (xpath: exists(f:valueQuantity) not(exists(f:dataAbsentReason)) or not(exists(f:normalRange))) (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)
Observation.name Observation.identifier
Definition Describes what was observed. Sometimes this is called

A unique identifier for the simple observation "code". instance.

Control Note 1..1 This is a business identifer, not a resource identifier (see discussion )
Binding Control ObservationType: LOINC codes filtered to exclude panel codes ( See http://hl7.org/fhir/vs/observation-codes ) 0..*
Type CodeableConcept Identifier
Requirements Knowing what kind of observation is being made is essential

Allows observations to understanding the observation. be distinguished and referenced.

Observation.value[x] Observation.status
Definition

The information determined as a result status of making the observation, if the information has a simple result value.

Control 0..1 1..1
Type Binding Quantity | CodeableConcept | Attachment ObservationStatus: Codes providing the status of an observation. | Ratio ( Required | Period )
Type | SampledData code | string
Is Modifier true
Requirements An observation exists

Need to have a value, though it may not if it is in error, or it represents a group track the status of observations. individual results. Some results are finalized before the whole report is finalized.

Comments Summary Normally, an observation will have either a value or a set of related observations. true
Observation.category
Definition

A few observations (e.g. apgar store) may have both a value and related observations (for apgar, the observations from which code that classifies the measure is derived). If a value general type of observation being made. This is present, the datatype used for this element should be determined by Observation.name. A searching, sorting and display purposes.

Control 0..1
Binding Observation Category Codes: Codes for high level observation categories . ( Example )
Type 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.name defines a coded value. 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).
To Do Comments Should have Range as a valid data type here.

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.interpretation Observation.code
Definition The assessment made based on the result of

Describes what was observed. Sometimes this is called the observation. observation "name".

Control 0..1 1..1
Binding ObservationInterpretation: LOINC Codes: Codes identifying names of simple observations. ( See http://hl7.org/fhir/vs/observation-interpretation Example )
Type CodeableConcept
Requirements For some results, particularly numeric results, an interpretation

Knowing what kind of observation is necessary being made is essential to fully understand understanding the significance of a result. observation.

Summary true
Observation.comments Observation.subject
Definition May include statements about significant, unexpected

The patient, or unreliable values, group of patients, location, or information about device whose characteristics (direct or indirect) are described by the source 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 where if you don't know who or what they're about.

Summary true
Comments

One would expect this may element to be relevant 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 interpretation observation should be updated.

If the target of the result. 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.

Observation.encounter
Definition

The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made.

Control 0..1
Type string Reference ( Encounter )
Requirements Need to

For some observations it may be able important to provide free text additional information. know the link between an observation and a particular encounter.

Observation.applies[x] 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.

Control 0..1
Type dateTime | Period
[x] Note 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.

Summary true
Comments

At least a date should be present unless this observation is a historical report.

Observation.issued
Definition Date/Time

The date and time this observation was made available. 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.

Observation.status Observation.performer
Definition The status of

Who was responsible for asserting the result value. observed value as "true".

Control 1..1 0..*
Binding Type ObservationStatus: Codes providing the status of an observation (see http://hl7.org/fhir/observation-status Reference for values) ( Practitioner | Organization | Patient | RelatedPerson )
Type Requirements code

May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.

Is Modifier Summary true
Observation.reliability Observation.value[x]
Definition An estimate

The information determined as a result of making the degree to which quality issues have impacted on observation, if the value reported. information has a simple value.

Control 1..1 0..1
Binding Type ObservationReliability: Codes that provide an estimate of the degree to which quality issues have impacted on the value of an observation (see http://hl7.org/fhir/observation-reliability Quantity for values) | CodeableConcept | string | Range | Ratio | SampledData | Attachment | time | dateTime | Period
Type [x] Note code See Choice of Data Types for further information about how to use [x]
Is Modifier Requirements true

An observation exists to have a value, though it may not if it is in error, or it represents a group of observations.

Requirements Summary Not all results are completely reliable, and some are still reported anyway. true
Comments Note that in most contexts, unreliable results are not recorded, deleted,

Normally, an observation will have either a value or otherwise excluded, but it's not always possible to exclude them 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 record. Interpreters of measure is derived). If a result, whether human or machine, SHALL always either value is present, the datatype for this element should be aware 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 status, type).

If the data element is usually coded or prevented 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 using HL7 Version 2 Table 0136 . These "yes/no" concepts can be mapped to the observation without being unaware display name "true/false" or other mutually exclusive terms that may be needed. For further discussion and examples see the reliability is not "ok". notes section below.

Observation.bodySite Observation.dataAbsentReason
Definition Indicates where on

Provides a reason why the subject's body expected value in the observation was made. element Observation.value[x] is missing.

Control 0..1
Binding BodySite: SNOMED CT Body site concepts Observation Value Absent Reason: Codes specifying why the result (Observation.value[x]) is missing. ( See http://hl7.org/fhir/vs/body-site Extensible )
Type CodeableConcept
Requirements Knowing where the observation

For many results it is made necessary to handle exceptional values in measurements.

Comments

Null or exceptional values can be represented two ways in FHIR Observations. One way is important to simply include them in the value set and represent the exceptions in the value. For example, measurement values for tracking if multiple sites 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 possible. required to interpret general observations for exceptional values.

Comments Invariants Only used Affect this element
obs-6 : SHALL only be present if Observation.value[x] is not implicit in code found in Observation.name. present (xpath: not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')]))))
Observation.method Observation.interpretation
Definition Indicates

The assessment made based on the mechanism used to perform 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 ObservationMethod: Observation Interpretation Codes: Codes identifying interpretations of observations. ( See http://hl7.org/fhir/vs/observation-methods Extensible )
Type CodeableConcept
Requirements In

For some cases, method can impact results and results, particularly numeric results, an interpretation is thus for determining whether results can be compared or determining necessary to fully understand the significance of results. a result.

Alternate Names Only used if not implicit in code for Observation.name. Abnormal Flag
Observation.identifier Observation.comments
Definition A unique identifier for

May include statements about significant, unexpected or unreliable values, or information about the simple observation. source of the value where this may be relevant to the interpretation of the result.

Control 0..1
Type Identifier string
Requirements Allows observations

Need to be distinguished and referenced. able to provide free text additional information.

Observation.subject Observation.bodySite
Definition The thing

Indicates the site on the subject's body where the observation is being was made about. (i.e. the target site).

Control 0..1
Type Binding Resource SNOMED CT Body Structures: Codes describing anatomical locations. May include laterality. ( Patient | Group Example | Device )
Type | Location CodeableConcept )
Requirements Observations have no value

Knowing where the observation is made is important for tracking if you don't know who or what they're about. multiple sites are possible.

Comments The only circumstance

Only used if not implicit in which code found in Observation.code. If the subject can use case requires BodySite to be missing is when the observation is made by handled as a device that does not know separate resource instead of an inline coded element (e.g. to identify and track separately) then use the patient. In this case, standard extension body-site-instance .

Observation.method
Definition

Indicates the observation SHALL be matched mechanism used to a patient through perform the observation.

Control 0..1
Binding Observation Methods: Methods for simple observations. ( Example )
Type CodeableConcept
Requirements

In some context/channel matching technique, cases, method can impact results and at this point, the observation should is thus used for determining whether results can be updated. compared or determining significance of results.

Comments

Only used if not implicit in code for Observation.code.

Observation.specimen
Definition

The specimen that was used when this observation was made.

Control 0..1
Type Resource 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 are often may be used in contexts that track the specimen explicity explicitly (e.g. Diagnostic Report).

Observation.performer Observation.device
Definition Who was responsible for asserting

The device used to generate the observed value as "true". observation data.

Control 0..* 0..1
Type Resource Reference ( Practitioner | Device | Organization DeviceMetric )
Requirements May give a degree of confidence in the observation and also indicates where follow-up questions should be directed. Comments This would only

An extension should be "Device" used if further typing of the device is responsible for the measurement, not to capture the device needed. Devices used by a human to make the measurement. (The latter could be captured as support obtaining an extension.). 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.

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.

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.

Invariants Defined on this element
Inv-3 obs-3 : Must have at least a low or a high (and no comparators) or text (xpath: (exists(f:low) or exists(f:high)) and not(exists(f:low/f:comparator)) and not(exists(f:high/f:comparator))) exists(f:high)or exists(f:text)))
Observation.referenceRange.low
Definition

The value of the low bound of the reference range. If this is omitted, the 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. <2.3. meaningless (e.g. reference range is <=2.3).

Control 0..1
Type Quantity SimpleQuantity
Comments Do not use the comparator for < or >. Invariants Affect this element
Inv-3 obs-3 : Must have at least a low or a high (and no comparators) or text (xpath: (exists(f:low) or exists(f:high)) and not(exists(f:low/f:comparator)) and not(exists(f:high/f:comparator))) exists(f:high)or exists(f:text)))
Observation.referenceRange.high
Definition

The value of the high bound of the reference range. If this is omitted, the 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. >5. meaningless (e.g. reference range is >= 2.3).

Control 0..1
Type Quantity SimpleQuantity
Comments Do not use the comparator for < or >. Invariants Affect this element
Inv-3 obs-3 : Must have at least a low or a high (and no comparators) or text (xpath: (exists(f:low) or exists(f:high)) and not(exists(f:low/f:comparator)) and not(exists(f:high/f:comparator))) exists(f:high)or exists(f:text)))
Observation.referenceRange.meaning
Definition

Code for the meaning of the reference range.

Control 0..1
Binding ObservationRangeMeaning: ( Observation Reference Range Meaning Codes: See http://hl7.org/fhir/vs/referencerange-meaning 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.).

Comments

This SHOULD be populated if there is more than one range.

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.

Control 0..1
Type Range
Requirements

Some analytes vary greatly over age.

Observation.related Observation.referenceRange.text
Definition Related observations - either components,

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 previous observations, a list or statements table of derivation. 'normals'.

Control 0..* 0..1
Requirements Type Some observations have important relationships string
Observation.related
Definition

A reference to other observations (e.g Blood Pressure = systolic + diastolic), or are derived from other observations (e.g. calculated apgar score). another resource (usually another Observation but could also be a QuestionnaireAnswer) whose relationship is defined by the relationship type code.

Comments Control 0..*
Requirements

Normally, an observation will have either a value or a set of related observations. A few observations (e.g. apgar store) Apgar score) may have both a value and a set of related observations (for apgar, the observations or sometimes QuestionnaireResponse from which the measure is derived). derived.

Summary true
Comments

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 observation. resource.

Control 0..1
Binding ObservationRelationshipType: Codes specifying how two observations are related (see http://hl7.org/fhir/observation-relationshiptypes related. for values) ( Required )
Type code
Requirements May need

A relationship type SHOULD be provided.

Comments

"derived-from" is only logical choice when referencing QuestionnaireAnswer resource.

Observation.related.target
Definition

A reference to the observation or QuestionnaireResponse resource that is related to indicate whether this observation.

Control 1..1
Type Reference ( Observation | QuestionnaireResponse )
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.

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 composed 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 Notes below .

Observation.component.code
Definition

Describes what was observed. Sometimes this is called the observation "code".

Control 1..1
Binding LOINC Codes: Codes identifying names of others, simple observations. ( Example )
Type CodeableConcept
Requirements

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 merely derived from them. 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.

Control 0..1
Type Quantity | CodeableConcept | string | Range | Ratio | SampledData | Attachment | time | dateTime | Period
[x] Note 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.

Summary true
Comments

Normally, an observation will have either a value or a set of related observations. A relationship 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 SHOULD 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 provided. If 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 relationship type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "COMP" (composed), then "'value' + the observation should not be displayed/interpreted in type name" with a capital on the absence first letter of the related observations. type).

Observation.related.target Observation.component.dataAbsentReason
Definition

Provides a reason why the expected value in the element Observation.value[x] is missing.

Control 0..1
Definition Binding A reference 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.

Comments

"Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the observation that 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 related 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 observation. 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')]))))
Observation.component.referenceRange
Definition

Guidance on how to interpret the value by comparison to a normal or recommended range.

Control 1..1 0..*
Type Resource ( Observation 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.

var disqus_shortname = 'fhirdstu';(function() {var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); Please enable JavaScript to view the comments powered by Disqus. comments powered by Disqus