Diagnostic Data Services

DDS-Report-Observation-1-0

DDS-Report-Observation-1-0

Observation
Definition

Measurements and simple assertions made about a patient, device or other subject.

Control0..*
TypeObservation
AliasesVital 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.

Observation.identifier
Definition

A unique identifier for the simple observation instance.

Control0..1
TypeIdentifier
Requirements

Allows observations to be distinguished and referenced.

Comments
Observation.identifier.use
Definition

The purpose of this identifier.

Control0..1
BindingIdentifies the purpose for this identifier, if known .
The codes SHALL be taken from http://hl7.org/fhir/ValueSet/identifier-use
TypeCode
Is ModifierTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Exampleofficial
Observation.identifier.type
Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Control0..1
BindingA coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
The codes SHALL be taken from the following if appropriate, otherwise an alternate coding may be included instead. http://hl7.org/fhir/ValueSet/identifier-type
TypeCodeableConcept
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Observation.identifier.type.coding
Definition

A reference to a code defined by a terminology system.

Control0..1
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.identifier.type.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control1..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Observation.identifier.type.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.identifier.type.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control1..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
Observation.identifier.type.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control1..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
Observation.identifier.type.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.identifier.type.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Observation.identifier.system
Definition

Establishes the namespace in which set of possible id values is unique.

Control1..1
TypeUri
Requirements

There are many sequences of identifiers. To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers.

Comments
Examplehttp://www.sampleth.nhs.uk/pathology/bloodsciences/labno
Observation.identifier.value
Definition

The portion of the identifier typically displayed to the user and which is unique within the context of the system.

Control1..1
TypeString
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.

ExampleHAEM8667800009
Observation.identifier.period
Definition

Time period during which identifier is/was valid for use.

Control0..1
TypePeriod
Comments
Observation.identifier.period.start
Definition

The start of the period. The boundary is inclusive.

Control1..1 ?
TypeDateTime
Comments

If the low element is missing, the meaning is that the low boundary is not known.

Observation.identifier.period.end
Definition

The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

Control0..1 ?
TypeDateTime
Comments

The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.

Observation.identifier.assigner
Definition

Organization that issued/manages the identifier.

Control0..1
TypeOrganization
Comments

The reference may be just a text description of the assigner.

Observation.identifier.assigner.reference
Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Control1..1 ?
TypeString
Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

ExampleOrganization/223F5C66-66BF-4CEA-A5D7-25AB9348B448
Observation.identifier.assigner.display
Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Control0..1
TypeString
Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

Observation.status
Definition

The status of the result value.

Control1..1
BindingCodes providing the status of an observation.
The codes SHALL be taken from http://hl7.org/fhir/ValueSet/observation-status
TypeCode
Is ModifierTrue
Requirements

Need to track the status of individual results. Some results are finalized before the whole report is finalized.

Comments
Examplefinal
Observation.category
Definition

A code that classifies the general type of observation being made. This is used for searching, sorting and display purposes.

Control0..1
BindingCodes for high level observation categories .
For example codes, see http://hl7.org/fhir/ValueSet/observation-category; other codes may be used where these codes are not suitable
TypeCodeableConcept
Comments

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.category.coding
Definition

A reference to a code defined by a terminology system.

Control0..1
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.category.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control1..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Fixed Valuehttp://hl7.org/fhir/ValueSet/observation-category
Observation.category.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.category.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control1..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
Examplelaboratory
Observation.category.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control1..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
ExampleLaboratory
Observation.category.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.category.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Observation.code
Definition

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

Control1..1
BindingCodes identifying names of simple observations.
For example codes, see http://snomed.info/sct; other codes may be used where these codes are not suitable
TypeCodeableConcept
Requirements

Knowing what kind of observation is being made is essential to understanding the observation.

Comments
Observation.code.coding
Definition

A reference to a code defined by a terminology system.

Control0..1
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.code.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control1..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Fixed Valuehttp://snomed.info/sct
Observation.code.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.code.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control1..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
Example1022441000000101
Observation.code.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control1..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
ExampleFull blood count
Observation.code.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.code.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

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.

Control0..1
TypeChoice of:
Requirements

