Cascade Protocol Health & Wellness Ontology
type: Ontology
imports: v1#
description: Vocabulary for consumer-generated wellness observations from wearable devices and HealthKit. Maps Cascade wellness properties to established SNOMED CT and LOINC codes following the three-layer ontology architecture.
creator: Cascade Agentic Labs
created: 2026-01-29
modified: 2026-08-14
version info: 2.7
comment: Three-layer ontology for wellness data: Layer 1 (Established standards): SNOMED CT concept IDs + LOINC observation codes Layer 2 (Cascade health vocabulary): health: namespace properties linking to Layer 1 Layer 3 (Checkup summary): checkup: namespace patient-facing aggregations

Resting Heart Rate
type: DatatypeProperty
comment: Average resting heart rate from wearable device
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/364075005
LOINC Code: http://loinc.org/rdf#40443-4
Display Unit: beats/min
UCUM Code: /min
Trend Polarity: lower_is_better

Walking Heart Rate
type: DatatypeProperty
comment: Average heart rate during walking from wearable device
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/364075005
LOINC Code: http://loinc.org/rdf#89270-3
Display Unit: beats/min
UCUM Code: /min
Trend Polarity: lower_is_better

Heart Rate Variability (SDNN)
type: DatatypeProperty
comment: Standard deviation of normal-to-normal R-R intervals (SDNN) from wearable device
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/80404004
LOINC Code: http://loinc.org/rdf#80404-7
Display Unit: ms
UCUM Code: ms
Trend Polarity: higher_is_better

Blood Pressure
type: ObjectProperty
comment: Blood pressure panel observation with systolic and diastolic components
domain: Observation
SNOMED CT Code: http://snomed.info/sct/75367002
LOINC Code: http://loinc.org/rdf#85354-9

Systolic Blood Pressure
type: DatatypeProperty
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/271649006
LOINC Code: http://loinc.org/rdf#8480-6
Display Unit: mmHg
UCUM Code: mm[Hg]
Trend Polarity: lower_is_better

Diastolic Blood Pressure
type: DatatypeProperty
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/271650006
LOINC Code: http://loinc.org/rdf#8462-4
Display Unit: mmHg
UCUM Code: mm[Hg]
Trend Polarity: lower_is_better

Respiratory Rate
type: DatatypeProperty
comment: Average respiratory rate from wearable device
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/86290005
LOINC Code: http://loinc.org/rdf#9279-1
Display Unit: breaths/min
UCUM Code: /min
Trend Polarity: neutral

VO2 Max
type: DatatypeProperty
comment: Estimated maximal oxygen consumption (cardiorespiratory fitness)
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/251880009
LOINC Code: http://loinc.org/rdf#60842-2
Display Unit: mL/kg/min
UCUM Code: mL/kg/min
Trend Polarity: higher_is_better

Walking Steadiness
type: DatatypeProperty
comment: Apple Health walking steadiness classification (OK / Low / Very Low). Maps to nearest SNOMED balance concept. No LOINC equivalent exists for this consumer-device metric.
domain: Observation
range: string
SNOMED CT Code: http://snomed.info/sct/364832000
comment: SNOMED mapping note: 364832000 (Balance finding) is the closest available concept. Alternatives considered: 250043000 (Gait finding), 282097004 (Ability to walk). Apple's OK/Low/Very Low classification is proprietary.

OK
type: WalkingSteadinessLevel

Low
type: WalkingSteadinessLevel

Very Low
type: WalkingSteadinessLevel

Body Mass
type: DatatypeProperty
comment: Body weight measurement.
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/27113001
LOINC Code: http://loinc.org/rdf#29463-7
Display Unit: kg
UCUM Code: kg
Trend Polarity: neutral

Body Height
type: DatatypeProperty
comment: Body height measurement.
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/50373000
LOINC Code: http://loinc.org/rdf#8302-2
Display Unit: cm
UCUM Code: cm
Trend Polarity: neutral

Body Mass Index
type: DatatypeProperty
comment: Computed body mass index (weight/height squared).
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/60621009
LOINC Code: http://loinc.org/rdf#39156-5
Display Unit: kg/m2
UCUM Code: kg/m2
Trend Polarity: neutral

Body Temperature
type: DatatypeProperty
comment: Body temperature measurement.
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/386725007
LOINC Code: http://loinc.org/rdf#8310-5
Display Unit: degC
UCUM Code: Cel
Trend Polarity: neutral

