Blood Pressure Estimation Models: A Guideline and Tutorial on Correct Model reporting for developing estimation models that learn from secondary/indirect vital signs to estimate blood pressure.
BP-Card is a reporting and validation framework for AI-driven cuffless blood pressure (BP) estimation. It standardizes how cuffless BP models are reported and validated, so results are comparable across studies. It is the reporting instrument from Towards Trustworthy AI-driven Cuffless Blood Pressure Monitoring (Cisnal et al., npj Digital Medicine, in press).
This repository provides:
- BP-Card style figure generation for panels
(a)through(f) - Standardized performance reporting tables for calibration-free models
- Standardized performance reporting tables for calibration-based models
- Example CSV files for both reporting pathways
- Documentation for BP-Card modules and reporting checklists
Overview of the BP-Card reporting and validation framework.
BP-AI-Model-Card/
├── bp-card-generator/
│ ├── data/
│ │ ├── calibration_based_performance_table.csv
│ │ └── calibration_free_performance_table.csv
│ ├── BP_card_generator.ipynb
│ ├── bp_card_figures.py
│ └── requirements.txt
├── docs/
│ ├── framework.md
│ └── reporting-checklist.md
├── figures/
│ ├── aurora-bp.png
│ └── figure8_v4.svg
├── .gitignore
├── LICENSE
└── README.md
cd bp-card-generator
pip install -r requirements.txt
jupyter notebook BP_card_generator.ipynbRun the notebook cells to create:
fig_a.png
fig_b.png
fig_c.png
fig_d.png
fig_e.png
fig_f.png
calibration_free_performance_table.csv
calibration_based_performance_table.csv
Calibration-free data should include group labels directly in the CSV:
split,group,reference_bp,prediction_bp
train,Normal,118,118.3
test,Prehypertension,128,128.3
Calibration-based data should include condition labels and calibration BP:
split,condition,reference_bp,prediction_bp,calibration_bp
train,Static,118,120,117
test,Dynamic,128,130,129
The code does not calculate groups or conditions. It uses the labels already present in the CSV files.
See BP_card_generator.ipynb for the complete runnable example. The notebook loads the CSV files from data/, generates panels (a) through (f), and displays/saves both standardized performance tables.
The framework has four reporting modules; Module 3 is reported separately for each calibration pathway:
- Module 0 — clinical purpose and intended use
- Module 1 — dataset and cohort characteristics (including BP and ΔBP distributions)
- Module 2 — validation strategy (subject-wise validation is the minimum standard)
- Module 3A / 3B — standardized performance reporting for calibration-free / calibration-based models
See docs/framework.md for the module definitions and methodological requirements. This also contains a worked-out example.
The standardized reporting tables include:
- DeltaBP+/-SD
- MD+/-SD
- MAD
- MAPD
- CP5, CP10, CP15
- Pearson R
ΔBP sign convention. ΔBP±SD describes the BP variation in the evaluation set, not an error. Its sign depends on the order of subtraction. This code defaults to the paper's worked-example convention,
ΔBP = baseline − current(delta_convention= "baseline_minus_current"). The SD is identical either way; only the mean's sign changes. State your convention when you report ΔBP.
BP-Card Modules 0–2 checklist (click to expand)
Module 0 — Clinical purpose and use context
- Model name and version, estimation family, calibration paradigm
- Model type, input data type, output variable (SBP/DBP/MAP)
- Signal modality, sensor specification and location
- Intended use designation
Module 1 — Dataset and cohort reporting
- Source, cohort size, recording sessions, total paired samples
- Demographics (age, sex, BMI, height, weight, ethnicity)
- Comorbidities, medication (class/dose/regimen), known sensitivities; skin tone and ambient light for PPG
- Measurement phases and BP profile distributions
- SBP/DBP, baseline SBP/DBP, and ΔSBP/ΔDBP (subject-specific or population-based)
- Preprocessing pipeline, exclusion criteria, excluded sample count
- BP distribution reported before and after cleaning
Module 2 — Validation strategy
- Evaluation method (subject-wise required as minimum standard)
- Unseen-subject test set and external validation
- Reference standard and device (manufacturer/model)
- Measurement conditions, body position, activity state, rest period
- Baseline comparator and result
- Modules 3A and 3B reported separately
The full checklist, including Module 3, is in docs/reporting-checklist.md.
If you use the the BP-Card framework, please cite the paper:
@article{cisnal2026bpcard,
title = {Towards Trustworthy AI-driven Cuffless Blood Pressure Monitoring},
author = {Cisnal, Ana and Podder, Itilekha and Grossmann, Leoni and
Dheman, Kanika and Elgendi, Mohamed and Valgimigli, Marco and
Paez-Granados, Diego},
journal = {npj Digital Medicine},
year = {2026},
note = {Accepted; in press},
doi = {<to be assigned>}
}Update the volume, pages, and DOI once assigned.
Released under the MIT License — see LICENSE.