Sections
Quick Jump & Search
ECGDex — Technical Reference

Metrics, Formulas &
Normal Values

Reference for every metric, formula and threshold ECGDex derives from a single-lead wearable ECG — beat detection and quality, the full HRV panel (time, Poincaré, frequency, nonlinear), QTc, rhythm and the AF screen, CVHR, cardiorespiratory coupling and motion. Companion to the analyzer output; not a substitute for a clinical ECG or sleep study.

⚠️
Important: All values come from a single-lead wearable ECG (µV @ 130 Hz). They are not equivalent to a diagnostic 12-lead ECG or polysomnography and do not constitute a medical diagnosis. The AF Screen is a directional irregularity flag, not a diagnosis, and sleep stages are heuristic estimates — there is no EEG.
Evidence Measured Validated Emerging Experimental Heuristic disc shape encodes trust · hover any badge for detail
❤️
Signal & Beat Detection
Raw ECG → clean NN series: detection, dual-detector agreement, per-beat quality gate
ℹ️
ECGDex ingests raw single-lead ECG in µV at 130 Hz. The pipeline band-passes the trace (≈0.5–40 Hz), runs two independent R-peak detectors — a Pan–Tompkins adaptive double-threshold detector (Pan & Tompkins 1985) as primary, plus a slope+amplitude detector for cross-check — and keeps beats where they agree, then gates every beat through a signal-quality check before any RR interval reaches the HRV stage. Rejected beats are interpolated; the surviving series is the NN (normal-to-normal) series all downstream metrics use.
% Analyzable
Core

Fraction of the recording that survives the quality gate and yields usable beats. The headline coverage figure — a direct count, not a model output.

Method
%Analyzable = analyzable_samples / total_samples × 100
Below ≈50% the night is flagged low-confidence; HRV summaries are withheld or annotated.
% AnalyzableInterpretation
≥85%Full-confidence analysis
50–85%Usable, gaps annotated
<50%Low confidence — HRV withheld
Coverage
Advanced

Share of the intended recording window during which the electrode was on-body and producing signal (distinct from analyzable: a lead can be on-body but noisy).

Method
Coverage = on_body_duration / intended_window × 100
Correction
Advanced

Percentage of detected beats that were corrected (interpolated/ replaced) during cleaning. A direct artifact statistic — high correction means HRV rests on more inference than measurement.

Method
Correction = corrected_beats / detected_beats × 100
Task Force 1996 cautions that >5% editing materially biases time-domain HRV.
Mean SQI
Advanced

Mean of the per-beat Signal-Quality Index. Each beat is scored on three direct checks before acceptance:

Per-beat gate
flatline test · kurtosis test · RR-plausibility test
Flatline rejects dead segments; kurtosis rejects spike/motion artifact; RR-plausibility rejects physiologically impossible intervals.
Ectopy
Advanced

Count of detected ectopic beats — PVC (premature ventricular contractions) + PAC (premature atrial contractions) — via the Malik 20% local-median rule: a beat whose RR deviates >20% from the local median is flagged ectopic and excluded from NN.

Malik rule (Task Force 1996)
|RRᵢ − median(local)| / median(local) > 0.20 ⇒ ectopic
Ectopic beats are counted here and excluded upstream so they cannot inflate rMSSD/SDNN.
↑ back to index
❤️
Heart Rate
Mean, minimum and maximum HR from accepted R-peaks
Mean HR
Core

Mean instantaneous heart rate over accepted beats, with min/max as the night’s envelope. Computed directly from NN intervals — no model.

Formula
HR = 60000 / mean(NN_ms) · HRᵢ = 60000 / NNᵢ
Min/max HR are the 1st/99th percentiles of HRᵢ to reject residual artifact.
Resting HR (sleep)Band
45–60 bpmTypical nocturnal
60–75 bpmElevated nocturnal
>80 bpmHigh — arousal / load
↑ back to index
❤️
HRV — Time Domain
rMSSD, SDNN, pNN50, ln rMSSD — and the duration tiers that gate validity
ℹ️
Duration tiers gate which metrics are reported. Time-domain HRV is only valid over a window long enough to capture the underlying rhythm:
ultra-short (<5 min): HR, rMSSD, pNN50, SD1, HF are reported; SDNN and LF are withheld (the window is too short for the slow components to express).
short (5 min, the Task Force standard): full short-term panel.
overnight: adds VLF, DFA α1 (detrended fluctuation analysis), CVHR (cyclic variation of heart rate) and staging — components that need hours to resolve.
rMSSD
Advanced

Root mean square of successive RR differences — the standard short-term, beat-to-beat (parasympathetic) HRV index. Valid even in ultra-short windows.

Formula
rMSSD = √( (1/(N−1)) · Σ (NNᵢ₊₁ − NNᵢ)² )
rMSSD (overnight)Band
<20 msLow vagal tone
20–50 msTypical
>50 msHigh vagal tone
SDNN
Advanced

Standard deviation of all NN intervals — total variability over the window (sympathetic + parasympathetic). Withheld in ultra-short windows where it cannot capture slow rhythms.

Formula
SDNN = √( (1/(N−1)) · Σ (NNᵢ − NN̄)² )
pNN50
Advanced

Proportion of successive NN pairs differing by more than 50 ms. A robust parasympathetic index that tracks rMSSD but saturates at low HRV.

Formula
pNN50 = count(|NNᵢ₊₁ − NNᵢ| > 50 ms) / (N−1) × 100
ln rMSSD
Advanced

Natural log of rMSSD. rMSSD is right-skewed; the log transform makes night-to-night change roughly linear and is the scale most readiness trackers report.

Formula
ln rMSSD = ln( rMSSD_ms )
↑ back to index
❤️
HRV — Poincaré Geometry
SD1, SD2 and their ratio — nonlinear geometry of the RR scatter
SD1
Research

Short-axis dispersion of the Poincaré plot (NNᵢ vs NNᵢ₊₁) — instantaneous beat-to-beat variability, algebraically ≈ rMSSD/√2.

Formula
SD1 = √( ½ · Var(NNᵢ₊₁ − NNᵢ) )
SD2
Research

Long-axis dispersion — longer-term variability, related to SDNN. Together SD1×SD2 spans the parasympathetic/total decomposition (Brennan 2001).

Formula
SD2 = √( 2·SDNN² − SD1² )
SD2 scales with total variability — read it against the SDNN bands (it is algebraically tied to SDNN), not a separate cutoff. Higher SD2 = more long-term variability; a collapsing SD1/SD2 ellipse (low SD2 with preserved SD1) flags loss of slow-rhythm structure.
SD1/SD2
Research

Ratio of short- to long-axis dispersion — a unitless index of the balance between instantaneous and longer-term variability. Published but device-dependent.

Formula
ratio = SD1 / SD2
↑ back to index
📈
HRV — Frequency Domain
Lomb–Scargle spectrum on uneven RR: VLF/LF/HF, LF/HF, and EDR respiration
ℹ️
RR intervals are unevenly sampled by nature, so ECGDex estimates power with the Lomb–Scargle periodogram (Lomb 1976 / Scargle 1982) rather than an FFT — no resampling, no interpolation artifact.
Lomb–Scargle Spectrum
Advanced

Band powers from the Lomb–Scargle periodogram. Normalized units (LFnu/HFnu) are reported alongside absolute power to reduce inter-recording scale effects.

Bands
VLF 0.003–0.04 Hz · LF 0.04–0.15 Hz · HF 0.15–0.40 Hz
HFnu = HF / (LF + HF) × 100. VLF requires an overnight window to resolve.
LF/HF
Research

Ratio of low- to high-frequency power. Read as a coarse autonomic-balance index, not a literal sympathetic:parasympathetic measurement — the interpretation is contested in the literature (Billman 2013 shows LF/HF does not reliably index sympatho-vagal balance).

Formula
LF/HF = power(LF band) / power(HF band)
Resp Rate
Advanced

Respiration estimated from the ECG itself (EDR), reported as a per-epoch median of the dominant respiratory frequency — deliberately not the HF-spectral peak, which is unstable epoch-to-epoch. A surrogate, not a flow sensor (EDR method: Moody et al. 1985).

Method
RespRate = median_over_epochs( dominant EDR frequency × 60 ) br/min
Robust to transient artifact; trades temporal resolution for stability.
↑ back to index
📈
Nonlinear & Complexity
DFA α1, SampEn, triangular index, fragmentation, deceleration / acceleration capacity
DFA α1
Research

Detrended-fluctuation short-term scaling exponent over 4–16-beat windows. α≈ 0.5 random; ≈1.0 long-range correlated (healthy); < 0.75 or > 1.2 mark loss of the normal fractal structure. Device-dependent thresholds.

