Sample data
Sample recordings support manual testing, demos, and Phase 1 acceptance checks.
Generate synthetic ECG CSV
conda activate biochem
python products/cardiology/experiments/example01/generate_ecg_csv.py
Default output: products/cardiology/experiments/example01/ecg_360hz_3min.csv (360 Hz, 3 minutes, NeuroKit2-simulated ECG).
Options:
python products/cardiology/experiments/example01/generate_ecg_csv.py --duration 600 --output ecg_10min.csv
MIT-BIH WFDB record 100
Recommended PhysioNet fixture for WFDB upload testing:
- Download from MIT-BIH Arrhythmia Database
- Get
100.heaand100.dat - Upload both together in the app
Or fetch programmatically:
import wfdb
record = wfdb.rdrecord("100", pn_dir="mitdb")
wfdb.wrsamp(
"100",
fs=record.fs,
units=record.units,
sig_name=record.sig_name,
p_signal=record.p_signal,
fmt=record.fmt,
write_dir="./products/cardiology/experiments/example01/wfdb",
)
Multimodal examples
The products/cardiology/experiments/ folder contains generators and usage notes for RR, BP, PPG, and multimodal cohort scenarios (example03–example06). See each folder's usage_notes.md.
Test fixtures
Automated tests use small fixtures under:
backend-analysis/tests/fixtures/
Prefer MIT-BIH record 100 or generated CSV for regression tests. Large recordings stay gitignored under data/.
Suggested demo workflow
- Create study
- Upload generated CSV (quick test)
- Upload MIT-BIH 100 WFDB (format validation)
- Preprocess + HRV on each
- Import subjects CSV and link datasets for cohort demo
Full details: products/cardiology/experiments/README.md and products/cardiology/physionet.md.