Observations have no value if you don't know who or what they're about.

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

Control0..1
TypeEncounter
Requirements

For some observations it may be important to know the link between an observation and a particular encounter.

Comments
Observation.encounter.reference
Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Control1..1 ?
TypeString
Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

Observation.encounter.display
Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Control0..1
TypeString
Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

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.

Control0..1
TypeChoice of:
Requirements

Knowing when an observation was deemed true is important to its relevance as well as determining trends.

Comments

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.

Control0..1
TypeInstant
Comments

Updated when the result is updated.

Observation.performer
Definition

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

Control0..*
TypeChoice of:
Requirements

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

Comments
Observation.value[x]
Definition

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

Control0..1
TypeChoice of:
Requirements

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

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.

Observation.dataAbsentReason
Definition

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

Control0..1 ?
BindingCodes specifying why the result (Observation.value[x]) is missing.
The codes SHALL be taken from the following if appropriate, otherwise an alternate coding may be included instead. http://hl7.org/fhir/ValueSet/observation-valueabsentreason
TypeCodeableConcept
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 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.

Observation.dataAbsentReason.coding
Definition

A reference to a code defined by a terminology system.

Control0..1
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.dataAbsentReason.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control1..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Observation.dataAbsentReason.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.dataAbsentReason.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control1..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
Observation.dataAbsentReason.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control1..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
Observation.dataAbsentReason.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.dataAbsentReason.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

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.

Control0..1
BindingCodes identifying interpretations of observations.
The codes SHALL be taken from the following if appropriate, otherwise an alternate coding may be included instead. http://hl7.org/fhir/ValueSet/observation-interpretation
TypeCodeableConcept
Requirements

For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.

AliasesAbnormal Flag
Comments
Observation.interpretation.coding
Definition

A reference to a code defined by a terminology system.

Control0..1
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.interpretation.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control1..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Examplehttp://hl7.org/fhir/ValueSet/observation-interpretation
Observation.interpretation.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.interpretation.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control1..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
ExampleN
Observation.interpretation.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control1..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
ExampleNormal
Observation.interpretation.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.interpretation.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Observation.comments
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.

Control0..1
TypeString
Requirements

Need to be able to provide free text additional information.

Comments
ExamplePlatelets are clumped, but appear adequate in number. Red cells are mainly normocytic normochromic with mild rouleaux. White cells appear normal.
Observation.bodySite
Definition

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

Control0..1
BindingCodes describing anatomical locations. May include laterality.
For example codes, see http://hl7.org/fhir/ValueSet/body-site; other codes may be used where these codes are not suitable
TypeCodeableConcept
Requirements

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.

Observation.bodySite.coding
Definition

A reference to a code defined by a terminology system.

Control0..1
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.bodySite.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control1..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Fixed Valuehttp://hl7.org/fhir/ValueSet/body-site
Observation.bodySite.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.bodySite.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control1..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
Example308046002
Observation.bodySite.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control1..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
ExampleStructure of superficial forearm vein
Observation.bodySite.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.bodySite.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Observation.method
Definition

Indicates the mechanism used to perform the observation.

Control0..1
BindingMethods for simple observations.
For example codes, see http://snomed.info/sct; other codes may be used where these codes are not suitable
TypeCodeableConcept
Requirements

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.

Observation.method.coding
Definition

A reference to a code defined by a terminology system.

Control0..1
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.method.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control1..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Fixed Valuehttp://snomed.info/sct
Observation.method.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.method.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control1..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
Observation.method.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control1..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
Observation.method.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.method.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Observation.specimen
Definition

The specimen that was used when this observation was made.

Control0..1
TypeSpecimen
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).

Observation.specimen.reference
Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Control1..1 ?
TypeString
Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

ExampleSpecimen/B603CEDE-8C3F-4909-9CB1-D47C0FDE9F8A
Observation.specimen.display
Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Control0..1
TypeString
Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

Observation.device
Definition

The device used to generate the observation data.

Control0..1
TypeChoice of:
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.

Observation.referenceRange(referenceRange)
Definition

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

Control0..*
TypeBackboneElement
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.

