Observation Profiles
Scope and Usage
These Observation profiles are part of the Point-of-Care Device General Implementation Guide. Observation resources report the actual measured or calculated values, status, or settings of a medical device.
Other profiles may apply as well, e. g. the Vital Signs Profile from FHIR Core specification.
A compliant device shall report physiological measurements, calculations, status, and settings as Observation resources according to the Numeric, Compound Numeric, Enumeration, and Sample Array Observation profiles. The profiles define the following rules:
Observation.code
and, for compound metrics,Observation.component.code
shall have a coding from the ISO/IEEE 11073 MDC metrics nomenclature. The Rosetta Terminology Mapping Management System (RTMMS) lists available codes. Depending on the type of measurement, the Vital Signs profiles may require an additional LOINC code.Observation.subject
shall be present and refer to a Patient resource or PoC Device resource.- The Measurement Status extension provides more detailed status information about observed values. It gets a code from the Measurement Status value set.
- Numeric Observation resources represent simple numerical measurements, calculations, or settings:
- Either
Observation.valueQuantity
orObservation.valueRatio
or, if there is no value,Observation.dataAbsentReason
shall be present. Values shall have a UCUM unit code. Observation.device
shall be present and refer to the Numeric DeviceMetric resource where this observation belongs to.
- Either
- Compound Numeric Observation resources represent numerical measurements, calculations, or settings with multiple components:
Observation.value[x]
must not be there.Observation.device
shall be present and refer to the Numeric DeviceMetric resource where this observation belongs to.- One or more
Observation.component
shall be present. - For each component,
Observation.component.valueQuantity
or, if there is no value,Observation.component.dataAbsentReason
shall be present. Values shall have a UCUM unit code.
- Enumeration Observation resources represent status or annotation information as codes or text:
- Either
Observation.valueCodeableConcept
orObservation.valueString
or, if there is no value,Observation.dataAbsentReason
shall be present. Observation.device
shall be present and refer to the Enumeration DeviceMetric resource where this observation belongs to.
- Either
- Sample Array Observation resources represent real-time waveforms or wave snippets:
- (to be completed)
Content
StructureDefinition | Description | Example |
---|---|---|
Numeric Observation Profile | Actual value of a numerical measurement, calculation, or setting | Heart Rate Numeric Observation |
Compound Numeric Observation Profile | Actual value of a numerical measurement, calculation, or setting with multiple components | NBP Compound Numeric Observation |
Enumeration Observation Profile | Actual value of status or annotation information as codes or text | Rhythm Status Enumeration Observation |
Sample Array Observation Profile (to be completed) | Actual value (wave samples) of a real-time waveform or wave snippet |
Extension | Description | Example |
---|---|---|
Measurement Status Extension | Status information about the observed value | SpO2 Numeric Observation |
Numeric Observation Profile
Canonical URL
http://devices.fhir.org/StructureDefinition/NumericObservation
Profile Definition
NumericObservation (Observation) | I | http://hl7.org/fhir/StructureDefinition/Observation | |
extension | |||
measurementStatus | Extension(code) | ||
code | |||
coding | 1.. | ||
11073MDC | 1..1 | ||
system | 1.. | Fixed Value | |
code | 1.. | ||
subject | 1.. | Reference(http://hl7.org/fhir/StructureDefinition/Patient | PoC Device Profile) | |
value[x] | |||
valueQuantity | I | Quantity | |
value | 1.. | ||
system | Fixed Value | ||
valueRatio | I | Ratio | |
numerator | |||
value | 1.. | ||
system | Fixed Value | ||
denominator | |||
value | 1.. | ||
system | Fixed Value | ||
dataAbsentReason | I | ||
device | 1.. | Reference(Numeric DeviceMetric Profile) |
Example (XML view)
Example of a Heart Rate Numeric Observation
<Observation xmlns="http://hl7.org/fhir"> <id value="622" /> <meta> <profile value="http://devices.fhir.org/StructureDefinition/NumericObservation" /> </meta> <status value="final" /> <category> <coding> <system value="http://hl7.org/fhir/observation-category" /> <code value="vital-signs" /> <display value="Vital Signs" /> </coding> </category> <code> <coding> <system value="http://loinc.org" /> <code value="8867-4" /> <display value="Heart rate" /> </coding> <coding> <system value="urn:iso:std:iso:11073:10101" /> <code value="147842" /> <display value="MDC_ECG_CARD_BEAT_RATE" /> </coding> </code> <subject> <reference value="Patient/371" /> </subject> <effectiveDateTime value="2017-06-02T11:04:46+02:00" /> <valueQuantity> <value value="60" /> <unit value="bpm" /> <system value="http://unitsofmeasure.org" /> <code value="/min" /> </valueQuantity> <device> <reference value="DeviceMetric/215" /> </device> </Observation>
Example (JSON view)
Example of a Heart Rate Numeric Observation
{ "resourceType": "Observation", "id": "622", "meta": { "profile": [ "http://devices.fhir.org/StructureDefinition/NumericObservation" ] }, "status": "final", "category": [ { "coding": [ { "system": "http://hl7.org/fhir/observation-category", "code": "vital-signs", "display": "Vital Signs" } ] } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" }, { "system": "urn:iso:std:iso:11073:10101", "code": "147842", "display": "MDC_ECG_CARD_BEAT_RATE" } ] }, "subject": { "reference": "Patient/371" }, "effectiveDateTime": "2017-06-02T11:04:46+02:00", "valueQuantity": { "value": 60, "unit": "bpm", "system": "http://unitsofmeasure.org", "code": "/min" }, "device": { "reference": "DeviceMetric/215" } }
Compound Numeric Observation Profile
Canonical URL
http://devices.fhir.org/StructureDefinition/CompoundNumericObservation
Profile Definition
CompoundNumericObservation (Observation) | http://hl7.org/fhir/StructureDefinition/Observation | ||
code | |||
coding | 1.. | ||
11073MDC | 1..1 | ||
system | 1.. | Fixed Value | |
code | 1.. | ||
subject | 1.. | Reference(http://hl7.org/fhir/StructureDefinition/Patient | PoC Device Profile) | |
value[x] | ..0 | ||
device | 1.. | Reference(Numeric DeviceMetric Profile) | |
component | I | 1.. | |
extension | |||
measurementStatus | Extension(code) | ||
code | |||
coding | 1.. | ||
11073MDC | 1..1 | ||
system | 1.. | Fixed Value | |
code | 1.. | ||
valueQuantity | I | Quantity | |
value | 1.. | ||
system | Fixed Value | ||
dataAbsentReason | I |
Example (XML view)
Example of a NBP Compound Numeric Observation
<Observation xmlns="http://hl7.org/fhir"> <id value="623" /> <meta> <profile value="http://devices.fhir.org/StructureDefinition/CompoundNumericObservation" /> </meta> <status value="final" /> <category> <coding> <system value="http://hl7.org/fhir/observation-category" /> <code value="vital-signs" /> <display value="Vital Signs" /> </coding> </category> <code> <coding> <system value="http://loinc.org" /> <code value="85354-9" /> <display value="Blood pressure panel with all children optional" /> </coding> <coding> <system value="urn:iso:std:iso:11073:10101" /> <code value="150020" /> <display value="MDC_PRESS_BLD_NONINV" /> </coding> </code> <subject> <reference value="Patient/371" /> </subject> <effectiveDateTime value="2017-06-02T11:00:59+02:00" /> <device> <reference value="DeviceMetric/216" /> </device> <component> <code> <coding> <system value="http://loinc.org" /> <code value="8480-6" /> <display value="Systolic blood pressure" /> </coding> <coding> <system value="urn:iso:std:iso:11073:10101" /> <code value="150021" /> <display value="MDC_PRESS_BLD_NONINV_SYS" /> </coding> </code> <valueQuantity> <value value="120" /> <unit value="mmHg" /> <system value="http://unitsofmeasure.org" /> <code value="mm[Hg]" /> </valueQuantity> </component> <component> <code> <coding> <system value="http://loinc.org" /> <code value="8462-4" /> <display value="Diastolic blood pressure" /> </coding> <coding> <system value="urn:iso:std:iso:11073:10101" /> <code value="150022" /> <display value="MDC_PRESS_BLD_NONINV_DIA" /> </coding> </code> <valueQuantity> <value value="80" /> <unit value="mmHg" /> <system value="http://unitsofmeasure.org" /> <code value="mm[Hg]" /> </valueQuantity> </component> <component> <code> <coding> <system value="http://loinc.org" /> <code value="8478-0" /> <display value="Mean blood pressure" /> </coding> <coding> <system value="urn:iso:std:iso:11073:10101" /> <code value="150023" /> <display value="MDC_PRESS_BLD_NONINV_MEAN" /> </coding> </code> <valueQuantity> <value value="90" /> <unit value="mmHg" /> <system value="http://unitsofmeasure.org" /> <code value="mm[Hg]" /> </valueQuantity> </component> </Observation>
Example (JSON view)
Example of a NBP Compound Numeric Observation
{ "resourceType": "Observation", "id": "623", "meta": { "profile": [ "http://devices.fhir.org/StructureDefinition/CompoundNumericObservation" ] }, "status": "final", "category": [ { "coding": [ { "system": "http://hl7.org/fhir/observation-category", "code": "vital-signs", "display": "Vital Signs" } ] } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "85354-9", "display": "Blood pressure panel with all children optional" }, { "system": "urn:iso:std:iso:11073:10101", "code": "150020", "display": "MDC_PRESS_BLD_NONINV" } ] }, "subject": { "reference": "Patient/371" }, "effectiveDateTime": "2017-06-02T11:00:59+02:00", "device": { "reference": "DeviceMetric/216" }, "component": [ { "code": { "coding": [ { "system": "http://loinc.org", "code": "8480-6", "display": "Systolic blood pressure" }, { "system": "urn:iso:std:iso:11073:10101", "code": "150021", "display": "MDC_PRESS_BLD_NONINV_SYS" } ] }, "valueQuantity": { "value": 120, "unit": "mmHg", "system": "http://unitsofmeasure.org", "code": "mm[Hg]" } }, { "code": { "coding": [ { "system": "http://loinc.org", "code": "8462-4", "display": "Diastolic blood pressure" }, { "system": "urn:iso:std:iso:11073:10101", "code": "150022", "display": "MDC_PRESS_BLD_NONINV_DIA" } ] }, "valueQuantity": { "value": 80, "unit": "mmHg", "system": "http://unitsofmeasure.org", "code": "mm[Hg]" } }, { "code": { "coding": [ { "system": "http://loinc.org", "code": "8478-0", "display": "Mean blood pressure" }, { "system": "urn:iso:std:iso:11073:10101", "code": "150023", "display": "MDC_PRESS_BLD_NONINV_MEAN" } ] }, "valueQuantity": { "value": 90, "unit": "mmHg", "system": "http://unitsofmeasure.org", "code": "mm[Hg]" } } ] }
Enumeration Observation Profile
Canonical URL
http://devices.fhir.org/StructureDefinition/EnumerationObservation
Profile Definition
EnumerationObservation (Observation) | I | http://hl7.org/fhir/StructureDefinition/Observation | |
extension | |||
measurementStatus | Extension(code) | ||
code | |||
coding | 1.. | ||
11073MDC | 1..1 | ||
system | 1.. | Fixed Value | |
code | 1.. | ||
subject | 1.. | Reference(http://hl7.org/fhir/StructureDefinition/Patient | PoC Device Profile) | |
value[x] | I | ||
valueCodeableConcept | CodeableConcept | ||
valueString | string | ||
dataAbsentReason | I | ||
device | 1.. | Reference(Enumeration DeviceMetric Profile) |
Example (XML view)
Example of a Rhythm Status Enumeration Observation
<Observation xmlns="http://hl7.org/fhir"> <id value="631" /> <meta> <profile value="http://devices.fhir.org/StructureDefinition/EnumerationObservation" /> </meta> <status value="final" /> <code> <coding> <system value="urn:iso:std:iso:11073:10101" /> <code value="184327" /> <display value="MDC_ECG_STAT_RHY" /> </coding> </code> <subject> <reference value="Patient/371" /> </subject> <effectiveDateTime value="2017-06-02T11:04:44+02:00" /> <valueCodeableConcept> <coding> <system value="urn:iso:std:iso:11073:10101" /> <code value="147474" /> <display value="MDC_ECG_SINUS_RHY" /> </coding> <text value="Sinus rhythm" /> </valueCodeableConcept> <device> <reference value="DeviceMetric/221" /> </device> </Observation>
Example (JSON view)
Example of a Rhythm Status Enumeration Observation
{ "resourceType": "Observation", "id": "631", "meta": { "profile": [ "http://devices.fhir.org/StructureDefinition/EnumerationObservation" ] }, "status": "final", "code": { "coding": [ { "system": "urn:iso:std:iso:11073:10101", "code": "184327", "display": "MDC_ECG_STAT_RHY" } ] }, "subject": { "reference": "Patient/371" }, "effectiveDateTime": "2017-06-02T11:04:44+02:00", "valueCodeableConcept": { "coding": [ { "system": "urn:iso:std:iso:11073:10101", "code": "147474", "display": "MDC_ECG_SINUS_RHY" } ], "text": "Sinus rhythm" }, "device": { "reference": "DeviceMetric/221" } }
Sample Array Observation Profile
(to be completed)
Measurement Status Extension
Canonical URL
http://devices.fhir.org/StructureDefinition/observation-measurement-status
Extension Definition
observation-measurement-status (Extension) | http://hl7.org/fhir/StructureDefinition/Extension | ||
url | Fixed Value | ||
valueCode | codeBinding |
Example (XML view)
Example of a SpO2 Numeric Observation
<Observation xmlns="http://hl7.org/fhir"> <id value="632" /> <meta> <profile value="http://devices.fhir.org/StructureDefinition/NumericObservation" /> <profile value="http://hl7.org/fhir/StructureDefinition/oxygensat" /> </meta> <extension url="http://devices.fhir.org/StructureDefinition/observation-measurement-status"> <valueCode value="questionable" /> </extension> <extension url="http://devices.fhir.org/StructureDefinition/observation-measurement-status"> <valueCode value="msmt-state-in-alarm" /> </extension> <status value="final" /> <category> <coding> <system value="http://hl7.org/fhir/observation-category" /> <code value="vital-signs" /> <display value="Vital Signs" /> </coding> </category> <code> <coding> <system value="http://loinc.org" /> <code value="59408-5" /> <display value="Oxygen saturation in Arterial blood by Pulse oximetry" /> </coding> <coding> <system value="urn:iso:std:iso:11073:10101" /> <code value="150456" /> <display value="MDC_PULS_OXIM_SAT_O2" /> </coding> </code> <subject> <reference value="Patient/371" /> </subject> <effectiveDateTime value="2017-06-02T11:04:48+02:00" /> <valueQuantity> <value value="88" /> <unit value="%" /> <system value="http://unitsofmeasure.org" /> <code value="%" /> </valueQuantity> <device> <reference value="DeviceMetric/222" /> </device> </Observation>
Example (JSON view)
Example of a SpO2 Numeric Observation
{ "resourceType": "Observation", "id": "632", "meta": { "profile": [ "http://devices.fhir.org/StructureDefinition/NumericObservation", "http://hl7.org/fhir/StructureDefinition/oxygensat" ] }, "extension": [ { "url": "http://devices.fhir.org/StructureDefinition/observation-measurement-status", "valueCode": "questionable" }, { "url": "http://devices.fhir.org/StructureDefinition/observation-measurement-status", "valueCode": "msmt-state-in-alarm" } ], "status": "final", "category": [ { "coding": [ { "system": "http://hl7.org/fhir/observation-category", "code": "vital-signs", "display": "Vital Signs" } ] } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "59408-5", "display": "Oxygen saturation in Arterial blood by Pulse oximetry" }, { "system": "urn:iso:std:iso:11073:10101", "code": "150456", "display": "MDC_PULS_OXIM_SAT_O2" } ] }, "subject": { "reference": "Patient/371" }, "effectiveDateTime": "2017-06-02T11:04:48+02:00", "valueQuantity": { "value": 88, "unit": "%", "system": "http://unitsofmeasure.org", "code": "%" }, "device": { "reference": "DeviceMetric/222" } }