ObservationUsCore.bloodPressure constructor
ObservationUsCore.bloodPressure(
- Reference subject,
- FhirDateTime dateTime, {
- required double systolic,
- double? diastolic,
- BodySiteForBp? bodySite,
Implementation
factory ObservationUsCore.bloodPressure(
Reference subject,
FhirDateTime dateTime, {
required double systolic,
double? diastolic,
BodySiteForBp? bodySite,
}) {
final component = <ObservationComponent>[];
component.add(
ObservationComponent(
code: CodeableConcept(
coding: [
Coding(
system: FhirUri('http://loinc.org'),
code: Code('8480-6'),
display: 'Systolic blood pressure',
),
Coding(
system: FhirUri('http://snomed.info/sct'),
code: Code('271649006'),
display: 'Systolic blood pressure',
),
],
),
valueQuantity: Quantity(
value: Decimal(systolic),
unit: 'mmHg',
system: FhirUri('http://unitsofmeasure.org'),
code: Code('mm[Hg]'),
),
),
);
if (diastolic != null) {
component.add(
ObservationComponent(
code: CodeableConcept(
coding: [
Coding(
system: FhirUri('http://loinc.org'),
code: Code('8462-4'),
display: 'Diastolic blood pressure',
),
],
),
valueQuantity: Quantity(
value: Decimal(diastolic),
unit: 'mmHg',
system: FhirUri('http://unitsofmeasure.org'),
code: Code('mm[Hg]'),
),
),
);
}
return ObservationUsCore(
category: _vitalSignsCategory,
code: CodeableConcept(
coding: [
Coding(
system: FhirUri('http://loinc.org'),
code: Code('85354-9'),
display: 'Blood pressure panel with all children optional',
),
],
text: 'Blood pressure systolic & diastolic',
),
subject: subject,
bodySite:
bodySite == null ? null : codeableConceptFromBodySiteForBp[bodySite]!,
effectiveDateTime: dateTime,
component: component,
);
}