Observation.referenceRange.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Control0..*
TypeExtension
Is ModifierTrue
Aliasesextensions, user content, modifiers
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

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

Control0..1 ?
TypeQuantity
Comments
Observation.referenceRange.low.value
Definition

The value of the measured amount. The value includes an implicit precision in the presentation of the value.

Control1..1
TypeDecimal
Requirements

Precision is handled implicitly in almost all cases of measurement.

Comments

The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).

Observation.referenceRange.low.comparator
Definition

How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.

Control0..1
BindingHow the Quantity should be understood and represented.
The codes SHALL be taken from http://hl7.org/fhir/ValueSet/quantity-comparator
TypeCode
Is ModifierTrue
Requirements

Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

Comments

This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value.

Observation.referenceRange.low.unit
Definition

A human-readable form of the unit.

Control1..1
TypeString
Requirements

There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

Comments
Observation.referenceRange.low.system
Definition

The identification of the system that provides the coded form of the unit.

Control1..1 ?
TypeUri
Requirements

Need to know the system that defines the coded form of the unit.

Comments
Observation.referenceRange.low.code
Definition

A computer processable form of the unit in some unit representation system.

Control1..1
TypeCode
Requirements

Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

Comments

The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

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

Control0..1 ?
TypeQuantity
Comments
Observation.referenceRange.high.value
Definition

The value of the measured amount. The value includes an implicit precision in the presentation of the value.

Control1..1
TypeDecimal
Requirements

Precision is handled implicitly in almost all cases of measurement.

Comments

The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).

Observation.referenceRange.high.comparator
Definition

How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.

Control0..1
BindingHow the Quantity should be understood and represented.
The codes SHALL be taken from http://hl7.org/fhir/ValueSet/quantity-comparator
TypeCode
Is ModifierTrue
Requirements

Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

Comments

This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value.

Observation.referenceRange.high.unit
Definition

A human-readable form of the unit.

Control1..1
TypeString
Requirements

There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

Comments
Observation.referenceRange.high.system
Definition

The identification of the system that provides the coded form of the unit.

Control1..1 ?
TypeUri
Requirements

Need to know the system that defines the coded form of the unit.

Comments
Observation.referenceRange.high.code
Definition

A computer processable form of the unit in some unit representation system.

Control1..1
TypeCode
Requirements

Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

Comments

The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

Observation.referenceRange.meaning
Definition

Code for the meaning of the reference range.

Control0..1
BindingCode for the meaning of a reference range.
For example codes, see http://hl7.org/fhir/ValueSet/referencerange-meaning; other codes may be used where these codes are not suitable
TypeCodeableConcept
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.meaning.coding
Definition

A reference to a code defined by a terminology system.

Control0..*
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.referenceRange.meaning.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control0..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Observation.referenceRange.meaning.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.referenceRange.meaning.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control0..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
Observation.referenceRange.meaning.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control0..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
Observation.referenceRange.meaning.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.referenceRange.meaning.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

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.

Control0..1
TypeRange
Requirements

Some analytes vary greatly over age.

Comments
Observation.referenceRange.age.low
Definition

The low limit. The boundary is inclusive.

Control0..1 ?
TypeQuantity
Comments

If the low element is missing, the low boundary is not known.

Observation.referenceRange.age.low.value
Definition

The value of the measured amount. The value includes an implicit precision in the presentation of the value.

Control0..1
TypeDecimal
Requirements

Precision is handled implicitly in almost all cases of measurement.

Comments

The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).

Observation.referenceRange.age.low.comparator
Definition

How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.

Control0..1
BindingHow the Quantity should be understood and represented.
The codes SHALL be taken from http://hl7.org/fhir/ValueSet/quantity-comparator
TypeCode
Is ModifierTrue
Requirements

Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

Comments

This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value.

Observation.referenceRange.age.low.unit
Definition

A human-readable form of the unit.

Control0..1
TypeString
Requirements

There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

Comments
Observation.referenceRange.age.low.system
Definition

The identification of the system that provides the coded form of the unit.

Control0..1 ?
TypeUri
Requirements

Need to know the system that defines the coded form of the unit.

Comments
Observation.referenceRange.age.low.code
Definition

