Computed from this object's own state — a structural condition is unmet. This is not a fixed disclaimer: the conditions below are each testable, and a build in which they are met renders READY.
In adults with chronic heart failure, what is the hazard of a first cardiovascular death or worsening heart failure event with an SGLT2 inhibitor compared with placebo added to background therapy?
In this section: Registration and administrative information (PROSPERO field set) · What this object claims to contain
| Review title | SGLT2 inhibitors against placebo in chronic heart failure across the ejection fraction spectrum: the four randomised outcome trials that report cardiovascular death or a worsening heart failure event as a time-to-first hazard ratio |
|---|---|
| Review question (PICO) | In adults with chronic heart failure, what is the hazard of a first cardiovascular death or worsening heart failure event with an SGLT2 inhibitor compared with placebo added to background therapy? |
| Population | Adults with HFrEF or HFpEF (across EF spectrum) |
| Intervention | SGLT2 inhibitor (dapagliflozin or empagliflozin) |
| Comparator | Placebo |
| Background / rationale | Not recorded — this object holds no background field, and an introduction generated without one would be argument that no source in this review supports |
| Eligibility criteria | Eligibility turns on population, intervention and comparator: a trial is in scope if it randomised adults with chronic heart failure to an SGLT2 inhibitor against placebo on top of background therapy. It does not turn on which analysis the trial reported, because section 3.2.4 cautions that making eligibility depend on reported outcomes invites outcome reporting bias. What the measure governs is pooling, under section 10.9: only a time-to-first-event hazard ratio can be combined with the others. Each row below therefore carries two separate columns -- the eligibility axis it fails, and, where it applies, the reason its quantity could not have been pooled even had it been eligible. Every screened trial appears with the quantity it reports quoted, whichever column it fell in. |
| Information sources | 16 source layers, listed on the Extraction tab |
| Search strategy | The executed strings, datetimes, filters and hit counts are on the Search tab |
| Study selection process | A second independent screen was NOT run. No second independent screen was run for this topic. This is recorded as owed rather than described: the remedy is to RUN one, and writing a duplicate-screening sentence without one would be the defect this whole exercise exists to prevent. |
| Number of screeners | One. No second independent screen was run. |
| Data extraction items | Extracted per trial on this object: registry id; primary publication; year; design; arms; per-arm counts and the published effect; the randomised total, separately from the analysed denominator. Fields not listed here were not extracted. |
| Outcomes and prioritisation | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio; cardiovascular death or hospitalisation for heart failure, first event; Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio |
| Risk of bias method | RoB 2, per result, five domains — see the risk-of-bias table below |
| Synthesis methods | Pooled under random-effects with the REML estimator. These methods were NOT prespecified before the search, and are not presented as though they were. |
| Subgroup analyses | Not recorded — this object records no subgroup-analysis field at all, so whether any were prespecified is UNKNOWN -- which is not the same as none having been |
| Meta-bias assessment | Not recorded — no funnel, Egger or Peters value is held on this object, so no meta-bias assessment is claimed |
| Certainty assessment | GRADE, recorded for 3 outcome(s) (GRADE). The ratings are on the Certainty tab. |
| Confidence level | 95% |
| Funding | Not recorded — no funding statement is recorded for this review |
| Competing interests | Not recorded — no declaration is recorded |
| Built | 2026-08-10 |
| Schema | 2 |
Full build, with a stated boundary on the search. Every randomised trial reached by reconciliation against three published syntheses of this class in heart failure, and by the registry records staged for every trial those syntheses name, is either pooled or in one screening log with the criterion it fails and the quantity it reports instead. There is exactly one source list, `screening.records`. The object also holds `screening.excluded`, which is not a second table a reader must reconcile: it is a view computed from the records at build time, row for row, so it cannot say anything the records do not. What this statement does not claim is a systematic database search; none was run, the limitation is recorded in the screening block, and a trial missed by all three syntheses and absent from the staged registry layer would be missed here.
In this section: Search — executed, source by source · Search record: search · PRISMA flow · ClinicalTrials.gov API v2 -- query 1, narrower, and it missed an included trial · ClinicalTrials.gov API v2 -- query 2, broader, covers the included set · PubMed (ncbi e-utilities esearch)
executed_by — lane 1 (Claude, Anthropic family)
Databases: ClinicalTrials.gov API v2 -- QUERY 1, NARROWER, AND IT MISSED AN INCLUDED TRIAL, ClinicalTrials.gov API v2 -- QUERY 2, BROADER, COVERS THE INCLUDED SET, PubMed (NCBI E-utilities esearch)
| Stage | Records |
|---|---|
| identification | {'ctgov_query1': 23, 'ctgov_query2': 56, 'pubmed_total': 1452, 'pubmed_retrieved': 50, 'note': 'Query 2 supersedes query 1 for coverage; both are recorded.'} |
| eligibility ctgov | {'role_located': 56, 'topic_is_experimental_arm': 49, 'topic_is_comparator_arm': 1, 'topic_is_background': 6, 'not_assessable': 0} |
| included | {'in_this_object': 4, 'nct': ['NCT03036124', 'NCT03057977', 'NCT03057951', 'NCT03619213']} |
| reconciliation | {'arithmetic': '56 identified = 49 experimental + 1 comparator + 6 background + 0 unassessable', 'reconciles': True, 'gap_stated_plainly': "49 trials place an SGLT2 inhibitor in an EXPERIMENTAL arm. This object includes FOUR. The other 45 have ALL been screened -- 32 on two axes, 1 in the object's own screening.records, 10 in the three-state vocabulary, and 2 on the 2026-08-19 re-gate -- and ZERO are both eligible and poolable, so k stands at 4 on a screen rather than on assumption. There is no unscreened remainder.", 'this_sentence_has_said_43_then_36_then_46_and_now_49': 'Every one of those was true when written and none was re-derived when the classifier next changed. The number is now REPRODUCIBLE FROM A COMMAND rather than carried in prose: scripts/regate_cascade_2026_08_19.py re-executes the query and re-classifies, and scripts/lint_cascade_arithmetic.py refuses the object if this line stops reconciling with the cascade beside it.'} |
Query as executed:
condition="chronic heart failure"; intervention="dapagliflozin OR empagliflozin OR sotagliflozin OR canagliflozin OR ertugliflozin"; study_type=INTERVENTIONAL; phase=[PHASE3,PHASE4]; page_size=60
Query as executed:
condition="heart failure"; intervention="dapagliflozin OR empagliflozin OR sotagliflozin OR canagliflozin OR ertugliflozin"; study_type=INTERVENTIONAL; phase=[PHASE3]; page_size=100
Query as executed:
(dapagliflozin[tiab] OR empagliflozin[tiab] OR sotagliflozin[tiab] OR "SGLT2 inhibitor"[tiab] OR "sodium-glucose cotransporter 2"[tiab]) AND ("heart failure"[tiab] OR HFrEF[tiab] OR HFpEF[tiab]) AND (randomized controlled trial[pt] OR randomised[tiab] OR randomized[tiab])
In this section: SOLOIST-WHF NCT03521934 · PMID 33200892 · Scored NCT03315143 · PMID 33200891 · Empulse NCT04157751 · PMID 35228754
This review's decision: excluded.
Population, which is the axis the Handbook makes an eligibility criterion. It enrolled patients with type 2 diabetes who had been hospitalized for worsening heart failure and started treatment before or shortly after discharge, which is a recently-decompensated population rather than the chronic ambulatory one this question fixes. Separately, and recorded as a pooling limit rather than as a second exclusion: its primary endpoint is the total number of cardiovascular deaths, heart failure hospitalizations and urgent heart failure visits -- first and subsequent events -- which its own abstract states in those words. That is a recurrent-event quantity, so under section 10.9 it could not have entered this pool even had the population matched. The two are kept apart because an earlier version of this object ran them together and cited a section that cautions against exactly that.
What it actually reports: a hazard ratio for the total occurrence of the composite, reported as 0.67 with a 95% interval of 0.52 to 0.85 by its publication and its registry record alike
Why that is not this review's measure: It IS labelled a hazard ratio by every layer that reports it, and that is exactly the trap. A recurrent-event analysis counts a participant each time they have an event; a time-to-first analysis counts them once. The two share a name, a scale and a direction, so storing this value in the same field as the four pooled cells would be invisible to a reader and to most software. The detector that guards effect-measure form would not catch it either, because both are hazard ratios. It is stored nowhere in this object except in this sentence.
This review's decision: excluded.
Population, and this is the one exclusion in this log that does not turn on the measure. It enrolled patients with type 2 diabetes and chronic kidney disease at cardiovascular risk; heart failure was not an entry requirement and most participants did not have it. It is a cardiovascular and renal outcome trial in diabetic kidney disease, not a heart failure trial, so it fails the first axis of the question.
What it actually reports: its changed primary endpoint is a TOTAL-occurrence composite; but it also reports its original co-primary, the first occurrence of cardiovascular death or hospitalization for heart failure, as a hazard ratio of 0.77 with a 95% interval of 0.66 to 0.91
Why that is not this review's measure: It is not stored because of the population, not because of its form. This row says so explicitly because the honest version of this exclusion is uncomfortable: a first-event hazard ratio for this review's exact composite exists for this trial and is quoted above, so a reader cannot be told the quantity was unavailable. The trial is out on who was enrolled. A reader who disagrees with that boundary can see precisely what including it would have added, which is the point of recording the value here.
This review's decision: excluded.
Population and duration: patients were randomised in hospital during an admission for acute heart failure and treated for up to ninety days, which is neither the chronic population nor the event-driven follow-up this question fixes. Separately, as a pooling limit and not as a second exclusion: its primary outcome is clinical benefit expressed as a hierarchical composite of death, heart failure events and a symptom-score difference, analysed as a stratified win ratio -- a ratio of favourable to unfavourable pairwise comparisons, with no interpretation as a hazard and with the opposite direction of benefit.
What it actually reports: a stratified win ratio of 1.36 with a 95% interval of 1.09 to 1.68, in which values above one favour treatment -- the opposite direction to every value this object pools
Why that is not this review's measure: Its direction of benefit is inverted relative to a hazard ratio, so storing it in a hazard-ratio field would not merely mislabel the quantity, it would reverse the sign of the trial's finding. Its registry record does also post a secondary first-occurrence hazard ratio for cardiovascular death or a heart failure event, and that value is not pooled either, on the population and duration grounds above.
In this section: Extraction — every datum linked to its source · Outcome cvdeath_or_whf_first · Outcome harmonised_cvdeath_or_hhf · Outcome threecomp_cvdeath_hhf_urgent · Extracted values, and where each came from · Recompute envelope — the headline against the rows shown · Outcome harmonised_cvdeath_or_hhf · Outcome threecomp_cvdeath_hhf_urgent · Absolute effect at a baseline risk the reader chooses · Risk of bias (RoB-2) · Overall judgement per trial · Inter-assessor agreement · References · Included studies · Regulatory documents · Methods and guidance · Sources · Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio · Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio · What was measured · Pooled result · What the endpoint-identical pairs give · Contributing trials · Endpoint definitions, read from the registry · The methods rule governing this decision · Leave-one-out sensitivity · Does the answer depend on the pooling method? · cardiovascular death or hospitalisation for heart failure, first event · cardiovascular death or hospitalisation for heart failure, first event · What was measured · Pooled result · Contributing trials · Does the answer depend on the pooling method? · Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio · Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio · What was measured · Pooled result · Contributing trials
Every per-trial value this review pools, with a link to the record it came from. Derived by ssot/projectors_evidence.py for any topic whose rows carry an NCT, a PMID, an ISRCTN or a source URL.
9 of 9 rows are linked to a source; 0 carry no identifier and are shown as unlinked rather than omitted.
| Trial | Source | Linked via | Effect | Counts as posted | Provenance |
|---|---|---|---|---|---|
| dapa-hf | NCT03036124 | nct | HR 0.74 (0.65 to 0.85) | — | the published hazard ratio, stored on the log scale with the standard error its published interval implies |
| emperor-reduced | NCT03057977 | nct | HR 0.75 (0.65 to 0.86) | — | the published hazard ratio, stored on the log scale with the standard error its published interval implies |
| emperor-preserved | NCT03057951 | nct | HR 0.79 (0.69 to 0.9) | — | the published hazard ratio, stored on the log scale with the standard error its published interval implies |
| deliver | NCT03619213 | nct | HR 0.82 (0.73 to 0.92) | — | the published hazard ratio, stored on the log scale with the standard error its published interval implies |
| Trial | Source | Linked via | Effect | Counts as posted | Provenance |
|---|---|---|---|---|---|
| DAPA-HF | NCT03036124 | source_url | HR 0.75 (0.65 to 0.85) | — | REGISTRY -- posted results, read 2026-08-18 |
| EMPEROR-Reduced | NCT03057977 | source_url | HR 0.75 (0.65 to 0.86) | — | REGISTRY -- posted results, read 2026-08-18 |
| EMPEROR-Preserved | NCT03057951 | source_url | HR 0.79 (0.69 to 0.9) | — | REGISTRY -- posted results, read 2026-08-18 |
| Trial | Source | Linked via | Effect | Counts as posted | Provenance |
|---|---|---|---|---|---|
| NCT03036124 — the registry records no acronym for this trial | NCT03036124 | nct | HR 0.74 (0.65 to 0.85) | — | |
| NCT03619213 — the registry records no acronym for this trial | NCT03619213 | nct | HR 0.82 (0.73 to 0.92) | — |
One row per extracted value. Every row carries the value, the verbatim sentence it was read from, a resolvable link to the source, and whether the number was read or derived. Where any of those is absent the row says so rather than omitting the value.
| Trial / outcome | Value as extracted | Verbatim source sentence | Source links | Read or derived |
|---|---|---|---|---|
| DAPA-HF cvdeath_or_whf_first | HR 0.74 (95% CI 0.65 to 0.85) | “the primary outcome occurred in 386 of 2373 patients (16.3%) in the dapagliflozin group and in 502 of 2371 patients (21.2%) in the placebo group (hazard ratio, 0.74; 95% confidence interval [CI], 0.65 to 0.85; P<0.001)” “The primary outcome was a composite of worsening heart failure (hospitalization or an urgent visit resulting in intravenous therapy for heart failure) or cardiovascular death.” | NCT03036124 · PMID 31535829 · source · primary_oa · registry · regulator_fda · regulator_ema | READ from the source as printed The point estimate and interval are stored as published. The log point and log standard error are DERIVED here, the standard error from the width of the published interval on the log scale, and are not claimed to appear in any source. |
| EMPEROR-Reduced cvdeath_or_whf_first | HR 0.75 (95% CI 0.65 to 0.86) | “a primary outcome event occurred in 361 of 1863 patients (19.4%) in the empagliflozin group and in 462 of 1867 patients (24.7%) in the placebo group (hazard ratio for cardiovascular death or hospitalization for heart failure, 0.75; 95% confidence interval [CI], 0.65 to 0.86; P<0.001)” “The primary outcome was a composite of cardiovascular death or hospitalization for worsening heart failure.” | NCT03057977 · PMID 32865377 · source · primary_oa · registry · regulator_fda · regulator_ema | READ from the source as printed The point estimate and interval are stored as published. The log point and log standard error are DERIVED here, the standard error from the width of the published interval on the log scale, and are not claimed to appear in any source. |
| EMPEROR-Preserved cvdeath_or_whf_first | HR 0.79 (95% CI 0.69 to 0.9) | “a primary outcome event occurred in 415 of 2997 patients (13.8%) in the empagliflozin group and in 511 of 2991 patients (17.1%) in the placebo group (hazard ratio, 0.79; 95% confidence interval [CI], 0.69 to 0.90; P<0.001)” “The primary outcome was a composite of cardiovascular death or hospitalization for heart failure.” | NCT03057951 · PMID 34449189 · source · primary_oa · registry · regulator_fda · regulator_ema | READ from the source as printed The point estimate and interval are stored as published. The log point and log standard error are DERIVED here, the standard error from the width of the published interval on the log scale, and are not claimed to appear in any source. |
| DELIVER cvdeath_or_whf_first | HR 0.82 (95% CI 0.73 to 0.92) | “the primary outcome occurred in 512 of 3131 patients (16.4%) in the dapagliflozin group and in 610 of 3132 patients (19.5%) in the placebo group (hazard ratio, 0.82; 95% confidence interval [CI], 0.73 to 0.92; P<0.001)” “The primary outcome was a composite of worsening heart failure (which was defined as either an unplanned hospitalization for heart failure or an urgent visit for heart failure) or cardiovascular death, as assessed in a time-to-event analysis.” | NCT03619213 · PMID 36027570 · source · primary_oa · registry · regulator_fda · regulator_ema | READ from the source as printed The point estimate and interval are stored as published. The log point and log standard error are DERIVED here, the standard error from the width of the published interval on the log scale, and are not claimed to appear in any source. |
Derived by ssot/recompute_envelope.py. The pooled number is recomputed from the per-trial rows this same page shows, so the arithmetic between the extraction table and the headline is checkable with no tool the reader does not already have.
| Source | Point | 95% CI |
|---|---|---|
| stored on this page | 0.7636 | — |
| fixed effect, recomputed from the rows | 0.7636 | 0.7062 to 0.8258 |
| DerSimonian-Laird, recomputed | 0.7636 | 0.7062 to 0.8258 |
AGREES -- the stored point lies between the fixed-effect and DerSimonian-Laird estimates computed from the rows this page shows.
Scale used: log. Declared estimator: REML.
DerSimonian-Laird is biased at k below about ten and this project uses REML. DL is here only to WIDEN the envelope so a REML point falls inside it; it is never offered as the review's estimate.
| Source | Point | 95% CI |
|---|---|---|
| stored on this page | 0.7835 | — |
| fixed effect, recomputed from the rows | 0.7849 | 0.719 to 0.8567 |
| DerSimonian-Laird, recomputed | 0.7835 | 0.709 to 0.8659 |
AGREES -- the stored point lies between the fixed-effect and DerSimonian-Laird estimates computed from the rows this page shows.
Scale used: log. Declared estimator: random-effects.
DerSimonian-Laird is biased at k below about ten and this project uses REML. DL is here only to WIDEN the envelope so a REML point falls inside it; it is never offered as the review's estimate.
Derived by ssot/absolute_effect.py for any topic with a pooled ratio measure AND a declared indirectness argument. Where either is missing it DECLINES with a reason rather than emitting a table the review has not licensed — a ratio becomes an absolute effect only against a baseline risk, and a baseline risk belongs to a population.
Variant:
Unit assessed: A result, not a study -- Handbook 8.2: 'risk of bias is assessed for a specific result'. Every judgement below names its outcome.
Assessor 1: (anthropic family). Assessor 2: (openai family).
| Trial | Result assessed | Domain | Assessor 1 (anthropic) | Assessor 2 (openai) | Agreed |
|---|---|---|---|---|---|
| DAPA-HF | cardiovascular death or hospitalisation for heart failure, first event | D1 D1_randomisation_process | no information | no information | yes |
| DAPA-HF | cardiovascular death or hospitalisation for heart failure, first event | D2 D2_deviations_from_intended_intervention | no information | no information | yes |
| DAPA-HF | cardiovascular death or hospitalisation for heart failure, first event | D3 D3_missing_outcome_data | no information | no information | yes |
| DAPA-HF | cardiovascular death or hospitalisation for heart failure, first event | D4 D4_measurement_of_the_outcome | LOW | LOW | yes |
| DAPA-HF | cardiovascular death or hospitalisation for heart failure, first event | D5 D5_selection_of_the_reported_result | some concerns | some concerns | yes |
| EMPEROR-Preserved | cardiovascular death or hospitalisation for heart failure, first event | D1 D1_randomisation_process | no information | no information | yes |
| EMPEROR-Preserved | cardiovascular death or hospitalisation for heart failure, first event | D2 D2_deviations_from_intended_intervention | no information | no information | yes |
| EMPEROR-Preserved | cardiovascular death or hospitalisation for heart failure, first event | D3 D3_missing_outcome_data | no information | no information | yes |
| EMPEROR-Preserved | cardiovascular death or hospitalisation for heart failure, first event | D4 D4_measurement_of_the_outcome | some concerns | LOW | NO |
| EMPEROR-Preserved | cardiovascular death or hospitalisation for heart failure, first event | D5 D5_selection_of_the_reported_result | LOW | LOW | yes |
| EMPEROR-Reduced | cardiovascular death or hospitalisation for heart failure, first event | D1 D1_randomisation_process | no information | no information | yes |
| EMPEROR-Reduced | cardiovascular death or hospitalisation for heart failure, first event | D2 D2_deviations_from_intended_intervention | no information | no information | yes |
| EMPEROR-Reduced | cardiovascular death or hospitalisation for heart failure, first event | D3 D3_missing_outcome_data | no information | no information | yes |
| EMPEROR-Reduced | cardiovascular death or hospitalisation for heart failure, first event | D4 D4_measurement_of_the_outcome | some concerns | LOW | NO |
| EMPEROR-Reduced | cardiovascular death or hospitalisation for heart failure, first event | D5 D5_selection_of_the_reported_result | LOW | LOW | yes |
| DAPA-HF | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D1 D1_randomisation_process | no information | no information | yes |
| DAPA-HF | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D2 D2_deviations_from_intended_intervention | no information | no information | yes |
| DAPA-HF | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D3 D3_missing_outcome_data | no information | no information | yes |
| DAPA-HF | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D4 D4_measurement_of_the_outcome | LOW | LOW | yes |
| DAPA-HF | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D5 D5_selection_of_the_reported_result | LOW | LOW | yes |
| DELIVER | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D1 D1_randomisation_process | no information | no information | yes |
| DELIVER | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D2 D2_deviations_from_intended_intervention | no information | no information | yes |
| DELIVER | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D3 D3_missing_outcome_data | no information | no information | yes |
| DELIVER | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D4 D4_measurement_of_the_outcome | LOW | LOW | yes |
| DELIVER | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | D5 D5_selection_of_the_reported_result | LOW | LOW | yes |
| DAPA-HF | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D1 D1_randomisation | some concerns | no information | NO |
| DAPA-HF | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D2 D2_deviations | LOW | no information | NO |
| DAPA-HF | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D3 D3_missing_outcome_data | LOW | no information | NO |
| DAPA-HF | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D4 D4_measurement | LOW | LOW | yes |
| DAPA-HF | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D5 D5_selection_of_result | some concerns | LOW | NO |
| EMPEROR-Reduced | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D1 D1_randomisation | some concerns | no information | NO |
| EMPEROR-Reduced | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D2 D2_deviations | LOW | no information | NO |
| EMPEROR-Reduced | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D3 D3_missing_outcome_data | LOW | no information | NO |
| EMPEROR-Reduced | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D4 D4_measurement | LOW | LOW | yes |
| EMPEROR-Reduced | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D5 D5_selection_of_result | some concerns | LOW | NO |
| EMPEROR-Preserved | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D1 D1_randomisation | some concerns | no information | NO |
| EMPEROR-Preserved | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D2 D2_deviations | LOW | no information | NO |
| EMPEROR-Preserved | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D3 D3_missing_outcome_data | LOW | no information | NO |
| EMPEROR-Preserved | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D4 D4_measurement | LOW | LOW | yes |
| EMPEROR-Preserved | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D5 D5_selection_of_result | some concerns | LOW | NO |
| DELIVER | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D1 D1_randomisation | some concerns | no information | NO |
| DELIVER | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D2 D2_deviations | LOW | no information | NO |
| DELIVER | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D3 D3_missing_outcome_data | LOW | no information | NO |
| DELIVER | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D4 D4_measurement | LOW | LOW | yes |
| DELIVER | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | D5 D5_selection_of_result | some concerns | some concerns | yes |
| Trial | Result assessed | Assessor 1 (anthropic) | Assessor 2 (openai) | Agreed |
|---|---|---|---|---|
| DAPA-HF | cardiovascular death or hospitalisation for heart failure, first event | some concerns | no overall judgement reached — this assessor answered “no information”, which RoB 2 defines as a response to a signalling question and not as one of the three overall categories (low, some concerns, high) | NO |
| EMPEROR-Preserved | cardiovascular death or hospitalisation for heart failure, first event | some concerns | no overall judgement reached — this assessor answered “no information”, which RoB 2 defines as a response to a signalling question and not as one of the three overall categories (low, some concerns, high) | NO |
| EMPEROR-Reduced | cardiovascular death or hospitalisation for heart failure, first event | some concerns | no overall judgement reached — this assessor answered “no information”, which RoB 2 defines as a response to a signalling question and not as one of the three overall categories (low, some concerns, high) | NO |
| DAPA-HF | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | some concerns | no overall judgement reached — this assessor answered “no information”, which RoB 2 defines as a response to a signalling question and not as one of the three overall categories (low, some concerns, high) | NO |
| DELIVER | Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | some concerns | no overall judgement reached — this assessor answered “no information”, which RoB 2 defines as a response to a signalling question and not as one of the three overall categories (low, some concerns, high) | NO |
| DAPA-HF | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | some concerns | no overall judgement reached — this assessor answered “no information”, which RoB 2 defines as a response to a signalling question and not as one of the three overall categories (low, some concerns, high) | NO |
| EMPEROR-Reduced | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | some concerns | no overall judgement reached — this assessor answered “no information”, which RoB 2 defines as a response to a signalling question and not as one of the three overall categories (low, some concerns, high) | NO |
| EMPEROR-Preserved | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | some concerns | no overall judgement reached — this assessor answered “no information”, which RoB 2 defines as a response to a signalling question and not as one of the three overall categories (low, some concerns, high) | NO |
| DELIVER | Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | some concerns | no overall judgement reached — this assessor answered “no information”, which RoB 2 defines as a response to a signalling question and not as one of the three overall categories (low, some concerns, high) | NO |
This assessment is DUAL — two assessors from different model families, the second asked blind. The agreement rate is withheld pending adjudication. Both readers were given this review’s decision rule; an earlier version of this sentence said the blinding had withheld it, and that was wrong. What the 45 domain comparison(s) show is a reading difference that runs in OPPOSITE directions by domain — on domains 1 to 3 the second assessor more often declines to judge at all, and on domains 4 and 5 it more often judges low. A single agreement rate averages those two behaviours into one number that describes neither. Both assessors’ per-result judgements are shown in the table above, unadjudicated, and neither is this review’s finding. No adjudication has been performed, so this review holds no final risk-of-bias judgement for these results.
| Layer | Source | How it was obtained |
|---|---|---|
| Regulator: FDA approved label | Farxiga (dapagliflozin) US prescribing information, clinical studies section https://www.accessdata.fda.gov/drugsatfda_docs/label/2026/202293s035lbl.pdf | Discovered from the product's Drugs@FDA overview page and staged as text. Used because no review document is published for the heart-failure supplements; the reasoning is on every cell. |
| Regulator: FDA approved label | Jardiance (empagliflozin) US prescribing information, clinical studies section https://www.accessdata.fda.gov/drugsatfda_docs/label/2025/204629s063lbl.pdf | Discovered from the product's Drugs@FDA overview page and staged as text. This application's single published review link does not resolve, confirmed twice by two independent routes. |
| Regulator: record of what the FDA does not publish | Drugs@FDA review-document absence probe for both applications, 2026-08-10 https://www.accessdata.fda.gov/scripts/cder/daf/index.cfm?event=overview.process&ApplNo=202293 | Staged because four cells assert that no FDA review document exists for the heart-failure indications, and an absence claim with nothing behind it is an assumption. This is the list of submissions asked and the server's answers. |
| Regulator: EMA product information | Forxiga (dapagliflozin) epar product information, pharmacodynamic properties https://www.ema.europa.eu/en/documents/product-information/forxiga-epar-product-information_en.pdf | Staged from the medicine's own epar page. The initial public assessment report describes the diabetes dossier that preceded both heart-failure indications, so the product information is the document that carries this review's outcome. |
| Regulator: EMA product information | Jardiance (empagliflozin) epar product information, pharmacodynamic properties https://www.ema.europa.eu/en/documents/product-information/jardiance-epar-product-information_en.pdf | Staged from the medicine's own epar page, for the same reason as the other product. It prints both heart-failure trials in full tables with counts. |
| Prior synthesis (full text, open) | Jhund et al. Dapagliflozin across the range of ejection fraction in patients with heart failure: a patient-level, pooled meta-analysis of DAPA-HF and DELIVER. Nat Med 2022. https://pubmed.ncbi.nlm.nih.gov/36030328/ | PMC full text staged. The benchmark this synthesis supplies is in the full text and not in the abstract, which is why an earlier reading of the abstract alone concluded it did not exist. |
| Prior synthesis (abstract, open) | Vaduganathan et al. SGLT-2 inhibitors in patients with heart failure: a comprehensive meta-analysis of five randomised controlled trials. Lancet 2022. https://pubmed.ncbi.nlm.nih.gov/36041474/ | Abstract staged. It states its own model as FIXED-EFFECT and its endpoint as harmonized, both of which the reconciliation uses. |
| Prior synthesis (abstract, open) | Zannad et al. SGLT2 inhibitors in patients with heart failure with reduced ejection fraction: a meta-analysis of the EMPEROR-Reduced and DAPA-HF trials. Lancet 2020. https://pubmed.ncbi.nlm.nih.gov/32877652/ | Abstract staged. Its pooled composite is the harmonized one and its trial pair is a subset of this object's four. |
| Primary paper (abstract, open) | McMurray et al. Dapagliflozin in Patients with Heart Failure and Reduced Ejection Fraction. N Engl J Med 2019. https://pubmed.ncbi.nlm.nih.gov/31535829/ | Abstract staged from PubMed. The abstract prints the primary composite with its interval and both arms' counts. |
| Primary paper (abstract, open) | Packer et al. Cardiovascular and Renal Outcomes with Empagliflozin in Heart Failure. N Engl J Med 2020. https://pubmed.ncbi.nlm.nih.gov/32865377/ | Abstract staged from PubMed; prints the composite, its interval and both arms' counts. |
| Primary paper (abstract, open) | Anker et al. Empagliflozin in Heart Failure with a Preserved Ejection Fraction. N Engl J Med 2021. https://pubmed.ncbi.nlm.nih.gov/34449189/ | Abstract staged from PubMed; prints the composite, its interval and both arms' counts. |
| Primary paper (abstract, open) | Solomon et al. Dapagliflozin in Heart Failure with Mildly Reduced or Preserved Ejection Fraction. N Engl J Med 2022. https://pubmed.ncbi.nlm.nih.gov/36027570/ | Abstract staged from PubMed; prints the composite, its interval and both arms' counts. |
| Primary paper (abstract, open) | Bhatt et al. Sotagliflozin in Patients with Diabetes and Recent Worsening Heart Failure. N Engl J Med 2021. https://pubmed.ncbi.nlm.nih.gov/33200892/ | Staged for the screening log. Its primary is a total-occurrence quantity and no value from it is pooled here. |
| Primary paper (abstract, open) | Bhatt et al. Sotagliflozin in Patients with Diabetes and Chronic Kidney Disease. N Engl J Med 2021. https://pubmed.ncbi.nlm.nih.gov/33200891/ | Staged for the screening log. It reports a first-event composite as an original co-primary, which the screening row records, and the trial is excluded on population rather than on measure. |
| Primary paper (full text, open) | Voors et al. The SGLT2 inhibitor empagliflozin in patients hospitalized for acute heart failure. Nat Med 2022. https://pubmed.ncbi.nlm.nih.gov/35228754/ | Open-access full text staged. Its primary is a hierarchical win ratio and no value from it is pooled here. |
| Registry with posted results | ClinicalTrials.gov results records for all seven screened trials https://clinicaltrials.gov/study/NCT03036124 | All seven registry payloads are staged under their own accession names; this entry names the one belonging to the first pooled trial, and each cell's cascade links its own record. |
| Comparator | placebo added to background heart failure therapy |
|---|---|
| Estimand | time_to_first — Cox proportional hazards |
| Unit of analysis | participant, with the time to the first component event |
| Case definition | each trial's own primary composite of centrally adjudicated cardiovascular death or a worsening heart failure event, whichever occurs first. The trials do not define the worsening-heart-failure component identically -- two count an urgent heart failure visit and two count only hospitalization -- and the two that count it do not define it identically either, which is why each cell stores its own trial's wording rather than a common paraphrase. The FDA label records a further difference, in whether deaths of undetermined cause were counted as cardiovascular. All of it is in the uniformity table and none of it is harmonized away. |
| Window | from randomisation to the end of the trial's own follow-up |
| Analysis population | each trial's own full analysis set, which on all four equals its randomised total |
| Effect scale | reported on the log scale; nothing is pooled on this outcome |
The withdrawal was published on the page on 2026-08-17 and not in this object. The page carried a paragraph explaining the withdrawal while its Pooled result card still read HR 0.7785 (0.7296 to 0.8306) as the headline, and the estimator-comparison table printed the same value four more times: six occurrences of the withdrawn number against one occurrence of the word 'withdrawn'. The object kept it as a live point, so any rebuild would have re-published it in full. This is the withdraw-on-both-surfaces lesson -- logged in this repository after ABLATION_AF -- left open on the very topic that produced it.
Previously displayed: HR 0.7785 (0.7296 to 0.8306) — superseded by this withdrawal.
Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio. k = 4.
| Pool | k | Estimate | I² |
|---|---|---|---|
| urgent-visit composite (DAPA-HF, DELIVER) Recomputed from this object's own per-trial log values under DerSimonian-Laird random effects: 0.7836 (0.7090 to 0.8659), I-squared 22.5 per cent. Matches. A first check using FIXED-effect weights gave 0.7849 (0.7190 to 0.8567) and looked like a discrepancy; it was the checker's method, not the value. | 2 | HR 0.7835 (0.709 to 0.8659) | 22.5% |
| hospitalisation-only composite (EMPEROR-Reduced, EMPEROR-Preserved) Recomputed from this object's own per-trial log values: 0.7708 (0.7000 to 0.8488). Matches exactly. | 2 | HR 0.7708 (0.7 to 0.8488) | 0% |
That the two halves agreeing licenses the four-trial pool. It does not. Agreement is not identity of estimand, and a close answer to a different question is the most persuasive kind of wrong.
| Trial | Analysed treatment / control |
HR (95% CI), or events | Source of this cell |
|---|---|---|---|
| DAPA-HF NCT03036124 · the trial's own primary composite endpoint | 2373 / 2371 The trial's full analysis set, which equals its randomised total. The registry, the publication and both regulator layers give the same two denominators, so there is no gap between randomised and analysed for this object to reconcile. | 0.74 (0.65 to 0.85) on the log scale: -0.3011 (standard error 0.06844) | Primary paper (abstract, open): the primary outcome occurred in 386 of 2373 patients (16.3%) in the dapagliflozin group and in 502 of 2371 patients (21.2%) in the placebo group (hazard ratio, 0.74; 95% confidence interval [CI], 0.65 to 0.85; P<0.001) The primary outcome was a composite of worsening heart failure (hospitalization or an urgent visit resulting in intravenous therapy for heart failure) or cardiovascular death. Randomised, as posted by the registry. The two arms below sum to that same total: no participant randomised in this trial is absent from its primary analysis. That is a property every trial in this pool happens to share, and it is checked on each of them rather than assumed from the first. |
| EMPEROR-Reduced NCT03057977 · the trial's own primary composite endpoint | 1863 / 1867 The trial's full analysis set, which equals its randomised total. The registry, the publication and both regulator layers give the same two denominators, so there is no gap between randomised and analysed for this object to reconcile. | 0.75 (0.65 to 0.86) on the log scale: -0.2877 (standard error 0.07142) | Primary paper (abstract, open): a primary outcome event occurred in 361 of 1863 patients (19.4%) in the empagliflozin group and in 462 of 1867 patients (24.7%) in the placebo group (hazard ratio for cardiovascular death or hospitalization for heart failure, 0.75; 95% confidence interval [CI], 0.65 to 0.86; P<0.001) The primary outcome was a composite of cardiovascular death or hospitalization for worsening heart failure. Randomised, as posted by the registry. The two arms below sum to that same total: no participant randomised in this trial is absent from its primary analysis. That is a property every trial in this pool happens to share, and it is checked on each of them rather than assumed from the first. |
| EMPEROR-Preserved NCT03057951 · the trial's own primary composite endpoint | 2997 / 2991 The trial's full analysis set, which equals its randomised total. The registry, the publication and both regulator layers give the same two denominators, so there is no gap between randomised and analysed for this object to reconcile. | 0.79 (0.69 to 0.9) on the log scale: -0.2357 (standard error 0.06778) | Primary paper (abstract, open): a primary outcome event occurred in 415 of 2997 patients (13.8%) in the empagliflozin group and in 511 of 2991 patients (17.1%) in the placebo group (hazard ratio, 0.79; 95% confidence interval [CI], 0.69 to 0.90; P<0.001) The primary outcome was a composite of cardiovascular death or hospitalization for heart failure. Randomised, as posted by the registry. The two arms below sum to that same total: no participant randomised in this trial is absent from its primary analysis. That is a property every trial in this pool happens to share, and it is checked on each of them rather than assumed from the first. |
| DELIVER NCT03619213 · the trial's own primary composite endpoint | 3131 / 3132 The trial's full analysis set, which equals its randomised total. The registry, the publication and both regulator layers give the same two denominators, so there is no gap between randomised and analysed for this object to reconcile. | 0.82 (0.73 to 0.92) on the log scale: -0.1985 (standard error 0.05901) | Primary paper (abstract, open): the primary outcome occurred in 512 of 3131 patients (16.4%) in the dapagliflozin group and in 610 of 3132 patients (19.5%) in the placebo group (hazard ratio, 0.82; 95% confidence interval [CI], 0.73 to 0.92; P<0.001) The primary outcome was a composite of worsening heart failure (which was defined as either an unplanned hospitalization for heart failure or an urgent visit for heart failure) or cardiovascular death, as assessed in a time-to-event analysis. Randomised, as posted by the registry. The two arms below sum to that same total: no participant randomised in this trial is absent from its primary analysis. That is a property every trial in this pool happens to share, and it is checked on each of them rather than assumed from the first. |
The four contributing trials share no participant and no control group. They do not share a single definition of the composite, which is why this field is worded around the outcome concept and each cell stores its trial's own wording.
What each trial COUNTED, in its own registry record's words, before anything here was pooled. A sentence saying what HAPPENED is not a sentence saying what was COUNTED, and only the second one licenses a pool. Read from the registry on 2026-08-18. Follow the registration link to disagree with any row.
| Trial | Rank in its own trial | Registered outcome measure | Description, verbatim | Analysis set / window |
|---|---|---|---|---|
| DAPA-HF NCT03036124 | PRIMARY | Subjects Included in the Composite Endpoint of CV Death, Hospitalization Due to Heart Failure or Urgent Visit Due to Heart Failure | Primary efficacy | Up to 27.8 months. |
| EMPEROR-Reduced NCT03057977 | PRIMARY | Time to the First Event of Adjudicated Cardiovascular (CV) Death or Adjudicated Hospitalisation for Heart Failure (HHF) | Time to the first event of adjudicated cardiovascular (CV) death or adjudicated hospitalisation for heart failure (HHF). The incidence rate per 100 patient years (100 * number of patients with event /time at risk [years]) is presented. | From randomisation until completion of the planned treatment period, up to 1040 days. |
| EMPEROR-Preserved NCT03057951 | PRIMARY | Time to First Event of Adjudicated Cardiovascular (CV) Death or Adjudicated Hospitalisation for Heart Failure (HHF) | Failure with preserved Ejection Fraction (HFpEF). The incidence rate per 100 patient years (pt-yrs) is presented and calculated as followed: Incidence rate per 100 pt-yrs = 100 * number of patients with event / time at risk [years]. | From randomization until completion of the planned treatment phase, up to 1403 days. |
| DELIVER NCT03619213 | PRIMARY (the first of TWO registered primary outcome measures, which differ only in their analysis population: all randomised, and those with LVEF < 60% at baseline) | Subjects Included in the Composite Endpoint of CV Death, Hospitalization Due to Heart Failure or Urgent Visit Due to Heart Failure | Dual primary efficacy. Primary endpoint analysed in all patients randomised (Full analysis set). The analysis was assessed on Full Analysis Set, including events occurring on or prior to Primary Analysis Censoring Date. | Up to 42.1 months |
Decision: Do not pool the four-trial outcome: the trials report the same effect measure against the same comparator, but they do not share one endpoint. The split two-trial pools are recorded separately where their endpoint definitions match.
Cochrane Handbook sections: 3.2.1, 3.2.3, 3.2.4, 10.9, 10.10.1, 10.10.2, 10.10.4, 10.14
Sections 3.2.1 and 3.2.3 fix the two axes on which eligibility turns -- population and comparator -- and every screening decision names which of them it falls on, which is why the log has a criterion column rather than a verdict column. Section 3.2.4 is what keeps the measure out of that list: it cautions that eligibility resting on which outcomes a study reported invites outcome reporting bias, so the measure is recorded in a separate column as a limit on pooling. Section 10.9 is the authority for that limit, and it gives the hazard ratio as the effect measure for time-to-event data and sanctions combining log hazard ratios by generic inverse variance; all four trials report a Cox hazard ratio for the time to a first event of their primary composite against placebo, so the measure is shared and nothing is converted. What the pool crosses is documented under 10.10.1 in the uniformity table, and the first row of that table is the one that matters: two trials count an urgent heart failure visit inside the composite and two do not. That difference is not smoothed away, not harmonized and not described as absent. Section 10.10.4 governs the model and the between-study variance estimator; restricted maximum likelihood is used and the comparison of estimators that 10.10.4.4 motivates is RUN rather than asserted, and with this little heterogeneity the estimators agree closely, which is reported as the unremarkable result it is. Section 10.14 is why the leave-one-out analysis is here; unlike the other cardiology pool in this batch it changes nothing, and that is itself the finding.
This is a retained record of the withdrawn four-trial calculation, not support for a published pool. Because the four trials do not share one endpoint, these leave-one-out and estimator-comparison rows must not be read as robustness evidence for a live pooled estimate.
| Cohort omitted | k | HR (95% CI) |
|---|---|---|
| dapa-hf | 3 | 0.7906 (0.7342 to 0.8513) |
| emperor-reduced | 3 | 0.7864 (0.731 to 0.8461) |
| emperor-preserved | 3 | 0.7749 (0.7194 to 0.8346) |
| deliver | 3 | 0.7602 (0.7029 to 0.822) |
These leave-one-out rows belong to a withdrawn four-trial calculation. They are retained as an audit trail for the calculation that was withdrawn, not as a robustness claim for a published pooled estimate.
Cochrane Handbook version 6.5.1, section 10.14: sensitivity analyses examine whether overall findings are robust to potentially influential decisions. Section 10.10.4.4 governs the estimator half -- it records that methods other than DerSimonian and Laird estimate the between-study variance better and that restricted maximum likelihood is the RevMan default. Section 10.10.4.5 is about interpretation with few studies and the method it compares is the confidence interval, not the variance estimator; it is cited for the interval comparison and not for the estimator comparison.
Section 10.10.4.4 records that estimators other than DerSimonian and Laird perform better and that restricted maximum likelihood is now the default in the Cochrane software, and it is the whole of the authority for running this comparison. Nothing in the Handbook instructs a review to compare variance estimators at a particular number of studies; running it is a choice made under section 10.14. Here it is uninformative, and that is reported rather than dropped: a sensitivity analysis that changes nothing is evidence about the result, and only a lane that ran it can say so.
| Between-study variance | Interval | Summary (95% CI) | τ² |
|---|---|---|---|
| DerSimonian-Laird (DL) | ordinary (Wald) | 0.7785 (0.7296 to 0.8306) | 0 |
| Paule-Mandel (PM) | ordinary (Wald) | 0.7785 (0.7296 to 0.8306) | 0 |
| restricted maximum likelihood (REML) | ordinary (Wald) | 0.7785 (0.7296 to 0.8306) | 0 |
| restricted maximum likelihood (REML) | Hartung-Knapp-Sidik-Jonkman (HKSJ) | 0.7785 (0.7007 to 0.8649) | 0 |
The three variance estimators agree, because there is no between-study variance for them to disagree about, and all three intervals exclude the null. The Hartung-Knapp-Sidik-Jonkman interval is wider, as its floor guarantees it can only be, and it excludes the null as well. No method tried here reverses the finding. This is reported as a null sensitivity result and not as corroboration: four ways of computing an interval from the same four numbers agreeing is arithmetic, not independent evidence.
Restricted maximum likelihood is kept as the headline estimator with the ordinary interval, because section 10.10.4.4 records it as the Cochrane default and as a better estimator than DerSimonian and Laird. With the between-study variance estimated at zero the choice is close to immaterial here, and keeping the default is therefore not a choice that flatters the result. The Hartung-Knapp-Sidik-Jonkman interval is reported beside it, with the floor on its scale factor applied so it can widen and can never come out narrower than the ordinary interval.
| Comparator | placebo |
|---|---|
| Estimand | time_to_first — Cox proportional hazards, as reported by each trial |
| Unit of analysis | participant, time to the first component event |
| Case definition | cardiovascular death OR hospitalisation for heart failure. Two components. An urgent heart-failure visit is not a qualifying event. |
| Effect scale | reported on a scale this object does not record — and HR is a ratio measure, which is combined on the log scale, so the missing field is a gap in this object rather than a property of the result; nothing is pooled on this outcome |
HR 0.7636 (0.7062 to 0.8258), 95% interval
cardiovascular death or hospitalisation for heart failure, first event. random-effects, estimator REML, k = 3.
τ² 0 · I² 0% · Q 0.3837 on 2 df
Read this beside the estimate. This outcome is the harmonised two-component composite -- cardiovascular death or hospitalisation for heart failure. That is the registered primary of EMPEROR-Reduced and EMPEROR-Preserved. It is not dapa-hf's: NCT03036124 registers a THREE-component primary that also counts an urgent heart-failure visit. The harmonisation is disclosed in this outcome's own name; what follows from it for risk of bias is recorded per result.
EMPEROR-Reduced and EMPEROR-Preserved register masking as double -- participant and investigator only. Their endpoints are adjudicated, which is the standard mitigation, but no registration states that the adjudicators were blinded. DAPA-HF is quadruple-masked.
| Trial | Analysed treatment / control |
HR (95% CI), or events | Source of this cell |
|---|
Registered endpoint definitions read from every contributing registration on 2026-08-18; recorded per trial on this object.
With two or three studies the Cochrane Handbook (10.10.4.4–10.10.4.5) asks for a sensitivity analysis comparing interval methods rather than a choice between them. Both are given here; the published interval is the first row.
| Interval | Method | Summary (95% CI) |
|---|---|---|
| as published | REML | 0.7636 (0.7062 to 0.8258) |
| sensitivity (Handbook 10.10.4.5) | REML with Hartung-Knapp, t on k-1 = 2 degree(s) of freedom (t = 4.3027) | 0.7636 (0.6431 to 0.9068) |
The published point is 0.7636 and the house-rule point is 0.7636. The number a reader remembers does not move; what differs is the precision claim. That is why nothing downstream catches this -- every memorable quantity survives.
A floor of 1 is applied to the variance-inflation factor so the adjustment can never narrow an interval below the unadjusted one. That guard is the recognised modification for exactly this instability, and its existence is evidence the small-k behaviour is a known problem with known handling rather than a novel judgement.
| Comparator | placebo |
|---|---|
| Estimand | time_to_first — Cox proportional hazards, as reported by each trial |
| Unit of analysis | participant, time to the first component event |
| Case definition | cardiovascular death OR hospitalisation for heart failure OR an urgent heart-failure visit. Three components. |
| Effect scale | combined on the log scale; ESTIMAND UNIFORMITY NOT ESTABLISHED -- the contributing trials have not been shown to measure the same quantity |
HR 0.7835 (0.709 to 0.8659), 95% interval
Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio. random-effects, estimator REML, k = 2.
τ² 0.0012 · I² 22.51% · Q 1.29 on 1 df
Both trials register this same three-component composite as their primary endpoint. One endpoint definition, one question.
Prediction interval not shown
No prediction interval is shown for this pool. At k = 2 the t critical value is 12.706 against a normal quantile of 1.960, so 6.5 times the interval's width would be the small-sample correction rather than the estimated heterogeneity -- it would describe the critical value rather than where a future study is likely to fall. An interval is shown from k = 4, where that factor drops below two.
| Trial | Analysed treatment / control |
HR (95% CI), or events | Source of this cell |
|---|
Two trials, one registered composite, quoted from each registry record. DAPA-HF and DELIVER both register this three-component endpoint as their primary; the two EMPEROR trials register no urgent-visit endpoint at any rank and cannot join.
In this section: Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio · Forest plot · Risk of bias, both assessors · GOSH · Trial-sequential analysis · Meta-regression · cardiovascular death or hospitalisation for heart failure, first event · Forest plot · Visual abstract · Risk of bias, both assessors · GOSH · Trial-sequential analysis · Meta-regression · Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio · Forest plot · Visual abstract · Risk of bias, both assessors · GOSH · Trial-sequential analysis · Meta-regression
Drawn from the same stored estimates the table above lists. Box area is proportional to inverse-variance weight.
x-axis range
⬇ SVG (vector) 2 KB ⬇ PNG 4500x1090 128 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 35210a9de68d735b), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — forest_fit.eps, 4 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — forest_fit.tiff, 14,370 KB.
⬇ SVG (vector) 2 KB ⬇ PNG 4500x1090 128 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 8ab354066bbaebac), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — forest_w1.eps, 4 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — forest_w1.tiff, 14,370 KB.
⬇ SVG (vector) 2 KB ⬇ PNG 4500x1090 127 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: c5c942ab72fbc99b), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — forest_w2.eps, 4 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — forest_w2.tiff, 14,370 KB.
Changing the range moves the axis window only. The guides stay labelled with the null and the extremes of the plotted intervals, so no plotted value and no printed number differs between these views — and that is checked at build time, not asserted. Ranges not offered because they would crop the data: 0.7 to 1.3.
⬇ SVG (vector) 24 KB
Only the vector format is offered for this figure, by choice: it is line art — discrete marks, glyphs and labels — which SVG reproduces exactly at any size, so a raster would add weight without adding fidelity. The build was able to rasterise; it was asked not to.
Every cell carries BOTH independent cross-family assessments and they are not reconciled: showing one column would be a reconciliation presented as an observation. Glyph as well as colour, so the panel survives greyscale printing and colour-blind reading. A trial with no judgement is shown as a row of not-assessed markers rather than omitted, so a gap in the assessment cannot be mistaken for a clean assessment. Agreement as measured: {'per domain agreed': 28, 'per domain total': 45, 'per domain rate pct': 62.2, 'overall agreed': 0, 'overall total': 9, 'overall is derived': True, 'recomputed from the stored judgements': True, 'why recomputed': 'The stored disagreement tallies were frozen as text and 12 of 22 no longer match the judgements in the object -- a later guidance pass moved 51 the randomisation process judgements and the tallies were never recomputed. This is derived from what the object holds now.'}.
⬇ SVG (vector) 1 KB ⬇ PNG 3500x540 80 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 1ac0f91ef8ab0183), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — gosh.eps, 2 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — gosh.tiff, 5,537 KB.
Deliberately not drawn. Every subset meta-analysis of 4 trials is 15 points; a cloud that small cannot show the multimodality GOSH exists to reveal, and a reader would take the picture as evidence of its absence.
⬇ SVG (vector) 1 KB ⬇ PNG 3500x650 87 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 25ed9800fdf56614), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — tsa.eps, 2 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — tsa.tiff, 6,665 KB.
TSA boundaries depend entirely on a target information size that must be pre-specified. This review's protocol registers none, so any boundary drawn here would be a parameter chosen after seeing the data -- which is the practice TSA exists to protect against.
⬇ SVG (vector) 1 KB ⬇ PNG 3500x540 86 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 0a34e86921018df9), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — bubble.eps, 2 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — bubble.tiff, 5,537 KB.
The protocol pre-specifies no moderator, and at k = 4 a meta-regression would be fitted on 4 points. Not drawn rather than drawn with a caveat: a bubble plot invites reading a slope, and there is no slope here that any reader should read.
Drawn from the same stored estimates the table above lists. Box area is proportional to inverse-variance weight.
x-axis range
⬇ SVG (vector) 1 KB ⬇ PNG 4500x1090 114 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 28f6b85e3e379da1), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — forest_fit.eps, 4 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — forest_fit.tiff, 14,370 KB.
⬇ SVG (vector) 1 KB ⬇ PNG 4500x1090 113 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: efe8625b9f5f3424), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — forest_w1.eps, 4 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — forest_w1.tiff, 14,370 KB.
⬇ SVG (vector) 1 KB ⬇ PNG 4500x1090 112 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 943bd1d278803d78), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — forest_w2.eps, 4 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — forest_w2.tiff, 14,370 KB.
Changing the range moves the axis window only. The guides stay labelled with the null and the extremes of the plotted intervals, so no plotted value and no printed number differs between these views — and that is checked at build time, not asserted. Ranges not offered because they would crop the data: 0.7 to 1.3.
⬇ SVG (vector) 2 KB ⬇ PNG 4500x2100 310 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: ae51d6ba98b48c53), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — visual-abstract.eps, 4 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — visual-abstract.tiff, 27,685 KB.
Projected from the canonical object, so it carries the same k, the same pooled estimate and the same interval as the paper and cannot drift from them. The interval is drawn to scale against the no-difference line, which it EXCLUDES: 0.706 to 0.826, with no difference at 1.
⬇ SVG (vector) 24 KB
Only the vector format is offered for this figure, by choice: it is line art — discrete marks, glyphs and labels — which SVG reproduces exactly at any size, so a raster would add weight without adding fidelity. The build was able to rasterise; it was asked not to.
Every cell carries BOTH independent cross-family assessments and they are not reconciled: showing one column would be a reconciliation presented as an observation. Glyph as well as colour, so the panel survives greyscale printing and colour-blind reading. A trial with no judgement is shown as a row of not-assessed markers rather than omitted, so a gap in the assessment cannot be mistaken for a clean assessment. Agreement as measured: {'per domain agreed': 28, 'per domain total': 45, 'per domain rate pct': 62.2, 'overall agreed': 0, 'overall total': 9, 'overall is derived': True, 'recomputed from the stored judgements': True, 'why recomputed': 'The stored disagreement tallies were frozen as text and 12 of 22 no longer match the judgements in the object -- a later guidance pass moved 51 the randomisation process judgements and the tallies were never recomputed. This is derived from what the object holds now.'}.
⬇ SVG (vector) 1 KB ⬇ PNG 3500x540 80 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: dd33d4f986f7c7c5), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — gosh.eps, 2 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — gosh.tiff, 5,537 KB.
Deliberately not drawn. Every subset meta-analysis of 3 trials is 7 points; a cloud that small cannot show the multimodality GOSH exists to reveal, and a reader would take the picture as evidence of its absence.
⬇ SVG (vector) 1 KB ⬇ PNG 3500x650 87 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 25ed9800fdf56614), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — tsa.eps, 2 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — tsa.tiff, 6,665 KB.
TSA boundaries depend entirely on a target information size that must be pre-specified. This review's protocol registers none, so any boundary drawn here would be a parameter chosen after seeing the data -- which is the practice TSA exists to protect against.
⬇ SVG (vector) 1 KB ⬇ PNG 3500x540 87 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 2316b730fa24744e), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — bubble.eps, 2 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — bubble.tiff, 5,537 KB.
The protocol pre-specifies no moderator, and at k = 3 a meta-regression would be fitted on 3 points. Not drawn rather than drawn with a caveat: a bubble plot invites reading a slope, and there is no slope here that any reader should read.
Drawn from the same stored estimates the table above lists. Box area is proportional to inverse-variance weight.
x-axis range
⬇ SVG (vector) 1 KB ⬇ PNG 4500x920 102 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 64bccce806594e55), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — forest_fit.eps, 3 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — forest_fit.tiff, 12,129 KB.
⬇ SVG (vector) 1 KB ⬇ PNG 4500x920 101 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 8c5e8346a46d3d8a), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — forest_w1.eps, 3 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — forest_w1.tiff, 12,129 KB.
⬇ SVG (vector) 1 KB ⬇ PNG 4500x920 99 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 65859f353b696455), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — forest_w2.eps, 3 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — forest_w2.tiff, 12,129 KB.
Changing the range moves the axis window only. The guides stay labelled with the null and the extremes of the plotted intervals, so no plotted value and no printed number differs between these views — and that is checked at build time, not asserted. Ranges not offered because they would crop the data: 0.7 to 1.3.
⬇ SVG (vector) 2 KB ⬇ PNG 4500x2100 333 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 9fac751146381447), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — visual-abstract.eps, 4 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — visual-abstract.tiff, 27,685 KB.
Projected from the canonical object, so it carries the same k, the same pooled estimate and the same interval as the paper and cannot drift from them. The interval is drawn to scale against the no-difference line, which it EXCLUDES: 0.709 to 0.866, with no difference at 1.
⬇ SVG (vector) 24 KB
Only the vector format is offered for this figure, by choice: it is line art — discrete marks, glyphs and labels — which SVG reproduces exactly at any size, so a raster would add weight without adding fidelity. The build was able to rasterise; it was asked not to.
Every cell carries BOTH independent cross-family assessments and they are not reconciled: showing one column would be a reconciliation presented as an observation. Glyph as well as colour, so the panel survives greyscale printing and colour-blind reading. A trial with no judgement is shown as a row of not-assessed markers rather than omitted, so a gap in the assessment cannot be mistaken for a clean assessment. Agreement as measured: {'per domain agreed': 28, 'per domain total': 45, 'per domain rate pct': 62.2, 'overall agreed': 0, 'overall total': 9, 'overall is derived': True, 'recomputed from the stored judgements': True, 'why recomputed': 'The stored disagreement tallies were frozen as text and 12 of 22 no longer match the judgements in the object -- a later guidance pass moved 51 the randomisation process judgements and the tallies were never recomputed. This is derived from what the object holds now.'}.
⬇ SVG (vector) 1 KB ⬇ PNG 3500x540 81 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 9091822e99aa8781), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — gosh.eps, 2 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — gosh.tiff, 5,537 KB.
Deliberately not drawn. Every subset meta-analysis of 2 trials is 3 points; a cloud that small cannot show the multimodality GOSH exists to reveal, and a reader would take the picture as evidence of its absence.
⬇ SVG (vector) 1 KB ⬇ PNG 3500x650 87 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: 25ed9800fdf56614), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — tsa.eps, 2 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — tsa.tiff, 6,665 KB.
TSA boundaries depend entirely on a target information size that must be pre-specified. This review's protocol registers none, so any boundary drawn here would be a parameter chosen after seeing the data -- which is the practice TSA exists to protect against.
⬇ SVG (vector) 1 KB ⬇ PNG 3500x540 87 KB
All raster formats were generated at build time from the same SVG as the graphic above (SHA-256, first 16 hex characters: e35ec93bbc9a1c10), at 600 dpi for a 6-inch print width, on a white ground.
Submission formats written to the figures directory, not embedded here because an uncompressed 600 dpi TIFF is tens of megabytes: EPS (vector, journal's first choice for line art) — bubble.eps, 2 KB; TIFF (uncompressed, 600 dpi -- journal fallback) — bubble.tiff, 5,537 KB.
The protocol pre-specifies no moderator, and at k = 2 a meta-regression would be fitted on 2 points. Not drawn rather than drawn with a caveat: a bubble plot invites reading a slope, and there is no slope here that any reader should read.
In this section: Summary of findings · Reproducibility artifact · Other recorded qualifications · Judgement register — what a harness cannot derive · Outcome cvdeath_or_whf_first — 2 of 8 declared, 6 of 8 undeclared · Outcome harmonised_cvdeath_or_hhf — 2 of 8 declared, 5 of 8 undeclared · Outcome threecomp_cvdeath_hhf_urgent — 2 of 8 declared, 6 of 8 undeclared · Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio · Certainty of the evidence (GRADE)
| Outcome | k | Pooled effect | Certainty |
|---|---|---|---|
| Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | 4 | not pooled | See comment12 |
| cardiovascular death or hospitalisation for heart failure, first event | 3 | HR 0.764 (0.706 to 0.826) | Pending3 |
| Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | 2 | HR 0.783 (0.709 to 0.866) | Pending3 |
| Canonical object | — |
|---|---|
| Registered at | — — |
| Schema | 2 |
| Object last updated | 2026-08-10 |
| Source object SHA-256, first 16 hex characters | 82dd7a8f0078523c |
| Page generated | 2026-09-01 19:43 UTC |
| Generator build | 1ade5027d, built to STANDARD v1 |
| Statistical engine | metafor 5.0.1 under R 4.6.0, generic inverse variance on the same log point and log standard error this object stores |
This page CANNOT be rebuilt from what is recorded here: no canonical object is recorded and no registered commit is recorded. Each figure on the Analysis tab downloads as an SVG carrying exactly the values shown.
Statements this review records about the limits of what it establishes, which are not shown elsewhere on this page. They are reproduced from the object verbatim and are not summarised.
| Analysed scope | The trial's full analysis set, which equals its randomised total. The registry, the publication and both regulator layers give the same two denominators, so there is no gap between randomised and analysed for this object to reconcile. |
|---|---|
| What the split does not establish | That the two halves agreeing licenses the four-trial pool. It does not. Agreement is not identity of estimand, and a close answer to a different question is the most persuasive kind of wrong. |
| What it does not give | the two-component composite. The harmonised value is in neither abstract. |
| What this does not establish | Not that the original four-trial pool was acceptable -- it combined quantities that were not the same quantity, and that withdrawal stands on this page with its reason. Not that these three trials are free of bias; no risk-of-bias assessment is recorded. Not a result for DELIVER's population, which is absent here. |
| Prediction interval on t k minus 1 | This transcript is quoted verbatim and is not edited. metafor's predict() takes its quantile from the FIT, and a default rma() is test="z", so the pi.lb/pi.ub printed above are normal-quantile bounds. The Handbook interval for the same fit, on t_{k-1}, is given here beside it rather than in place of it. |
| A one of these three trials is not contributing its registered primary | Read this beside the estimate. This outcome is the harmonised two-component composite -- cardiovascular death or hospitalisation for heart failure. That is the registered primary of EMPEROR-Reduced and EMPEROR-Preserved. It is not dapa-hf's: NCT03036124 registers a THREE-component primary that also counts an urgent heart-failure visit. The harmonisation is disclosed in this outcome's own name; what follows from it for risk of bias is recorded per result. |
| B and two of the three do not mask their outcomes assessor | EMPEROR-Reduced and EMPEROR-Preserved register masking as double -- participant and investigator only. Their endpoints are adjudicated, which is the standard mitigation, but no registration states that the adjudicators were blinded. DAPA-HF is quadruple-masked. |
| Why that quantity is never stored as a hazard ratio | It IS labelled a hazard ratio by every layer that reports it, and that is exactly the trap. A recurrent-event analysis counts a participant each time they have an event; a time-to-first analysis counts them once. The two share a name, a scale and a direction, so storing this value in the same field as the four pooled cells would be invisible to a reader and to most software. The detector that guards effect-measure form would not catch it either, because both are hazard ratios. It is stored nowhere in this object except in this sentence. |
| Note on a claim this review inherited | This trial was handed to this object with a recorded cross-layer divergence: a registry value against a published value. Re-reading the staged registry payload shows its primary outcome posts exactly what the publication reports. The pair that was quoted as a divergence belongs to a different outcome on the same record -- a broader secondary composite that also counts heart failure occurring while already hospitalized. The divergence was an artefact of matching a value without its outcome title, and it is recorded here as corrected rather than carried. |
| Why that quantity is never stored as a hazard ratio | It is not stored because of the population, not because of its form. This row says so explicitly because the honest version of this exclusion is uncomfortable: a first-event hazard ratio for this review's exact composite exists for this trial and is quoted above, so a reader cannot be told the quantity was unavailable. The trial is out on who was enrolled. A reader who disagrees with that boundary can see precisely what including it would have added, which is the point of recording the value here. |
| Why that quantity is never stored as a hazard ratio | Its direction of benefit is inverted relative to a hazard ratio, so storing it in a hazard-ratio field would not merely mislabel the quantity, it would reverse the sign of the trial's finding. Its registry record does also post a secondary first-occurrence hazard ratio for cardiovascular death or a heart failure event, and that value is not pooled either, on the population and duration grounds above. |
| Access limitation | The broadest of the three syntheses is staged as its abstract; its full text is not open, and that was established by querying the full-text archive for its identifier rather than assumed from a paywall notice; the same query was run for the third synthesis, with the same answer, and for the second, which IS open and is staged in full. The abstract names all five contributing trials, so the included-study list -- the thing this step needs -- is readable in full. What is not readable is its per-trial rows, which is why no per-trial value is attributed to it anywhere in this object. |
| Review scope | SGLT2 inhibitors in heart failure across the ejection fraction spectrum, five randomised trials, FIXED-EFFECT, with endpoint definitions harmonized by the authors |
| Review scope | dapagliflozin across the range of ejection fraction, a patient-level pooled analysis of the two dapagliflozin trials |
| Review scope | the two reduced-ejection-fraction trials, one at patient level and one at study level, with all-cause death as the primary endpoint |
| Correction 2 what the handbook requires | A mechanism, not a threshold. So the rule's content is compatible: the Handbook leaves the criterion to the review and requires only that one exists and is stated in advance. Design-based eligibility under a PICO-defined population is legitimate. |
| What was not verified | the rule was handed to me citing 'Chapter 3' with the subsection unconfirmed. The subsection is now confirmed as 3.2.1. This verification is a single fetch of the Handbook's own page, quoted rather than paraphrased; it is evidence, not certainty. |
| This sentence has said 43 then 36 then 46 and now 49 | Every one of those was true when written and none was re-derived when the classifier next changed. The number is now reproducible from a command rather than carried in prose: scripts/regate_cascade_2026_08_19.py re-executes the query and re-classifies, and scripts/lint_cascade_arithmetic.py refuses the object if this line stops reconciling with the cascade beside it. |
| Why this is a correction not a relaxation | It moved counts in both directions across the corpus: sglt2-hf +10, bempedoic-acid-review -1. A loosening only ever adds. Four regression guards pin the negative case, including apixaban vs rivaroxaban where both arms are active. |
| K unscreened remainder note | Was 10 after the placebo-discriminator restatement; all 10 screened 2026-08-19, dispositions at screening of remainder.sglt2_newly_unscreened_2026_08_19. Two more arrived on the re-gate of the same day (NCT06434025, NCT07025629) and are screened at screening of remainder.sglt2_regate_2026_08_19. |
| Scope | The counts on this line cover the ten-trial batch only, not the whole remainder, and saying so is the point. The full remainder is 45 = k3 49 - 4 included, and it was screened in four passes that do not share one vocabulary: 32 on two axes (eligibility / poolability, screening of remainder), 1 in the object's native screening.records (empulse NCT04157751), 10 in the THREE-STATE vocabulary below, and 2 on the re-gate (screening of remainder.sglt2_regate_2026_08_19). 32 + 1 + 10 + 2 = 45 reconciles. They are not summed into one tally, because the two-axis pass records eligibility and poolability separately and collapsing it into excluded / ELIGIBLE_NOT_POOLABLE would be a mapping this project invented rather than one it ran. |
| Refusal discharges P46 because | It names what was reached (a PubMed search with its yield, and three syntheses with their estimates), what was found insufficient (no trial count on any of them, so no denominator), and what would have to be obtained (their included sets resolved to registration ids). Re-derive every number here with: python scripts/lint_refusal_citation_resolves.py |
| Two axes because the criteria say two | Eligibility turns on population, intervention and comparator only. It deliberately does not turn on the reported outcome, because making eligibility depend on what a trial reported invites outcome-reporting bias. Poolability is a separate axis under s10.9. A trial can be eligible and contribute to NO pool, and both facts are reported. |
| Two axes because the criteria say two | Eligibility turns on population, intervention and comparator only -- the criteria deliberately exclude the reported outcome, citing Handbook s3.2.4, because making eligibility depend on what a trial reported invites outcome-reporting bias. Poolability is separate under s10.9. |
| And when it does report it still will not pool | Recorded now so it is not mistaken for a trial that will change the answer. Its primary is LVEF by cardiac MRI at 30 days and its two secondaries are myocardial iron content and strain by T2* CMR. NO time-to-first-event outcome at any rank, so s10.9 will not permit combining it with this object's hazard ratios however it reports. n=99. |
| What it would have added if the limb were widened | n=600, PHASE3, recruiting, with all-cause mortality and unscheduled hospitalisation for heart failure among its three co-primaries at one year. It is not this object's estimand -- a time-to-first CV-death-or-worsening-HF composite -- so even under a widened population it would enter on the poolability axis rather than the pool. Stated so a reader can see the cost of the boundary rather than take it on trust. |
| A corpus level k must not be obtained by summing | Measured corpus-wide on 2026-08-19: 259 distinct registration identities across 136 objects, 53 of them shared (20.5%), and the sum of per-topic k is 319 against 259 distinct -- sixty double-counted. This object contributes 2 of that overlap. |
| What is not established | The concealment mechanism is not on the registry and no publication was read. |
| Why this is not an adjudicated dispute | A blind second assessor from a different model family disagreed with this domain on 89% of judgements across 22 topics. That would ordinarily be a dispute to adjudicate. It is not one: the tool's own text names this exact evidential situation -- a bare statement that a study was randomised -- and prescribes the answer. The second assessor is not being deferred to; the guidance is being applied. |
| What the registry gives and does not | A ClinicalTrials.gov design module records `allocation: Randomized`. It carries no sequence-generation method and no allocation-concealment mechanism. The original judgement's own note said so before scoring LOW. |
| How this maps to the tool s algorithm | The tool maps 'No information' on 1.1 and 1.2 with no baseline concern to a domain judgement of some concerns. This project writes no information on the domain when it could not be judged from the sources read, and caps the overall at some concerns. Same place, and it keeps 'we could not judge this' distinguishable from 'we judged it and had concerns'. |
| What does not change | No overall rating and no GRADE CERTAINTY moves. All 51 judgements were already capped at some concerns or HIGH by another no information domain. |
| This does not replace the stored judgement | This is the judgement the published algorithm proposes from the signalling responses named here. It does not replace the stored `judgement` beside it, and nothing reads it yet. The tool itself says its algorithms "provide proposed judgements, but users should verify these and change them if they feel this is appropriate" -- so this is an input to a person, not an output to a reader. |
| Registry facts backfilled | Read from ClinicalTrials.gov API v2 on 2026-08-21. The judgements above were not revisited -- this adds the registry evidence beside a verdict that was made from it and did not record it, so a blind second assessor can be shown the same facts. A second assessment built on fewer facts is not a comparable assessment. |
| Why this is stated rather than left implicit | A rating of some concerns with no explanation reads as a judgement against the trial. Omitting the reason would manufacture a criticism exactly as a low-by-default manufactures a reassurance -- the same defect pointed the other way. |
| The same trial is judged differently in the two pools | DAPA-HF (NCT03036124) contributes to both outcomes on this object. In `threecomp cvdeath hhf urgent` the pooled outcome IS its registered primary and selection of the reported result is LOW. In `harmonised cvdeath or hhf` the pooled outcome is the TWO-component composite, which is not its registered primary -- its primary carries a third component, an urgent heart-failure visit -- and selection of the reported result is some concerns. That is why RoB 2 is assessed per result and not per trial, and it is the clearest example of it in this corpus. |
| The EMPEROR trials do not mask their outcomes assessor | NCT03057977 and NCT03057951 register masking as double -- participant and investigator. Their endpoints are adjudicated, which their registered outcome titles state, but no registration states that the adjudicators were blinded. DAPA-HF and DELIVER are QUADRUPLE-masked and measurement of the outcome is LOW on both. |
| The allow list the rate is conditional on | A disagreement rate is meaningless without the facts both assessors saw, so the list is stated here the way a denominator is stated. Fields emitted: trial, cohort, registered enrolment, registered masking, registered sites, registered comparator, number of registered arms, number of registered primary outcomes, registered primary outcome, registered analysis population, the rank the pooled result holds, the result being assessed, participants this review pools, registered enrolment minus participants pooled. Established by test, not argument: widening this list from 9 fields to 14 halved gepotidacin's disagreement -- its entire selection of the reported result divergence was a fact the second assessor had never been shown -- and left ceftaroline and tigecycline unmoved. |
| And it bounds a finding of ours | Class 94 records assessor 2 saying no information on the randomisation process/deviations from the intended intervention/missing outcome data `100 of 100`. Measured across all 23 topics now stored that is 239 of 243, and all four exceptions are the randomisation process=some concerns on `agyw-hiv-prep-review` and `cab-prep-hiv-review` -- two of the three topics asked under the earlier prompt build, the one whose reply ids are bare NCTs. Under that build it is 4 of 6; under the later build 0 of 75. The 100% was measured on the later build's topics. The two-defaults mechanism stands; its universality does not, and what varies with it is the prompt. |
| The rate is still conditional on the same allow list | Both numbers are conditional on the fact list in THE_ALLOW_LIST_THE_RATE_IS_CONDITIONAL_ON above. Neither is a rate of agreement between assessors in general. |
| What this review does not publish | What this review does not publish. This review also examined one outcome for which no pooled estimate is published: Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio (k=4) -- The four trials do not share one endpoint. Each of those outcomes is recorded on this review with the reason it was not pooled, and none of them contributes to the estimate reported above (0.7636 at k=3, 0.7835 at k=2). A reader meeting the pooled result should not take it as covering every outcome, or every trial, this review examined. This sentence exists because a second, independent reading -- by a different model family, given the object and the abstract and none of our conclusions -- found that a reader would reasonably conclude the review pools all relevant trials, and that the object does not support that. The withdrawals were already recorded beside the outcomes they concern; they were invisible from the abstract, which is where the impression forms. |
| Which risk of bias domains drove the rating | Where a result is rated worse than LOW overall, the domain carrying that judgement is: selection of the reported result on 5 result(s), the randomisation process on 4 result(s), measurement of the outcome on 2 result(s). The overall rating is the worst domain, so these are the domains that determine it. |
Judgements a harness cannot derive, per outcome, with the alternative and its consequence. DERIVED AT BUILD TIME by ssot/topic_judgements.py — this table is not written for this topic and the same code produces it for every topic.
| Judgement | State | Decided | Decided by | Alternative | If the alternative had been taken |
|---|---|---|---|---|---|
QUESTION_PICO | UNDECLARED | NOT DECLARED -- missing axes: population, intervention, comparator, outcome | NOBODY. The review question exists as prose and has never been resolved into axes. | Declare it, axis by axis. | ⛔ WITHOUT IT THE INDIRECTNESS DOMAIN CANNOT BE COMPARED AXIS BY AXIS AT ALL. Prose cannot be compared with prose. Any indirectness rating on this topic is therefore a stored judgement or an absence, never a derivation. |
ELIGIBILITY_RULE | DECLARED | A rule is recorded that names criteria on BOTH the comparator and the outcome. | A HUMAN. The concept block finds the drug; this is the part it cannot express. | Widen or narrow the comparator or outcome criterion. | k would change, and which trials contribute with it. NOT COMPUTED: re-screening is not a store operation. |
COUNT_TIER | UNDECLARED | ONE COUNT BASIS: none recorded | NOT RECORDED on any contributing row. | The other tier, where the trial has one. | NOT COMPUTED -- the store holds only one basis, so the alternative cannot be evaluated without going back to the sources. |
INDIRECTNESS | UNDECLARED | NO STORED JUDGEMENT AND NO DECLARED question_pico. | NOBODY. The domain cannot be derived without both PICOs and it has not been judged by hand either. | Declare question_pico, or judge the domain explicitly. | ⛔ Until one of the two happens the domain is neither rated nor refused -- it is simply missing, which reads to a reader as no concern. |
ESTIMAND | DECLARED | ⚠️ CONTRIBUTING TRIALS REPORT 4 DIFFERENT PRIMARY TIME FRAMES: From randomisation until completion of the planned treatment period, up to 1040 days. | From randomization until completion of the planned treatment phase, up to 1403 days. | Up to 27.8 months. | Up to 42.1 months. The pool combines them on one scale. | A HUMAN, and often as a SIDE EFFECT of the count tier rather than as its own decision -- a registry reports participants and so forces a risk ratio; a publication reports person-years and so forces a rate ratio. Choosing the document chose the measure. | Pool on person-time instead, which is estimand-consistent under unequal follow-up. | NOT COMPUTED -- person-time denominators are not in this store. Where a topic holds them the alternative is one line. |
IMPRECISION_THRESHOLD | UNDECLARED | NO THRESHOLD DECLARED. | ⚠️ NOBODY. The engine falls back to the Handbook rough guide of 0.75 to 1.25 -- which means the most consequential line on the page is drawn by a default rather than by a clinical judgement. | Declare one, justified from ABSOLUTE effect rather than from the ratio. | The imprecision domain would rest on a stated, arguable line instead of an unexamined default. |
HARMS_POOLING | UNDECLARED | NO HARMS OUTCOME IS HELD. | NOBODY -- the review carries benefit only. | Extract harms. | ⛔ OUTCOME SCOPE IS BENEFIT-ONLY. A reader cannot weigh anything against anything. |
INDEX_ENTRY | UNDECLARED | The object does not carry the sentence the portfolio index shows. | ⚠️ A HUMAN, IN THE INDEX GENERATOR, WITH NO LINK BACK. project_index_cards.py projects the numbers and states that the prose is authored, so the tile's name for this review lives only in the index and nothing reconciles the two. | Store the tile sentence on the object and project it. | ⛔ Until then a re-pointed object updates its NUMBER on the index and keeps its old NAME. Measured 2026-08-30: 1 of 44 mapped index entries names trials the object has never heard of, and the number beside it was correct. See scripts/audit_index_identity_drift.py. |
A topic costs 2 declared judgements on this outcome, not four hundred. That is a stronger claim than "automated", because a reader can check a declared judgement and cannot check an inferred one.
⚠️ It does not make the judgements right, and it does not prove the SLOT LIST is complete -- the list is bounded by what its author enumerated. The honest form is "8 slots checked", never "8 judgements exist".
| Judgement | State | Decided | Decided by | Alternative | If the alternative had been taken |
|---|---|---|---|---|---|
QUESTION_PICO | UNDECLARED | NOT DECLARED -- missing axes: population, intervention, comparator, outcome | NOBODY. The review question exists as prose and has never been resolved into axes. | Declare it, axis by axis. | ⛔ WITHOUT IT THE INDIRECTNESS DOMAIN CANNOT BE COMPARED AXIS BY AXIS AT ALL. Prose cannot be compared with prose. Any indirectness rating on this topic is therefore a stored judgement or an absence, never a derivation. |
ELIGIBILITY_RULE | DECLARED | A rule is recorded that names criteria on BOTH the comparator and the outcome. | A HUMAN. The concept block finds the drug; this is the part it cannot express. | Widen or narrow the comparator or outcome criterion. | k would change, and which trials contribute with it. NOT COMPUTED: re-screening is not a store operation. |
COUNT_TIER | NOT_APPLICABLE | ONE COUNT BASIS: registry | Recorded per trial. | The other tier, where the trial has one. | NOT COMPUTED -- the store holds only one basis, so the alternative cannot be evaluated without going back to the sources. |
INDIRECTNESS | UNDECLARED | NO STORED JUDGEMENT AND NO DECLARED question_pico. | NOBODY. The domain cannot be derived without both PICOs and it has not been judged by hand either. | Declare question_pico, or judge the domain explicitly. | ⛔ Until one of the two happens the domain is neither rated nor refused -- it is simply missing, which reads to a reader as no concern. |
ESTIMAND | DECLARED | ⚠️ CONTRIBUTING TRIALS REPORT 4 DIFFERENT PRIMARY TIME FRAMES: From randomisation until completion of the planned treatment period, up to 1040 days. | From randomization until completion of the planned treatment phase, up to 1403 days. | Up to 27.8 months. | Up to 42.1 months. The pool combines them on one scale. | A HUMAN, and often as a SIDE EFFECT of the count tier rather than as its own decision -- a registry reports participants and so forces a risk ratio; a publication reports person-years and so forces a rate ratio. Choosing the document chose the measure. | Pool on person-time instead, which is estimand-consistent under unequal follow-up. | NOT COMPUTED -- person-time denominators are not in this store. Where a topic holds them the alternative is one line. |
IMPRECISION_THRESHOLD | UNDECLARED | NO THRESHOLD DECLARED. | ⚠️ NOBODY. The engine falls back to the Handbook rough guide of 0.75 to 1.25 -- which means the most consequential line on the page is drawn by a default rather than by a clinical judgement. | Declare one, justified from ABSOLUTE effect rather than from the ratio. | The imprecision domain would rest on a stated, arguable line instead of an unexamined default. |
HARMS_POOLING | UNDECLARED | NO HARMS OUTCOME IS HELD. | NOBODY -- the review carries benefit only. | Extract harms. | ⛔ OUTCOME SCOPE IS BENEFIT-ONLY. A reader cannot weigh anything against anything. |
INDEX_ENTRY | UNDECLARED | The object does not carry the sentence the portfolio index shows. | ⚠️ A HUMAN, IN THE INDEX GENERATOR, WITH NO LINK BACK. project_index_cards.py projects the numbers and states that the prose is authored, so the tile's name for this review lives only in the index and nothing reconciles the two. | Store the tile sentence on the object and project it. | ⛔ Until then a re-pointed object updates its NUMBER on the index and keeps its old NAME. Measured 2026-08-30: 1 of 44 mapped index entries names trials the object has never heard of, and the number beside it was correct. See scripts/audit_index_identity_drift.py. |
A topic costs 2 declared judgements on this outcome, not four hundred. That is a stronger claim than "automated", because a reader can check a declared judgement and cannot check an inferred one.
⚠️ It does not make the judgements right, and it does not prove the SLOT LIST is complete -- the list is bounded by what its author enumerated. The honest form is "8 slots checked", never "8 judgements exist".
| Judgement | State | Decided | Decided by | Alternative | If the alternative had been taken |
|---|---|---|---|---|---|
QUESTION_PICO | UNDECLARED | NOT DECLARED -- missing axes: population, intervention, comparator, outcome | NOBODY. The review question exists as prose and has never been resolved into axes. | Declare it, axis by axis. | ⛔ WITHOUT IT THE INDIRECTNESS DOMAIN CANNOT BE COMPARED AXIS BY AXIS AT ALL. Prose cannot be compared with prose. Any indirectness rating on this topic is therefore a stored judgement or an absence, never a derivation. |
ELIGIBILITY_RULE | DECLARED | A rule is recorded that names criteria on BOTH the comparator and the outcome. | A HUMAN. The concept block finds the drug; this is the part it cannot express. | Widen or narrow the comparator or outcome criterion. | k would change, and which trials contribute with it. NOT COMPUTED: re-screening is not a store operation. |
COUNT_TIER | UNDECLARED | ONE COUNT BASIS: none recorded | NOT RECORDED on any contributing row. | The other tier, where the trial has one. | NOT COMPUTED -- the store holds only one basis, so the alternative cannot be evaluated without going back to the sources. |
INDIRECTNESS | UNDECLARED | NO STORED JUDGEMENT AND NO DECLARED question_pico. | NOBODY. The domain cannot be derived without both PICOs and it has not been judged by hand either. | Declare question_pico, or judge the domain explicitly. | ⛔ Until one of the two happens the domain is neither rated nor refused -- it is simply missing, which reads to a reader as no concern. |
ESTIMAND | DECLARED | ⚠️ CONTRIBUTING TRIALS REPORT 4 DIFFERENT PRIMARY TIME FRAMES: From randomisation until completion of the planned treatment period, up to 1040 days. | From randomization until completion of the planned treatment phase, up to 1403 days. | Up to 27.8 months. | Up to 42.1 months. The pool combines them on one scale. | A HUMAN, and often as a SIDE EFFECT of the count tier rather than as its own decision -- a registry reports participants and so forces a risk ratio; a publication reports person-years and so forces a rate ratio. Choosing the document chose the measure. | Pool on person-time instead, which is estimand-consistent under unequal follow-up. | NOT COMPUTED -- person-time denominators are not in this store. Where a topic holds them the alternative is one line. |
IMPRECISION_THRESHOLD | UNDECLARED | NO THRESHOLD DECLARED. | ⚠️ NOBODY. The engine falls back to the Handbook rough guide of 0.75 to 1.25 -- which means the most consequential line on the page is drawn by a default rather than by a clinical judgement. | Declare one, justified from ABSOLUTE effect rather than from the ratio. | The imprecision domain would rest on a stated, arguable line instead of an unexamined default. |
HARMS_POOLING | UNDECLARED | NO HARMS OUTCOME IS HELD. | NOBODY -- the review carries benefit only. | Extract harms. | ⛔ OUTCOME SCOPE IS BENEFIT-ONLY. A reader cannot weigh anything against anything. |
INDEX_ENTRY | UNDECLARED | The object does not carry the sentence the portfolio index shows. | ⚠️ A HUMAN, IN THE INDEX GENERATOR, WITH NO LINK BACK. project_index_cards.py projects the numbers and states that the prose is authored, so the tile's name for this review lives only in the index and nothing reconciles the two. | Store the tile sentence on the object and project it. | ⛔ Until then a re-pointed object updates its NUMBER on the index and keeps its old NAME. Measured 2026-08-30: 1 of 44 mapped index entries names trials the object has never heard of, and the number beside it was correct. See scripts/audit_index_identity_drift.py. |
A topic costs 2 declared judgements on this outcome, not four hundred. That is a stronger claim than "automated", because a reader can check a declared judgement and cannot check an inferred one.
⚠️ It does not make the judgements right, and it does not prove the SLOT LIST is complete -- the list is bounded by what its author enumerated. The honest form is "8 slots checked", never "8 judgements exist".
Certainty: See comment
Started at high — every contributing study is a randomised controlled trial.
The stored derivation of this rating is not shown, because it ends in the level this review is withholding. It is held with the assessment and will be published with the adjudicated rating.
| Domain | Rating | Why it was rated that way |
|---|---|---|
| Risk of bias | not serious | Every contributing trial is double-blind, randomised one to one against a matching placebo, prospectively registered, and posts results to its registry; the components of the composite are adjudicated by a central committee in each. This object holds each trial's registry record, its primary publication and two regulator documents, and the effect estimate agrees across all four layers on all four trials, which is a check on reporting rather than on conduct but is the check available. The endpoint pooled here is each trial's own primary, so none of the selective-reporting exposure that a secondary endpoint carries applies. No trial in this pool stopped early for benefit. Not downgraded. |
| Inconsistency | not serious | — |
| Indirectness | not serious | Population, intervention and comparator are all direct: adults with chronic heart failure, an SGLT2 inhibitor at its approved heart failure dose, against placebo on top of background therapy, with the outcome measured in the trials themselves and not surrogated. The one candidate for indirectness is the outcome, because two trials count an urgent heart failure visit within the composite and two do not. It is not downgraded, and the reasoning is stated rather than assumed: the extra component is a worsening-heart-failure event of the same clinical kind as the other two, it is the minority of events in both trials that count it, and the regulator layers report those trials' composites decomposed so the size of that minority is visible rather than inferred. A reader who wants the strictly harmonized composite instead has it in the reconciliation block, from syntheses that computed it, and this object does not pretend the two are the same quantity. |
| Imprecision | not serious | — |
| Publication bias | not assessable | — |
In this section: Paper · Title · Abstract · Introduction · Methods — search · Methods — eligibility criteria · Methods — how many studies at each stage · Methods — outcomes sought at every registered rank · Methods — synthesis · Results · Risk of bias in the included results · Certainty of the evidence · Limitations · Data availability · Software availability · Note on registration · References · Figures · Trial characteristics · Submission conformance · Not reported in this record
Each statement below cites the record it came from; those sources are listed at the end of every section. Where the record holds nothing, the section says so by name rather than being left out, so a procedure that was not carried out can be told from one that simply was never mentioned.
SGLT2 inhibitors against placebo in chronic heart failure across the ejection fraction spectrum: the four randomised outcome trials that report cardiovascular death or a worsening heart failure event as a time-to-first hazard ratio1
titleQuestion. In adults with chronic heart failure, what is the hazard of a first cardiovascular death or worsening heart failure event with an SGLT2 inhibitor compared with placebo added to background therapy?1
Methods. ClinicalTrials.gov API v2 and PubMed (ncbi e-utilities esearch) were searched; estimates were pooled under a random-effects model with the REML estimator; risk of bias was assessed with RoB 2 (Cochrane risk-of-bias tool for randomized trials); and certainty was rated with GRADE.2
Results. Cardiovascular death or hospitalisation for heart failure, first event: hazard ratio 0.764 (0.706 to 0.826) across 3 trials; Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio: 0.783 (0.709 to 0.866) across 2 trials; 1 of these pooled outcome(s) carries a stated qualification -- a referral or a recorded finding -- given in full in Results and not reproduced here; and no statistical heterogeneity was detected (I-squared 0%).3
questionsearch.databases, screening.eligibility, results.by_outcome, risk_of_bias.by_outcome, grade.by_outcomeresults.by_outcome1Background. This review asks: In adults with chronic heart failure, what is the hazard of a first cardiovascular death or worsening heart failure event with an SGLT2 inhibitor compared with placebo added to background therapy? It includes 4 randomised trials, against placebo added to background heart failure therapy. The pooled outcomes are cardiovascular death or hospitalisation for heart failure, first event; and Cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio. The broader cardiovascular-death-or-worsening-heart-failure outcome is examined but not pooled, because the four trials do not share one endpoint.
manuscript.introductionSearches were executed in ClinicalTrials.gov API v2 -- query 1, narrower, and it missed an included trial on 2026-08-19 with the query, verbatim: condition="chronic heart failure"; intervention="dapagliflozin OR empagliflozin OR sotagliflozin OR canagliflozin OR ertugliflozin"; study_type=interventional; phase=[PHASE3,PHASE4]; page_size=60. It returned 23 record(s). This query did not surface NCT03619213 (deliver), which is one of this object's own included trials. Deliver registers its condition as 'Heart Failure With Preserved Ejection Fraction' -- no 'chronic' -- while DAPA-HF registers 'Chronic Heart Failure With Reduced Ejection Fraction'. A condition term one word narrower than the registry's own wording dropped an included trial. Recorded rather than replaced: a search that missed something is evidence about the search.1
Searches were executed in ClinicalTrials.gov API v2 -- query 2, broader, covers the included set on 2026-08-19 with the query, verbatim: condition="heart failure"; intervention="dapagliflozin OR empagliflozin OR sotagliflozin OR canagliflozin OR ertugliflozin"; study_type=interventional; phase=[PHASE3]; page_size=100. It returned 56 record(s).2
Searches were executed in PubMed (ncbi e-utilities esearch) on 2026-08-19 with the query, verbatim: (dapagliflozin[tiab] OR empagliflozin[tiab] OR sotagliflozin[tiab] OR "SGLT2 inhibitor"[tiab] OR "sodium-glucose cotransporter 2"[tiab]) and ("heart failure"[tiab] OR HFrEF[tiab] OR HFpEF[tiab]) and (randomized controlled trial[pt] OR randomised[tiab] OR randomized[tiab]). It returned 50 record(s).3
search.databases[0]search.databases[1]search.databases[2]Eligibility turns on population, intervention and comparator: a trial is in scope if it randomised adults with chronic heart failure to an SGLT2 inhibitor against placebo on top of background therapy. It does not turn on which analysis the trial reported, because section 3.2.4 cautions that making eligibility depend on reported outcomes invites outcome reporting bias. What the measure governs is pooling, under section 10.9: only a time-to-first-event hazard ratio can be combined with the others. Each row below therefore carries two separate columns -- the eligibility axis it fails, and, where it applies, the reason its quantity could not have been pooled even had it been eligible. Every screened trial appears with the quantity it reports quoted, whichever column it fell in.1
Each criterion above is recorded with the source it was derived from in `screening.eligibility_provenance`; none is asserted here without one.2
screening.eligibilityscreening.eligibility_provenanceThe PRISMA 2020 flow counts are held for this review and reconcile with the executed searches above; they are set out in the flow figure and its accompanying counts.1
The unscreened remainder is 0.2
| Stage | Records |
|---|---|
| Records surfaced by the executed searches | 56 |
| Records where the topic drug's role in the trial could be located | 56 |
| Records where the topic drug is the randomised intervention | 49 |
| Records where the topic drug is the comparator instead | 1 |
| Records where the topic drug is background therapy in both arms | 6 |
| Records where the role could not be decided either way | 0 |
| Trials included in this review | 4 |
| Surfaced records not yet screened | 0 |
| Earlier value of the intervention count, before correction | 43 |
prisma_flowk_cascade.k_unscreened_remainderk_cascadeBefore deciding which outcomes could be combined, every trial was read at every registered rank -- primary, secondary and other -- asking: does each trial report, at any rank -- primary, secondary or other -- an outcome matching what the others report, before any decision about which pools are possible? Reading only primaries would have shown DAPA-HF reporting a THREE-component endpoint and EMPEROR reporting a TWO-component one, and concluded they share nothing. DAPA-HF's two-component composite is at secondary rank. Asked at the primary alone, pool A does not exist.1
withholding_question.question, withholding_question.why_before_decidingFor cardiovascular death or hospitalisation for heart failure, first event, a random-effects model was fitted with the REML estimator.1
For cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio, a random-effects model was fitted with the REML estimator.2
Intervals are 95% confidence intervals.3
Methodological decisions follow Higgins JPT, Thomas J, Chandler J, Cumpston M, Li T, Page MJ, et al (editors). Cochrane Handbook for Systematic Reviews of Interventions version 6.5.1. Cochrane, 2025., version 6.5.1, and the sections relied on are listed in the object rather than cited generically.4
Risk of bias was assessed with RoB 2 (Cochrane risk-of-bias tool for randomized trials) (22 August 2019 version, as reproduced in the Cochrane Handbook), following Higgins JPT, Savovic J, Page MJ, Elbers RG, Sterne JAC. Chapter 8: Assessing risk of bias in a randomized trial. In: Cochrane Handbook for Systematic Reviews of Interventions version 6.5.1. A result, not a study -- Handbook 8.2: 'risk of bias is assessed for a specific result'. Every judgement below names its outcome. 9 result-level assessments were made. A domain that cannot be judged from the registration and the published report is no information, never LOW. Low-by-default asserts a fact; high-by-default invents a defect.5
A ceiling applies to every risk-of-bias judgement in this review; it is stated with the assessment itself rather than summarised here.6
Certainty of evidence was rated with GRADE, following Cochrane Handbook for Systematic Reviews of Interventions version 6.5.1, Chapter 14: Completing 'Summary of findings' tables and grading the certainty of the evidence. HIGH for a body of randomised evidence, then rated down with reasons. 2 pooled outcome(s) were rated. No domain is rated UP. Rating up for large effect or dose-response applies to observational evidence that has not already been rated down, and neither condition holds here. 1 outcome(s) were not rated because their pool is declined or withdrawn: there is no effect estimate to rate the certainty of, and rating one would be certainty about a number this review refused to publish.7
results.by_outcome.harmonised_cvdeath_or_hhf.model, results.by_outcome.harmonised_cvdeath_or_hhf.estimator_usedresults.by_outcome.threecomp_cvdeath_hhf_urgent.model, results.by_outcome.threecomp_cvdeath_hhf_urgent.estimator_usedconfig.confidence_levelmethodological_authority.referencerisk_of_bias.tool, risk_of_bias.by_outcomerisk_of_bias.ceilinggrade.approach, grade.by_outcomeThe pooled hazard ratio for cardiovascular death or hospitalisation for heart failure, first event was 0.764 (0.706 to 0.826, 95% interval) across 3 trials, against placebo.1
Noted on this pool. Read this beside the estimate. This outcome is the harmonised two-component composite -- cardiovascular death or hospitalisation for heart failure. That is the registered primary of EMPEROR-Reduced and EMPEROR-Preserved. It is not dapa-hf's: NCT03036124 registers a THREE-component primary that also counts an urgent heart-failure visit. The harmonisation is disclosed in this outcome's own name; what follows from it for risk of bias is recorded per result. EMPEROR-Reduced and EMPEROR-Preserved register masking as double -- participant and investigator only. Their endpoints are adjudicated, which is the standard mitigation, but no registration states that the adjudicators were blinded. DAPA-HF is quadruple-masked.2
The trials' results were closely consistent with one another: I-squared, the share of the variation between them that is more than chance alone would produce, was 0%; the estimated variance of the true effects between trials (tau-squared) was 0, the heterogeneity test statistic Q was 0.384, on degrees of freedom 2.3
Deliver (NCT03619213) does not post the first-event two-component outcome. Its registry secondaries are RECURRENT-EVENT composites (HR 0.77), which is a different quantity again. Its harmonised value exists in the publication, not the registration. A k=3 pool we can fully vouch for beats A k=4 with one input we cannot -- the same call made for INCRETIN_HFpEF.4
The original withdrawal was disproportionate and this page says so. The four trials genuinely do not share a primary endpoint -- DAPA-HF and deliver count an urgent heart-failure visit that the EMPEROR trials do not -- and that observation was correct. The remedy was not. A harmonised two-component endpoint was available: it is the EMPEROR trials' own primary, and DAPA-HF posts it as a secondary in the same registration we had already read. We withheld an estimate a reader needed and the data to give it was one rank down.5
What this does not establish: Not that the original four-trial pool was acceptable -- it combined quantities that were not the same quantity, and that withdrawal stands on this page with its reason. Not that these three trials are free of bias; no risk-of-bias assessment is recorded. Not a result for deliver's population, which is absent here.6
The pooled hazard ratio for cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first was 0.783 (0.709 to 0.866, 95% interval) across 2 trials, against placebo.7
The trials' results were closely consistent with one another: I-squared, the share of the variation between them that is more than chance alone would produce, was 22.5%; the estimated variance of the true effects between trials (tau-squared) was 0.0012, the heterogeneity test statistic Q was 1.29, on degrees of freedom 1.8
The grounds for pooling are recorded as: Both trials register this same three-component composite as their primary endpoint. One endpoint definition, one question. Where a later pool on this page rests on the same grounds, they are not restated.9
This does not supersede the two-component pool and is not superseded by it. They estimate the effect on different composite endpoints. The k=4 pool that mixed the two definitions remains withdrawn.10
Cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio. These 4 trials are not pooled, and the reason is stated rather than the outcome being quietly omitted: The four trials do not share one endpoint. DAPA-HF and deliver count cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit; emperor-Reduced and EMPEROR-Preserved count cardiovascular death or hospitalisation for heart failure only. Two trials count an event class the other two do not, so this pool combined quantities that are not the same quantity. Verified word for word against each trial's registry entry rather than assumed.11
The full model output for every pooled outcome -- the call, the estimator, the heterogeneity statistics and the back-transformed interval -- is stored verbatim on this review object at `results.by_outcome.<outcome>.r_output.verbatim`. It is not reproduced as an Extended data section in this article; an earlier version of this sentence said it was, and no such section exists.12
outcomes[id=harmonised_cvdeath_or_hhf].name, results.by_outcome.harmonised_cvdeath_or_hhf.pooled, config.confidence_level, outcomes[id=harmonised_cvdeath_or_hhf].comparatorresults.by_outcome.harmonised_cvdeath_or_hhf.POOL_FINDINGS_2026_08_21results.by_outcome.harmonised_cvdeath_or_hhf.heterogeneity.i2, results.by_outcome.harmonised_cvdeath_or_hhf.heterogeneity.tau2, results.by_outcome.harmonised_cvdeath_or_hhf.heterogeneity.q, results.by_outcome.harmonised_cvdeath_or_hhf.heterogeneity.dfresults.by_outcome.harmonised_cvdeath_or_hhf.why_k_equals_3_and_not_4results.by_outcome.harmonised_cvdeath_or_hhf.WHY_THIS_REPLACES_A_WITHDRAWALresults.by_outcome.harmonised_cvdeath_or_hhf.what_this_does_not_establishoutcomes[id=threecomp_cvdeath_hhf_urgent].name, results.by_outcome.threecomp_cvdeath_hhf_urgent.pooled, config.confidence_level, outcomes[id=threecomp_cvdeath_hhf_urgent].comparatorresults.by_outcome.threecomp_cvdeath_hhf_urgent.heterogeneity.i2, results.by_outcome.threecomp_cvdeath_hhf_urgent.heterogeneity.tau2, results.by_outcome.threecomp_cvdeath_hhf_urgent.heterogeneity.q, results.by_outcome.threecomp_cvdeath_hhf_urgent.heterogeneity.dfresults.by_outcome.threecomp_cvdeath_hhf_urgent.poolable_reasonresults.by_outcome.threecomp_cvdeath_hhf_urgent.relationship_to_the_other_poolsoutcomes[id=cvdeath_or_whf_first].name, results.by_outcome.cvdeath_or_whf_first.pooled.withdrawn_reasonresults.by_outcomeRisk of bias was assessed with RoB 2 at the level of each reported result, by two assessors reading independently. Their judgements differ on 9 of the 9 results and no adjudication has been performed, so this review holds no final risk-of-bias judgement for these results. Assessor 1 recorded: 9 at some concerns. Assessor 2 recorded: 9 at no information. Both are shown in the risk-of-bias table; neither is the review's finding. The per-domain judgements behind them are recorded with the extracted data.1
risk_of_bias.SECOND_ASSESSOR_2026_08_21.DISAGREEMENT_RATE, risk_of_bias.SECOND_ASSESSOR_2026_08_21.PER_DOMAIN, risk_of_bias.SECOND_ASSESSOR_2026_08_21.RECOUNTED_AFTER_THE_D1_RESOLUTION_2026_08_21, risk_of_bias.SECOND_ASSESSOR_2026_08_21.assessor_1, risk_of_bias.SECOND_ASSESSOR_2026_08_21.each_disagreement, risk_of_bias.SECOND_ASSESSOR_2026_08_21.how_it_was_asked, risk_of_bias.ceiling.statement, risk_of_bias.default_rule, risk_of_bias.toolCertainty was rated with GRADE. HIGH for a body of randomised evidence, then rated down with reasons.1
No domain is rated UP. Rating up for large effect or dose-response applies to observational evidence that has not already been rated down, and neither condition holds here.2
This certainty rating is pending, not rated. It rests on a risk-of-bias judgement that this review has not finalised: two assessors read every contributing result independently, they disagree, and no adjudication has been performed, so this review holds no final risk-of-bias judgement for these results. Cochrane rates certainty per outcome by aggregating the risk-of-bias judgements of the results contributing to it, so a certainty rating cannot be more final than the risk-of-bias assessment it reads. The rating this object currently records, and the steps behind it, are shown below as the work so far rather than as this review's answer. No level is published for this outcome -- not the recorded one, not a more cautious one, and not a midpoint -- because choosing one would be the judgement that has not been made.3
risk_of_bias -1 inconsistency +0 indirectness +0 imprecision -1 publication bias +04
risk_of_bias -1 inconsistency +0 indirectness +0 imprecision -1 publication bias +05
Where a result is rated worse than LOW overall, the domain carrying that judgement is: selection of the reported result on 5 result(s), the randomisation process on 4 result(s), measurement of the outcome on 2 result(s). The overall rating is the worst domain, so these are the domains that determine it.6
| Outcome | Certainty | k | Started at | Rating steps |
|---|---|---|---|---|
| cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | See comment | 4 | no downgrade recorded | |
| cardiovascular death or hospitalisation for heart failure, first event | Pending | 3 | HIGH | the steps taken so far, not a final rating: risk of bias: HIGH to MODERATE, down 1 level(s) -- Result-level RoB 2 assessments are recorded for this outcome, and their overall judgements are not low risk of bias. Rated down one level because some concerns is not low.; inconsistency: not rated down -- I-squared 0% over k = 3: not rated down. A LOW i-squared does not show the trials measure the same thing (P36, measured in both directions in one night); coherence is established by reading the definitions, which is done under indirectness.; indirectness: not rated down -- The contributing results share one endpoint definition, verified by reading each trial's registered text rather than by comparing names. The object records what this does not establish: Not that the original four-trial pool was acceptable -- it combined quantities that were not the same quantity, and that withdrawal stands on this page with its reason. Not that these three trials are free of bias; no ri; imprecision: MODERATE to LOW, down 1 level(s) -- k = 3. The interval (0.7062 to 0.8258) does not cross the null, but at k = 3 tau-squared is estimated from almost no information and a random-effects interval is optimistic even when it looks tight. Rated down for a small contributing set rather than reporting the number as if it were robust.; publication bias: not rated down -- k = 3. A funnel plot and Egger's test have no power below k = 10, so publication bias is undetected rather than ABSENT. Not rated down, and not reported as clean: an unreachable state is not a passing one. |
| cardiovascular death, hospitalisation for heart failure, or an urgent heart-failure visit, whichever comes first, as a hazard ratio | Pending | 2 | HIGH | the steps taken so far, not a final rating: risk of bias: HIGH to MODERATE, down 1 level(s) -- Result-level RoB 2 assessments are recorded for this outcome, and their overall judgements are not low risk of bias. Rated down one level because some concerns is not low.; inconsistency: not rated down -- I-squared 22.51% over k = 2: not rated down. A LOW i-squared does not show the trials measure the same thing (P36, measured in both directions in one night); coherence is established by reading the definitions, which is done under indirectness.; indirectness: not rated down -- The contributing results share one endpoint definition, verified by reading each trial's registered text rather than by comparing names. The object records what this does not establish: This does not supersede the two-component pool and is not superseded by it. They estimate the effect on different composite endpoints. The k=4 pool that mixed the two definitions remains withdrawn.; imprecision: MODERATE to LOW, down 1 level(s) -- k = 2. The interval (0.709 to 0.8659) does not cross the null, but at k = 2 tau-squared is estimated from almost no information and a random-effects interval is optimistic even when it looks tight. Rated down for a small contributing set rather than reporting the number as if it were robust.; publication bias: not rated down -- k = 2. A funnel plot and Egger's test have no power below k = 10, so publication bias is undetected rather than ABSENT. Not rated down, and not reported as clean: an unreachable state is not a passing one. |
grade.approachgrade.not_rated_uprisk_of_bias.by_outcomegrade.by_outcome.harmonised_cvdeath_or_hhf.summarygrade.by_outcome.threecomp_cvdeath_hhf_urgent.summarybookkeeping_2026_08_21.which_risk_of_bias_domains_drove_the_ratinggrade.by_outcome.cvdeath_or_whf_first, grade.by_outcome.harmonised_cvdeath_or_hhf, grade.by_outcome.threecomp_cvdeath_hhf_urgentKnown limitation of the screen: No fresh systematic database search was run for this object, and nothing here should be read as though one had been. The completeness claim rests on reconciliation against three independent published syntheses whose included-study lists are read rather than counted, plus the registry layer. A trial that all three syntheses missed and that no staged registry record names would be missed here too. That is a real and stated limit on the search, and it is the reason the completeness statement below is scoped to what was reconciled against rather than to the literature as a whole.1
Eligible trials that do not contribute: No trial is in this category. Every trial meeting the population, the comparator and the measure contributes; every trial failing one of the three is in the screening log with the criterion it fails. This field is present and empty rather than absent, so a reader can tell the category was considered.2
This review does not claim no internal check is described as independent verification. A script that reads this object and reports that this object is consistent has confirmed consistency and nothing else, and a badge that cannot fail is worth less than no badge, because it teaches a reader to stop looking. The validator finding no defect is reported as exactly that.3
4 claim(s) previously made about this review were corrected and the corrections are retained on the object rather than overwritten.4
What this review does not give a clinician: any absolute effect or number needed to treat and any measure of harm. A relative effect cannot be turned into the benefit or the risk facing one patient without them, so this review can support a judgement about what these trials found and not a judgement about what to do.5
screening.known_limitationeligible_but_not_contributing.noteverification_basis.what_is_not_claimedclaims_correctedresults.by_outcomeEvery trial in this review is keyed to a registration identifier, verified by live fetch of the raw ClinicalTrials.gov v2 record and comparison of the returned nctId against the id stored on this object on 2026-08-19.1
The underlying records are the 16 source(s) listed under References; each names the layer it was read at, so a reader can tell a registry record from a published report.2
| Registration | Verified | Link |
|---|---|---|
| NCT03036124 | True | https://clinicaltrials.gov/study/NCT03036124 |
| NCT03057977 | True | https://clinicaltrials.gov/study/NCT03057977 |
| NCT03057951 | True | https://clinicaltrials.gov/study/NCT03057951 |
| NCT03619213 | True | https://clinicaltrials.gov/study/NCT03619213 |
registration_identity.methodsourcesregistration_identity.trialsAnalyses were computed under R version 4.6.0 (2026-04-24 ucrt); metafor 5.0.1.1
Intervals are reported at the 95% level.2
results.by_outcomeconfig.confidence_levelProtocol status. Prespecified: False. A protocol specified before data collection is a historical fact about the past and cannot be created retrospectively. Writing one now and calling it prespecified would invalidate every other refusal on these pages, because a reader who caught it would be right to disbelieve all of them.1
Eligibility criteria were derived post hoc from the trials and the methodological authority, and the derivation is recorded element by element in `screening.eligibility_provenance` with the source of each.2
Authority: Mecir R107 permits post-hoc eligibility criteria provided they are declared as such. They are declared, here and on the page, and the page says 'derived, post hoc' in its heading.3
No PROSPERO registration or protocol record is held on this object. That is not the same as knowing this review was not registered, and neither claim is made. It is recorded here as an absence so that a reader does not have to infer it from silence.4
protocolprotocol.what_was_actually_doneprotocol.authority_permitting_itbookkeeping_2026_08_21.whether_this_review_was_prospectively_registered| Trial | Registration | Registry | Read |
|---|---|---|---|
| NCT03036124 | ClinicalTrials.gov | ||
| NCT03057951 | ClinicalTrials.gov | ||
| NCT03057977 | ClinicalTrials.gov | ||
| NCT03619213 | ClinicalTrials.gov |
| Cited for | Reference |
|---|---|
| risk of bias in the included results | Sterne JAC, Savovic J, Page MJ, et al. RoB 2: a revised tool for assessing risk of bias in randomised trials. BMJ. 2019;366:l4898. doi:10.1136/bmj.l4898 |
| certainty of the evidence | Schunemann HJ, Higgins JPT, Vist GE, et al. Chapter 14: Completing 'Summary of findings' tables and grading the certainty of the evidence. In: Cochrane Handbook for Systematic Reviews of Interventions version 6.5. Cochrane; 2024. |
| the model fitted, as R version 4.6.0 (2026-04-24 ucrt); metafor 5.0.1 | Viechtbauer W. Conducting meta-analyses in R with the metafor package. J Stat Softw. 2010;36(3):1-48. doi:10.18637/jss.v036.i03 |
| the reporting guideline this manuscript is written against | Page MJ, McKenzie JE, Bossuyt PM, et al. The PRISMA 2020 statement: an updated guideline for reporting systematic reviews. BMJ. 2021;372:n71. doi:10.1136/bmj.n71 |
| Id | Layer | Source | Location |
|---|---|---|---|
| EMA_FORXIGA | Regulator: EMA product information | Forxiga (dapagliflozin) epar product information, pharmacodynamic properties | https://www.ema.europa.eu/en/documents/product-information/forxiga-epar-product-information_en.pdf |
| EMA_JARDIANCE | Regulator: EMA product information | Jardiance (empagliflozin) epar product information, pharmacodynamic properties | https://www.ema.europa.eu/en/documents/product-information/jardiance-epar-product-information_en.pdf |
| FDA_ABSENCE_PROBE | Regulator: record of what the FDA does not publish | Drugs@FDA review-document absence probe for both applications, 2026-08-10 | https://www.accessdata.fda.gov/scripts/cder/daf/index.cfm?event=overview.process&ApplNo=202293 |
| FDA_FARXIGA | Regulator: FDA approved label | Farxiga (dapagliflozin) US prescribing information, clinical studies section | https://www.accessdata.fda.gov/drugsatfda_docs/label/2026/202293s035lbl.pdf |
| FDA_JARDIANCE | Regulator: FDA approved label | Jardiance (empagliflozin) US prescribing information, clinical studies section | https://www.accessdata.fda.gov/drugsatfda_docs/label/2025/204629s063lbl.pdf |
| OA_DAPAHF2019 | Primary paper (abstract, open) | McMurray et al. Dapagliflozin in Patients with Heart Failure and Reduced Ejection Fraction. N Engl J Med 2019. | https://pubmed.ncbi.nlm.nih.gov/31535829/ |
| OA_DELIVER2022 | Primary paper (abstract, open) | Solomon et al. Dapagliflozin in Heart Failure with Mildly Reduced or Preserved Ejection Fraction. N Engl J Med 2022. | https://pubmed.ncbi.nlm.nih.gov/36027570/ |
| OA_EMPPRE2021 | Primary paper (abstract, open) | Anker et al. Empagliflozin in Heart Failure with a Preserved Ejection Fraction. N Engl J Med 2021. | https://pubmed.ncbi.nlm.nih.gov/34449189/ |
| OA_EMPRED2020 | Primary paper (abstract, open) | Packer et al. Cardiovascular and Renal Outcomes with Empagliflozin in Heart Failure. N Engl J Med 2020. | https://pubmed.ncbi.nlm.nih.gov/32865377/ |
| OA_EMPULSE2022 | Primary paper (full text, open) | Voors et al. The SGLT2 inhibitor empagliflozin in patients hospitalized for acute heart failure. Nat Med 2022. | https://pubmed.ncbi.nlm.nih.gov/35228754/ |
| OA_SCORED2021 | Primary paper (abstract, open) | Bhatt et al. Sotagliflozin in Patients with Diabetes and Chronic Kidney Disease. N Engl J Med 2021. | https://pubmed.ncbi.nlm.nih.gov/33200891/ |
| OA_SOLOIST2021 | Primary paper (abstract, open) | Bhatt et al. Sotagliflozin in Patients with Diabetes and Recent Worsening Heart Failure. N Engl J Med 2021. | https://pubmed.ncbi.nlm.nih.gov/33200892/ |
| PM_JHUND2022 | Prior synthesis (full text, open) | Jhund et al. Dapagliflozin across the range of ejection fraction in patients with heart failure: a patient-level, pooled meta-analysis of DAPA-HF and | https://pubmed.ncbi.nlm.nih.gov/36030328/ |
| PM_VADUGANATHAN2022 | Prior synthesis (abstract, open) | Vaduganathan et al. SGLT-2 inhibitors in patients with heart failure: a comprehensive meta-analysis of five randomised controlled trials. Lancet 2022. | https://pubmed.ncbi.nlm.nih.gov/36041474/ |
| PM_ZANNAD2020 | Prior synthesis (abstract, open) | Zannad et al. SGLT2 inhibitors in patients with heart failure with reduced ejection fraction: a meta-analysis of the EMPEROR-Reduced and DAPA-HF trial | https://pubmed.ncbi.nlm.nih.gov/32877652/ |
| REG_CTGOV | Registry with posted results | ClinicalTrials.gov results records for all seven screened trials | https://clinicaltrials.gov/study/NCT03036124 |
manuscript.referencesmanuscript.referencessourcesresults.by_outcome.cvdeath_or_whf_first.per_trial, results.by_outcome.cvdeath_or_whf_first.pooledresults.by_outcome.cvdeath_or_whf_first.per_trial, results.by_outcome.cvdeath_or_whf_first.pooledresults.by_outcome.harmonised_cvdeath_or_hhf.per_trial, results.by_outcome.harmonised_cvdeath_or_hhf.pooledresults.by_outcome.harmonised_cvdeath_or_hhf.per_trial, results.by_outcome.harmonised_cvdeath_or_hhf.pooledresults.by_outcome.threecomp_cvdeath_hhf_urgent.per_trial, results.by_outcome.threecomp_cvdeath_hhf_urgent.pooledresults.by_outcome.threecomp_cvdeath_hhf_urgent.per_trial, results.by_outcome.threecomp_cvdeath_hhf_urgent.pooled| Registration | Trial | Participants | Randomised | Primary outcome measured over | Design |
|---|---|---|---|---|---|
| NCT03036124 | DAPA-HF | adults with NYHA class II to IV heart failure and an ejection fraction of 40% or less, with or without type 2 diabetes | 4744 | Up to 27.8 months. | phase 3, double-blind, randomised one to one against placebo on top of recommended heart failure therapy, event-driven. |
| NCT03057951 | EMPEROR-Preserved | adults with NYHA class II to IV heart failure and an ejection fraction above 40%, with or without type 2 diabetes | 5988 | From randomization until completion of the planned treatment phase, up to 1403 days. | phase 3, double-blind, randomised one to one against placebo on top of usual therapy. |
| NCT03057977 | EMPEROR-Reduced | adults with NYHA class II to IV heart failure and an ejection fraction of 40% or less, with or without type 2 diabetes | 3730 | From randomisation until completion of the planned treatment period, up to 1040 days. | phase 3, double-blind, randomised one to one against placebo on top of recommended heart failure therapy. |
| NCT03619213 | DELIVER | adults with heart failure and an ejection fraction above 40%, with or without type 2 diabetes | 6263 | Up to 42.1 months | phase 3, double-blind, randomised one to one against placebo on top of usual therapy, event-driven. |
inputs.trialsThis review was built to page standard 1.12.0-2026-08-19 (PAGE-STANDARD.md), by ssot/build_to_standard.py on 2026-08-19. A page built below the current standard is knowably below it rather than silently stale.1
11 machine-checked properties were verified for this page before it was published; the checks and their names are recorded with the build rather than here.2
build_stamp.page_standard_versionbuild_stamp.heldThe items below were not written because the record does not hold what they would be composed from. They are named here so that an absence is not mistaken for an omission.
| Article area | Item not reported | Reason |
|---|---|---|
| Abstract | The Background sentence of the abstract | Background is argument -- why this question matters -- and no arrangement of the quantities this object holds yields it. It is emitted only from an authored field and there is no composition path for it here |
| Abstract | The Conclusions sentence of the abstract | A conclusion is argument -- what a reader should now believe -- and it is emitted only from an authored field. Composing one from the estimate would be this renderer telling the reader what to conclude, which no field supports |
| Methods — synthesis | The model/estimator sentence for cardiovascular death or a worsening heart failure event, whichever comes first, as a hazard ratio | No pooled estimate was produced for this outcome, so no model was fitted and none is described |
| Methods — synthesis | The claim that records were screened in duplicate -- and this topic owes one rather than merely lacking one: No second independent screen was run for this topic | This is recorded as owed rather than described: the remedy is to RUN one, and writing a duplicate-screening sentence without one would be the defect this whole exercise exists to prevent. |
| Methods — synthesis | The claim that the review methods were prespecified before data collection | This refusal is permanent and is not a gap to be filled. A protocol specified before data collection is a historical fact about the past and cannot be created retrospectively. Writing one now and calling it prespecified would invalidate every other refusal on these pages, because a reader who caught it would be right to disbelieve all of them. Eligibility criteria were derived post hoc from the trials and the methodological authority, and the derivation is recorded element by element in `screening.eligibility_provenance` with the source of each. Mecir R107 permits post-hoc eligibility criteria provided they are declared as such. They are declared, here and on the page, and the page says 'derived, post hoc' in its heading. |
In this section: cvdeath or whf first · harmonised cvdeath or hhf · Absolute effect, at baseline risks you choose · threecomp cvdeath hhf urgent · Absolute effect, at baseline risks you choose
Format: Cochrane Handbook v6.5, chapter 14 (14.1.2 contents, 14.1.3 absolute effects). The FIELDS are fixed by the Handbook so a reader can check the shape of this table as well as its numbers.
| Relative effect | № participants | № studies |
|---|---|---|
| HR 0.7636 (0.7062 to 0.8258) | 20725 | 3 |
Handbook 14.1.3 asks for absolute effects at STATED baseline risks. A single assumed baseline risk is a modelling choice made on behalf of a jurisdiction we do not know, so a GRID is given instead and the reader applies the row nearest their own incidence. This is arithmetic -- the relative effect multiplied by a baseline -- and it asserts nothing about whether this evidence transfers to that population. The grid is arithmetic the reader parameterises; the refusal below is about transfer. Different claims, kept apart.
| Assumed baseline risk | Risk with intervention | 95% CI | Difference |
|---|---|---|---|
| 1 per 1000 | 0.8 per 1000 | 0.7 to 0.8 | -0.2 |
| 5 per 1000 | 3.8 per 1000 | 3.5 to 4.1 | -1.2 |
| 10 per 1000 | 7.6 per 1000 | 7.1 to 8.3 | -2.4 |
| 50 per 1000 | 38.2 per 1000 | 35.3 to 41.3 | -11.8 |
| 100 per 1000 | 76.4 per 1000 | 70.6 to 82.6 | -23.6 |
| 200 per 1000 | 152.7 per 1000 | 141.2 to 165.2 | -47.3 |
| Relative effect | № participants | № studies |
|---|---|---|
| HR 0.7835 (0.709 to 0.8659) | 20725 | 2 |
Handbook 14.1.3 asks for absolute effects at STATED baseline risks. A single assumed baseline risk is a modelling choice made on behalf of a jurisdiction we do not know, so a GRID is given instead and the reader applies the row nearest their own incidence. This is arithmetic -- the relative effect multiplied by a baseline -- and it asserts nothing about whether this evidence transfers to that population. The grid is arithmetic the reader parameterises; the refusal below is about transfer. Different claims, kept apart.
| Assumed baseline risk | Risk with intervention | 95% CI | Difference |
|---|---|---|---|
| 1 per 1000 | 0.8 per 1000 | 0.7 to 0.9 | -0.2 |
| 5 per 1000 | 3.9 per 1000 | 3.5 to 4.3 | -1.1 |
| 10 per 1000 | 7.8 per 1000 | 7.1 to 8.7 | -2.2 |
| 50 per 1000 | 39.2 per 1000 | 35.4 to 43.3 | -10.8 |
| 100 per 1000 | 78.3 per 1000 | 70.9 to 86.6 | -21.7 |
| 200 per 1000 | 156.7 per 1000 | 141.8 to 173.2 | -43.3 |
Format: Cochrane Handbook v6.5, chapter 15 (15.6 implications for practice). The twelve considerations below are the GRADE Evidence-to-Decision framework, reproduced in full whether or not this review can answer them.
| Consideration | Answer | From this review |
|---|---|---|
| Is the problem a priority? | PARTIALLY INFORMED | The populations the contributing trials enrolled are recorded on this object and are shown in the Extraction tab. Whether the problem is a priority in a given jurisdiction is not a property of those trials. |
| How substantial are the desirable effects? | INFORMED | The pooled relative effect and its interval, with an absolute-effect grid, are in the Summary of Findings tab. |
| How substantial are the undesirable effects? | NOT ADDRESSED | No harms block is held on this object. |
| What is the overall certainty of the evidence? | NOT ADDRESSED | No GRADE certainty is stored for any outcome. |
| Is there important uncertainty about how much people value the outcomes? | NOT ADDRESSED | No study of how people weigh these outcomes was sought or synthesised. This is a review of trial effects. |
| Does the balance favour the intervention or the comparison? | CANNOT BE DETERMINED | A balance requires values. With values unaddressed, a balance statement would be the review author's preference wearing a panel's authority. |
| How large are the resource requirements? | NOT ADDRESSED | No cost input of any kind is held. |
| What is the certainty of the resource evidence? | NOT APPLICABLE | No resource evidence. |
| Does cost-effectiveness favour the intervention? | NOT ADDRESSED | No economic evaluation was sought. |
| What would be the impact on health equity? | NOT ADDRESSED | No registry extraction is held on this object. |
| Is the intervention acceptable to key stakeholders? | NOT ADDRESSED | Acceptability studies are outside this review's scope. |
| Is the intervention feasible to implement? | NOT ADDRESSED | Implementation and delivery are outside this review's scope. |
Built 2026-08-19 by ssot/build_to_standard.py against PAGE-STANDARD.md. 11 held, 3 refusing. A refusal is a complete outcome; nothing is generated to fill a slot.
| property | state | reason |
|---|---|---|
| P1_executed_search | HELD | 3 database queries recorded verbatim with dates and counts; PRISMA arithmetic reconciles and the 0-trial unscreened remainder is stated as a number rather than omitted. |
| P2_k_cascade | HELD | k at every stage: surfaced 56, located 56, experimental 49, comparator 1, included 4, unscreened remainder 0. |
| P3_inclusion_criteria | HELD | Criteria provenance block present with predefined=None on its face (state 'NATIVE_TO_THIS_OBJECT'). |
| P4_preconditions | HELD | All 8 recorded with verdict and cited authority: 0 FAIL, 2 NOT-ASSESSABLE. criteria_predefined is NOT-ASSESSABLE -- this object declares neither a provenance block nor a protocol statement, so pre-specification cannot be decided either way. |
| P5_extraction_table | HELD | 9 cells: 6 READ with source path and verbatim text, 3 DERIVED with the method named. |
| P6_analysis_output | HELD | 2 pool(s) carry verbatim model output with environment and call: harmonised_cvdeath_or_hhf and threecomp_cvdeath_hhf_urgent. Nothing is summarised in place of a quotation. |
| P7_published_comparison | REFUSING | No denominator yet. Blocked on external registration-id resolution; citation-string matching explicitly refused rather than substituted. |
| P8_registration_identity | HELD | 4 of 4 trial(s) verified live against the registry. |
| P18_restatement_is_reproducible | HELD | 2 restatement block(s), each naming a script that resolves on disk: restated_2026_08_19_placebo_discriminator -> scripts/regate_across_revisions.py, ssot/topic_identity.py; restated_2026_08_19_two_missed_revisions -> scripts/regate_sglt2_three_revisions.py |
| P19_promotion_reaches_derived_blocks | HELD | inputs.trials, k_cascade.k_included_in_object and prisma_flow.included all say 4; no first-person field in published_comparison declares a k the pooled outcome(s) do not. |
| P20_cascade_reconciles | HELD | k2_role_located=56 == k3+k4+k5, and k0_surfaced=56 == k3+k4+k5+kNA. Both checked, and every failing limb would be reported rather than the first. |
| P21_ambiguous_question_split | REFUSING | This object records no split provenance. That is CORRECT for a topic whose question was never ambiguous and it is NOT a pass: this builder cannot tell the two apart, so the property is refused with the reason rather than held on an absence. What would settle it: a `split_provenance` block, or an explicit statement that the question admits one reading. |
| P22_sharing_recorded | HELD | 2 shared trial(s), each recorded with the topics holding it and why: NCT03057951 in empagliflozin-hf-auto-full-review; NCT03057977 in empagliflozin-hf-auto-full-review. The object also states that summing per-topic k double-counts. |
| P23_recall_measured | REFUSING | 3 of 3 recorded quer(ies) do not state their recall against this review's own included set: ClinicalTrials.gov API v2 -- QUERY 1, NARROWER, AND IT MISSED AN INCLUDED TRIAL, ClinicalTrials.gov API v2 -- QUERY 2, BROADER, COVERS THE INCLUDED SET and PubMed (NCBI E-utilities esearch). A query whose recall was never measured may have lost an included trial, and A TRIAL THAT WAS NEVER SURFACED LEAVES NO TRACE IN ANY COUNT -- it cannot appear as an exclusion, a refusal or a remainder. |
| stage | k |
|---|---|
| k0_surfaced | 56 |
| k2_role_located | 56 |
| k3_experimental | 49 |
| k4_comparator | 1 |
| k5_background | 6 |
| kNA_not_assessable | 0 |
| k_included_in_object | 4 |
| k_unscreened_remainder | 0 |
| keyed_on | registration id |
| source | executed search recorded at search.databases in this object, cascade recomputed by scripts/regate_cascade_2026_08_19.py, reproduction across revisions scripts/regate_sglt2_three_revisions.py, note Named as SCRIPTS THAT RE-DERIVE THE NUMBERS rather than as a file that once held them, so the citation stays true when the classifier next changes. |
| k3_corrected_from | 43 |
| k3_correction_reason | 43 -> 36. Seven trials had an SGLT2 inhibitor in BOTH arms -- EASi-HF Preserved and Reduced randomise vicadrostat/empagliflozin against placebo/empagliflozin, so empagliflozin is background and vicadrostat is the contrast. topic_identity.locate() returned `experimental` because the drug appeared in an arm typed EXPERIMENTAL. APPEARING IN THE EXPERIMENTAL ARM IS NOT THE SAME AS BEING THE RANDOMISED CONTRAST. A 16% overcount, in the direction that ADDS trials. |
| k_unscreened_remainder_note | Was 39, then 32 after the role correction; all 32 screened. |
| restated_2026_08_19_placebo_discriminator | k3 was 36, k3 now 46, delta 10, why topic_identity.locate() read the registry's arm TYPES literally. Some registrations declare NO arm typed EXPERIMENTAL: AFFIRM-AHF and HEART-FID both type their active drug ACTIVE_COMPARATOR against a PLACEBO_COMPARATOR arm. The classifier called the intervention a comparator and silently shrank the evidence base. Rule adopted: PLACEBO IS NEVER THE INTERVENTION, so a drug compared against it is -- but where the other arm is an ACTIVE drug, the topic drug genuinely is one of two comparators and the rule must not fire., why this is a correction not a relaxation It moved counts in BOTH directions across the corpus: sglt2-hf +10, bempedoic-acid-review -1. A LOOSENING ONLY EVER ADDS. Four regression guards pin the negative case, including apixaban vs rivaroxaban where both arms are active., how it was found By CROSS-CHECKING TWO INSTRUMENTS. The executed search surfaced this object's OWN included trials, and the arm-role classifier then refused to recognise two of them as the intervention. Neither instrument found it alone. This is the first defect tonight found in the WITHHOLDING direction by an instrument rather than by a person noticing -- the class we had said has no guard., trials no longer experimental —, screening status after restatement 46 experimental, 4 included, 32 already screened, 10 NEWLY UNSCREENED. The screening of this topic was reported COMPLETE and is now INCOMPLETE again. That is the ratchet: no page is grandfathered, including one completed hours ago., newly unscreened ids NCT03087773; NCT04600921; NCT05182658; NCT05321706; NCT05424315; NCT05776043; NCT06082063; NCT06217302; NCT06955260; NCT07038356, reproduced by scripts/regate_across_revisions.py <topic> -- re-executes this topic's own recorded query, loads EVERY revision of ssot/topic_identity.py from git, and reports at which of them the stored cascade reproduces. Added 2026-08-19 under PAGE-STANDARD P18, after sglt2-hf's cascade was found to reproduce at exactly one revision and no other while carrying a restatement note that made it look current., verified 2026 08 19 36 -> 46 CONFIRMED at f2bf16022: ten records moved comparator -> experimental there, and the attribution in this block is correct. What was NOT correct is that the block was left standing as the current state after two further revisions moved three more records. Those are at k_cascade.restated_2026_08_19_two_missed_revisions. |
| k_unscreened_remainder_note_2026_08_19 | Was 10 after the placebo-discriminator restatement; all 10 screened 2026-08-19, dispositions at screening_of_remainder.sglt2_newly_unscreened_2026_08_19. TWO MORE arrived on the re-gate of the same day (NCT06434025, NCT07025629) and are screened at screening_of_remainder.sglt2_regate_2026_08_19. |
| remainder_dispositions | scope THE COUNTS ON THIS LINE COVER THE TEN-TRIAL BATCH ONLY, not the whole remainder, and saying so is the point. The full remainder is 45 = k3 49 - 4 included, and it was screened in FOUR passes that do not share one vocabulary: 32 on TWO AXES (eligibility / poolability, screening_of_remainder), 1 in the object's native screening.records (EMPULSE NCT04157751), 10 in the THREE-STATE vocabulary below, and 2 on the re-gate (screening_of_remainder.sglt2_regate_2026_08_19). 32 + 1 + 10 + 2 = 45 reconciles. They are NOT summed into one tally, because the two-axis pass records eligibility and poolability separately and collapsing it into EXCLUDED / ELIGIBLE_NOT_POOLABLE would be a mapping this project invented rather than one it ran., EXCLUDED 7, ELIGIBLE NOT POOLABLE 1, ELIGIBLE NO RESULTS YET 2, regate batch 2026 08 19 EXCLUDED 1, ELIGIBLE NO RESULTS YET 1, note NCT07025629 excluded on POPULATION (post-ICU discharge, not chronic HF); NCT06434025 eligible and not yet recruiting., what this says SEVEN OF TEN FAIL A CRITERION, and six of those seven fail on POPULATION -- acute myocardial infarction, heart transplant, diabetic nephropathy, congenital heart disease, acute decompensation. This is the OPPOSITE distribution to iv-iron-hf, where 16 of 29 were eligible. The surfacing query for this topic reaches well beyond its population, and that is a fact about the SEARCH rather than about the evidence., most consequential exclusion EMPATHY (NCT05776043, n=1364) registers 'Time to first event of adjudicated cardiovascular death, or adjudicated hospitalization for heart failure' -- EXACTLY this object's pooled estimand -- and is excluded on POPULATION alone, its registered condition being ACUTE decompensated heart failure where this review says CHRONIC. It is the single trial most likely to change this answer if that limb is ever widened. |
| source_superseded_2026_08_19 | was evidence/2026-08-19-batch1/cascade.json, superseded because it cited evidence/2026-08-19-batch1/cascade.json, and sglt2-hf IS NOT IN THAT FILE -- that run covered eight other topics. A false provenance record on a field whose only job is provenance. iv-iron-hf is absent from the same file; its cascade carries no source key at all, which is a gap rather than a wrong citation. |
| restated_2026_08_19_two_missed_revisions | k3 was 46, k3 now 49, k4 was 2, k4 now 1, k5 was 8, k5 now 6, reproduced across four revisions b65d892de 36 / 12 / 8 / 0, f2bf16022 46 / 2 / 8 / 0 <- the stored numbers, c5b98b329 48 / 2 / 6 / 0, e20f94068 49 / 1 / 6 / 0 <- current, so it is not registry drift The surfaced set was re-executed and returned 56, identical to the stored k0, and the stored 46/2/8 reproduces EXACTLY at one revision and at no other. That identifies a MISSED RE-RUN, not changed data. scripts/regate_sglt2_three_revisions.py., what made it look current This object already carried a `restated_2026_08_19_placebo_discriminator` block naming its own 36 -> 46 delta and dated the same day as the two commits that superseded it. A RESTATEMENT BLOCK IS A CLAIM ABOUT A MOMENT, AND IT AGES SILENTLY: the presence of a correction note is what made the page look re-run when it had not been., the three records NCT04157751 background -> experimental (c5b98b329, leading-anchor placebo naming). Already present in this object's screening., NCT06434025 background -> experimental (c5b98b329). NEWLY UNSCREENED; now screened., NCT07025629 comparator -> experimental (e20f94068). NEWLY UNSCREENED; now screened., no included trial changed role Checked against this object's own four across all four revisions, not assumed. |
predefined: — | post_hoc: — — derived —
—
| limb | value | derived from |
|---|
does each trial report, AT ANY RANK -- primary, secondary or other -- an outcome matching what the others report, before any decision about which pools are possible?
Reading only primaries would have shown DAPA-HF reporting a THREE-component endpoint and EMPEROR reporting a TWO-component one, and concluded they share nothing. DAPA-HF's two-component composite is at SECONDARY rank. Asked at the primary alone, pool A does not exist.
| registration | trial | two-component | three-component |
|---|---|---|---|
NCT03036124 | DAPA-HF | SECONDARY -- 'Composite Endpoint of CV Death or Hospitalization Due to Heart Failure' | PRIMARY -- includes 'Urgent Visit Due to Heart Failure' |
NCT03057977 | EMPEROR-Reduced | PRIMARY -- 'Adjudicated Cardiovascular (CV) Death or Adjudicated Hospitalisation for Heart Failure (HHF)' | NONE at any rank -- registers no urgent-visit endpoint |
NCT03057951 | EMPEROR-Preserved | PRIMARY -- 'Time to First Event of Adjudicated Cardiovascular (CV) Death or Adjudicated Hospitalisation for Heart Failure (HHF)' | NONE at any rank |
NCT03619213 | DELIVER | NONE AT ANY RANK. Every heart-failure composite it registers -- primary and secondary -- includes an urgent heart-failure visit. This is why pool A is k=3 and not k=4, and it is established by reading all seven ranks rather than by matching the primary. | PRIMARY |
The first pass used a substring matcher for the two-component endpoint. It returned ZERO for BOTH EMPEROR trials, whose primaries ARE the two-component endpoint. Cause: the matcher required the contiguous string 'cardiovascular death', and the registry writes 'Cardiovascular (CV) Death' -- an interposed parenthetical abbreviation, which is ubiquitous in registry outcome names.
It produced the RIGHT answer for DELIVER (zero two-component outcomes) for the WRONG reason, and the WRONG answer for EMPEROR. Trusted, it would have implied pool A is k=1. The verdict was checked by READING all 33 registered outcome names across the four trials, not by the matcher.
Class: substring matching over clinical text breaks on parenthetical abbreviations
screening.eligibility -- this object's OWN NATIVE criteria, not a derived block
k after screening: 4. ZERO of the 32 are both eligible and poolable. The included set of four stands, and it now stands on a screen rather than on assumption. The eleven ELIGIBLE-but-not-poolable trials are the cell the two-axis structure exists to make visible: in scope, but reporting a quantity s10.9 does not permit combining.
| failing limb | n | registrations |
|---|
—
—
| registration | rank | matching outcome |
|---|
| registration | verdict | limb | reason |
|---|---|---|---|
NCT03315143 | — | — | — |
NCT03332212 | — | — | — |
NCT03448406 | — | — | — |
NCT03448419 | — | — | — |
NCT03521934 | — | — | — |
NCT03717194 | — | — | — |
NCT03794518 | — | — | — |
NCT03877224 | — | — | — |
NCT03877237 | — | — | — |
NCT04252287 | — | — | — |
NCT04298229 | — | — | — |
NCT04490681 | — | — | — |
NCT04509674 | — | — | — |
NCT04564742 | — | — | — |
NCT04707352 | — | — | — |
NCT04860011 | — | — | — |
NCT05374291 | — | — | — |
NCT05392764 | — | — | — |
NCT05406505 | — | — | — |
NCT05580510 | — | — | — |
NCT05618223 | — | — | — |
NCT05676684 | — | — | — |
NCT05879276 | — | — | — |
NCT06024746 | — | — | — |
NCT06030843 | — | — | — |
NCT06142474 | — | — | — |
NCT06304857 | — | — | — |
NCT06619600 | — | — | — |
NCT06677060 | — | — | — |
NCT06683053 | — | — | — |
NCT06783166 | — | — | — |
NCT07569640 | — | — | — |
R version 4.6.0 (2026-04-24 ucrt); metafor 5.0.1 | call: rma(yi = log(hr), sei = (log(hi)-log(lo))/(2*qnorm(0.975)), method = "REML")
A. CARDIOVASCULAR DEATH OR HOSPITALISATION FOR HEART FAILURE (two-component), k=3 ============================================================================== trials: NCT03036124 DAPA-HF (secondary), NCT03057977 EMPEROR-Reduced (primary), NCT03057951 EMPEROR-Preserved (primary) Random-Effects Model (k = 3; tau^2 estimator: REML) tau^2 (estimated amount of total heterogeneity): 0 (SE = 0.0048) tau (square root of estimated tau^2 value): 0 I^2 (total heterogeneity / total variability): 0.00% H^2 (total variability / sampling variability): 1.00 Test for Heterogeneity: Q(df = 2) = 0.3837, p-val = 0.8254 Model Results: estimate se zval pval ci.lb ci.ub -0.2697 0.0399 -6.7532 <.0001 -0.3479 -0.1914 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Back-transformed to the hazard-ratio scale: pred ci.lb ci.ub pi.lb pi.ub 0.7636 0.7062 0.8258 0.7062 0.8258
The stored pooled value was HR 0.7636 (0.7062 to 0.8258). This run reproduces it EXACTLY -- an independent confirmation of a number that was already on the page.
R version 4.6.0 (2026-04-24 ucrt); metafor 5.0.1 | call: rma(yi = log(hr), sei = (log(hi)-log(lo))/(2*qnorm(0.975)), method = "REML")
B. CV DEATH, HOSPITALISATION FOR HF, OR URGENT HF VISIT (three-component), k=2 ============================================================================== trials: NCT03036124 DAPA-HF (primary), NCT03619213 DELIVER (primary) Random-Effects Model (k = 2; tau^2 estimator: REML) tau^2 (estimated amount of total heterogeneity): 0.0012 (SE = 0.0075) tau (square root of estimated tau^2 value): 0.0344 I^2 (total heterogeneity / total variability): 22.51% H^2 (total variability / sampling variability): 1.29 Test for Heterogeneity: Q(df = 1) = 1.2904, p-val = 0.2560 Model Results: estimate se zval pval ci.lb ci.ub -0.2439 0.0510 -4.7836 <.0001 -0.3439 -0.1440 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Back-transformed to the hazard-ratio scale: pred ci.lb ci.ub pi.lb pi.ub 0.7835 0.7090 0.8659 0.6945 0.8840
Denominator: —. Not established, and the obstacle is specific to the three syntheses this review has already identified. 3 published synthes(es) are recorded with their estimates at reconciliation.published_benchmarks, and 3 of them record NO trial_count. The denominator this section requires is how many of THIS review's trials each synthesis included, and it cannot be formed from an estimate alone. A comparison published without it would report the syntheses we happened to find.
Explicitly not done: CITATION-STRING MATCHING. It would produce a comparison-shaped answer immediately and it is not identity: two syntheses citing one trial under different labels read as different trials, and one label on two trials reads as the same trial. That is the substitution class this project audits others for, and it is the reason this section is refused rather than filled.
Blocked on: lane 2 registration-id resolution
Authority: Cochrane Handbook for Systematic Reviews of Interventions 6.5, 2024, verified 2026-08-19. Publishable: True.
| precondition | verdict | reason | authority |
|---|---|---|---|
| population_stated | PASS | present: question carries 196 characters | MECIR C62 'Ensuring meta-analyses are meaningful' (Mandatory, READ 2026-08-19): 'Undertake (or display) a meta-analysis only if participants, interventions, comparisons and outcomes are judged to be s |
| arm_role_resolved | PASS | inputs.trials: all 4 trial(s) carry arms with a readable role | MECIR C62 (Mandatory), 'interventions' limb -- this is a PRECONDITION FOR ASSESSING C62, not an enforcement of it: you cannot judge whether interventions are 'sufficiently similar' without knowing whi |
| comparators_identified | PASS | every outcome names a comparator type ['placebo']; none declares 'mixed'. Within-outcome consistency is visible only through the declared type, and cross-outcome differences are not judged. | MECIR C62 (Mandatory), 'comparisons' limb -- a synthesis pools one contrast. NOT cited to C7: C7 governs PREDEFINITION, and this check reads recorded comparator fields and tests them for consistency. |
| estimand_named | PASS | outcomes.estimand: all 3 outcome(s) name a quantity | MECIR C8 'Clarifying role of outcomes' (Mandatory, READ 2026-08-19); MECIR C62 (Mandatory), 'outcomes' limb |
| criteria_stated | PASS | present: screening.eligibility carries 784 characters | MECIR R29 'Eligibility criteria for types of participants', R30 '...types of interventions', R31 'Role of outcomes' -- ALL Mandatory REPORTING standards (READ 2026-08-19). Their verb is STATE. A block |
| criteria_predefined | NOT-ASSESSABLE | cannot assess: the object records neither an eligibility provenance block nor a statement about its protocol | MECIR C5 'Predefining unambiguous criteria for participants' AND C7 '...for interventions and comparators', BOTH Mandatory (READ 2026-08-19): 'Predefined, unambiguous eligibility criteria are a fundam |
| eligibility_met | NOT-ASSESSABLE | cannot assess: criteria are stated and sources are present, but no full text was READ this pass. This precondition never infers from the auditability check. | MECIR C5/C7 (Mandatory) with C6 'Predefining a strategy for studies with a subset of eligible participants' (Highly desirable, READ 2026-08-19) -- eligibility is assessed against the full report |
| contributes_a_randomised_contrast | PASS | inputs.trials.arms: all 4 readable trial(s) contribute one topic-vs-control randomised contrast | Handbook 6.5 s23.3.4 'How to include multiple groups from one study' (READ 2026-08-19) and s23.3.6 'Factorial trials'; MECIR C7 'Predefining unambiguous criteria for interventions and comparators' (Ma |
This page is stamped to the standard version above. If the standard rises, this page is below it and knowably so. No page is grandfathered; arni-hfref is presently unstamped and is therefore unknown-version, not compliant.
Every number on this page is projected from a single canonical object, and each measured cell names the source analysis it was read from. That is what is machine-checked. It does not establish that the underlying sources are right, only that this page faithfully reports them.
| Outcome | Pooled as | Which is | Trials |
|---|---|---|---|
| cvdeath_or_whf_first | HR | time to event | 4 |
| harmonised_cvdeath_or_hhf | HR | time to event | 3 |
| threecomp_cvdeath_hhf_urgent | HR | time to event | 2 |
The registry records an analysis of time to event for 4 of the contributing trials.
The pooled quantity and the trials' recorded analysis are of the same kind.
| Outcome | k | Pooled | Random-effects Wald | Modified Hartung–Knapp | Wider by |
|---|---|---|---|---|---|
| harmonised_cvdeath_or_hhf | 3 | 0.764 | 0.706 to 0.826 | 0.643 to 0.907 | 2.20× |
| threecomp_cvdeath_hhf_urgent | 2 | 0.784 | 0.709 to 0.866 | 0.410 to 1.498 | 6.48× |
At two trials this page reports neither interval as the answer, and says why. With k = 2 the modified interval uses t on ONE degree of freedom — a multiplier of 12.71 against 1.96 — because two trials carry almost no information about how much results vary between trials. The resulting interval is wide by construction and would be nearly as wide whatever the trials had found, so it should not be read as evidence that the treatment does not work: that width is the degrees of freedom, not the data. The Wald interval has the opposite fault — it treats a between-trial variance estimated from two numbers as if it were known, and is too narrow for the same reason. Both are printed above so a reader can see the size of the gap rather than inherit whichever one an author preferred.
The modification is the floor at q* = 1. Unmodified, Hartung–Knapp can return a narrower interval than Wald whenever Q < k−1 — which would let the estimator that carries more uncertainty appear more confident. Flooring it means extra care can never buy a tighter answer.
cvdeath_or_whf_first — no interval is computed. This pool is withdrawn, and a component that recomputed it from the per-trial rows would republish a number the object exists to retract.
For harmonised_cvdeath_or_hhf: 3 trials, τ² = 0.0000, q* = 1.00 (at the floor — without it the more careful estimator would have returned a narrower interval than the Wald one). The t multiplier on 2 degrees of freedom is 4.30 against 1.96 for the normal, so the modified interval is 2.20× wider on the analysis scale.
For threecomp_cvdeath_hhf_urgent: 2 trials, τ² = 0.0012, q* = 1.00. The t multiplier on 1 degrees of freedom is 12.71 against 1.96 for the normal, so the modified interval is 6.48× wider on the analysis scale.
No comparator is designated for this question, so this page does not state how current it is relative to one. Which published review answers the same question is a judgement, and this component refuses to make it by taking whichever identifier appears first — doing exactly that produced a search date from an adherence review of observational studies on an earlier run.
cvdeath_or_whf_first — no absolute effect is given. This pool is withdrawn; converting it to people would republish a number the object exists to retract.
harmonised_cvdeath_or_hhf — not converted. The pooled quantity is HR, and a hazard ratio is a ratio of rates over person-time; converting it needs a baseline RATE and a stated horizon, and this object holds neither. It is refused rather than approximated.
threecomp_cvdeath_hhf_urgent — not converted. The pooled quantity is HR, and a hazard ratio is a ratio of rates over person-time; converting it needs a baseline RATE and a stated horizon, and this object holds neither. It is refused rather than approximated.
This object records no outcome besides the one pooled above. That is a statement about what has been extracted into this review, not about what the trials measured: a trial that reported harms this review has not extracted will look, from this page, exactly like a trial that reported none.
This object records event counts from one source per trial and no alternative was sought, so this page cannot tell you whether the registry and the publication agree. ⚠️ That is not the same as saying they do. A registry posts counts as submitted and a publication reports them after endpoint adjudication; where those differ, the adjudicated figure is the trial's own final answer, and a review that never compared them cannot say which it is using.
This object does not record what quantity the contributing trials analysed, so this page cannot say whether the quantity it pools is theirs. ⚠️ That is an unchecked assumption, not a clean bill: a risk ratio over binary counts and a hazard ratio over person-time are different quantities, and a review that pools the first while the trials analysed the second will differ from them whenever follow-up differs between arms.
Each statement above is emitted only when a specific condition holds in this review's own object; none is written by hand. This section makes no recommendation: what to offer, to whom, at what cost and against what alternative is a judgement this page does not hold the inputs for.
What this page cannot tell a clinician, and why. direction — the pool for cvdeath_or_whf_first is withdrawn. magnitude — no absolute effect for harmonised_cvdeath_or_hhf (refused: the measure is HR, not a risk ratio). magnitude — no absolute effect for threecomp_cvdeath_hhf_urgent (refused: the measure is HR, not a risk ratio). where it holds — no stratum reads as demonstrated. where it has not been shown — no stratum reads as not demonstrated. harms — no harm outcome is held at the trial-report tier. protects against nothing else — no other sexually transmitted infection outcome is recorded. what it is not — no outcome is recorded as absent or not measurable. what it is conditional on — the object records no background care delivered alongside the intervention, so this page cannot say what its estimate is on top of. efficacy versus use — the object records no adherence finding.
| What | Value | Read from | Sentence it was read from | Fingerprint |
|---|---|---|---|---|
| reconciliation/published_benchmarks[0] | 0.78 | https://pubmed.ncbi.nlm.nih.gov/36030328/ | Dapagliflozin reduced the risk of this outcome by 22% (HR 0.78 (95% CI 0.72-0.86); P < 0.001) | — |
| reconciliation/published_benchmarks[1] | 0.77 | https://pubmed.ncbi.nlm.nih.gov/36041474/ | In the broader context of the five trials of 21 947 participants, SGLT2 inhibitors reduced the risk of composite cardiovascular death or hospitalisation for heart failure (0.77 [0.72-0.82]) | — |
| reconciliation/published_benchmarks[2] | 0.74 | https://pubmed.ncbi.nlm.nih.gov/32877652/ | SGLT2 inhibition was accompanied by a 26% relative reduction in the combined risk of cardiovascular death or first hospitalisation for heart failure (0.74, 0.68-0.82; p<0.0001) | — |
| DAPA-HF | 0.75 | https://clinicaltrials.gov/study/NCT03036124 | — | — |
| EMPEROR-Preserved | 0.79 | https://clinicaltrials.gov/study/NCT03057951 | — | — |
| EMPEROR-Reduced | 0.75 | https://clinicaltrials.gov/study/NCT03057977 | — | — |
| EMPULSE | — | https://pubmed.ncbi.nlm.nih.gov/35228754/ | — | — |
| SCORED | — | https://pubmed.ncbi.nlm.nih.gov/33200891/ | — | — |
| SOLOIST-WHF | — | https://pubmed.ncbi.nlm.nih.gov/33200892/ | — | — |
| claims_corrected[0] | — | PM_JHUND2022 | — | — |
| claims_corrected[1] | — | PM_JHUND2022 | — | — |
| claims_corrected[2] | — | OA_SOLOIST2021 | — | — |
| claims_corrected[3] | — | FDA_ABSENCE_PROBE | — | — |
| extraction | — | ClinicalTrials.gov, four registrations | — | — |
| inputs/trials[0]/by_outcome/cvdeath_or_whf_first | — | https://pubmed.ncbi.nlm.nih.gov/31535829/ | — | — |
| inputs/trials[0]/by_outcome/cvdeath_or_whf_first/outcome_definition_source | — | registry | — | — |
| inputs/trials[0]/by_outcome/cvdeath_or_whf_first/provenance | — | OA_DAPAHF2019 | — | — |
| inputs/trials[1]/by_outcome/cvdeath_or_whf_first | — | https://pubmed.ncbi.nlm.nih.gov/32865377/ | — | — |
| inputs/trials[1]/by_outcome/cvdeath_or_whf_first/outcome_definition_source | — | registry | — | — |
| inputs/trials[1]/by_outcome/cvdeath_or_whf_first/provenance | — | OA_EMPRED2020 | — | — |
| inputs/trials[2]/by_outcome/cvdeath_or_whf_first | — | https://pubmed.ncbi.nlm.nih.gov/34449189/ | — | — |
| inputs/trials[2]/by_outcome/cvdeath_or_whf_first/outcome_definition_source | — | registry | — | — |
| inputs/trials[2]/by_outcome/cvdeath_or_whf_first/provenance | — | OA_EMPPRE2021 | — | — |
| inputs/trials[3]/by_outcome/cvdeath_or_whf_first | — | https://pubmed.ncbi.nlm.nih.gov/36027570/ | — | — |
| inputs/trials[3]/by_outcome/cvdeath_or_whf_first/outcome_definition_source | — | registry | — | — |
| inputs/trials[3]/by_outcome/cvdeath_or_whf_first/provenance | — | OA_DELIVER2022 | — | — |
| manuscript/references/included_studies[0] | — | ClinicalTrials.gov | — | — |
| manuscript/references/included_studies[1] | — | ClinicalTrials.gov | — | — |
| manuscript/references/included_studies[2] | — | ClinicalTrials.gov | — | — |
| manuscript/references/included_studies[3] | — | ClinicalTrials.gov | — | — |
| screening/excluded[0] | — | https://pubmed.ncbi.nlm.nih.gov/33200892/ | — | — |
| screening/excluded[1] | — | https://pubmed.ncbi.nlm.nih.gov/33200891/ | — | — |
| screening/excluded[2] | — | https://pubmed.ncbi.nlm.nih.gov/35228754/ | — | — |
| trial_identity_check | — | ClinicalTrials.gov API v2 armsInterventionsModule | — | — |
The denominator. 34 records in this object carry a source. 3 of 34 carry the sentence they were read from, and 0 of 34 carry a document fingerprint. ⚠️ A fingerprint says the bytes we read are the bytes we say we read; it does not say the document contained what we claim. What makes a row checkable is the sentence, so rows carrying one are listed first and the rest are visible as the gap they are.
Retrieval routes are recorded per document and a document is marked unreachable only after every route has been tried and named — so a missing document on this page is a record of what was attempted, not a blank.
GRADE
No rating is shown. the object does not record a starting certainty, so the certainty cannot be derived from its own steps and a stored value would be an assertion rather than a result.
No domain assessment is recorded for this outcome, so the rating above rests on nothing this page can show you.
No rating is shown. the object does not record a starting certainty, so the certainty cannot be derived from its own steps and a stored value would be an assertion rather than a result.
| Domain | Reading | Levels | Reason |
|---|---|---|---|
| risk of bias | no downgrade | — | Result-level RoB 2 assessments are recorded for this outcome, and their overall judgements are not low risk of bias. Rated down one level because some concerns is not low. |
| inconsistency | no downgrade | — | I-squared 0% over k = 3: not rated down. A LOW I-SQUARED DOES NOT SHOW THE TRIALS MEASURE THE SAME THING (P36, measured in both directions in one night); coherence is established by reading the definitions, which is done under indirectness. |
| indirectness | no downgrade | — | The contributing results share one endpoint definition, verified by reading each trial's registered text rather than by comparing names. The object records what this does not establish: NOT that the original four-trial pool was acceptable -- it combined quantities that were not the same quantity, and that withdrawal stands on this page with its reason. NOT that these three trials are free of bias; no ri |
| imprecision | no downgrade | — | k = 3. The interval (0.7062 to 0.8258) does not cross the null, but at k = 3 tau-squared is estimated from almost no information and a random-effects interval is optimistic even when it looks tight. Rated down for a small contributing set rather than reporting the number as if it were robust. |
| publication bias | no downgrade | — | k = 3. A funnel plot and Egger's test have no power below k = 10, so publication bias is UNDETECTED rather than ABSENT. Not rated down, and not reported as clean: an unreachable state is not a passing one. |
risk_of_bias -1 inconsistency +0 indirectness +0 imprecision -1 publication_bias +0
No rating is shown. the object does not record a starting certainty, so the certainty cannot be derived from its own steps and a stored value would be an assertion rather than a result.
| Domain | Reading | Levels | Reason |
|---|---|---|---|
| risk of bias | no downgrade | — | Result-level RoB 2 assessments are recorded for this outcome, and their overall judgements are not low risk of bias. Rated down one level because some concerns is not low. |
| inconsistency | no downgrade | — | I-squared 22.51% over k = 2: not rated down. A LOW I-SQUARED DOES NOT SHOW THE TRIALS MEASURE THE SAME THING (P36, measured in both directions in one night); coherence is established by reading the definitions, which is done under indirectness. |
| indirectness | no downgrade | — | The contributing results share one endpoint definition, verified by reading each trial's registered text rather than by comparing names. The object records what this does not establish: This does NOT supersede the two-component pool and is not superseded by it. They estimate the effect on DIFFERENT composite endpoints. The k=4 pool that mixed the two definitions remains withdrawn. |
| imprecision | no downgrade | — | k = 2. The interval (0.709 to 0.8659) does not cross the null, but at k = 2 tau-squared is estimated from almost no information and a random-effects interval is optimistic even when it looks tight. Rated down for a small contributing set rather than reporting the number as if it were robust. |
| publication bias | no downgrade | — | k = 2. A funnel plot and Egger's test have no power below k = 10, so publication bias is UNDETECTED rather than ABSENT. Not rated down, and not reported as clean: an unreachable state is not a passing one. |
risk_of_bias -1 inconsistency +0 indirectness +0 imprecision -1 publication_bias +0
These are the specific errors that would otherwise be in the numbers above. Each class was derived from a real defect found by auditing this corpus, and each carries the defect that generated it.
Checked against 11 instrumented defect classes. 1 flagged on this build.
| Class | What it catches | The defect that generated it |
|---|---|---|
| statistic-rendered-twice | one statistic with two values on one page | the same number rendered from two code paths |
| unanchored-external-authority | an outside body's position asserted with nothing retrievable behind it | 'WHO has recommended the ring' went live from a conversation, and dropped the conditionality WHO actually attached -- WHO, iris handle 10665/340190, 17 March 2021: the ring 'may be offered ... (Conditional recommendation; moderate-certainty evidence)' |
| single-trial-shown-as-pooled | one trial's result presented as a pool | the front page carried a single trial's HR 0.85 (0.79-0.92) as a two-trial pool |
| unfilled-template-token | a placeholder shipped unsubstituted | 11 pages cited protocols/name_protocol_v1.0.md -- 'name' was the placeholder |
| bare-none-rendered | a Python None reaching rendered output | 1110 dashboards rendered as 626-byte stubs from `None` in a JS literal |
| markup-imbalance | unbalanced tags after a hand edit | div-balance drift after HTML edits, repeatedly |
| estimand-unnamed | a pooled quantity presented without naming what it estimates | binary counts pooled where both trials analysed time to event |
| hksj-unqualified | a small-k interval reported without naming the variance floor | raw HKSJ narrows below Wald when Q < k-1; the q* floor was missing |
| ratio-on-natural-scale | a ratio measure said to be on the natural scale | sglt2-hf rendered 'on the natural scale' for a hazard ratio |
| denial-of-something-held | the page denies what the corpus holds | 92 pages stated no protocol exists while a protocol sat in the repository |
| untraceable-number | a number with no source | stored estimates that do not follow from their own counts: 172 of 178 uncheckable |
Flagged on this build:
Named because a taxonomy that lists only what it catches is marketing.