Back to Investor Brief

Investor brief · DBDP feature engineering

From raw wearables to clinical menopause features

Pause-Health.ai composes with the Digital Biomarker Discovery Pipeline (Duke University) for clinically grounded feature engineering from wearable signals. Today the FLIRT and DBDP HRV math is integrated in pause_ingest with 20 passing unit tests including a closed-form RMSSD correctness check; persistence back into JupyterHealth Exchange as derivedFrom FHIR Observations is Phase 2.

Why DBDP, why now

Four reasons the feature layer is DBDP

Pills: Wired in prototype wired in pause_ingest today (and asserted by tests where applicable) · Designed committed choice, activates with Phase 2 or first design partner.

Wired in prototype

Production-grade, not a research artifact

FLIRT — the only PyPI-published DBDP-affiliated package — installs cleanly on Python 3.13 and computes the features our clinical advisors already trust (RMSSD, SDNN, HF/LF power, Poincaré SD1/SD2) in one call. Integrated today in pause_ingest.features.

Wired in prototype

Validated against Kubios

The DBDP HRV calculator was benchmarked against Kubios, the clinical HRV reference tool. We have ported its time-domain math as a deterministic reference inside our test suite — a closed-form RMSSD correctness test asserts the exact expected value against a strict-alternation IBI series.

Designed

Lineage out of the box

Each computed feature will land in JupyterHealth Exchange as a FHIR Observation with a derivedFrom link to the raw IBI window it was computed over. Auditors and security reviewers see the full chain without us building one. Today the lineage is materialized in the FHIR Bundle served at /api/mulesoft/patient/[id]/timeline; the JHE persistence path is Phase 2.

Designed

Compounding community

DBDP is a Duke University–led open ecosystem with active contributors across wearables research. Our upstream contributions raise our credibility with academic medical center customers — and give us pull requests instead of integrations. The planned contributions (skin-temperature schema, menopause feature module) are on /proposal/integration.

The DBDP pieces we use

Three integrated today, one scoped Phase 2

Wired in prototype

FLIRT

MIT · on PyPI

Feature generation toolkit for wearable data. Sliding-window HRV, EDA, and accelerometer features from Empatica E4, Holter ECG, and other consumer-grade devices.

  • Why it mattersProduction-grade and installable. Integrated today in pause_ingest.features.hrv_features_flirt; happy-path FLIRT call is unit-tested for hrv_rmssd + hrv_sdnn columns.

Repository →

Wired in prototype

DBDP Heart Rate Variability

Apache-2.0

Time-domain HRV metrics from RR / IBI intervals, validated against Kubios — the clinical HRV reference.

  • Why it mattersDefensible numbers. Ported into pause_ingest.features.hrv_time_domain_fallback as a dependency-light reference implementation, with a closed-form RMSSD test asserting the exact expected value.

Repository →

Wired in prototype

Digital Health Data Repository

Apache-2.0

Curated sample wearable datasets maintained by the DBDP community.

  • Why it mattersReal-shape fixtures used in pause_ingest tests today; smoke-test data for new ingest paths. A DBDP-style fixture is committed at pause_ingest/tests.

Repository →

Designed

devicely

MIT

Reading + de-identifying data from Empatica E4, Bittium Faros, Biovotion Everion, Shimmer, and Muse.

  • Why it mattersEmpatica E4 is the most common research-grade device in academic menopause studies. Scoped as Phase 2 because the current release pins numpy < 2.0 — pause_ingest currently raises a clear Phase-2 RuntimeError if Empatica ingest is attempted (test_empatica_ingestion_raises_phase2_error).

Repository →

Feature catalog · per-row status

What pause_ingest can produce — and what it actually asserts

All rows below are produced by the same hrv_features_flirt call in pause_ingest. The distinction the pill draws is whether Pause has its own assertion on the output — which matters for an investor or a clinical advisor reading the math. Persistence into JupyterHealth Exchange as derivedFrom FHIR Observations is Phase 2 for every row.

Pills: Wired in prototype verified in pause_ingest (closed-form or happy-path tests) · Designed produced by the same call but not yet asserted by Pause tests.

StatusFeatureDomainSourceWhy it matters for menopause
Wired in prototypeRMSSD, SDNN, pNN50Time-domain HRVFLIRT + DBDP HRV calculator (Pause fallback)Autonomic dysregulation tracking. Drops in HRV correlate with vasomotor severity and sleep disruption. Closed-form unit-tested in pause_ingest.
DesignedHF / LF power, LF:HF ratioFrequency-domain HRVFLIRTSympathetic vs parasympathetic balance. Useful in stratifying patients for HRT vs non-hormonal pathways. Produced by the FLIRT call today but not asserted by Pause tests.
DesignedNon-linear: SD1, SD2, CSI, CVIPoincaré + chaotic HRVFLIRTSensitive to overall autonomic load. Early indicator for cardiovascular risk shifts post-menopause. Same FLIRT pathway as above; not yet asserted.
DesignedSleep fragmentation, IBI entropyStatistical HRVFLIRTDirect proxy for night sweats and disrupted sleep — the #1 patient-reported symptom in our research.
DesignedEDA tonic / phasic decompositionElectrodermal activityFLIRT (Empatica E4 archive, Phase 2)Hot-flash detection from skin conductance peaks.
DesignedActivity counts, sedentary boutsAccelerometerFLIRTFatigue and activity regression — a quality-of-life signal payers care about.

Touch the architecture

Verify the math claims in two clicks

Every claim on this page that says "today" or "tested" resolves to code in pause_ingest/. The closed-form RMSSD test is at pause_ingest/tests/test_features.py · test_fallback_alternating_ibi_has_closed_form_rmssd.

pause_ingest source on GitHub →Tests directory (20 passing) →FLIRT upstream repo →FHIR R5 Bundle with derivedFrom feature →

Status by phase

From the Phase 1 baseline to upstream contributions

Wired in prototype

Phase 1 — Shipped

Today

FLIRT-backed sliding-window HRV, dependency-light HRV fallback ported from DBDP, DBDP-derived test fixture committed, 20 unit tests passing across pause_ingest.convert + pause_ingest.features (including a closed-form RMSSD correctness check).

Designed

Phase 2 — Next

2–3 weeks

Wire flirt.with_.empatica for Empatica E4 archive ingestion. Re-evaluate devicely once numpy 2.x support lands. Persist computed feature windows back to JupyterHealth Exchange as derivedFrom FHIR Observations.

Future

Phase 3 — Open contribution

Ongoing

Propose an Open mHealth schema for skin temperature (hot-flash signal). Contribute a menopause-specific feature module to DBDP. Publish HRV-and-menopause feature-importance benchmarks against pilot cohorts.

Why this earns trust

Four properties of the feature layer

Read deeper

Where DBDP sits in the bigger picture