medbench.kr

Biosignal › SCOPE: ICU ECG and PPG before cardiac arrest, death or discharge › scope-arrest@0

ICU cardiac arrest within 0.5-24 h from a 5-min ECG epoch preview

Data: khdp.net/database/data-search-detail/698/icu-cardiac-arrest/1.0 · CC BY 4.0 · binary · primary metric: auroc · spec af77a27735e4

Download CSV JSON Agents: look up before you runcurl -s "https://medbench.kr/v1/lookup?model=MODEL&task=scope-arrest@0"

Each instance is a 5-minute Lead II ECG epoch (250 Hz) from an SNUH ICU stay. Epochs from 24 h to 0.5 h before an in-unit cardiac arrest are positive; epochs from one 24-hour block at a random position in stays that ended in discharge are negative, and stays that ended in death are left out. The task is medbench.kr's definition: the cohort, processing, split and reference model follow the SCOPE dataset authors' scripts, which apply the setup of Lee et al., npj Digit Med 2023 (doi:10.1038/s41746-023-00960-2); that paper's cohort very likely overlaps SCOPE. Scores are on the test split, with 95% intervals from a bootstrap over stays.

#ModelTypeTierauroc (95% CI)nCost (USD)Date
1 LightGBM on 33 HRV measures (SCOPE authors' training script)
medbench.kr
baseline baseline 0.826 (0.723–0.903) 55069 0.0000 2026-10-30
ref Prior (ignores the input)
medbench.kr
baseline baseline 0.500 (0.500–0.500) 55069 0.0000 2026-10-30

How this benchmark is built

Status
published by the medbench.kr benchmark builder
Adopted from
medbench.kr definition
Data
SCOPE: ICU ECG and PPG before cardiac arrest, death or discharge on KHDP (icu-cardiac-arrest 1.0)
Code
definition · scope_arrest.py · scope_sampling.py · scope_hrv.py · scope_arrest.py in medbench-kr/benchmarks (Apache-2.0)
Problems
Report an evaluation problem (public issue; fixes ship as a new task version)

Data

SCOPE: ICU ECG and PPG before cardiac arrest, death or discharge (biosignal). License: CC BY 4.0. Source: https://khdp.net/database/data-search-detail/698/icu-cardiac-arrest/1.0

SCOPE: A survival and cardiac arrest outcome dataset with PPG and ECG waveforms from intensive care units (version 1.0). KHDP; 2025. doi:10.23421/2025.0698

Task specification

{
  "anchor_utc": "2100-01-01T00:00:00Z",
  "baselines": {
    "medbench/prior": "train-split prevalence for every epoch",
    "medbench/scope-hrv-lgbm": "the authors' training script: 5-fold StratifiedGroupKFold of the train split by stay (shuffled, random_state 42); per fold, Bayesian optimization (3 random and 50 guided points) of num_leaves 16-32, lambda_l1 0.7-0.9, lambda_l2 0.9-1, feature_fraction 0.6-0.7, bagging_fraction 0.6-0.9, min_child_samples 6-10, min_child_weight 10-40, scored by AUPRC with early stopping (300 of at most 2000 rounds); fixed objective binary, learning_rate 0.005, bagging_freq 1, max_depth 5; parameters of the best fold; rounds = truncated mean best iteration of a second CV; one model on the train split; Beta calibration on its train predictions"
  },
  "cases": {
    "epochs": "the file cropped to the 24 h before the outcome anchor (2100-01-01 00:00 in the file's time zone; every SCOPE file is UTC except one arrest stay in the train split, whose anchor therefore falls 9 h earlier), cut into 5-min epochs from the start of the crop; epochs ending 0.5-24 h before the arrest (282)"
  },
  "cohort": {
    "excluded": [
      "Death"
    ],
    "label_0": "Discharge",
    "label_1": "Cardiac Arrest"
  },
  "controls": {
    "epochs": "one 24 h block per stay: start = random.randint(0, record samples - 24 h of samples) after random.seed(42 + the stay's rank among discharge stays in the metadata sheet); a record of 24 h or less is used whole; cut into 5-min epochs from the block start; ECG after the discharge time is used as recorded",
    "seed": 42
  },
  "dataset": "scope",
  "epoch_rules": {
    "filters": "NeuroKit2 signal_filter: Butterworth high-pass 0.5 Hz (order 5), then powerline 60 Hz",
    "flat_s": 10,
    "hrv": "NeuroKit2 hrv(R peaks, 250 Hz); an epoch that fails at any step is dropped",
    "instance": "a kept epoch whose 33 model measures are all finite (the authors drop rows with an infinite measure)",
    "peaks": "NeuroKit2 ecg_peaks(method=neurokit, correct_artifacts=True)",
    "quality": "NeuroKit2 ecg_quality(method=averageQRS); kept if at least 80% of the epoch's samples have a quality index >= 0.9",
    "screening": "dropped if more than 10 s in a row are missing or constant"
  },
  "features": [
    "IALS",
    "pNN50",
    "TINN",
    "HTI",
    "PI",
    "Prc20NN",
    "MedianNN",
    "CVSD",
    "PIP",
    "MCVNN",
    "LFn",
    "CSI",
    "pNN20",
    "MinNN",
    "MeanNN",
    "SDNNI1",
    "MaxNN",
    "HFn",
    "LF",
    "LFHF",
    "PAS",
    "PSS",
    "SDANN1",
    "VHF",
    "RMSSD",
    "VLF",
    "IQRNN",
    "CVNN",
    "CSI_Modified",
    "SD2",
    "Prc80NN",
    "SD1SD2",
    "SDNN"
  ],
  "inputs": {
    "ecg": "raw Lead II, 5 min at 250 Hz (75,000 samples, float16), unfiltered, for test epochs",
    "hrv": "the 44 HRV measures of the authors' script, as NeuroKit2 gives them (missing where it gives none)",
    "never": "stay id, epoch position or minutes to the outcome, file timestamps, record length, quality ratio"
  },
  "instance_id": "scope- + first 16 hex digits of sha256('scope-arrest|<case_id>|<epoch start in 250 Hz samples from the anchor>')",
  "kind": "binary",
  "metrics": {
    "bootstrap": {
      "by": "case_id",
      "n": 1000
    },
    "primary": "auroc",
    "secondary": [
      "auprc"
    ]
  },
  "preview": true,
  "primary_metric": "auroc",
  "protocol": {
    "adopted": "Built with the SCOPE dataset authors' own processing and training scripts, which apply the setup of Lee et al. 2023 to SCOPE: the cohort, ECG reading, windows, epoch screening, HRV measures, stay split and reference model follow that code. SCOPE's KHDP record (icu-cardiac-arrest 1.0) describes the cohort and outcomes but defines no prediction task.",
    "code": "The dataset authors' scripts for SCOPE (data processing, training and evaluation), provided to medbench.kr by the authors on 2026-10-29 and not public; the paper's public repository is https://github.com/HyeonhoonLee/hrvarrest.",
    "cohort_overlap": "The paper's cohort (SNUH MICU and SICU, 2020-03 to 2022-08, 5,679 stays) and SCOPE (the same ICUs and Vital Recorder, 2019-10 to 2023-12, 4,517 stays) very likely share many stays. SCOPE stays are pseudonymized, so the overlap cannot be measured. A model developed on the paper's data has exposure to this test set.",
    "deviations": [
      "Missing HRV measures are filled with the train split's medians. The authors' script fills them with the medians of all epochs before the split, which lets test epochs shape the training data.",
      "95% intervals come from 1,000 bootstrap samples of ICU stays, the resampling unit of this benchmark. The authors' script reports a beta-distribution interval for AUROC and resamples epochs.",
      "Only the primary 0.5-24 h horizon is scored; the authors' secondary horizons (0.5-18, 12, 6, 3 and 1 h) are not part of this version.",
      "Package versions are fixed here because the authors' scripts pin none: NeuroKit2 0.2.13, vitaldb 1.7.2, LightGBM 4.7.0, bayesian-optimization 3.4.0, betacal 1.1.0. LightGBM's thread count follows the machine."
    ],
    "name": "medbench.kr definition",
    "related": "Lee SM, Lee H, Lee HC. Early warning of in-hospital cardiac arrest from photoplethysmography using deep residual networks. NeurIPS 2025 (openreview.net/forum?id=QvuG2h28GP) uses SCOPE with 5-min PPG segments and a 24 h window; this task uses ECG only.",
    "source": "Lee H, Yang HL, Ryu HG, Jung CW, Cho YJ, Yoon SB, Yoon HK, Lee HC. Real-time machine learning model to predict in-hospital cardiac arrest using heart rate variability in ICU. npj Digit Med. 2023;6:215. doi:10.1038/s41746-023-00960-2"
  },
  "signal": {
    "epoch_s": 300,
    "hz": 250,
    "read": "vitaldb VitalFile of the whole file, to_numpy(ECG_II, interval=1/250 s): samples are picked from the 500 Hz record without a low-pass filter; another ECG track is read only if ECG_II gives an empty array",
    "source_hz": 500,
    "track": "ECG_II"
  },
  "slug": "scope-arrest",
  "split": {
    "by": "case_id",
    "file": "registry/splits/scope-1.0.csv",
    "fractions": [
      0.8,
      0.2
    ],
    "method": "scikit-learn train_test_split(test_size=0.2, random_state=42, stratify=stay label) over the stays with at least one instance, listed as arrest stays then discharge stays, each in metadata-sheet order (the authors' feature table)",
    "seed": 42,
    "sha256": "f0174672f8da49618687cb4df4e0dad34980a0315fc9fb38ae5c2e78f9d8c455",
    "unit": "ICU stay"
  },
  "title": "ICU cardiac arrest within 0.5-24 h from a 5-min ECG epoch",
  "version": 0,
  "visibility": "open"
}

JSON: /v1/tasks/scope-arrest · /v1/leaderboard?task=scope-arrest@0