Health Report Analysis

from IPython.display import HTML, display, display_html
import os
import pandas as pd
import numpy as np
import plotly.io as pio
pio.renderers.default = "sphinx_gallery"
from IPython.display import display, HTML
from vitalDSP.health_analysis.health_report_generator import HealthReportGenerator
np.random.seed(42)
duration = 60
fs = 100
# Generate mock feature data
feature_data = {
        "sdnn": np.random.normal(
            50, 10, duration
        ).tolist(),  # Normally distributed around 50 with std dev of 10
        "rmssd": np.random.normal(
            30, 8, duration
        ).tolist(),  # Normally distributed around 30 with std dev of 8
        "total_power": np.random.normal(
            1600, 300, duration
        ).tolist(),  # Normally distributed around 1600 with std dev of 300
        "lfnu_power": np.random.normal(
            45, 5, duration
        ).tolist(),  # Normally distributed around 45 with std dev of 5
        "hfnu_power": np.random.normal(
            35, 4, duration
        ).tolist(),  # Normally distributed around 35 with std dev of 4
        "fractal_dimension": np.random.normal(
            1.25, 0.05, duration
        ).tolist(),  # Normally around 1.25 with std dev of 0.05
        "dfa": np.random.normal(
            1.2, 0.08, duration
        ).tolist(),  # Normally distributed around 1.2 with std dev of 0.08
        "poincare_sd1": np.random.normal(
            28.5, 3, duration
        ).tolist(),  # Normally around 28.5 with std dev of 3
        "poincare_sd2": np.random.normal(
            45, 4, duration
        ).tolist(),  # Normally around 45 with std dev of 4
        "sample_entropy": np.random.normal(
            0.85, 0.1, duration
        ).tolist(),  # Normally around 0.85 with std dev of 0.1
        "approximate_entropy": np.random.normal(
            0.72, 0.1, duration
        ).tolist(),  # Normally around 0.72 with std dev of 0.1
        "recurrence_rate": np.random.normal(
            0.65, 0.1, duration
        ).tolist(),  # Normally around 0.65 with std dev of 0.1
        "determinism": np.random.normal(
            0.78, 0.1, duration
        ).tolist(),  # Normally around 0.78 with std dev of 0.1
        "laminarity": np.random.normal(
            0.85, 0.05, duration
        ).tolist(),  # Normally around 0.85 with std dev of 0.05
        "systolic_duration": np.random.normal(
            0.35, 0.05, duration
        ).tolist(),  # Normally around 0.35 with std dev of 0.05
        "diastolic_duration": np.random.normal(
            0.5, 0.05, duration
        ).tolist(),  # Normally around 0.5 with std dev of 0.05
        "systolic_area": np.random.normal(
            200, 20, duration
        ).tolist(),  # Normally around 200 with std dev of 20
        "diastolic_area": np.random.normal(
            180, 20, duration
        ).tolist(),  # Normally around 180 with std dev of 20
        "systolic_slope": np.random.normal(
            1.5, 0.1, duration
        ).tolist(),  # Normally around 1.5 with std dev of 0.1
        "diastolic_slope": np.random.normal(
            1.2, 0.1, duration
        ).tolist(),  # Normally around 1.2 with std dev of 0.1
        "signal_skewness": np.random.normal(
            0.1, 0.02, duration
        ).tolist(),  # Normally around 0.1 with std dev of 0.02
        "peak_trend_slope": np.random.normal(
            0.05, 0.01, duration
        ).tolist(),  # Normally around 0.05 with std dev of 0.01
        "systolic_amplitude_variability": np.random.normal(
            5.0, 0.5, duration
        ).tolist(),  # Normally around 5.0 with std dev of 0.5
        "diastolic_amplitude_variability": np.random.normal(
            4.8, 0.5, duration
        ).tolist(),  # Normally around 4.8 with std dev of 0.5
        # "respiratory_rate": np.random.normal(16, 3, duration).tolist(),  # Normally around 16 breaths/min with std dev of 3
        # "pulse_pressure": np.random.normal(40, 5, duration).tolist(),  # Normally around 40 mmHg with std dev of 5
        # "stroke_volume": np.random.normal(70, 10, duration).tolist(),  # Normally around 70 mL with std dev of 10
        # "cardiac_output": np.random.normal(5.5, 0.7, duration).tolist(),  # Normally around 5.5 L/min with std dev of 0.7
        # "qt_interval": np.random.normal(400, 20, duration).tolist(),  # Normally around 400 ms with std dev of 20
        # "qrs_duration": np.random.normal(90, 10, duration).tolist(),  # Normally around 90 ms with std dev of 10
        # "p_wave_duration": np.random.normal(100, 10, duration).tolist(),  # Normally around 100 ms with std dev of 10
        # "pr_interval": np.random.normal(160, 20, duration).tolist(),  # Normally around 160 ms with std dev of 20
}