Oxygen Saturation
type: DatatypeProperty
comment: Blood oxygen saturation (SpO2) from pulse oximeter.
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/431314004
LOINC Code: http://loinc.org/rdf#2708-6
Display Unit: %
UCUM Code: %
Trend Polarity: higher_is_better

Blood Glucose
type: DatatypeProperty
comment: Blood glucose measurement.
domain: Observation
range: double
SNOMED CT Code: http://snomed.info/sct/33747003
LOINC Code: http://loinc.org/rdf#2339-0
Display Unit: mg/dL
UCUM Code: mg/dL
Trend Polarity: neutral

Blood Type
type: DatatypeProperty
comment: ABO blood group and Rh factor. Values: aPositive, aNegative, bPositive, bNegative, abPositive, abNegative, oPositive, oNegative. Sourced from HealthKit (HKCharacteristicType.bloodType) or manual entry.
domain: Health Profile
range: string
SNOMED CT Code: http://snomed.info/sct/365637002
LOINC Code: http://loinc.org/rdf#882-1

Average Daily Steps
type: DatatypeProperty
comment: Average number of steps per day over measurement period
domain: Activity Snapshot
range: integer
SNOMED CT Code: http://snomed.info/sct/68130003
LOINC Code: http://loinc.org/rdf#41950-7
Display Unit: steps
Trend Polarity: higher_is_better

Active Energy Burned
type: DatatypeProperty
comment: Active energy expenditure in kilocalories (excludes basal metabolic rate)
domain: Activity Snapshot
range: decimal
SNOMED CT Code: http://snomed.info/sct/251833007
LOINC Code: http://loinc.org/rdf#41981-2
Display Unit: kcal
UCUM Code: kcal

Exercise Minutes (Weekly)
type: DatatypeProperty
comment: Total minutes of exercise activity per week
domain: Activity Snapshot
range: integer
SNOMED CT Code: http://snomed.info/sct/68130003
LOINC Code: http://loinc.org/rdf#73985-4
Display Unit: min
UCUM Code: min
Trend Polarity: higher_is_better

Stand Hours (Daily)
type: DatatypeProperty
comment: Number of hours per day with at least one minute of standing. Cascade-proprietary metric — no SNOMED CT or LOINC equivalent exists. Apple Health-specific activity ring metric.
domain: Activity Snapshot
range: integer
Display Unit: hours

Average Sleep Duration
type: DatatypeProperty
comment: Average sleep duration in hours over measurement period
domain: Sleep Snapshot
range: decimal
SNOMED CT Code: http://snomed.info/sct/248263006
LOINC Code: http://loinc.org/rdf#93832-4
Display Unit: hours
UCUM Code: h
Trend Polarity: neutral

Sleep Quality
type: DatatypeProperty
comment: Qualitative sleep quality assessment derived from wearable sleep analysis
domain: Sleep Snapshot
range: string

Activity Snapshot
type: Class
comment: Aggregated activity metrics over a measurement period (typically 7 days)
subclass of: Entity

Sleep Snapshot
type: Class
comment: Aggregated sleep metrics over a measurement period (typically 7 days)
subclass of: Entity

VO2 Max Statistics
type: Class
comment: Statistical summary of VO2 Max readings over a measurement period (typically 180 days). Provides trend analysis, fitness classification, and min/max/mean calculations. Designed for dual-path UI display: rich statistics view when available, fallback to single VO2 Max value otherwise.
subclass of: Entity

HRV Statistics
type: Class
comment: Statistical summary of Heart Rate Variability (SDNN) readings over a measurement period. Provides trend analysis and min/max/mean calculations.
subclass of: Entity

Blood Pressure Statistics
type: Class
comment: Statistical summary of blood pressure readings over a measurement period. Provides mean, min, max for systolic and diastolic values, plus AHA category classification.
subclass of: Entity

Health Profile
type: Class
comment: Top-level wellness profile aggregating vital signs, body measurements, activity, and sleep data from consumer devices. Stored at /wellness/ in the Cascade Pod.
subclass of: Entity

Daily Vital Reading
type: Class
comment: A single day's aggregated vital sign reading with value, unit, date, and sample count. Used in 90-day and 30-day history containers.
subclass of: Observation

HRV Reading
type: Class
comment: A single heart rate variability (SDNN) observation with timestamp and optional source.
subclass of: Observation

Blood Pressure Reading
type: Class
comment: A single blood pressure observation with systolic and diastolic components, timestamp, and optional source.
subclass of: Observation

Vital Sign Reading
type: Class
comment: A single vital sign observation with value, unit, measurement period, timestamp, and source. Used for baseline readings and VO2 Max history entries.
subclass of: Observation