Method
integrate → detrend in windows n → α1 = slope of log F(n) vs log n, n∈[4,16]
SampEn
Research

Sample entropy of the NN series — regularity/complexity. Lower SampEn = more regular (often pathological). An ECGDex-tuned application, not externally validated at these settings.

Parameters
SampEn(m=2, r=0.2·SD) — −ln( A / B )
Read directionally: higher SampEn = more irregular/complex (generally healthier autonomic variability), lower = more regular/predictable (often aged or pathological). Absolute values depend on window length, m and r, so no fixed normal band is published at these settings — hence the experimental grade; compare a subject to their own baseline, not a universal cutoff.
Triangular Index
Advanced

Geometric HRV: total NN count divided by the height of the NN histogram. Robust to outliers and a standard Task Force measure, but needs > 20 min of beats.

Formula
TriIndex = N(all NN) / max(NN histogram bin)
Decel. capacity
Research

Phase-rectified signal averaging (PRSA) isolates heart-rate decelerations (vagal) from accelerations. Low DC is a validated post-infarction mortality marker (Bauer 2006); here it is an overnight vagal-tone index.

Method
PRSA: anchor on NNᵢ > NNᵢ₋₁, average aligned windows, DC = ¼(X₀ + X₁ − X₋₁ − X₋₂)
Bauer 2006: DC ≤ 2.5 ms high-risk, 2.6–4.5 intermediate, > 4.5 ms low-risk (24-h Holter).
Accel. capacity
Research

The acceleration counterpart of DC from the same PRSA pass — anchors on shortening RR. Reported as the sympathetic-side companion; published but device-dependent.

Method
PRSA anchored on NNᵢ < NNᵢ₋₁ (mirror of DC)
Fragmentation
Research

Heart-rate fragmentation triplet — PIP (% inflection points), IALS (inverse mean segment length), PSS (% short segments). Captures erratic short-range RR alternation that time-domain HRV misses. The PIP/IALS/PSS triplet is published (Costa, Davis & Goldberger 2017) and associated with age and worse prognosis in MESA; what is not externally validated is ECGDex’s overnight, single-lead wearable application of it — hence the experimental grade here.

Components
PIP = inflection_points / N · IALS = 1/mean(segment_len) · PSS = %segments ≤ 3 beats
↑ back to index
❤️
Repolarisation — QTc
Rate-corrected QT: Bazett primary, Fridericia alternative
ℹ️
The raw QT interval shortens as heart rate rises, so it must be rate-corrected before comparison. ECGDex reports Bazett as primary (most widely tabulated) and Fridericia as the alternative, which is more accurate at the tachycardic and bradycardic extremes.
QTc
Advanced

QT corrected by the Bazett square-root rule. Prolongation is a repolarisation-risk marker; values are population-referenced below.

Bazett
QTc = QT_ms / √( RR_s )
QTc (Bazett)Band
<430 ms (M) / <450 (F)Normal
450–470 msBorderline
>470 ms (M) / >480 (F)Prolonged
QTc (Fridericia)
Advanced

Cube-root correction — less rate-dependent than Bazett, preferred when HR is far from 60 bpm. Reported alongside Bazett so over-/under-correction is visible.

Fridericia
QTc = QT_ms / ∛( RR_s )
↑ back to index
❤️
Rhythm & Morphology
Ectopy classification and the directional AF irregularity screen
⚠️
The AF Screen is not a diagnosis. It is a directional irregularity flag from a single wearable lead — it cannot distinguish atrial fibrillation from frequent ectopy, sensor artifact, or other arrhythmias. A positive screen means “review with a clinician / 12-lead ECG,” never “you have AF.”
AF Screen
Advanced

Combines RR irregularity (RMSSD of non-ectopic RR, normalized), Shannon entropy of ΔRR (ΔRR = successive RR difference), and absence of a stable dominant rate into a single directional score. An ECGDex composite — sensitive to irregularity, not specific to AF.

Inputs
irregularity = f( RMSSD/mean RR , H(ΔRR bins) , 1 − rate-stability )
Exploratory & unvalidated: no published sensitivity/specificity exists for this screen on a labelled test cohort. Reported as a 0–1 directional flag, never a probability of AF.
Ectopy classification
Advanced

Beats flagged ectopic by the Malik rule are split into PVC (wide, no preceding P, full compensatory pause) and PAC (early, narrow, non-compensatory) by timing and the surrounding RR pattern. A direct per-beat classification.

TypeSignature
PVCwide QRS · full compensatory pause
PACearly beat · incomplete pause
↑ back to index
📈
CVHR — Apnea Autonomic Signature
Cyclic variation of heart rate as an ECG-based apnea surrogate
CVHR index
Advanced

Counts the bradycardia-then-tachycardia cycles that accompany apnea/hypopnea events (Hayano 2011; ACAT = autocorrelated-wave detection with adaptive threshold). Reported as events per hour — an ECG-based apnea screen, not a substitute for PSG.

Method
ACAT autocorrelated dip detection → Fcv = CVHR cycles / sleep hour
Hayano 2011: CVHR index ≥ 15/h identified AHI≥ 15 with 83% sensitivity / 88% specificity (r = 0.84 vs AHI).
CVHR indexApnea likelihood
<5/hLow
5–15/hIntermediate
≥15/hModerate–severe likely
↑ back to index
📈
Cardiorespiratory Coupling
Phase-locking of heart and respiration, and RSA efficiency
CR Coupling
Research

Phase-locking value between the cardiac and ECG-derived respiratory cycles — how tightly the two oscillators are coupled (0 = none, 1 = perfect). Published method, device-dependent magnitude.

Formula
PLV = | (1/N) · Σ e^{ i(φ_card − φ_resp) } |
RSA Efficiency
Research

Respiratory sinus arrhythmia efficiency from the inspiratory:expiratory heart-rate excursion — how strongly HR rises on inhale and falls on exhale. An ECGDex composite, not externally validated.

Method
RSA eff = mean(HR_inspiration) / mean(HR_expiration), windowed
↑ back to index
🏃
Accelerometer
Steps, posture and motion from the 3-axis sensor
Total steps
Core

Direct step count from the on-board 3-axis accelerometer — used as a wake/activity context channel, not a fitness metric.

Method
peak-count on band-passed |accel| magnitude
Posture
Core

Body position from the gravity vector (supine / left / right / prone / upright) and posture-change count — a direct reading of the accelerometer’s static tilt.

Method
tilt = atan2(component) of low-pass gravity vector; transitions counted
↑ back to index
🌙
Sleep-Stage Estimation
HR-pattern REM/NREM estimates — heuristic, not EEG staging
⚠️
This is not validated sleep staging. ECGDex has no EEG. REM/NREM here are heuristic estimates from heart-rate pattern and motion only — useful as overnight context, never equivalent to PSG hypnogram scoring. The framework being loosely approximated is the AASM Manual for the Scoring of Sleep v3 (Berry et al., 2023); ECGDex does not implement AASM scoring.
Sleep Stage
Advanced

Segments the night into wake / light / deep / REM-like blocks from HR level, HRV pattern and motion. A convenience overlay for reading the other metrics in context — explicitly heuristic.

Inputs
HR level + ln rMSSD trend + motion density → rule-based block labels
↑ back to index
🔍
Device Cross-Check
Self-computed RR vs device RR, and overnight HRV stability
ℹ️
When the recorder also reports its own RR series, ECGDex cross-checks its self-detected RR against the device RR — both Malik-corrected — and reports the deltas. Large Δ means detection disagreement, a quality flag rather than a physiological finding.
HRV Stability
Research

Slope of ln rMSSD across overnight epochs — whether parasympathetic tone holds, climbs or decays through the night. A novel ECGDex-derived metric with no external validation study — read it as an internal trend signal, not a benchmarked index.

Method
OLS slope of ln rMSSD(epoch) vs epoch time; flat ≈ stable
Cross-check ΔReading
ΔrMSSD < 5 msDetectors agree
ΔSDNN 5–15 msMinor disagreement
Δ > 15 msReview detection
↑ back to index
📡
Signal Quality & Artifact Flags
Gaps, off-body spans, and low-coverage messaging
ℹ️
Quality flags are surfaced directly so a low number is never silently treated as a healthy one. Every flag below is a direct count or span, not an inference.
Data Gaps
Core

Number and total duration of dropouts where no decodable ECG was present. Gaps split the night into analyzable segments; HRV is computed per-segment, never across a gap.

Method
gap = contiguous span with no accepted beats > 5 s
Off-Body Spans
Core

Spans the quality gate marks as electrode-off (flatline or out-of-range). Subtracted from coverage and excluded before any metric is computed.

Method
flatline + out-of-range detector → merged spans
↑ back to index
📋
Full Abbreviation Index
Every abbreviation used by the analyzer — click any highlighted term to jump to its section

🔗 = links to metric definition   |   highlighted abbreviations are clickable

↑ back to index
📚
Academic References
Peer-reviewed sources behind ECGDex’s metrics — grouped by domain
⚠️
Citation provenance. Post-2000 DOIs below were verified to resolve (Task Force 1996, Peng 1995, Richman 2000, Brennan 2001, Bauer 2006, Hayano 2011). The two foundational method papers — Pan & Tompkins 1985 (R-peak detection, doi 10.1109/TBME.1985.325532) and Malik 1989 (RR editing / processing, doi 10.1093/oxfordjournals.eurheartj.a059428) — were likewise verified. The pre-1985 classics — Bazett 1920, Fridericia 1920, Lomb 1976, Scargle 1982 — are cited with full bibliographic detail but without a DOI link, since stable DOIs for the original articles were not independently confirmed here. No DOI is printed that was not checked.
📡
Beat Detection & RR Editing
The algorithms behind R-peak detection and the NN-cleaning rule
Pan & Tompkins 1985QRS detection
Advanced

Pan J, Tompkins WJ. A real-time QRS detection algorithm. IEEE Trans Biomed Eng. 1985;BME-32(3):230–236. doi: 10.1109/TBME.1985.325532

Covered in ECGDex
The 5–15 Hz band-pass → derivative → square → moving-window integrator front end and adaptive double-threshold used as ECGDex’s primary R-peak detector.
Malik 1989RR editing / processing
Advanced

Malik M, Farrell T, Cripps T, Camm AJ. Heart rate variability in relation to prognosis after myocardial infarction: selection of optimal processing techniques. Eur Heart J. 1989;10(12):1060–1074. doi: 10.1093/oxfordjournals.eurheartj.a059428

Covered in ECGDex
The local-median RR-editing approach behind the 20% ectopy-exclusion rule applied in beat cleaning and the self-vs-device cross-check (both series Malik-corrected).
❤️
HRV Standards & Geometry
Time-domain, geometric and Poincaré foundations
Task Force 1996HRV Standards
Core

Task Force of the European Society of Cardiology and the North American Society of Pacing and Electrophysiology. Heart rate variability: standards of measurement, physiological interpretation, and clinical use. Circulation. 1996;93(5):1043–1065. doi: 10.1161/01.CIR.93.5.1043

Covered in ECGDex
rMSSD, SDNN, pNN50, triangular index definitions and norms; the Malik 20% ectopy-exclusion rule used in beat cleaning.
Brennan 2001SD1 / SD2 Poincaré
Advanced

Brennan M, Palaniswami M, Kamen P. Do existing measures of Poincaré plot geometry reflect nonlinear features of heart rate variability? IEEE Trans Biomed Eng. 2001;48(11):1342–1347. doi: 10.1109/10.959330

Covered in ECGDex
SD1 (short-axis) and SD2 (long-axis) decomposition; SD1 ≈ rMSSD/√2 identity used in the Poincaré section.
📈
Nonlinear Dynamics & Autonomic Markers
Complexity, fractal scaling and PRSA
Peng 1995DFA α1
Research

Peng CK, Havlin S, Stanley HE, Goldberger AL. Quantification of scaling exponents and crossover phenomena in nonstationary heartbeat time series. Chaos. 1995;5(1):82–87. doi: 10.1063/1.166141

Covered in ECGDex
DFA short-term scaling exponent α1 (integrate → detrend → log-log slope) on 4–16-beat windows.
Richman 2000Sample Entropy
Research

Richman JS, Moorman JR. Physiological time-series analysis using approximate entropy and sample entropy. Am J Physiol Heart Circ Physiol. 2000;278(6):H2039–H2049. doi: 10.1152/ajpheart.2000.278.6.H2039

Covered in ECGDex
SampEn(m=2, r=0.2·SD) regularity measure applied to the NN series.
Bauer 2006Deceleration Capacity
Advanced

Bauer A, Kantelhardt JW, Barthel P, et al. Deceleration capacity of heart rate as a predictor of mortality after myocardial infarction: cohort study. Lancet. 2006;367(9523):1674–1681. doi: 10.1016/S0140-6736(06)68735-7

Covered in ECGDex
Phase-rectified signal averaging for deceleration / acceleration capacity; the DC risk bands quoted in the Nonlinear section.
DC (24-h)Risk tier
≤ 2.5 msHigh
2.6–4.5 msIntermediate
> 4.5 msLow
Costa et al. 2017Heart-rate fragmentation
Advanced

Costa MD, Davis RB, Goldberger AL. Heart rate fragmentation: a new approach to the analysis of cardiac interbeat interval dynamics. Front Physiol. 2017;8:255. doi: 10.3389/fphys.2017.00255

Covered in ECGDex
Defines the PIP / IALS / PSS fragmentation triplet. ECGDex computes these verbatim; the overnight wearable application is what carries the experimental grade, not the metrics themselves.
Billman 2013LF/HF caveat
Advanced

Billman GE. The LF/HF ratio does not accurately measure cardiac sympatho-vagal balance. Front Physiol. 2013;4:26. doi: 10.3389/fphys.2013.00026

Covered in ECGDex
The source for the LF/HF “contested interpretation” caveat — LF/HF is reported as a coarse balance index, not a literal sympathetic:parasympathetic measurement.
❤️
Repolarisation, Spectral Methods & Apnea
QT correction, periodogram and CVHR
Bazett 1920QTc correction
Core

Bazett HC. An analysis of the time-relations of electrocardiograms. Heart. 1920;7:353–370. (classic primary source — no DOI)

Covered in ECGDex
QTc = QT/√RR — the primary rate correction reported for repolarisation.
Fridericia 1920QTc (cube-root)
Advanced

Fridericia LS. Die Systolendauer im Elektrokardiogramm bei normalen Menschen und bei Herzkranken. Acta Med Scand. 1920;53:469–486. (classic primary source — no DOI)

Covered in ECGDex
QTc = QT/∛̅R̅R̅ — the alternative correction, preferred away from 60 bpm.
Lomb 1976 / Scargle 1982Least-squares spectrum
Research

Lomb NR. Least-squares frequency analysis of unequally spaced data. Astrophys Space Sci. 1976;39:447–462. · Scargle JD. Studies in astronomical time series analysis. II. Astrophys J. 1982;263:835–853. (classic primary sources — no DOI link)

Covered in ECGDex
The Lomb–Scargle periodogram used for VLF/LF/HF power on unevenly sampled RR — no resampling.
Hayano 2011CVHR / sleep apnea
Advanced

Hayano J, Watanabe E, Saito Y, et al. Screening for obstructive sleep apnea by cyclic variation of heart rate. Circ Arrhythm Electrophysiol. 2011;4(1):64–72. doi: 10.1161/CIRCEP.110.958009

Covered in ECGDex
ACAT autocorrelated CVHR detection; CVHR index ≥ 15/h → AHI ≥ 15 at 83% sens / 88% spec (r = 0.84).
Moody et al. 1985ECG-derived respiration
Advanced

Moody GB, Mark RG, Zoccola A, Mantero S. Derivation of respiratory signals from multi-lead ECGs. Comput Cardiol. 1985;12:113–116. (conference proceedings — no DOI)

Covered in ECGDex
The EDR principle behind Resp Rate and cardiorespiratory coupling — respiration recovered from R-peak amplitude modulation, no airflow sensor.
AASM v3 (Berry 2023)Sleep-scoring framework
Advanced

Berry RB, et al. The AASM Manual for the Scoring of Sleep and Associated Events, v3. American Academy of Sleep Medicine; 2023. (manual — no DOI)

Covered in ECGDex
The reference framework the heuristic sleep-stage overlay loosely approximates. ECGDex has no EEG and does not implement AASM scoring — cited for context only.
↑ back to index
Reference Guide Version: 1.0.0  ·  Last Literature Review: June 2026  ·  Apache-2.0 Licence
Intended use & safety

Tepna computes biometric patterns from your wearable and sensor data to support personal self-quantification. It is not a medical device, does not diagnose, treat, cure, screen for, or prevent any disease or condition, and is not a substitute for professional clinical evaluation. It has not been reviewed or cleared by the FDA, CE, or any regulatory body. Always consult a qualified healthcare provider about your health. Use at your own risk. For research and personal use only. 100% local — no data leaves your device.

T Tepna physiological-signal suite
© 2026 Michal Planicka — Concept · Architecture · Algorithms Not a medical device · does not diagnose or treat · not FDA/CE cleared · research & personal use only · ◈ Made in Asheville, NC
licenceApache-2.0