# Initialize the health report generator
report_generator = HealthReportGenerator(
        feature_data=feature_data, segment_duration="1_min"
)

image_dir = "../_static/images"
os.makedirs(image_dir, exist_ok=True)

# Generate the report (HTML)
report_html = report_generator.generate(output_dir=image_dir)
Processing 24 features concurrently...
Feature processing completed in 0.01 seconds
Generating visualizations concurrently using processes (matplotlib process-safe)... This may take a moment.
Generating visualizations for 24 features using 2 processes (matplotlib process-safe)...
Processing sdnn...

Processing rmssd...

Completed sdnn

Processing total_power...

Completed rmssd

Processing lfnu_power...

Completed lfnu_power

Processing hfnu_power...

Completed total_power

Processing fractal_dimension...

Completed hfnu_power

Processing dfa...

Completed fractal_dimension

Processing poincare_sd1...

Completed dfa

Processing poincare_sd2...

Completed poincare_sd1

Processing sample_entropy...

Completed poincare_sd2

Processing approximate_entropy...

Completed sample_entropy

Processing recurrence_rate...

Completed approximate_entropy

Processing determinism...

Completed recurrence_rate

Processing laminarity...

Completed determinism

Processing systolic_duration...

Completed laminarity

Processing diastolic_duration...

Completed diastolic_duration

Processing systolic_area...

Completed systolic_duration

Processing diastolic_area...

Completed systolic_area

Processing systolic_slope...

Completed diastolic_area

Processing diastolic_slope...

Completed systolic_slope

Processing signal_skewness...

Completed diastolic_slope

Processing peak_trend_slope...

Completed signal_skewness

Processing systolic_amplitude_variability...

Completed peak_trend_slope

Processing diastolic_amplitude_variability...

Completed systolic_amplitude_variability

Completed diastolic_amplitude_variability

Completed visualization generation for 24 features
Generated visualizations for 24 features in 45.58 seconds

Report generation completed!
Total time: 45.63 seconds
Features processed: 24
Visualizations generated: 24
Feature processing: Concurrent (2 workers)
Visualization generation: Concurrent (2 processes)

Display the health analysis report

display(HTML(report_html))
Health Report

Health Analysis Report

Executive Summary

Overall Health Score: 37.5/100

Your physiological parameters indicate areas of concern with only 37.5% of features within normal ranges. Areas of concern include: 8 parameter(s) above normal range, 7 parameter(s) below normal range.

Risk Assessment

Risk Level: High
Recommendation: Consult healthcare professional immediately for comprehensive evaluation

Key Insights

  • Multiple parameters (15) require attention
  • Heart rate variability parameters indicate healthy autonomic function

Analysis Summary

24
Total
9
In Range
8
Above
7
Below

Key Correlations

SDNN ↔ RMSSD
SDNN (48.5 ms) and RMSSD (30.0 ms) show strong positive correlation, both indica...

Recommendations

  1. Schedule immediate consultation with a healthcare professional
  2. Regular monitoring and follow-up assessments are recommended

sdnn

Description:

SDNN measures the overall variability in heart rate by calculating the standard deviation of all NN intervals. It reflects both short-term and long-term components of heart rate variability (HRV). Reduced SDNN is associated with increased risk of cardiovascular diseases and mortality. Your current value of 48.5 is within the normal range of 20-50.

Interpretation:

Normal SDNN indicates balanced autonomic regulation, with healthy heart rate variability reflecting both sympathetic and parasympathetic activity. Your SDNN of 48.5 ms is within normal limits, indicating adequate heart rate variability. While not optimal, this suggests functional autonomic regulation.

Values

Median

47.700

Standard Deviation

9.009

Range

20

47.700

50

Contradiction:

Low SDNN contradicts high RMSSD, as both reflect similar aspects of heart rate variability.

Correlation Analysis:

Correlated with RMSSD, as both represent short-term variability. Your SDNN of 48.5 ms is within normal limits, which typically correlates moderately with other HRV parameters. This suggests that other variability measures should also be within normal ranges.

Visualization for sdnn
Visualization for sdnn - line_with_rolling_stats

rmssd

Description:

RMSSD reflects short-term heart rate variability by measuring the root mean square of differences between successive NN intervals. It is primarily influenced by parasympathetic (vagal) activity. Higher values indicate healthy parasympathetic function, while lower values suggest autonomic imbalance. Your current value of 30.0 is within the normal range of 10-30.

Interpretation:

Normal RMSSD indicates strong parasympathetic regulation and healthy short-term heart rate variability. Your RMSSD of 30.0 ms is within normal limits, indicating adequate parasympathetic function. While not optimal, this suggests functional autonomic regulation.

Values

Median

29.755

Standard Deviation

7.484

Range

10

29.755

30

Contradiction:

Low RMSSD contradicts high SDNN, as both should reflect similar aspects of variability.

Correlation Analysis:

Correlated with SDNN, as both reflect heart rate variability. Your RMSSD of 30.0 ms is within normal limits, which typically correlates moderately with other short-term HRV parameters. This suggests that other parasympathetic indicators should also be within normal ranges.

Visualization for rmssd
Visualization for rmssd - line_with_rolling_stats

total_power

Description:

Total power represents the overall heart rate variability across all frequency bands (ULF, VLF, LF, HF). It provides an overview of autonomic function and overall variability in heart rate. Your current value of 1627.6 is above the normal range of -inf-0.4.

Interpretation:

High total power suggests excessive heart rate variability, possibly indicating arrhythmias or unstable autonomic regulation. Your total_power value of 1627.6 is above the normal range.

Values

Median

1668.957

Standard Deviation

296.330

Range

-inf

1668.957

0.4

Contradiction:

Low total power contradicts high LF power, as LF is a major component of total power.

Correlation Analysis:

Correlated with LF power and overall HRV.

Visualization for total_power
Visualization for total_power - line_with_rolling_stats

lfnu_power

Description:

LFnu power represents the normalized value of low-frequency components as a proportion of total power (excluding VLF). It reflects the relative contribution of sympathetic activity to heart rate variability. Your current value of 45.3 is significantly above the normal range of 0.5-2.0, which may require attention.

Interpretation:

High LFnu power indicates sympathetic dominance, commonly associated with stress, cardiovascular strain, or hypertension. Your lfnu_power value of 45.3 is above the normal range.

Values

Median

45.817

Standard Deviation

5.138

Range

0.5

45.817

2.0

Contradiction:

High LFnu contradicts high HFnu, as both represent opposite branches of the autonomic nervous system.

Correlation Analysis:

Correlated with LF/HF ratio and overall sympathetic dominance.

Visualization for lfnu_power
Visualization for lfnu_power - trend_sparkline

hfnu_power

Description:

HFnu power represents the normalized value of high-frequency components as a proportion of total power (excluding VLF). It reflects the relative contribution of parasympathetic activity to heart rate variability. Your current value of 34.9 is significantly above the normal range of 0.5-2.0, which may require attention.

Interpretation:

High HFnu power suggests enhanced parasympathetic activity, commonly seen during relaxation or recovery. Your hfnu_power value of 34.9 is above the normal range.

Values

Median

34.901

Standard Deviation

4.143

Range

0.5

34.901

2.0

Contradiction:

High HFnu contradicts high LFnu, as both represent opposite branches of the autonomic nervous system.

Correlation Analysis:

Correlated with RMSSD and pNN50, reflecting parasympathetic dominance.

Visualization for hfnu_power
Visualization for hfnu_power - trend_sparkline

fractal_dimension