Daily Activity Snapshot
type: Class
comment: A single day's activity data: steps, active energy, exercise minutes, and stand hours.
subclass of: Entity

Daily Sleep Snapshot
type: Class
comment: A single night's sleep data: duration in hours and quality classification.
subclass of: Entity

Resting Heart Rate History
type: ObjectProperty
comment: Time series of daily resting heart rate readings (90-day lookback). Each entry is a DailyVitalReading with date and value.
domain: Health Profile
range: Daily Vital Reading

Walking Heart Rate History
type: ObjectProperty
comment: Time series of daily walking heart rate readings (90-day lookback).
domain: Health Profile
range: Daily Vital Reading

HRV History
type: ObjectProperty
comment: Time series of heart rate variability (SDNN) readings (7-day lookback).
domain: Health Profile
range: HRV Reading

Blood Pressure History
type: ObjectProperty
comment: Time series of blood pressure readings (30-day lookback). Each entry has systolic and diastolic values.
domain: Health Profile
range: Blood Pressure Reading

VO2 Max History
type: ObjectProperty
comment: Time series of VO2 Max readings (180-day lookback).
domain: Health Profile
range: Vital Sign Reading

Body Mass History
type: ObjectProperty
comment: Time series of daily body mass readings (30-day lookback).
domain: Health Profile
range: Daily Vital Reading

Daily Activity History
type: ObjectProperty
comment: Time series of daily activity snapshots (90-day lookback). Steps, exercise, calories, stand hours per day.
domain: Health Profile
range: Daily Activity Snapshot

Daily Sleep History
type: ObjectProperty
comment: Time series of daily sleep snapshots (90-day lookback). Duration and quality per night.
domain: Health Profile
range: Daily Sleep Snapshot

Self Report
type: Class
comment: Base class for patient-reported daily check-ins and self-assessments. Provides common structure for timestamped self-reports across health domains. Apps extend this with domain-specific response data. Examples: medication adherence, symptom tracking, mood logging, sleep records.
subclass of: Entity

Report Date
type: DatatypeProperty
comment: When the self-report was recorded.
domain: Self Report
range: dateTime

Report Type
type: DatatypeProperty
comment: Category of self-report (e.g., medication_adherence, symptom_tracking, mood, sleep).
domain: Self Report
range: string

Completion Status
type: DatatypeProperty
comment: Whether the report is complete, partial, or skipped.
domain: Self Report
range: string

Report Context
type: DatatypeProperty
comment: What tracking plan or list this report relates to (free-form reference).
domain: Self Report
range: string

Report Notes
type: DatatypeProperty
comment: Optional free-text notes from the patient.
domain: Self Report
range: string

SNOMED CT Code
type: AnnotationProperty
comment: Links a wellness property to its SNOMED CT concept

LOINC Code
type: AnnotationProperty
comment: Links a wellness property to its LOINC observation code

Display Unit
type: AnnotationProperty
comment: Human-readable unit of measurement

UCUM Code
type: AnnotationProperty
comment: Unified Code for Units of Measure code

Trend Polarity
type: AnnotationProperty
comment: Whether an increase in this metric is generally favorable ('higher_is_better'), unfavorable ('lower_is_better'), or context-dependent ('neutral'). Used by presentation layers to determine trend arrow color semantics. This is a general heuristic — individual clinical context may differ.

Observation Value
type: DatatypeProperty
comment: Generic numeric value for a wellness observation blank node. Used in Pattern A flat serialization where the observation type is identified by the enclosing property (e.g., health:restingHeartRate). The unit is carried by health:unit on the same blank node.
range: double

Observation Date
type: DatatypeProperty
comment: Timestamp of a wellness observation in Pattern A flat serialization. Equivalent in role to fhir:effectiveDateTime but scoped to health: namespace blank nodes.
range: dateTime

SDNN (HRV)
type: DatatypeProperty
comment: Standard deviation of normal-to-normal R-R intervals. The primary HRV scalar emitted in Pattern A HRVReading blank nodes.
range: double
SNOMED CT Code: http://snomed.info/sct/80404004
LOINC Code: http://loinc.org/rdf#80404-7
Display Unit: ms

Systolic Blood Pressure (reading)
type: DatatypeProperty
comment: Systolic component value in a Pattern A BloodPressureReading blank node. Distinct from health:systolicBP which is a domain-level property on fhir:Observation.
range: double
SNOMED CT Code: http://snomed.info/sct/271649006
LOINC Code: http://loinc.org/rdf#8480-6
Display Unit: mmHg

Diastolic Blood Pressure (reading)
type: DatatypeProperty
comment: Diastolic component value in a Pattern A BloodPressureReading blank node. Distinct from health:diastolicBP which is a domain-level property on fhir:Observation.
range: double
SNOMED CT Code: http://snomed.info/sct/271650006
LOINC Code: http://loinc.org/rdf#8462-4
Display Unit: mmHg

Walking Steadiness Level
type: ObjectProperty
comment: Links a Pattern A WalkingSteadiness blank node to its level individual (health:WalkingSteadinessOK, health:WalkingSteadinessLow, health:WalkingSteadinessVeryLow, health:WalkingSteadinessUnknown).
range: WalkingSteadinessLevel

Unknown
type: WalkingSteadinessLevel

Mean VO2 Max
type: DatatypeProperty
comment: Average VO2 Max over measurement period (mL/kg/min)
domain: VO2 Max Statistics
range: double
Display Unit: mL/kg/min
UCUM Code: mL/kg/min

Minimum VO2 Max
type: DatatypeProperty
comment: Lowest VO2 Max reading in measurement period
domain: VO2 Max Statistics
range: double
Display Unit: mL/kg/min

Maximum VO2 Max
type: DatatypeProperty
comment: Highest VO2 Max reading in measurement period
domain: VO2 Max Statistics
range: double
Display Unit: mL/kg/min

Sample Count
type: DatatypeProperty
comment: Number of VO2 Max measurements in the period
domain: VO2 Max Statistics
range: integer

Days Covered
type: DatatypeProperty
comment: Number of unique days with VO2 Max measurements
domain: VO2 Max Statistics
range: integer

VO2 Trend Direction
type: DatatypeProperty
comment: Trend direction based on comparison of first half vs second half of readings: 'improving', 'declining', 'stable', or 'unknown'. Uses 3% threshold (1 MET ≈ 3.5 mL/kg/min is clinically meaningful).
domain: VO2 Max Statistics
range: string

Percentage Change
type: DatatypeProperty
comment: Percentage change from oldest to newest reading period
domain: VO2 Max Statistics
range: double

Fitness Classification
type: DatatypeProperty
comment: Cardiorespiratory fitness level based on mean VO2 Max: 'veryPoor' (<20), 'poor' (20-29), 'fair' (30-34), 'good' (35-44), 'excellent' (45-54), 'superior' (≥55). Currently age/sex agnostic; future versions may use demographics for personalized classification.
domain: VO2 Max Statistics
range: string

Sparse Data Indicator
type: DatatypeProperty
comment: True when measurements are limited (< 3 samples or < 30 days covered). Used to trigger messaging about VO2 Max measurement requirements.
domain: VO2 Max Statistics
range: boolean

Period Start
type: DatatypeProperty
comment: Start date of the statistical measurement period.
range: dateTime

Period End
type: DatatypeProperty
comment: End date of the statistical measurement period.
range: dateTime

HRV Sample Count
type: DatatypeProperty
comment: Number of HRV readings in the period.
domain: HRV Statistics
range: integer

HRV Days Covered
type: DatatypeProperty
comment: Number of unique days with HRV measurements.
domain: HRV Statistics
range: integer

Mean HRV
type: DatatypeProperty
comment: Average HRV (SDNN) over the measurement period (ms).
domain: HRV Statistics
range: double
Display Unit: ms

Median HRV
type: DatatypeProperty
comment: Median HRV (SDNN) over the measurement period (ms).
domain: HRV Statistics
range: double
Display Unit: ms

HRV Standard Deviation
type: DatatypeProperty
comment: Standard deviation of HRV readings over the measurement period (ms).
domain: HRV Statistics
range: double
Display Unit: ms

Minimum HRV
type: DatatypeProperty
comment: Lowest HRV reading in the period (ms).
domain: HRV Statistics
range: double
Display Unit: ms

Maximum HRV
type: DatatypeProperty
comment: Highest HRV reading in the period (ms).
domain: HRV Statistics
range: double
Display Unit: ms

HRV 25th Percentile
type: DatatypeProperty
comment: 25th percentile of HRV readings over the measurement period (ms).
domain: HRV Statistics
range: double
Display Unit: ms

HRV 75th Percentile
type: DatatypeProperty
comment: 75th percentile of HRV readings over the measurement period (ms).
domain: HRV Statistics
range: double
Display Unit: ms

HRV Trend Direction
type: DatatypeProperty
comment: Trend direction for HRV: improving, declining, stable, or unknown.
domain: HRV Statistics
range: string

BP Sample Count
type: DatatypeProperty
comment: Number of blood pressure readings in the period.
domain: Blood Pressure Statistics
range: integer

Mean Systolic BP
type: DatatypeProperty
comment: Average systolic blood pressure over the measurement period (mmHg).
domain: Blood Pressure Statistics
range: double
Display Unit: mmHg

Mean Diastolic BP
type: DatatypeProperty
comment: Average diastolic blood pressure over the measurement period (mmHg).
domain: Blood Pressure Statistics
range: double
Display Unit: mmHg

Minimum Systolic BP
type: DatatypeProperty
comment: Lowest systolic blood pressure reading in the period (mmHg).
domain: Blood Pressure Statistics
range: double
Display Unit: mmHg

Maximum Systolic BP
type: DatatypeProperty
comment: Highest systolic blood pressure reading in the period (mmHg).
domain: Blood Pressure Statistics
range: double
Display Unit: mmHg

Minimum Diastolic BP
type: DatatypeProperty
comment: Lowest diastolic blood pressure reading in the period (mmHg).
domain: Blood Pressure Statistics
range: double
Display Unit: mmHg

Maximum Diastolic BP
type: DatatypeProperty
comment: Highest diastolic blood pressure reading in the period (mmHg).
domain: Blood Pressure Statistics
range: double
Display Unit: mmHg

BP Category
type: DatatypeProperty
comment: AHA blood pressure category based on mean values: normal, elevated, hypertension_stage1, hypertension_stage2, hypertensive_crisis.
domain: Blood Pressure Statistics
range: string

Metric Trend
type: Class
comment: A time-bounded trend for a single wellness metric, computed from a series of observations. Captures direction, magnitude, and comparison period.
subclass of: Entity

Trend Metric
type: ObjectProperty
comment: The wellness property this trend describes (e.g., health:restingHeartRate)
domain: Metric Trend

Trend Direction
type: DatatypeProperty
comment: Direction of change: increasing, decreasing, stable, or insufficient_data. Matches clinical:trendDirection values for cross-domain consistency. Semantic interpretation (whether 'increasing' is good or bad) is metric-specific and handled at the presentation layer, not the ontology layer.
domain: Metric Trend
range: string

Trend Magnitude
type: DatatypeProperty
comment: Percentage change between comparison periods (e.g., -5.6 means a 5.6% decrease)
domain: Metric Trend
range: decimal

Trend Period Start
type: DatatypeProperty
domain: Metric Trend
range: dateTime

Trend Period End
type: DatatypeProperty
domain: Metric Trend
range: dateTime

Baseline Value
type: DatatypeProperty
comment: The reference value (e.g., 90-day average) this trend is compared against
domain: Metric Trend
range: decimal

Current Value
type: DatatypeProperty
comment: The current period average (e.g., 7-day average)
domain: Metric Trend
range: decimal

Trend Confidence
type: DatatypeProperty
comment: Confidence in the trend: high (>30 days data), medium (14-30 days), low (<14 days)
domain: Metric Trend
range: string

Trend Data Source
type: ObjectProperty
comment: The data source (device, app, or system) that produced the underlying observations. Links to cascade:DataSource when available; for inline use, a blank node with cascade:sourceName is acceptable.
domain: Metric Trend
range: DataSource

has HRV statistics
type: ObjectProperty
comment: Links a wellness profile to its HRV statistical summary.
range: HRV Statistics

has BP statistics
type: ObjectProperty
comment: Links a wellness profile to its blood pressure statistical summary.
range: Blood Pressure Statistics

OK
type: WalkingSteadinessLevel

Low
type: WalkingSteadinessLevel

Very Low
type: WalkingSteadinessLevel

Unknown
type: WalkingSteadinessLevel

Social History Record
type: Class
comment: A social history observation about a patient, including smoking status, alcohol use, exercise, occupation, and other lifestyle factors.
version info: Added in health v2.4

Smoking Status
type: DatatypeProperty
comment: Patient's smoking status (e.g., current-smoker, former-smoker, never-smoker).
domain: Social History Record
range: string

Alcohol Use
type: DatatypeProperty
comment: Patient's alcohol consumption description.
domain: Social History Record
range: string

Exercise Frequency
type: DatatypeProperty
comment: Patient's reported exercise frequency.
domain: Social History Record
range: string

Occupational Exposure
type: DatatypeProperty
comment: Occupational exposures relevant to patient health.
domain: Social History Record
range: string

Lab Result Record
type: Class
comment: A laboratory test result: the test performed, its value and unit, the reference range it is read against, and the specimen it came from. Emitted for both EHR-imported and patient-entered results; read cascade:dataProvenance to tell them apart.
subclass of: Observation
version info: Added in health v2.5; emitted since schema 1.3

Condition Record
type: Class
comment: A diagnosed condition or problem-list entry, with its clinical status, onset, and coding. Emitted for both EHR-imported and self-reported conditions; read cascade:dataProvenance to tell them apart.
version info: Added in health v2.5; emitted since schema 1.3

Allergy Record
type: Class
comment: An allergy or intolerance: the allergen, the reaction it provokes, and the severity of that reaction. Emitted for both EHR-imported and self-reported allergies; read cascade:dataProvenance to tell them apart.
version info: Added in health v2.5; emitted since schema 1.3

Immunization Record
type: Class
comment: An administered vaccine dose, with product identification, lot, route, site and administering party.
version info: Added in health v2.5; emitted since schema 1.3

Family History Record
type: Class
comment: A condition recorded for a relative of the patient, with the relationship and the relative's age at onset. The relationship is expressed with clinical:relationship, which is shared with coverage records.
version info: Added in health v2.5; emitted since schema 1.3

Notes
type: DatatypeProperty
comment: Free-text clinical or patient commentary attached to a record.
domain: Class
  union of: Lab Result Record
  union of: Condition Record
  union of: Allergy Record
  union of: Immunization Record
  union of: Family History Record
range: string
version info: Added in health v2.5

Source Record Identifier
type: DatatypeProperty
comment: Identifier of this record in the system it was imported from. Opaque to Cascade; used for reconciliation against the source system, not as a Cascade identity.
domain: Class
  union of: Lab Result Record
  union of: Condition Record
  union of: Allergy Record
  union of: Immunization Record
  union of: Family History Record
range: string
version info: Added in health v2.5

Status
type: DatatypeProperty
comment: Lifecycle status of the record. The permitted values differ by class and are constrained per-shape, not here: condition records use the FHIR R4 ConditionClinicalStatusCodes value set, immunization records use ImmunizationStatusCodes.
domain: Class
  union of: Condition Record
  union of: Immunization Record
range: string
version info: Added in health v2.5

Onset Date
type: DatatypeProperty
comment: When the condition or allergy began, or was first recorded as beginning.
domain: Class
  union of: Condition Record
  union of: Allergy Record
range: dateTime
version info: Added in health v2.5

Condition Name
type: DatatypeProperty
comment: Human-readable name of the condition. Used both for the patient's own conditions and for conditions recorded against a relative.
domain: Class
  union of: Condition Record
  union of: Family History Record
range: string
version info: Added in health v2.5

Test Name
type: DatatypeProperty
comment: Human-readable name of the laboratory test performed.
domain: Lab Result Record
range: string
version info: Added in health v2.5

Result Value
type: DatatypeProperty
comment: The measured value. Carried as a string because lab results are not uniformly numeric: ratios, titres, qualitative results ('Negative'), and bounded values ('<0.01') all occur. Exactly one value per record.
domain: Lab Result Record
range: string
version info: Added in health v2.5

Result Unit
type: DatatypeProperty
comment: Unit of measure for health:resultValue, as reported by the performing laboratory.
domain: Lab Result Record
range: string
version info: Added in health v2.5

Interpretation
type: DatatypeProperty
comment: Categorical reading of the result, as a code from the HL7 v3 ObservationInterpretation code system: normality (N, A, H, L, HH, LL, ...), susceptibility (S, I, R, SDD, ...), detection (POS, NEG, DET, ND, IND), reactivity (RR, WR, NR), change (B, D, U, W) and the exception codes. Any of the 15 data-absent-reason codes is also accepted, for a source observation whose interpretation element was absent or null-flavoured; that is FHIR's own spelling for a CodeableConcept that is missing for a stated reason, and it is what keeps 'nobody asked' distinguishable from 'asked, did not know'. A source code that is a member of neither value set is carried verbatim on health:interpretationSourceCode instead of being forced into this one. At most one value per record.
domain: Lab Result Record
range: string
version info: Added in health v2.5; bound to HL7 v3 ObservationInterpretation in health v2.6; data-absent-reason codes admitted in health v2.7

Interpretation Source Code
type: DatatypeProperty
comment: The interpretation code the SOURCE wrote, copied verbatim, for the case where that code is a member of neither value set health:interpretation is bound to (HL7 v3 ObservationInterpretation, and data-absent-reason). A laboratory's local abnormality flag is the ordinary case. WRITE IT ONLY THEN. A code that IS in one of the bound value sets belongs on health:interpretation and must not be duplicated here; this property is the escape hatch for the residue, not a parallel spelling. It is deliberately unconstrained: no value set, no pattern, no case folding. The whole point is that the value is whatever the source said, so a reader can recover the original assertion and a later mapping can be built from real observed codes rather than guesses. Constraining it would recreate the loss it exists to prevent. A producer that recognises the source code's INTENT should also write its best ratified equivalent on health:interpretation, so that a consumer reading only the bound property still gets a usable reading. The pair 'interpretation A, interpretationSourceCode elevated' says: the source said "elevated", and the nearest ratified code is A (Abnormal).
domain: Lab Result Record
range: string
version info: Added in health v2.7

Performed Date
type: DatatypeProperty
comment: When the specimen was collected or the test performed. Distinct from health:reportedDate.
domain: Lab Result Record
range: dateTime
version info: Added in health v2.5

Reported Date
type: DatatypeProperty
comment: When the laboratory released the result. Later than health:performedDate.
domain: Lab Result Record
range: dateTime
version info: Added in health v2.5

Test Code
type: ObjectProperty
comment: LOINC reference for the test performed, as an IRI. Repeatable: FHIR R4 CodeableConcept.coding is 0..*, and one test is often carried under more than one LOINC coding.
domain: Lab Result Record
version info: Added in health v2.5; made repeatable in health v2.6

Lab Category
type: DatatypeProperty
comment: Laboratory department or panel grouping (for example Chemistry, Hematology). Free text: laboratories do not agree on a common set. Repeatable, mirroring FHIR R4 Observation.category, which is 0..*.
domain: Lab Result Record
range: string
version info: Added in health v2.5; made repeatable in health v2.6

Reference Range
type: DatatypeProperty
comment: The normal range this result is read against, as printed by the performing laboratory (for example '70 - 100'). Not parsed.
domain: Lab Result Record
range: string
version info: Added in health v2.5

Specimen Type
type: DatatypeProperty
comment: The specimen the test was run on (for example Serum, Whole Blood, Urine).
domain: Lab Result Record
range: string
version info: Added in health v2.5

Ordering Provider
type: DatatypeProperty
comment: Name of the clinician who ordered the test.
domain: Lab Result Record
range: string
version info: Added in health v2.5

Performing Laboratory
type: DatatypeProperty
comment: Name of the laboratory that ran the test.
domain: Lab Result Record
range: string
version info: Added in health v2.5

ICD-10-CM Code
type: ObjectProperty
comment: ICD-10-CM reference for the condition, as an IRI. Repeatable: FHIR R4 CodeableConcept.coding is 0..*, and problem-list entries are routinely dual coded. Note that ICD-10-CM permits a letter in any character position (C4A, D3A and M1A are ordinary categories), so no lexical pattern is imposed here.
domain: Condition Record
version info: Added in health v2.5; made repeatable in health v2.6

Condition Class
type: DatatypeProperty
comment: Body-system grouping used for patient-facing organisation (for example cardiovascular, endocrine, respiratory). A presentation aid, not a clinical classification; do not use it for decision support.
domain: Condition Record
range: string
version info: Added in health v2.5

Monitored Vital Signs
type: ObjectProperty
comment: Ordered list of vital-sign names a patient or app tracks because of this condition (for example bloodPressure, heartRate). An rdf:List of string literals.
domain: Condition Record
range: List
version info: Added in health v2.5

Allergen
type: DatatypeProperty
comment: The substance the patient reacts to. Required: an allergy record without an allergen carries no safety information.
domain: Allergy Record
range: string
version info: Added in health v2.5

Allergy Category
type: DatatypeProperty
comment: Category of the allergen, using the FHIR R4 AllergyIntoleranceCategory value set: food, medication, environment, biologic.
domain: Allergy Record
range: string
version info: Added in health v2.5

Reaction
type: DatatypeProperty
comment: Description of the manifestation the allergen produces (for example 'Hives (urticaria)').
domain: Allergy Record
range: string
version info: Added in health v2.5

Allergy Severity
type: DatatypeProperty
comment: Severity of the reaction as a whole, using the FHIR R4 AllergyIntoleranceSeverity value set: mild, moderate, severe.
domain: Allergy Record
range: string
version info: Added in health v2.5

