This page is part of the Vital Signs FHIR IG (v0.1.0: STU 1 Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions
StructureDefinition-HeartRate
The heart rate profile contains one observation, heart rate. In addition, the heart rate profile contains the following qualifying observations with associated SNOMED CT value sets: Body Position; Heart Rate Measurement Device (); Heart Rate Measurement Method (e.g. auscultation, doppler); Exercise Association; and Sleep status.
Examples
The following examples are provided to illustrate conformant resource content to this profile.
Scope and Usage
Use Cases
1. Heart rate measured using radial artery palpation.
FHIR resource path | Text Description | Code | Terminology |
---|---|---|---|
Observation.code | Heart Rate | 9179-1 | LOINC |
Observation.method Heart Rate Measurement Method value set |
Heart rate measurement method refernce set (foundation metadata concept) | 23901000205104 | SNOMED CT Solor extension |
Heart rate measurement method reference set | 2.16.840.1.113762.1.4.1181.29 | VSAC | |
Observation.method.value | Palpation | 113011001 | SNOMED CT |
Observation.bodySite Heart Rate Measurement Body Location Precoordinated value set |
Heart Rate Measurement Body Location reference set (foundation metedata concept) | 23871000205104 | SNOMED CT Solor extension |
Heart Rate Measurement Body Location reference set | 2.16.840.1.113762.1.4.1181.29 | VSAC | |
Observation.bodySite.value | Structure of radial artery (body structure) | 45631007 | SNOMED CT |
2. Heart rate measurement during anesthesia
FHIR resource path | Text Description | Code | Terminology |
---|---|---|---|
Observation.code | Heart Rate | 9279-1 | LOINC |
Associated Precondition extension bindings | |||
Observation.extension(associatedPreconditionExt) mapping | LOINC | ||
Observation.extension(associatedPrecondition) value set | need description | need Solor code | SNOMED CT Solor extension |
need description | need VSAC OID | VSAC | |
Observation.extension(associatedPrecondition).value | During procedure | 307154001 | SNOMED CT |
Value sets
Value Set | Purpose | VSAC OID |
---|---|---|
Body Position Refset | This reference set contains concepts used to result the patient's body position, referencing the SNOMED Code 397155001 Body position (observable entity) and the LOINC term "Body position with respect to gravity" 8361-8. | 2.16.840.1.113762.1.4.1181.38 |
Heart Rate Device Type Refset | This reference set contains concepts used to result the type of device used to measure a heart rate, referencing the LOINC term "Type of Heart rate device" 8887-2. | 2.16.840.1.113762.1.4.1181.47 |
Heart Rate Measurement Body Location Refset | This reference set contains a constrained list body location values used to result the body location where a heart rate was measured, referencing the LOINC term "Heart rate measurement site", 41904-4. | 2.16.840.1.113762.1.4.1181.29 |
Heart Rate Measurement Method Refset | This reference set contains concepts used to result the method used for a blood pressure measurement, referencing the LOINC term "Heart rate method” 8886-4. | 2.16.840.1.113762.1.4.1181.48 |
Exercise Association Reference Set | The purpose of the reference set is to document exercise associated with a measurement. Resulting LOINC code 74008-4 "Exercise intensity". | 2.16.840.1.113762.1.4.1181.36 |
Sleep Status Refset | This reference set contains values used to indicate the state of wakefulness during measurement | 2.16.840.1.113762.1.4.1181.2 |
Vital Signs Associated Precondition Refset | This reference set contains concepts to record particular states or conditions that may exist or need to exist while measuring vital signs. | Not yet in VSAC |
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is: http://hl7.org/fhir/us/vitals/StructureDefinition/HeartRate
Published on Wed May 29 00:00:00 UTC 2019 as a draft by HSPC.
This profile builds on observation-heartrate
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | observation-heartrate | Heart Rate | |
MeasurementDeviceExt | S | 0..* | CodeableConcept | Measurement Device URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementDeviceExt Binding: Heart Rate Measurement Device value set (preferred) |
ExerciseAssociationExt | S | 0..1 | CodeableConcept | Exercise Association URL: http://hl7.org/fhir/us/vitals/StructureDefinition/ExerciseAssociationExt Binding: Exertion Phase value set (preferred) |
BodyPositionExt | S | 0..1 | CodeableConcept | Body Position URL: http://hl7.org/fhir/us/vitals/StructureDefinition/BodyPositionExt Binding: Body Position value set (preferred) |
MeasurementSettingExt | 0..1 | CodeableConcept | Measurement setting URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementSettingExt Binding: Measurement Setting value set (preferred) | |
status | S | 1..1 | code | registered | preliminary | final | amended + |
code | S | 1..1 | CodeableConcept | Heart Rate Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 8867-4 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Heart rate | |
subject | S | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
effective[x] | S | 1..1 | dateTime, Period | Often just a dateTime for Vital Signs |
valueQuantity | S | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. |
value | S | 1..1 | decimal | Numerical value (with implicit precision) |
unit | S | 1..1 | string | Unit representation |
system | S | 1..1 | uri | Primitive Type uri Fixed Value: http://unitsofmeasure.org |
code | S | 1..1 | code | Primitive Type code Fixed Value: {Beats}/min |
dataAbsentReason | S | 0..1 | CodeableConcept | Why the result is missing |
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: Abnormal Interpretation Numeric Nominal value set (preferred) | |
bodySite | 0..1 | CodeableConcept | Observed body part Binding: Heart Rate Measurement Body Location Precoordinated value set (preferred) | |
method | 0..1 | CodeableConcept | How it was done Binding: Heart Rate Measurement Method value set (preferred) | |
device | S | 0..1 | Reference(Device | BloodPressureDevice) | (Measurement) Device |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | observation-heartrate | Heart Rate |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
MeasurementDeviceExt | SI | 0..* | CodeableConcept | Measurement Device URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementDeviceExt |
ExerciseAssociationExt | SI | 0..1 | CodeableConcept | Exercise Association URL: http://hl7.org/fhir/us/vitals/StructureDefinition/ExerciseAssociationExt |
BodyPositionExt | SI | 0..1 | CodeableConcept | Body Position URL: http://hl7.org/fhir/us/vitals/StructureDefinition/BodyPositionExt |
MeasurementSettingExt | I | 0..1 | CodeableConcept | Measurement setting URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementSettingExt |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business Identifier for observation |
basedOn | ΣI | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
partOf | ΣI | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event |
status | ?!SΣI | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | SI | 1..* | (Slice Definition) | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred) |
category:VSCat | SI | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SΣI | 1..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | SΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | SΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
code | SΣI | 1..1 | CodeableConcept | Heart Rate Binding: VitalSigns (extensible) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | |
version | 0..1 | string | Version of the system - if relevant | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 8867-4 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Heart rate | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | ΣI | 0..* | (Slice Definition) | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system |
coding:HeartRateCode | ΣI | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | ΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | ΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 8867-4 |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
focus | ΣI | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
encounter | ΣI | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
effective[x] | SΣI | 1..1 | Often just a dateTime for Vital Signs | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
issued | ΣI | 0..1 | instant | Date/Time this version was made available |
performer | ΣI | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation |
value[x] | SΣI | 0..1 | (Slice Definition) | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this |
value[x]:valueQuantity | SΣI | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
value | SΣI | 1..1 | decimal | Numerical value (with implicit precision) |
comparator | ?!ΣI | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required) |
unit | SΣI | 1..1 | string | Unit representation |
system | SI | 1..1 | uri | Primitive Type uri Fixed Value: http://unitsofmeasure.org |
code | SI | 1..1 | code | Primitive Type code Fixed Value: {Beats}/min |
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: Abnormal Interpretation Numeric Nominal value set (preferred) |
note | I | 0..* | Annotation | Comments about the observation |
bodySite | I | 0..1 | CodeableConcept | Observed body part Binding: Heart Rate Measurement Body Location Precoordinated value set (preferred) |
method | I | 0..1 | CodeableConcept | How it was done Binding: Heart Rate Measurement Method value set (preferred) |
specimen | I | 0..1 | Reference(Specimen) | Specimen used for this observation |
device | SI | 0..1 | Reference(Device | BloodPressureDevice) | (Measurement) Device |
referenceRange | I | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | I | 0..1 | SimpleQuantity | Low Range, if relevant |
high | I | 0..1 | SimpleQuantity | High Range, if relevant |
type | I | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred) |
appliesTo | I | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example) |
age | I | 0..1 | Range | Applicable age range, if relevant |
text | I | 0..1 | string | Text based reference range in an observation |
hasMember | ΣI | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components |
derivedFrom | ΣI | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from |
component | SΣI | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. vs-3: If there is no a value a data absent reason must be present |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣI | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible) |
value[x] | SΣI | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required) | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible) |
referenceRange | I | 0..* | See referenceRange | Provides guide for interpretation of component result |
Documentation for this format |
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | observation-heartrate | Heart Rate | |
MeasurementDeviceExt | S | 0..* | CodeableConcept | Measurement Device URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementDeviceExt Binding: Heart Rate Measurement Device value set (preferred) |
ExerciseAssociationExt | S | 0..1 | CodeableConcept | Exercise Association URL: http://hl7.org/fhir/us/vitals/StructureDefinition/ExerciseAssociationExt Binding: Exertion Phase value set (preferred) |
BodyPositionExt | S | 0..1 | CodeableConcept | Body Position URL: http://hl7.org/fhir/us/vitals/StructureDefinition/BodyPositionExt Binding: Body Position value set (preferred) |
MeasurementSettingExt | 0..1 | CodeableConcept | Measurement setting URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementSettingExt Binding: Measurement Setting value set (preferred) | |
status | S | 1..1 | code | registered | preliminary | final | amended + |
code | S | 1..1 | CodeableConcept | Heart Rate Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 8867-4 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Heart rate | |
subject | S | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
effective[x] | S | 1..1 | dateTime, Period | Often just a dateTime for Vital Signs |
valueQuantity | S | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. |
value | S | 1..1 | decimal | Numerical value (with implicit precision) |
unit | S | 1..1 | string | Unit representation |
system | S | 1..1 | uri | Primitive Type uri Fixed Value: http://unitsofmeasure.org |
code | S | 1..1 | code | Primitive Type code Fixed Value: {Beats}/min |
dataAbsentReason | S | 0..1 | CodeableConcept | Why the result is missing |
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: Abnormal Interpretation Numeric Nominal value set (preferred) | |
bodySite | 0..1 | CodeableConcept | Observed body part Binding: Heart Rate Measurement Body Location Precoordinated value set (preferred) | |
method | 0..1 | CodeableConcept | How it was done Binding: Heart Rate Measurement Method value set (preferred) | |
device | S | 0..1 | Reference(Device | BloodPressureDevice) | (Measurement) Device |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | observation-heartrate | Heart Rate |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
MeasurementDeviceExt | SI | 0..* | CodeableConcept | Measurement Device URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementDeviceExt |
ExerciseAssociationExt | SI | 0..1 | CodeableConcept | Exercise Association URL: http://hl7.org/fhir/us/vitals/StructureDefinition/ExerciseAssociationExt |
BodyPositionExt | SI | 0..1 | CodeableConcept | Body Position URL: http://hl7.org/fhir/us/vitals/StructureDefinition/BodyPositionExt |
MeasurementSettingExt | I | 0..1 | CodeableConcept | Measurement setting URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementSettingExt |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business Identifier for observation |
basedOn | ΣI | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
partOf | ΣI | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event |
status | ?!SΣI | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | SI | 1..* | (Slice Definition) | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred) |
category:VSCat | SI | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SΣI | 1..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | SΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | SΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
code | SΣI | 1..1 | CodeableConcept | Heart Rate Binding: VitalSigns (extensible) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | |
version | 0..1 | string | Version of the system - if relevant | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 8867-4 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Heart rate | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | ΣI | 0..* | (Slice Definition) | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system |
coding:HeartRateCode | ΣI | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | ΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | ΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 8867-4 |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
focus | ΣI | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
encounter | ΣI | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
effective[x] | SΣI | 1..1 | Often just a dateTime for Vital Signs | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
issued | ΣI | 0..1 | instant | Date/Time this version was made available |
performer | ΣI | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation |
value[x] | SΣI | 0..1 | (Slice Definition) | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this |
value[x]:valueQuantity | SΣI | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
value | SΣI | 1..1 | decimal | Numerical value (with implicit precision) |
comparator | ?!ΣI | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required) |
unit | SΣI | 1..1 | string | Unit representation |
system | SI | 1..1 | uri | Primitive Type uri Fixed Value: http://unitsofmeasure.org |
code | SI | 1..1 | code | Primitive Type code Fixed Value: {Beats}/min |
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: Abnormal Interpretation Numeric Nominal value set (preferred) |
note | I | 0..* | Annotation | Comments about the observation |
bodySite | I | 0..1 | CodeableConcept | Observed body part Binding: Heart Rate Measurement Body Location Precoordinated value set (preferred) |
method | I | 0..1 | CodeableConcept | How it was done Binding: Heart Rate Measurement Method value set (preferred) |
specimen | I | 0..1 | Reference(Specimen) | Specimen used for this observation |
device | SI | 0..1 | Reference(Device | BloodPressureDevice) | (Measurement) Device |
referenceRange | I | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | I | 0..1 | SimpleQuantity | Low Range, if relevant |
high | I | 0..1 | SimpleQuantity | High Range, if relevant |
type | I | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred) |
appliesTo | I | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example) |
age | I | 0..1 | Range | Applicable age range, if relevant |
text | I | 0..1 | string | Text based reference range in an observation |
hasMember | ΣI | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components |
derivedFrom | ΣI | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from |
component | SΣI | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. vs-3: If there is no a value a data absent reason must be present |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣI | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible) |
value[x] | SΣI | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required) | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible) |
referenceRange | I | 0..* | See referenceRange | Provides guide for interpretation of component result |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Terminology Bindings
Constraints
Id | Path | Details | Requirements |
dom-2 | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
obs-6 | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() | |
vs-2 | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. : (component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists()) | |
ele-1 | Observation.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.extension:measurementDevice | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.extension:measurementDevice | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.extension:exerciseAssociation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.extension:exerciseAssociation | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.extension:BodyPosition | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.extension:BodyPosition | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.extension:MeasurementSetting | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.extension:MeasurementSetting | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.basedOn | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.partOf | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.category:VSCat.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.category:VSCat.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.category:VSCat.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.category:VSCat.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.code.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.code.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:HeartRateCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:HeartRateCode.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.code.coding:HeartRateCode.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.code.coding:HeartRateCode.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:HeartRateCode.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:HeartRateCode.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:HeartRateCode.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:HeartRateCode.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.focus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.effective[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vs-1 | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
ele-1 | Observation.issued | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.performer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.value[x]:valueQuantity.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.value[x]:valueQuantity.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.comparator | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.unit | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.dataAbsentReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.interpretation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.bodySite | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.method | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.specimen | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.device | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
obs-3 | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
ele-1 | Observation.referenceRange.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.referenceRange.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.referenceRange.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.referenceRange.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.referenceRange.low | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.high | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.appliesTo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.age | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.hasMember | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.derivedFrom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vs-3 | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() | |
ele-1 | Observation.component.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.component.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.component.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.component.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.component.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component.dataAbsentReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component.interpretation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component.referenceRange | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |