Subjects and cohorts
Cohort intelligence connects recordings to participant metadata and enables group-level comparison.
Subjects table
Navigate to Data → Datasets and click Manage subjects (/areas/cardiology/experiments/{id}/data/subjects). For studies of any real size (dozens to hundreds of subjects), this page is built for bulk import and assignment, not one-at-a-time editing.
Search, filter, and sort
- Search matches external ID, diagnosis, group, sex, or outcome values.
- Quick filters: No datasets, Missing treatment group, Missing outcomes, Incomplete HRV, Failed runs — jump straight to subjects that need attention.
- The table is sortable and paginated, so it stays usable at hundreds of subjects.
Import subjects (column mapping)
Click Import CSV. Real study exports rarely use this app's exact column names, so the import is a mapping wizard, not a strict-header upload:
- Drop or browse for your CSV.
- Review the column-mapping table — each of your CSV's columns maps to a subject field (external ID, age, sex, diagnosis, treatment group, an outcome, or ignored). Subject ID must map to exactly one column. Common aliases (
participant_id,arm,dx, etc.) are suggested automatically. - Review the validation report — created/updated/skipped counts and any row-level errors or warnings. Apply is blocked while there are unresolved errors.
- Click Apply.
If you're importing from the same vendor or study export repeatedly, save your column mapping as a template (name it and click Save as new) so you don't have to remap headers every time — pick it from Reuse template on your next import, and Update it if the export's columns change.
Extra columns (for example mace_event, followup_days) map to outcomes metadata for risk scoring and filtering.
Bulk dataset assignment
Click Bulk assign datasets to link many datasets to subjects at once instead of one at a time:
- Choose a match mode — exact filename, filename contains subject ID, or exact dataset ID.
- Either upload an assignment manifest CSV (columns: subject ID, dataset ID or filename, and optionally modality/visit/collection date), or — with "filename contains subject ID" mode and no manifest — let it scan every dataset's filename directly.
- Click Preview assignments and review the Matched / Existing / Unmatched / Ambiguous counts before committing anything.
- Click Apply matched assignments to link them.
A subject can have multiple datasets across modalities (ECG, RR, BP, PPG).
Subject hub
Click a subject to open /areas/cardiology/experiments/{id}/data/subjects/{subjectId}.
The hub shows:
- Dataset cards grouped by modality
- Multimodal timeline — relative-time overview of linked recordings
- Cross-modal pipeline shortcuts (baroreflex, RSA)
- Recent runs across all subject datasets
- Signal risk index when cohort risk scoring has completed
- Interpret and Interpret (mechanistic) when enough metrics exist
Multimodal example
- Link
rr_p001.csvandbp_p001.csvto subject P001 - Run HRV on the RR dataset, Analyze BP on the BP dataset
- Launch Compute baroreflex from the subject hub
- Use mechanistic interpret for cross-domain hypotheses
Cohort comparison
Navigate to Analyze → Cohort comparison.
Setup
- Subjects imported and datasets linked
- HRV (or chosen metric) completed for compared datasets — the Batch HRV analysis panel appears automatically above the filter bar when any HRV-eligible dataset is missing a completed run; use it to fill the gap, or use Analyze → Bulk Pipelines for a broader run across HRV/BP/PRV/arrhythmia at once
Compare
- Choose group by field (treatment group, sex, diagnosis)
- Pick HRV metric (RMSSD, SDNN, LF/HF, etc.)
- Select statistical test
- Click Compare cohorts
Results
- Box/violin chart with per-subject points
- Summary table: group means, SDs, p-values
- Outlier panel — subjects >2 SD from group mean
- Export chart as PNG or PDF
- Interpret for cohort-level narrative
Click an outlier to drill down to the subject hub, waveform, or individual HRV run.
Risk scores (research only)
Compute risk scores runs at cohort level to produce signal-derived stratification indices. Results appear as a sortable, paginated table (Subject, Group, Index percentile, Domains used, Missing domains — click a column header to sort) on the cohort workspace, and persist on subject hub cards.
This layer is for research exploration only — not clinical decision support. A research disclaimer is shown in the UI.