Vaccine Name
type: DatatypeProperty
comment: Human-readable name of the vaccine product administered.
domain: Immunization Record
range: string
version info: Added in health v2.5

Administration Date
type: DatatypeProperty
comment: When the dose was administered. Corresponds to FHIR R4 Immunization.occurrence, which is 1..1.
domain: Immunization Record
range: dateTime
version info: Added in health v2.5

Vaccine Code
type: DatatypeProperty
comment: Coded identifier for the vaccine product, typically a CVX code.
domain: Immunization Record
range: string
version info: Added in health v2.5

Manufacturer
type: DatatypeProperty
comment: Manufacturer of the administered vaccine product.
domain: Immunization Record
range: string
version info: Added in health v2.5

Lot Number
type: DatatypeProperty
comment: Manufacturer lot number of the administered dose. Required for recall tracing.
domain: Immunization Record
range: string
version info: Added in health v2.5

Dose Quantity
type: DatatypeProperty
comment: Amount administered, value and unit together as printed (for example '0.5 mL').
domain: Immunization Record
range: string
version info: Added in health v2.5

Route
type: DatatypeProperty
comment: Route of administration (for example intramuscular, oral, intranasal).
domain: Immunization Record
range: string
version info: Added in health v2.5

Administration Site
type: DatatypeProperty
comment: Body site the dose was administered at (for example 'Left deltoid').
domain: Immunization Record
range: string
version info: Added in health v2.5

Administering Provider
type: DatatypeProperty
comment: Name of the person who administered the dose.
domain: Immunization Record
range: string
version info: Added in health v2.5

Administering Location
type: DatatypeProperty
comment: Facility where the dose was administered.
domain: Immunization Record
range: string
version info: Added in health v2.5

Onset Age
type: DatatypeProperty
comment: Age in years at which the relative's condition began. Corresponds to FHIR R4 FamilyMemberHistory.condition.onsetAge.
domain: Family History Record
range: integer
version info: Added in health v2.5

Activity Data
type: Class
comment: Wellness container for daily activity history: steps, active energy, exercise minutes and stand hours.
subclass of: Health Profile
version info: Added in health v2.5; emitted since health v2.0

Sleep Data
type: Class
comment: Wellness container for nightly sleep history: duration and quality.
subclass of: Health Profile
version info: Added in health v2.5; emitted since health v2.0

Heart Rate Data
type: Class
comment: Wellness container for resting and walking heart rate history.
subclass of: Health Profile
version info: Added in health v2.5; emitted since health v2.0

Blood Pressure Data
type: Class
comment: Wellness container for blood pressure history from home monitors.
subclass of: Health Profile
version info: Added in health v2.5; emitted since health v2.0

HRV Data
type: Class
comment: Wellness container for heart rate variability (SDNN) history.
subclass of: Health Profile
version info: Added in health v2.5; emitted since health v2.0

Body Measurements
type: Class
comment: Wellness container for body mass and related anthropometric history.
subclass of: Health Profile
version info: Added in health v2.5; emitted since health v2.0

Steps
type: DatatypeProperty
comment: Step count for a single day.
domain: Daily Activity Snapshot
range: integer
version info: Added in health v2.5

Active Energy (kcal)
type: DatatypeProperty
comment: Active energy burned in kilocalories for a single day.
domain: Daily Activity Snapshot
range: decimal
version info: Added in health v2.5

Exercise Minutes
type: DatatypeProperty
comment: Minutes of exercise recorded for a single day.
domain: Daily Activity Snapshot
range: integer
version info: Added in health v2.5

Stand Hours
type: DatatypeProperty
comment: Hours in which standing was recorded for a single day. Bounded 0-24.
domain: Daily Activity Snapshot
range: integer
version info: Added in health v2.5

Sleep Duration (hours)
type: DatatypeProperty
comment: Total sleep duration in hours for a single night.
domain: Daily Sleep Snapshot
range: decimal
version info: Added in health v2.5

Sleep Quality
type: Class
comment: Qualitative classification of a night's sleep, as derived by the recording device.
version info: Added in health v2.5

Excellent
type: NamedIndividual
type: Sleep Quality
comment: Sleep quality classified as excellent.

Good
type: NamedIndividual
type: Sleep Quality
comment: Sleep quality classified as good.

Fair
type: NamedIndividual
type: Sleep Quality
comment: Sleep quality classified as fair.

Poor
type: NamedIndividual
type: Sleep Quality
comment: Sleep quality classified as poor.