Description:

Fractal dimension is a measure of the complexity of the physiological signal. Lower fractal dimensions indicate reduced complexity, often due to cardiovascular dysfunction, while higher values suggest more complex patterns. Your current value of 1.3 is in the good range of 1.2-1.4, indicating healthy function.

Interpretation:

Normal fractal dimension suggests healthy signal complexity, reflecting stable cardiovascular function and autonomic balance. Your fractal_dimension value of 1.3 is normal the normal range.

Values

Median

1.249

Standard Deviation

0.038

Range

1.2

1.249

1.4

Contradiction:

Low fractal dimension contradicts high HRV, as both reflect the complexity of the physiological signals.

Correlation Analysis:

Correlated with overall HRV and parasympathetic regulation.

Visualization for fractal_dimension
Visualization for fractal_dimension - line_with_rolling_stats

dfa

Description:

DFA reflects the self-similarity and fractal scaling of heart rate variability, providing insight into the long-term correlations in the signal. It is used to assess autonomic regulation and cardiovascular health. Your current value of 1.2 is in the good range of 0.5-1.5, indicating healthy function.

Interpretation:

Normal DFA suggests healthy autonomic regulation and appropriate fractal scaling of the physiological signal. Your dfa value of 1.2 is normal the normal range.

Values

Median

1.209

Standard Deviation

0.079

Range

0.5

1.209

1.5

Contradiction:

Low DFA contradicts high fractal dimension, as both should reflect similar physiological signal complexity.

Correlation Analysis:

Correlated with overall HRV and parasympathetic regulation.

Visualization for dfa
Visualization for dfa - line_with_rolling_stats

poincare_sd1

Description:

SD1 represents the short-term variability in heart rate, typically associated with parasympathetic activity. It is derived from the Poincaré plot of successive NN intervals and reflects the width of the plot. Your current value of 28.5 is within the normal range of 20-60.

Interpretation:

Normal SD1 indicates healthy short-term variability and strong parasympathetic regulation. Your poincare_sd1 value of 28.5 is normal the normal range.

Values

Median

28.272

Standard Deviation

3.387

Range

20

28.272

60

Contradiction:

Low SD1 contradicts high RMSSD, as both should reflect similar parasympathetic activity.

Correlation Analysis:

Correlated with RMSSD and HF power.

Visualization for poincare_sd1
Visualization for poincare_sd1 - line_with_rolling_stats

poincare_sd2

Description:

SD2 represents long-term variability in heart rate, associated with both sympathetic and parasympathetic activity. It reflects the length of the Poincaré plot and is indicative of overall heart rate variability. Your current value of 43.9 is below the normal range of 50-150.

Interpretation:

Low SD2 suggests reduced long-term variability, often seen in autonomic dysfunction or cardiovascular disease. Your poincare_sd2 value of 43.9 is below the normal range.

Values

Median

43.257

Standard Deviation

3.570

Range

50

43.257

150

Contradiction:

Low SD2 contradicts high SDNN, as both reflect long-term variability and autonomic balance.

Correlation Analysis:

Correlated with SDNN and long-term HRV.

Visualization for poincare_sd2
Visualization for poincare_sd2 - line_with_rolling_stats

sample_entropy

Description:

Sample entropy measures the complexity and predictability of a physiological signal like the PPG. Lower entropy indicates a more predictable and regular signal, often seen in reduced variability, while higher entropy reflects greater irregularity and noise, which can be indicative of arrhythmias or signal abnormalities. Your current value of 0.8 is in the good range of 0.5-1.5, indicating healthy function.

Interpretation:

Normal sample entropy suggests a balance between signal regularity and variability, indicative of healthy cardiac function. Your sample_entropy value of 0.8 is normal the normal range.

Values

Median

0.858

Standard Deviation

0.095

Range

0.5

0.858

1.5

Contradiction:

Low sample entropy contradicts high fractal dimension, as both reflect signal complexity.

Correlation Analysis:

Correlated with DFA and other measures of complexity, such as approximate entropy.

Visualization for sample_entropy
Visualization for sample_entropy - trend_sparkline

approximate_entropy

Description:

