Clinical Document Architecture, published by Health Level 7. This is not an authorized publication; it is the continuous build for version 2.0.1). This version is based on the current content of https://github.com/HL7/CDA-core-2.0/ and changes regularly. See the Directory of published versions
Active as of 2023-10-03 |
Definitions for the Observation logical model.
Guidance on how to interpret the contents of this table can be found here
Guidance on how to interpret the contents of this table can be found here
0. Observation | |
Definition | Base definition for all types defined in FHIR type system. |
Short | Base for all types and resources |
Control | 10..1* |
Is Modifier | false |
XML Format | In the XML format, this property has the namespace urn:hl7-org:v3 . |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
2. Observation.classCode | |
Control | 1..1 |
Binding | The codes SHALL be taken from ActClassObservation |
Type | code(cs: Coded Simple Value) |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
4. Observation.moodCode | |
Control | 1..1 |
Type | code(cs: Coded Simple Value) |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
6. Observation.negationInd | |
Control | 0..1 |
Type | boolean(bl: Boolean) |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
8. Observation.realmCode | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CS |
10. Observation.typeId | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/II |
12. Observation.templateId | |
Definition | When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/II |
14. Observation.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Short | Logical id of this artifact |
Comments | Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case. |
Control | 0..*1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/IIid |
Is Modifier | false |
16. Observation.code | |
Definition | Describes what was observed. Sometimes this is called the observation "name". |
Short | Type of observation (code / type) |
Comments | All code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation. |
Control | 1..1 This element is affected by the following invariants: obs-7 |
Binding | Unless not suitable, these codes SHALL be taken from For example codes, see ObservationTypehttp://hl7.org/fhir/ValueSet/observation-codes |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CDCodeableConcept |
Is Modifier | false |
XML Format | The type of this property is determined using the xsi:type attribute. |
Requirements | Knowing what kind of observation is being made is essential to understanding the observation. |
Alternate Names | Name |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
18. Observation.derivationExpr | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/ST |
20. Observation.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Short | Text summary of the resource, for human interpretation |
Comments | Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Control | 0..1 This element is affected by the following invariants: dom-6 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/EDNarrative |
Is Modifier | false |
XML Format | The type of this property is determined using the xsi:type attribute. |
Alternate Names | narrative, html, xhtml, display |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
22. Observation.statusCode | |
Control | 0..1 |
Binding | The codes SHALL be taken from ActStatus |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CS |
24. Observation.effectiveTime | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS |
26. Observation.priorityCode | |
Control | 0..1 |
Binding | Unless not suitable, these codes SHALL be taken from ActPriority |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CE |
28. Observation.repeatNumber | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/IVL-INT |
30. Observation.languageCode | |
Control | 0..1 |
Binding | The codes SHALL be taken from HumanLanguage |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CS |
32. Observation.value | |
Control | 0..* |
Type | Choice of: http://hl7.org/cda/stds/core/StructureDefinition/ANY, http://hl7.org/cda/stds/core/StructureDefinition/BL, http://hl7.org/cda/stds/core/StructureDefinition/ED, http://hl7.org/cda/stds/core/StructureDefinition/ST, http://hl7.org/cda/stds/core/StructureDefinition/CD, http://hl7.org/cda/stds/core/StructureDefinition/CV, http://hl7.org/cda/stds/core/StructureDefinition/CE, http://hl7.org/cda/stds/core/StructureDefinition/SC, http://hl7.org/cda/stds/core/StructureDefinition/II, http://hl7.org/cda/stds/core/StructureDefinition/TEL, http://hl7.org/cda/stds/core/StructureDefinition/AD, http://hl7.org/cda/stds/core/StructureDefinition/EN, http://hl7.org/cda/stds/core/StructureDefinition/INT, http://hl7.org/cda/stds/core/StructureDefinition/REAL, http://hl7.org/cda/stds/core/StructureDefinition/PQ, http://hl7.org/cda/stds/core/StructureDefinition/MO, http://hl7.org/cda/stds/core/StructureDefinition/TS, http://hl7.org/cda/stds/core/StructureDefinition/IVL-PQ, http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS, http://hl7.org/cda/stds/core/StructureDefinition/PIVL-TS, http://hl7.org/cda/stds/core/StructureDefinition/EIVL-TS, http://hl7.org/cda/stds/core/StructureDefinition/SXPR-TS, http://hl7.org/cda/stds/core/StructureDefinition/RTO-PQ-PQ |
XML Format | The type of this property is determined using the xsi:type attribute. |
34. Observation.interpretationCode | |
Control | 0..* |
Binding | The codes SHALL be taken from ObservationInterpretation |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CE |
36. Observation.methodCode | |
Control | 0..* |
Binding | Unless not suitable, these codes SHALL be taken from ObservationMethod |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CE |
38. Observation.targetSiteCode | |
Definition | Drawn from concept domain ActSite |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CD |
40. Observation.subject | |
Definition | The patient, or group of patients, location, device, organization, procedure or practitioner this observation is about and into whose or what record the observation is placed. If the actual focus of the observation is different from the subject (or a sample of, part, or region of the subject), the |
Short | Who and/or what the observation is 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. The subject of an Observation may in some cases be a procedure. This supports the regulatory inspection use case where observations are captured during inspections of a procedure that is being performed (independent of any particular patient or whether patient related at all). |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/SubjectReference(Patient, Group, Device, Location, Organization, Procedure, Practitioner, Medication, Substance, BiologicallyDerivedProduct, NutritionProduct) |
Is Modifier | false |
Requirements | Observations have no value if you don't know who or what they're about. |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
42. Observation.specimen | |
Definition | The specimen that was used when this observation was made. |
Short | Specimen used for this observation |
Comments | Should only be used if not implicit in code found in |
Control | 0..*1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/SpecimenReference(Specimen, Group) |
Is Modifier | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) obs-9: If Observation.specimen is a reference to Group, the group can only have specimens ((reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)) |
44. Observation.performer | |
Definition | Who was responsible for asserting the observed value as "true". |
Short | Who is responsible for the observation |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Performer2Reference(Practitioner, PractitionerRole, Organization, CareTeam, Patient, RelatedPerson) |
Is Modifier | false |
Requirements | May give a degree of confidence in the observation and also indicates where follow-up questions should be directed. |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
46. Observation.author | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Author |
48. Observation.informant | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Informant |
50. Observation.participant | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Participant2 |
52. Observation.entryRelationship | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship |
54. Observation.reference | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Reference |
56. Observation.precondition | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Precondition |
58. Observation.referenceRange | |
Definition | Relates an Observation to the ObservationRange class, where the expected range of values for a particular observation can be specified. Guidance on how to interpret the value by comparison to a normal or recommended range. Multiple reference ranges are interpreted as an "OR". In other words, to represent two distinct target populations, two |
Short | Provides guide for interpretation |
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 might 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. |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRootBackboneElement |
Is Modifier | false |
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. |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) obs-3: Must have at least a low or a high or text (low.exists() or high.exists() or text.exists()) |
60. Observation.referenceRange.typeCode | |
Control | 0..1 |
Binding | The codes SHALL be taken from ActRelationshipPertains |
Type | code(cs: Coded Simple Value) |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
Fixed Value | REFV |
62. Observation.referenceRange.observationRange | |
Control | 1..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/ObservationRange |
Guidance on how to interpret the contents of this table can be found here
0. Observation | |
Definition | Base definition for all types defined in FHIR type system. |
Short | Base for all types and resources |
Control | 1..1 |
Is Modifier | false |
XML Format | In the XML format, this property has the namespace urn:hl7-org:v3 . |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) ) |
2. Observation.classCode | |
Control | 1..1 |
Binding | The codes SHALL be taken from ActClassObservation |
Type | code(cs: Coded Simple Value) |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
4. Observation.moodCode | |
Control | 1..1 |
Type | code(cs: Coded Simple Value) |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
6. Observation.negationInd | |
Control | 0..1 |
Type | boolean(bl: Boolean) |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
8. Observation.realmCode | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CS |
10. Observation.typeId | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/II |
12. Observation.templateId | |
Definition | When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/II |
14. Observation.id | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/II |
16. Observation.code | |
Control | 1..1 |
Binding | Unless not suitable, these codes SHALL be taken from ObservationType |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CD |
XML Format | The type of this property is determined using the xsi:type attribute. |
18. Observation.derivationExpr | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/ST |
20. Observation.text | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/ED |
XML Format | The type of this property is determined using the xsi:type attribute. |
22. Observation.statusCode | |
Control | 0..1 |
Binding | The codes SHALL be taken from ActStatus |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CS |
24. Observation.effectiveTime | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS |
26. Observation.priorityCode | |
Control | 0..1 |
Binding | Unless not suitable, these codes SHALL be taken from ActPriority |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CE |
28. Observation.repeatNumber | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/IVL-INT |
30. Observation.languageCode | |
Control | 0..1 |
Binding | The codes SHALL be taken from HumanLanguage |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CS |
32. Observation.value | |
Control | 0..* |
Type | Choice of: http://hl7.org/cda/stds/core/StructureDefinition/ANY, http://hl7.org/cda/stds/core/StructureDefinition/BL, http://hl7.org/cda/stds/core/StructureDefinition/ED, http://hl7.org/cda/stds/core/StructureDefinition/ST, http://hl7.org/cda/stds/core/StructureDefinition/CD, http://hl7.org/cda/stds/core/StructureDefinition/CV, http://hl7.org/cda/stds/core/StructureDefinition/CE, http://hl7.org/cda/stds/core/StructureDefinition/SC, http://hl7.org/cda/stds/core/StructureDefinition/II, http://hl7.org/cda/stds/core/StructureDefinition/TEL, http://hl7.org/cda/stds/core/StructureDefinition/AD, http://hl7.org/cda/stds/core/StructureDefinition/EN, http://hl7.org/cda/stds/core/StructureDefinition/INT, http://hl7.org/cda/stds/core/StructureDefinition/REAL, http://hl7.org/cda/stds/core/StructureDefinition/PQ, http://hl7.org/cda/stds/core/StructureDefinition/MO, http://hl7.org/cda/stds/core/StructureDefinition/TS, http://hl7.org/cda/stds/core/StructureDefinition/IVL-PQ, http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS, http://hl7.org/cda/stds/core/StructureDefinition/PIVL-TS, http://hl7.org/cda/stds/core/StructureDefinition/EIVL-TS, http://hl7.org/cda/stds/core/StructureDefinition/SXPR-TS, http://hl7.org/cda/stds/core/StructureDefinition/RTO-PQ-PQ |
XML Format | The type of this property is determined using the xsi:type attribute. |
34. Observation.interpretationCode | |
Control | 0..* |
Binding | The codes SHALL be taken from ObservationInterpretation |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CE |
36. Observation.methodCode | |
Control | 0..* |
Binding | Unless not suitable, these codes SHALL be taken from ObservationMethod |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CE |
38. Observation.targetSiteCode | |
Definition | Drawn from concept domain ActSite |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CD |
40. Observation.subject | |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Subject |
42. Observation.specimen | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Specimen |
44. Observation.performer | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Performer2 |
46. Observation.author | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Author |
48. Observation.informant | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Informant |
50. Observation.participant | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Participant2 |
52. Observation.entryRelationship | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship |
54. Observation.reference | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Reference |
56. Observation.precondition | |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/Precondition |
58. Observation.referenceRange | |
Definition | Relates an Observation to the ObservationRange class, where the expected range of values for a particular observation can be specified. |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) ) |
60. Observation.referenceRange.nullFlavor | |
Definition | If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing. |
Control | 0..1 |
Binding | The codes SHALL be taken from NullFlavor |
Type | code(cs: Coded Simple Value) |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
Label | Exceptional Value Detail |
62. Observation.referenceRange.realmCode | |
Definition | When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/CS |
64. Observation.referenceRange.typeId | |
Definition | When valued in an instance, this attribute signals the imposition of constraints defined in an HL7-specified message type. This might be a common type (also known as CMET in the messaging communication environment), or content included within a wrapper. The value of this attribute provides a unique identifier for the type in question. |
Control | 0..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/II |
66. Observation.referenceRange.templateId | |
Definition | When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question |
Control | 0..* |
Type | http://hl7.org/cda/stds/core/StructureDefinition/II |
68. Observation.referenceRange.typeCode | |
Control | 0..1 |
Binding | The codes SHALL be taken from ActRelationshipPertains |
Type | code(cs: Coded Simple Value) |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
Fixed Value | REFV |
70. Observation.referenceRange.observationRange | |
Control | 1..1 |
Type | http://hl7.org/cda/stds/core/StructureDefinition/ObservationRange |