Skip to main content

Blood Pressure Ontology

Biological Measurements
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 16 September 2026
Audio Overview
# Blood Pressure Ontology — Flow Algebra

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/biological-measurements/blood-pressure-ontology.html

FLOW BloodPressureOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> Biological Measurements
    -> Blood Pressure Ontology

  PURPOSE:
    Represent blood pressure as a cardiovascular pressure measurement describing force per unit area exerted by blood within a defined vascular or cardiac location, including systolic, diastolic, mean arterial, pulse and central pressures, invasive and non-invasive measurement, cuff and oscillometric methods, waveform analysis, hydrostatic effects, posture, device calibration, repeated measurements, uncertainty, provenance, and strict distinctions between pressure values, pressure differences, derived indices and interpretation.

  ENTITY BloodPressure {
    TYPE: BiologicalPressureQuantity
    SYMBOL: P_blood
    DIMENSION: M*L^-1*T^-2
    SI_UNIT: pascal
    SI_SYMBOL: Pa

    COMMON_CLINICAL_UNIT:
      millimetre_of_mercury
      SYMBOL: mmHg

    DEFINITION:
      blood_pressure :=
        pressure_of_blood_at_defined_anatomical_location_and_time_or_cardiac_phase

    PROPERTIES:
      is_pressure_quantity
      depends_on_anatomical_site
      varies_with_cardiac_cycle
      varies_with_time
      may_depend_on_posture
      may_depend_on measurement_method
      may_have_uncertainty
  }

  ENTITY SystolicBloodPressure {
    TYPE: BloodPressure
    SYMBOL: SBP

    DEFINITION:
      maximum_or_method_defined_peak_arterial_pressure
      during_cardiac_cycle
  }

  ENTITY DiastolicBloodPressure {
    TYPE: BloodPressure
    SYMBOL: DBP

    DEFINITION:
      minimum_or_method_defined_arterial_pressure
      during_cardiac_cycle
  }

  ENTITY MeanArterialPressure {
    TYPE: DerivedOrIntegratedBloodPressureQuantity
    SYMBOL: MAP

    EXACT_CYCLE_AVERAGE:
      MAP =
        (1/T_cycle)*integral_cycle(P(t) dt)
  }

  ENTITY PulsePressure {
    TYPE: PressureDifferenceQuantity
    SYMBOL: PP

    FORM:
      PP = SBP - DBP
  }

  UNIT_SYSTEM {
    SI:
      pascal
      Pa

    common:
      millimetre_of_mercury
      mmHg

    conversion:
      1 mmHg approximately_equals 133.322 Pa

    RULE:
      preserve_original_unit_and_normalized_SI_value
  }

  ANATOMICAL_SITE_MODEL {
    possible_sites:
      brachial_artery
      radial_artery
      femoral_artery
      aorta
      pulmonary_artery
      venous_system
      cardiac_chamber

    RULE:
      blood_pressure_value without_measurement_site
      MAY be semantically_incomplete
  }

  CARDIAC_CYCLE_MODEL {
    pressure_waveform:
      P = P(t)

    cycle_features:
      systolic_peak
      diastolic_minimum
      mean_pressure
      pulse_pressure
      waveform_shape

    RULE:
      systolic_diastolic_and_mean_pressures
      MUST be represented_as_distinct_quantities
  }

  PULSE_PRESSURE_MODEL {
    PP = SBP - DBP

    REQUIRE:
      SBP_and_DBP_from_compatible_site_and_measurement_context

    RULE:
      pulse_pressure_is_pressure_difference
      and_not_equivalent_to_systolic_or_diastolic_pressure
  }

  MEAN_ARTERIAL_PRESSURE_MODEL {
    exact:
      MAP =
        integral_cycle(P(t) dt)/T_cycle

    common_approximation:
      MAP approximately_equals
        DBP + (SBP-DBP)/3

    alternative_form:
      MAP approximately_equals
        (SBP + 2*DBP)/3

    CONDITIONS:
      approximation_is_context_dependent
      and_more_suitable_under_typical_resting_waveform_conditions

    RULE:
      approximate_MAP_formula MUST_NOT replace_waveform_integral_when_high_accuracy_or_unusual_waveform_context
  }

  PRESSURE_DIFFERENCE_MODEL {
    perfusion_pressure:
      pressure_upstream - pressure_downstream

    generic:
      delta_P = P_1 - P_2

    RULE:
      absolute_or_gauge_pressure_and_pressure_difference
      MUST be distinguished
  }

  HYDROSTATIC_MODEL {
    pressure_difference:
      delta_P =
        rho*g*delta_h

    PARAMETERS:
      rho = blood_density
      g = gravitational_acceleration
      delta_h = vertical_height_difference

    RULE:
      measurement_height_relative_to_reference_level
      SHOULD be preserved_for_precision_measurement
  }

  CUFF_MEASUREMENT_MODEL {
    components:
      inflatable_cuff
      pressure_sensor_or_manometer
      artery
      inflation_deflation_protocol

    REQUIRE:
      cuff_location
      cuff_size
      limb_position
      inflation_pressure
      deflation_rate_or_algorithm

    RULE:
      cuff_dimensions_and_application MAY materially_affect_measurement
  }

  AUSCULTATORY_MODEL {
    method:
      cuff_pressure_plus_Korotkoff_sounds

    systolic:
      associated_with_declared_first_sound_criterion

    diastolic:
      associated_with_declared_sound_disappearance_or_other_protocol_criterion

    REQUIRE:
      cuff
      stethoscope_or_sensor
      deflation_protocol
      observer_or_algorithm

    RULE:
      auscultatory_SBP_and_DBP_are_method_defined_estimates_of_arterial_pressure
  }

  OSCILLOMETRIC_MODEL {
    method:
      measure_cuff_pressure_oscillations_during_inflation_or_deflation

    directly_observed:
      cuff_pressure_oscillation_envelope

    derived:
      MAP_estimate
      SBP_estimate
      DBP_estimate

    RULE:
      oscillometric_SBP_and_DBP_depend_on_device_algorithm
      and_raw_cuff_oscillations_are_not_directly_SBP_or_DBP
  }

  INVASIVE_MODEL {
    system:
      intravascular_catheter
      fluid_filled_or_tip_pressure_sensor
      transducer
      acquisition_system

    measured:
      pressure_waveform

    REQUIRE:
      zero_reference
      transducer_level
      dynamic_response
      damping
      calibration

    RULE:
      invasive_waveform_quality depends_on_transducer_system_response
  }

  TRANSDUCER_ZERO_MODEL {
    zero_reference:
      atmospheric_or_declared_reference_pressure

    level_reference:
      anatomical_reference_height

    zero_error:
      additive_pressure_offset

    RULE:
      transducer_zero_and_level MUST be verified_before_interpreting_invasive_pressure
  }

  DYNAMIC_RESPONSE_MODEL {
    characteristics:
      natural_frequency
      damping
      resonance
      tubing_compliance
      air_bubbles

    possible_errors:
      overshoot
      undershoot
      waveform_damping
      distorted_systolic_and_diastolic_values

    RULE:
      dynamic_response SHOULD be considered_for_waveform_derived_pressure
  }

  POSTURE_MODEL {
    possible_postures:
      supine
      seated
      standing

    effects:
      hydrostatic_pressure
      autonomic_response
      vascular_distribution

    RULE:
      posture_and_limb_position SHOULD be preserved
  }

  REPEATED_MEASUREMENT_MODEL {
    readings:
      P_1, P_2, ..., P_n

    arithmetic_mean:
      P_mean =
        sum(P_i)/n

    REQUIRE:
      comparable_method
      same_or_declared_site
      time_spacing
      rest_or_activity_context

    RULE:
      averaging_protocol SHOULD be declared
  }

  CONTINUOUS_MONITORING_MODEL {
    pressure_series:
      P(t)

    derived:
      beat_to_beat_SBP
      beat_to_beat_DBP
      MAP
      pulse_pressure
      variability

    RULE:
      continuous_pressure_series_and_single_cuff_reading
      are_different_measurement_contexts
  }

  WAVEFORM_MODEL {
    features:
      systolic_upstroke
      systolic_peak
      dicrotic_notch
      diastolic_decay

    derived_quantities:
      cycle_mean
      pulse_pressure
      timing_features
      pressure_variability

    RULE:
      waveform_feature_definition MUST be preserved
  }

  SIGNAL_QUALITY_MODEL {
    possible_issues:
      motion
      arrhythmia
      poor_cuff_fit
      weak_pulse
      sensor_noise
      transducer_damping
      calibration_drift
      talking_or_movement_during_measurement

    RULE:
      poor_signal_or_protocol_quality SHOULD reduce_measurement_confidence
  }

  TEMPORAL_CONTEXT_MODEL {
    context:
      timestamp
      measurement_duration
      resting_state
      activity
      sleep
      posture
      recent_exertion
      environmental_conditions

    RULE:
      blood_pressure_is_dynamic_and_temporal_context SHOULD be preserved
  }

  RELATIONSHIPS {
    BloodPressure -> IS_A -> PressureQuantity
    SystolicBloodPressure -> PHASE_COMPONENT_OF -> ArterialPressureWaveform
    DiastolicBloodPressure -> PHASE_COMPONENT_OF -> ArterialPressureWaveform
    MeanArterialPressure -> TIME_AVERAGE_OF -> PressureWaveform
    PulsePressure -> DIFFERENCE_OF -> SystolicAndDiastolicPressure
    HydrostaticHeight -> MAY_SHIFT -> MeasuredPressure
    CuffPressure -> ENABLES -> NonInvasiveBloodPressureEstimation
    OscillometricSignal -> MAPS_TO -> EstimatedBloodPressure
    InvasiveTransducer -> MEASURES -> PressureWaveform
    Posture -> QUALIFIES -> BloodPressureMeasurement
    SignalQuality -> QUALIFIES -> MeasurementConfidence
  }

  SEMANTIC_EQUIVALENCE {
    "blood pressure" ~= vascular_or_cardiac_pressure_when_site_defined
    "SBP" ~= systolic_blood_pressure
    "DBP" ~= diastolic_blood_pressure
    "MAP" ~= mean_arterial_pressure
    "PP" ~= pulse_pressure

    systolic_pressure != diastolic_pressure
    mean_arterial_pressure != arithmetic_mean_of_SBP_and_DBP_in_general
    pulse_pressure != mean_arterial_pressure
    cuff_pressure != arterial_pressure
    oscillometric_signal != blood_pressure_value
    pressure_waveform != single_pressure_summary
  }

  CONSTRAINTS {
    blood_pressure_dimension = M*L^-1*T^-2
    anatomical_site_should_be_defined = true
    measurement_method_should_be_defined = true
    systolic_diastolic_mean_and_pulse_pressure_are_distinct = true
    pulse_pressure_requires_compatible_SBP_and_DBP = true
    approximate_MAP_formula_requires_declared_context = true
    cuff_measurement_requires_cuff_and_limb_context = true
    invasive_measurement_requires_zero_and_level_reference = true
    posture_and_temporal_context_should_be_preserved = true
    uncertainty_and_signal_quality_should_be_preserved = true
  }

  MEASUREMENT_MODEL {
    OBSERVABLE_OR_INFERRED:
      SystolicBloodPressure
      DiastolicBloodPressure
      MeanArterialPressure
      PulsePressure
      PressureWaveform

    COMMON_METHODS:
      auscultatory_cuff
      oscillometric_cuff
      invasive_arterial_catheter
      continuous_noninvasive_pressure_monitor
      tonometry
      waveform_based_device

    RECORD:
      quantity_type
      numerical_value
      unit
      anatomical_site
      laterality_when_relevant
      method
      device
      cuff_size_when_relevant
      cuff_position
      limb_position
      posture
      zero_reference_when_invasive
      transducer_level
      waveform_sampling_rate
      signal_quality
      timestamp
      activity_or_rest_context
      repeated_measurement_protocol
      calibration_state
      uncertainty
      provenance

    UNCERTAINTY:
      measured_or_inferred_blood_pressure = best_estimate +/- uncertainty
  }

  CALIBRATION_MODEL {
    cuff_device:
      pressure_sensor_calibration

    invasive_system:
      transducer_calibration_and_zeroing

    reference:
      traceable_pressure_standard_when_available

    REQUIRE:
      calibration_status
      valid_pressure_range
      calibration_date_or_verification
      uncertainty

    RULE:
      calibration_state MUST match_measurement_device
  }

  UNCERTAINTY_MODEL {
    sources:
      pressure_sensor_calibration
      cuff_size
      cuff_position
      limb_position
      observer
      oscillometric_algorithm
      motion
      arrhythmia
      hydrostatic_height
      transducer_zero
      dynamic_response
      repeated_measurement_variability
      temporal_variability

    PROPAGATION:
      blood_pressure_uncertainty
      <- sensor_protocol_geometry_signal_and_temporal_uncertainties
  }

  REASONING_RULES {
    IF systolic_and_diastolic_pressures_known
      AND compatible_context
      THEN pulse_pressure =
        systolic_pressure-diastolic_pressure

    IF systolic_and_diastolic_pressures_known
      AND typical_resting_waveform_approximation_valid
      THEN approximate_MAP =
        diastolic_pressure
        + (systolic_pressure-diastolic_pressure)/3

    IF full_pressure_waveform_and_cycle_duration_known
      AND cycle_duration > 0
      THEN MAP =
        integral_cycle(pressure dt)/cycle_duration

    IF pressure_measurement_height_changes
      AND density_gravity_height_difference_known
      THEN hydrostatic_pressure_correction =
        density*gravity*height_difference

    IF repeated_compatible_measurements_known
      THEN compute_mean_variability_and_uncertainty
      using_declared_protocol

    IF raw_oscillometric_signal_known
      THEN derive_pressure_values_only_through_validated_device_algorithm

    IF invasive_pressure_waveform_known
      THEN validate_zero_level_and_dynamic_response
      BEFORE waveform_feature_inference
  }

  VALIDATION {
    CHECK quantity_type
    CHECK pressure_unit
    CHECK anatomical_site
    CHECK laterality_when_relevant
    CHECK measurement_method
    CHECK systolic_vs_diastolic_vs_MAP_vs_pulse_pressure
    CHECK compatible_context_for_derived_quantities
    CHECK MAP_exact_vs_approximate
    CHECK cuff_size_and_position
    CHECK posture_and_limb_position
    CHECK invasive_zero_and_level
    CHECK dynamic_response
    CHECK oscillometric_algorithm_context
    CHECK repeated_measurement_protocol
    CHECK signal_quality
    CHECK calibration_state
    CHECK uncertainty_representation
  }

  CONFIDENCE {
    definition_confidence: 1.00
    dimensional_confidence: 1.00
    pulse_pressure_relationship_confidence: 1.00
    waveform_MAP_relationship_confidence: 1.00
    approximate_MAP_confidence: 0.95
    cuff_measurement_context_confidence: 0.97
    invasive_measurement_context_confidence: 0.98

    RULE:
      confidence decreases when anatomical site, method, cuff context,
      posture, transducer reference, waveform quality,
      calibration or uncertainty is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_measurement:
      identify_pressure_quantity
      validate_unit
      identify_anatomical_site
      identify_method_and_device
      attach_cuff_or_transducer_context
      attach_posture_and_limb_position
      attach_timestamp_and_activity_context
      attach_signal_quality
      normalize_to_canonical_pressure_unit_when_requested
      preserve_original_value_and_unit
      compute_derived_pressure_quantities_when_valid
      attach_uncertainty
      update_blood_pressure_state

    ON repeated_measurement:
      preserve_each_raw_reading
      check_method_site_and_posture_compatibility
      update_average_and_variability
      preserve_measurement_timing

    ON waveform_update:
      preserve_raw_waveform
      identify_cardiac_cycles
      recompute_SBP_DBP_MAP_and_PP
      attach_sampling_and_signal_quality
      update_uncertainty

    ON calibration_revision:
      preserve_previous_calibration
      recompute_affected_pressure_values
      update_uncertainty
      update_confidence

    ON posture_or_reference_height_change:
      preserve_previous_context
      update_hydrostatic_reference
      avoid_direct_comparison_without_correction_when_material

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: BloodPressure
    canonical_dimension: M*L^-1*T^-2
    canonical_SI_unit: Pa
    common_unit: mmHg

    interpretation_order:
      identify_pressure_quantity
      identify_value
      identify_unit
      identify_anatomical_site
      identify_systolic_diastolic_mean_pulse_or_waveform
      identify_measurement_method
      identify_cuff_or_invasive_context
      identify_posture_limb_position_and_reference_height
      identify_timestamp_and_activity_state
      identify_repeated_or_continuous_measurement
      identify_signal_quality
      identify_calibration
      identify_uncertainty
      normalize_units
      validate_derived_relationships
      infer_pressure_relationships

    ambiguity_controls:
      distinguish_systolic_from_diastolic_pressure
      distinguish_MAP_from_simple_arithmetic_mean
      distinguish_pulse_pressure_from_MAP
      distinguish_cuff_pressure_from_arterial_pressure
      distinguish_raw_oscillometric_signal_from_derived_pressure
      distinguish_pressure_waveform_from_single_summary_value
      distinguish_measurement_from_interpretation
      preserve_site_method_posture_reference_signal_quality_and_temporal_context
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_and_biological_blood_pressure_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> Biological Measurements
      -> Blood Pressure Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      anatomical_site_model
      cardiac_cycle_model
      pulse_pressure_model
      mean_arterial_pressure_model
      pressure_difference_model
      hydrostatic_model
      cuff_measurement_model
      auscultatory_model
      oscillometric_model
      invasive_model
      transducer_zero_model
      dynamic_response_model
      posture_model
      repeated_measurement_model
      continuous_monitoring_model
      waveform_model
      signal_quality_model
      temporal_context_model
      relationships
      constraints
      measurement_model
      calibration_model
      uncertainty_model
      reasoning_rules
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      pressure_quantity_definition_changes
      anatomical_site_model_changes
      cuff_or_oscillometric_model_changes
      invasive_measurement_model_changes
      waveform_or_MAP_model_changes
      posture_or_hydrostatic_model_changes
      calibration_model_changes
      measurement_model_changes
      constraint_model_changes
      reasoning_rule_changes
      unit_model_changes
  }

}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