DV_QUANTITY

Quantity

FHIRpath Cardinality Comment openEHR Cardinality Comment

value

0..1

magnitude

1..1

-

-

precision

0..1

code

0..1

if exists

units

1..1

both code and unit are populated openEHR → FHIR

unit

0..1

if code not exists

units

1..1

both code and unit are populated openEHR → FHIR

system

0..1

units_system

0..1

system

0..1

units_display_name

0..1

-

-

normal_range

0..1

-

-

other_reference_ranges

0..1

-

-

accuracy

0..1

-

-

accuracy_is_percent

0..1

comparator

0..1

magnitude_status

0..1

Primitives

Here using the example of an Integer.

FHIRpath Cardinality Comment openEHR Cardinality Comment

value

0..1

magnitude

1..1

-

-

precision

0..1

-

-

units

1..1

hardcoded as 1, due to being required

-

-

units_system

0..1

-

-

units_display_name

0..1

-

-

normal_range

0..1

-

-

other_reference_ranges

0..1

-

-

accuracy

0..1

-

-

accuracy_is_percent

0..1

-

-

magnitude_status

0..1

Age, Count, Duration, SimpleQuantity

Each of which, is a descendant of Quantity and determined by their terminology. Therefore, translating the terminology to openEHR is sufficient. There are other DataTypes that better match like DV_DURATION, DV_COUNT etc. pp in regards of modeling.

Range

Range to DV_QUANTITY. This depends what this range is for. If the range indicates the normal_range of an Quantity contained in FHIR, this needs to be mapped against the normal_range inside the DV_QUANTITY. Otherwise, if these are related ranges

Example:

Normal Range
  • Normal Range: 70–100 mg/dL (for a healthy adult)

Other Reference Ranges
  • For pregnant women: 80–120 mg/dL

  • For children: 60–90 mg/dL

  • For diabetics: 80–130 mg/dL

If both are not true see DV_INTERVAL<T>