Approximate entropy measures the complexity and unpredictability of physiological signals such as the PPG. It reflects the likelihood of similar patterns recurring. High entropy indicates increased randomness, while low entropy suggests regularity, often seen in reduced HRV or autonomic dysfunction. Your current value of 0.7 is within the normal range of 0.5-1.5.

Interpretation:

Normal approximate entropy reflects healthy variability in physiological signals, with an appropriate balance between regularity and randomness. Your approximate_entropy value of 0.7 is normal the normal range.

Values

Median

0.723

Standard Deviation

0.111

Range

0.5

0.723

1.5

Contradiction:

High approximate entropy contradicts low sample entropy, as both should measure similar signal properties.

Correlation Analysis:

Correlated with sample entropy and other complexity measures.

Visualization for approximate_entropy
Visualization for approximate_entropy - trend_sparkline

recurrence_rate

Description:

Recurrence rate measures how often the physiological signal returns to the same state over time, providing insight into the periodicity of the signal. A reduced recurrence rate may reflect autonomic dysfunction or irregular cardiac rhythms, while an elevated recurrence rate can indicate excessive signal regularity. Your current value of 0.6 is below the normal range of 1-5.

Interpretation:

Low recurrence rate points to irregular or chaotic signal behavior, potentially indicating arrhythmias, autonomic dysfunction, or cardiac instability. Your recurrence_rate value of 0.6 is below the normal range.

Values

Median

0.636

Standard Deviation

0.099

Range

1

0.636

5

Contradiction:

High recurrence rate contradicts high sample entropy, as increased regularity should reduce signal complexity.

Correlation Analysis:

Correlated with other measures of signal regularity and predictability.

Visualization for recurrence_rate
Visualization for recurrence_rate - line_with_rolling_stats

determinism

Description:

Determinism quantifies the predictability of a physiological signal based on past behavior. High determinism reflects a predictable signal, while low determinism suggests a more chaotic signal. This measure is critical in assessing the regularity and stability of heart rate or blood flow dynamics. Your current value of 0.8 is significantly below the normal range of 90-100, indicating potential health concerns.

Interpretation:

Low determinism suggests chaotic and unpredictable heart rate patterns, which may indicate arrhythmias, autonomic dysfunction, or cardiac instability. Your determinism value of 0.8 is below the normal range.

Values

Median

0.782

Standard Deviation

0.101

Range

90

0.782

100

Contradiction:

High determinism contradicts high approximate entropy, as high entropy reflects randomness while determinism reflects predictability.

Correlation Analysis:

Correlated with recurrence rate and signal regularity.

Visualization for determinism
Visualization for determinism - line_with_rolling_stats

laminarity

Description:

Laminarity measures the smooth, repetitive patterns in the physiological signal, such as heart rate. A high degree of laminarity indicates consistent, smooth signal behavior, while reduced laminarity points to irregularity, which could suggest arrhythmias or autonomic dysfunction. Your current value of 0.9 is significantly below the normal range of 90-100, indicating potential health concerns.

Interpretation:

Low laminarity suggests irregular heart rhythms, often seen in arrhythmias, atrial fibrillation, or autonomic dysfunction. Your laminarity value of 0.9 is below the normal range.

Values

Median

0.853

Standard Deviation

0.043

Range

90

0.853

100

Contradiction:

High laminarity contradicts high DFA, as DFA measures fractal scaling, which should align with less regularity.

Correlation Analysis:

Correlated with determinism and signal predictability.

Visualization for laminarity
Visualization for laminarity - line_with_rolling_stats

systolic_duration

Description:

Systolic duration represents the time the heart spends in contraction during the cardiac cycle. Short systolic durations may indicate high heart rates or reduced cardiac output, while prolonged durations could indicate cardiac overload or ventricular dysfunction. Your current value of 0.4 is below the normal range of 50-400.

Interpretation:

Short systolic duration may indicate increased heart rate, reduced stroke volume, or conditions such as tachycardia, requiring evaluation of cardiac output. Your systolic_duration value of 0.4 is below the normal range.

Values

Median

0.364

Standard Deviation

0.047

Range

50

0.364

400

Contradiction:

A prolonged systolic duration with short diastolic duration contradicts normal heart function.

Correlation Analysis:

Should be correlated with diastolic duration to maintain healthy systolic/diastolic balance.

Visualization for systolic_duration
Visualization for systolic_duration - line_with_rolling_stats

diastolic_duration

Description:

Diastolic duration reflects the time the heart spends in relaxation, allowing ventricular filling. This phase is crucial for the heart to receive blood before the next contraction. Shortened diastolic duration is often seen in conditions with elevated heart rates, poor relaxation, or cardiovascular stress, while prolonged diastolic duration may indicate bradycardia or impaired ventricular contraction. Your current value of 0.5 is significantly below the normal range of 400-600, indicating potential health concerns.

Interpretation:

Short diastolic duration may indicate reduced ventricular filling, commonly due to tachycardia or stress-related conditions that increase heart rate, such as sepsis or heart failure. Your diastolic_duration value of 0.5 is below the normal range.

Values

Median

0.510

Standard Deviation

0.046

Range

400

0.510

600

Contradiction:

A prolonged diastolic duration with short systolic duration contradicts healthy cardiac output.

Correlation Analysis:

Should be correlated with systolic duration to maintain a balanced cardiac cycle.

Visualization for diastolic_duration
Visualization for diastolic_duration - line_with_rolling_stats

systolic_area

Description:

The systolic area under the curve represents the amount of blood ejected during the systolic phase, reflecting cardiac output. A larger systolic area suggests increased cardiac workload, while a reduced systolic area indicates impaired ejection fraction or ventricular dysfunction. Your current value of 201.9 is significantly above the normal range of 60-80, which may require attention.

Interpretation:

Increased systolic area indicates elevated cardiac output, which may be caused by hypertension, increased ventricular contractility, or stress-related conditions. Your systolic_area value of 201.9 is above the normal range.

Values

Median

201.877

Standard Deviation

19.637

Range

60

201.877

80

Contradiction:

A disproportionately large systolic area contradicts low diastolic area and may indicate poor cardiac relaxation.

Correlation Analysis:

Correlated with systolic duration and overall cardiac output.

Visualization for systolic_area
Visualization for systolic_area - trend_sparkline

diastolic_area

Description:

The diastolic area under the curve reflects ventricular filling during the relaxation phase. An abnormal diastolic area can indicate poor ventricular compliance or excessive preload. A balance between systolic and diastolic areas is essential for optimal cardiac function. Your current value of 181.3 is significantly above the normal range of 20-40, which may require attention.

Interpretation:

Increased diastolic area suggests enhanced ventricular filling, which may be compensatory due to increased preload or reduced ventricular contractility. Your diastolic_area value of 181.3 is above the normal range.

Values

Median

181.969

Standard Deviation

20.399

Range

20

181.969

40

Contradiction:

A disproportionately large diastolic area contradicts low systolic area and may suggest reduced cardiac output.

Correlation Analysis:

Correlated with diastolic duration and overall cardiac relaxation.

Visualization for diastolic_area
Visualization for diastolic_area - trend_sparkline

systolic_slope

Description:

Reflects the steepness of the systolic rise in the waveform. Your current value of 1.5 is above the normal range of 0.8-1.2.

Interpretation:

High systolic slope suggests increased ventricular contraction, often due to stress or elevated cardiac output. Your systolic_slope value of 1.5 is above the normal range.

Values

Median

1.533

Standard Deviation

0.095

Range

0.8

1.533

1.2

Contradiction:

A disproportionately high systolic slope contradicts low diastolic slope, indicating imbalanced cardiac function.

Correlation Analysis:

Correlated with systolic duration and cardiac output.

Visualization for systolic_slope
Visualization for systolic_slope - line_with_rolling_stats

diastolic_slope

Description:

Reflects the steepness of the diastolic decay in the waveform. Your current value of 1.2 is within the normal range of 0.8-1.2.

Interpretation:

Normal diastolic slope, indicating healthy cardiac relaxation. Your diastolic_slope value of 1.2 is normal the normal range.

Values

Median

1.196

Standard Deviation

0.113

Range

0.8

1.196

1.2

Contradiction:

A high diastolic slope with low systolic slope contradicts normal cardiac function.

