ObservationUsCore.pulseOximetry constructor
ObservationUsCore.pulseOximetry(})
Implementation
factory ObservationUsCore.pulseOximetry(
double o2sat,
FhirDateTime dateTime,
Reference subject, {
double? litersPerMinute,
double? oxygenFlowRate,
}) {
final List<ObservationComponent> obsComp = <ObservationComponent>[];
if (litersPerMinute != null) {
obsComp.add(
ObservationComponent(
code: CodeableConcept(
coding: [
Coding(
system: FhirUri('http://loinc.org'),
code: Code('3151-8'),
display: 'Inhaled oxygen flow rate',
),
],
text: 'Inhaled oxygen flow rate',
),
valueQuantity: Quantity(
value: Decimal(litersPerMinute),
unit: 'liters/min',
system: FhirUri('http://unitsofmeasure.org'),
code: Code('L/min'),
),
),
);
}
if (oxygenFlowRate != null) {
obsComp.add(
ObservationComponent(
code: CodeableConcept(
coding: [
Coding(
system: FhirUri('http://loinc.org'),
code: Code('3150-0'),
display: 'Inhaled oxygen concentration',
),
],
text: 'Inhaled oxygen concentration',
),
valueQuantity: Quantity(
value: Decimal(oxygenFlowRate),
unit: '%',
system: FhirUri('http://unitsofmeasure.org'),
code: Code('%'),
),
),
);
}
return ObservationUsCore(
category: _vitalSignsCategory,
code: CodeableConcept(
coding: [
Coding(
system: FhirUri('http://loinc.org'),
code: Code('59408-5'),
display: 'Oxygen saturation in Arterial blood by Pulse oximetry',
),
],
),
effectiveDateTime: dateTime,
subject: subject,
valueQuantity: Quantity(
value: Decimal(o2sat),
unit: '%',
system: FhirUri('http://unitsofmeasure.org'),
code: Code('%'),
),
component: obsComp.isEmpty ? null : obsComp);
}