ReferenceRange

Reference range for clinical observations and laboratory results. Defines normal, therapeutic, or critical value boundaries with support for population-specific ranges by age and demographics. Follows FHIR Observation.referenceRange conventions.

Overview

ReferenceRange specifies acceptable value boundaries for clinical measurements. Ranges can be fully bounded (both low and high), semi-bounded (only low or only high), or open. Different range types serve different purposes: normal ranges define healthy values, therapeutic ranges define treatment targets, and critical ranges define dangerous thresholds. Population-specific customization allows age and demographic-appropriate interpretation.

Key Concepts

Range Structure

Each range can have:

FieldPurposeExample
lowLower bound with value and unit70 mg/dL
highUpper bound with value and unit100 mg/dL
typeClinical purpose of the rangenormal, therapeutic, critical
textHuman-readable description"Normal fasting glucose"
appliesToPopulation characteristics["adult", "female"]
ageAge range in years{ low: 18, high: 65 }

Range Types

TypePurposeExample
normalHealthy/expected valuesFasting glucose 70-100 mg/dL
recommendedTarget values for healthLDL cholesterol < 100 mg/dL
treatmentGoals during treatmentA1C < 7% for diabetics
therapeuticDrug level targetsWarfarin INR 2.0-3.0
criticalDangerous thresholdsPotassium < 2.5 mEq/L

Bounded vs Semi-Bounded

Fully Bounded - Both limits defined:

  • Glucose: 70-100 mg/dL
  • Heart rate: 60-100 bpm

Lower Bound Only - Minimum threshold:

  • Hemoglobin: > 12 g/dL (anemia threshold)
  • Potassium: > 2.5 mEq/L (critical low)

Upper Bound Only - Maximum threshold:

  • Bilirubin: < 1.2 mg/dL
  • TSH: < 4.0 mIU/L

Units of Measure

Values include UCUM-compatible units:

  • value - Numeric measurement
  • unit - Human-readable unit (e.g., "mg/dL")
  • system - Unit system URI (http://unitsofmeasure.org)
  • code - UCUM code for interoperability

Population-Specific Ranges

Different populations have different normal values:

By Sex

  • Hemoglobin: Male 14-18 g/dL, Female 12-16 g/dL

By Age

  • Heart rate: Infant 100-160 bpm, Adult 60-100 bpm

By Condition

  • A1C: Non-diabetic < 5.7%, Diabetic target < 7%

Use Cases

Laboratory Result Interpretation

When displaying lab results:

  1. Retrieve applicable reference ranges
  2. Match patient demographics (age, sex)
  3. Compare result to range boundaries
  4. Flag values outside normal range
  5. Highlight critical values

Clinical Decision Support

For automated alerting:

  1. Define critical ranges for dangerous values
  2. Trigger alerts when results exceed critical thresholds
  3. Notify appropriate care team
  4. Document alert and response

Drug Level Monitoring

For therapeutic drug monitoring:

  1. Define therapeutic ranges for medications
  2. Monitor trough/peak levels
  3. Alert if outside therapeutic window
  4. Guide dose adjustments

Quality Metrics

For clinical quality measures:

  1. Define recommended ranges for outcomes
  2. Track patient values vs targets
  3. Report percentage within range
  4. Identify improvement opportunities

Result Reporting

For patient-facing results:

  1. Show result with reference range
  2. Indicate normal/abnormal status
  3. Provide age/sex-appropriate comparison
  4. Include interpretive text

Related Entities

EntityRelationshipDescription
LaboratoryResultUsed byLab results compared against reference ranges
VitalSignUsed byVital signs with normal ranges

Calculated Fields

FieldTypeDescription
hasLowbooleanTrue if lower bound is defined
hasHighbooleanTrue if upper bound is defined
isBoundedbooleanTrue if both lower and upper bounds are defined

Enums

type

ValueDescription
normalNormal/healthy reference range for general population
recommendedRecommended target values for optimal health
treatmentTarget range during active treatment
therapeuticTherapeutic drug level range for medication monitoring
criticalCritical thresholds indicating immediate clinical concern
9 properties
Schema

Properties

PropertyTypeModeDescriptionRequired
lowobject
stored

Lower bound of the reference range, representing the minimum acceptable or normal value for the measurement

Example: {"value":70,"unit":"mg/dL","system":"http://unitsofmeasure.org","code":"mg/dL"}

Optional
highobject
stored

Upper bound of the reference range, representing the maximum acceptable or normal value for the measurement

Example: {"value":100,"unit":"mg/dL","system":"http://unitsofmeasure.org","code":"mg/dL"}

Optional
typestring
enum

Classification of the reference range indicating its clinical or contextual meaning

Values: normal, recommended, treatment, therapeutic, critical

Example: "normal"

Optional
textstring
stored

Human-readable textual description or narrative of the reference range, useful for conveying context, conditions, or qualitative aspects not captured by numeric bounds

Example: "Normal fasting blood glucose for non-diabetic adults"

Optional
appliesToarray
stored

Population characteristics or demographic groups to which this reference range applies, enabling population-specific interpretations (e.g., gender, age category, pregnancy status, ethnicity)

Example: ["adult","female"]

Optional
ageobject
stored

Age range in years for which this reference range is valid, enabling age-specific clinical interpretations

Example: {"low":18,"high":65}

Optional
hasLowboolean
computed

Calculated indicator of whether a lower bound is defined for this reference range

Example: true

Optional
hasHighboolean
computed

Calculated indicator of whether an upper bound is defined for this reference range

Example: true

Optional
isBoundedboolean
computed

Calculated indicator of whether both lower and upper bounds are defined, signifying a fully bounded reference range

Example: true

Optional

Examples

Example 1

{
  "@type": "ReferenceRange",
  "low": {
    "value": 70,
    "unit": "mg/dL",
    "system": "http://unitsofmeasure.org",
    "code": "mg/dL"
  },
  "high": {
    "value": 100,
    "unit": "mg/dL",
    "system": "http://unitsofmeasure.org",
    "code": "mg/dL"
  },
  "type": "normal",
  "text": "Normal fasting blood glucose for non-diabetic adults",
  "appliesTo": [
    "adult"
  ],
  "age": {
    "low": 18,
    "high": 120
  }
}

Example 2

{
  "@type": "ReferenceRange",
  "low": {
    "value": 12,
    "unit": "g/dL",
    "system": "http://unitsofmeasure.org",
    "code": "g/dL"
  },
  "high": {
    "value": 15.5,
    "unit": "g/dL",
    "system": "http://unitsofmeasure.org",
    "code": "g/dL"
  },
  "type": "normal",
  "text": "Normal hemoglobin levels for adult females",
  "appliesTo": [
    "adult",
    "female"
  ],
  "age": {
    "low": 18,
    "high": 120
  }
}

Example 3

{
  "@type": "ReferenceRange",
  "low": {
    "value": 2.5,
    "unit": "mEq/L",
    "system": "http://unitsofmeasure.org",
    "code": "meq/L"
  },
  "type": "critical",
  "text": "Critical low potassium - below this threshold requires immediate intervention",
  "appliesTo": [
    "adult"
  ]
}

Example 4

{
  "@type": "ReferenceRange",
  "high": {
    "value": 15,
    "unit": "mg/dL",
    "system": "http://unitsofmeasure.org",
    "code": "mg/dL"
  },
  "type": "critical",
  "text": "Critical high bilirubin for newborns - above this threshold may indicate severe jaundice",
  "appliesTo": [
    "newborn"
  ],
  "age": {
    "low": 0,
    "high": 0.08
  }
}

Example 5

{
  "@type": "ReferenceRange",
  "low": {
    "value": 2,
    "unit": "ratio",
    "system": "http://unitsofmeasure.org",
    "code": "{ratio}"
  },
  "high": {
    "value": 3,
    "unit": "ratio",
    "system": "http://unitsofmeasure.org",
    "code": "{ratio}"
  },
  "type": "therapeutic",
  "text": "Therapeutic INR range for patients on warfarin anticoagulation therapy",
  "appliesTo": [
    "adult"
  ]
}

Example 6

{
  "@type": "ReferenceRange",
  "low": {
    "value": 60,
    "unit": "bpm",
    "system": "http://unitsofmeasure.org",
    "code": "/min"
  },
  "high": {
    "value": 100,
    "unit": "bpm",
    "system": "http://unitsofmeasure.org",
    "code": "/min"
  },
  "type": "normal",
  "text": "Normal resting heart rate for pediatric patients aged 6-15 years",
  "appliesTo": [
    "pediatric"
  ],
  "age": {
    "low": 6,
    "high": 15
  }
}