Correlation Analysis:

Correlated with diastolic duration and cardiac relaxation.

Visualization for diastolic_slope
Visualization for diastolic_slope - line_with_rolling_stats

signal_skewness

Description:

Signal skewness measures the asymmetry of the PPG waveform. A skewed waveform may indicate abnormalities in vascular compliance, arrhythmias, or signal noise. Negative skewness reflects prolonged diastolic filling, while positive skewness indicates faster systolic ejection. Your current value of 0.1 is in the good range of -0.5-0.5, indicating healthy function.

Interpretation:

Normal skewness reflects a well-balanced systolic and diastolic waveform, indicating proper cardiac and vascular function. Your signal_skewness value of 0.1 is normal the normal range.

Values

Median

0.099

Standard Deviation

0.020

Range

-0.5

0.099

0.5

Contradiction:

High signal skewness contradicts low systolic amplitude variability, as high skewness usually reflects variability in the signal.

Correlation Analysis:

Correlated with systolic and diastolic variability, reflecting overall signal irregularity.

Visualization for signal_skewness
Visualization for signal_skewness - line_with_rolling_stats

peak_trend_slope

Description:

Peak trend slope represents the rate of change between successive peaks in the pulse waveform, reflecting changes in cardiac output or vascular resistance. An increasing slope suggests heightened cardiac workload, while a decreasing slope indicates reduced output or poor compliance. Your current value of 0.1 is significantly below the normal range of 0.8-1.5, indicating potential health concerns.

Interpretation:

A decreasing peak trend slope suggests reduced cardiac output or poor vascular compliance, often seen in heart failure, low cardiac output states, or vascular stiffness. Your peak_trend_slope value of 0.1 is below the normal range.

Values

Median

0.051

Standard Deviation

0.009

Range

0.8

0.051

1.5

Contradiction:

A low peak trend slope contradicts high systolic slope, indicating an imbalance in cardiac function.

Correlation Analysis:

Correlated with systolic slope and overall cardiac output.

Visualization for peak_trend_slope
Visualization for peak_trend_slope - trend_sparkline

systolic_amplitude_variability

Description:

Reflects the variability in systolic peak amplitudes in the pulse waveform, which indicates fluctuations in cardiac output and ventricular contraction strength. Your current value of 4.9 is significantly above the normal range of 0.8-1.2, which may require attention.

Interpretation:

High systolic amplitude variability may suggest fluctuating cardiac output, often seen in stress, arrhythmias, or fluctuating blood pressure. Your systolic_amplitude_variability value of 4.9 is above the normal range.

Values

Median

4.946

Standard Deviation

0.507

Range

0.8

4.946

1.2

Contradiction:

High systolic amplitude variability with low diastolic amplitude variability indicates imbalanced cardiac function.

Correlation Analysis:

Correlated with systolic duration and overall cardiac output variability.

Visualization for systolic_amplitude_variability
Visualization for systolic_amplitude_variability - line_with_rolling_stats

diastolic_amplitude_variability

Description:

Represents the variability in diastolic peak amplitudes in the pulse waveform, reflecting changes in cardiac relaxation and filling during the diastolic phase. Your current value of 4.9 is significantly above the normal range of 0.8-1.2, which may require attention.

Interpretation:

High diastolic amplitude variability could indicate unstable cardiac relaxation patterns, possibly due to arrhythmias or compensatory mechanisms. Your diastolic_amplitude_variability value of 4.9 is above the normal range.

Values

Median

4.945

Standard Deviation

0.480

Range

0.8

4.945

1.2

Contradiction:

High diastolic amplitude variability with low systolic amplitude variability indicates imbalanced cardiac function.

Correlation Analysis:

Correlated with diastolic duration and cardiac relaxation variability.

Visualization for diastolic_amplitude_variability
Visualization for diastolic_amplitude_variability - line_with_rolling_stats

Save the health report as HTML file

# Write the HTML content to a file
with open("../_static/report.html", "w") as file:
    file.write(report_html)

Display the HTML file in the notebook

# Display the HTML file in the notebook
display_html('<iframe src="../_static/report.html" width=700 height=350></iframe>', raw=True)