A computer processable form of the unit in some unit representation system.

Control0..1
TypeCode
Requirements

Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

Comments

The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

Observation.referenceRange.age.high
Definition

The high limit. The boundary is inclusive.

Control0..1 ?
TypeQuantity
Comments

If the high element is missing, the high boundary is not known.

Observation.referenceRange.age.high.value
Definition

The value of the measured amount. The value includes an implicit precision in the presentation of the value.

Control0..1
TypeDecimal
Requirements

Precision is handled implicitly in almost all cases of measurement.

Comments

The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).

Observation.referenceRange.age.high.comparator
Definition

How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.

Control0..1
BindingHow the Quantity should be understood and represented.
The codes SHALL be taken from http://hl7.org/fhir/ValueSet/quantity-comparator
TypeCode
Is ModifierTrue
Requirements

Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

Comments

This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value.

Observation.referenceRange.age.high.unit
Definition

A human-readable form of the unit.

Control0..1
TypeString
Requirements

There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

Comments
Observation.referenceRange.age.high.system
Definition

The identification of the system that provides the coded form of the unit.

Control0..1 ?
TypeUri
Requirements

Need to know the system that defines the coded form of the unit.

Comments
Observation.referenceRange.age.high.code
Definition

A computer processable form of the unit in some unit representation system.

Control0..1
TypeCode
Requirements

Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

Comments

The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

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

Control0..1
TypeString
Comments
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.

Control0..*
TypeBackboneElement
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.

Comments

For a discussion on the ways Observations can assembled in groups together see Notes below.

Observation.related.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Control0..*
TypeExtension
Is ModifierTrue
Aliasesextensions, user content, modifiers
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Observation.related.type
Definition

A code specifying the kind of relationship that exists with the target resource.

Control0..1
BindingCodes specifying how two observations are related.
The codes SHALL be taken from http://hl7.org/fhir/ValueSet/observation-relationshiptypes
TypeCode
Requirements

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 this ](QuestionnaireResponse]]] resource that is related to this ) resource that is related to this observation.

Control1..1
Comments
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.

Control0..*
TypeBackboneElement
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.

Comments

For a discussion on the ways Observations can assembled in groups together see Notes below.

Observation.component.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Control0..*
TypeExtension
Is ModifierTrue
Aliasesextensions, user content, modifiers
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Observation.component.code
Definition

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

Control1..1 ?
BindingCodes identifying names of simple observations.
For example codes, see http://snomed.info/sct; other codes may be used where these codes are not suitable
TypeCodeableConcept
Requirements

Knowing what kind of observation is being made is essential to understanding the observation.

Comments
Observation.component.code.coding
Definition

A reference to a code defined by a terminology system.

Control0..1
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.component.code.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control1..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Fixed Valuehttp://snomed.info/sct
Observation.component.code.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.component.code.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control1..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
Example1022541000000102
Observation.component.code.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control1..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
ExampleTotal white cell count
Observation.component.code.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.component.code.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

ExampleWhite cell count
Observation.component.value[x]
Definition

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

Control0..1
TypeQuantity
Requirements

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

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

Observation.component.dataAbsentReason
Definition

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

Control0..1 ?
BindingCodes specifying why the result (Observation.value[x]) is missing.
The codes SHALL be taken from the following if appropriate, otherwise an alternate coding may be included instead. http://hl7.org/fhir/ValueSet/observation-valueabsentreason
TypeCodeableConcept
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 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.

Observation.component.dataAbsentReason.coding
Definition

A reference to a code defined by a terminology system.

Control0..*
TypeCoding
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.

Observation.component.dataAbsentReason.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control0..1
TypeUri
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Observation.component.dataAbsentReason.coding.version
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Control0..1
TypeString
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Observation.component.dataAbsentReason.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Control0..1
TypeCode
Requirements

Need to refer to a particular code in the system.

Comments
Observation.component.dataAbsentReason.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control0..1
TypeString
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments
Observation.component.dataAbsentReason.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
TypeBoolean
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Observation.component.dataAbsentReason.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Control0..1
TypeString
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Observation.component.referenceRange
Definition

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

Control0..1
TypeSee 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.