Study
Opening the study…
Study
Opening the study…
Where the work did something other than what it follows, its registered plan or the claim it replicates, as its author says.
From its pre-registered plan, under plan/
Not stated
The plan says nothing of how results are rounded for the paper. code/summarize.py, added after registration, reads the registered outputs (results/R1.json to R5.json and comparisons.csv) and the correction's (results/R6.json) and writes results/S.json, every value as the paper shows it: ratios to two decimals, p- and q-values to two significant digits or '< 0.001', percentages to one decimal and counts with thousands separators, with more digits where fewer would round a ratio to 1.00 or a p-value to 0.050, plus crude rates per 10,000 and the median of the trials' mean ages; and results/analyses.csv, every registered analysis with its bounds. code/run calls it last. The registered analysis (code/analyze.py), its data and its parameters are unchanged, so R1.json to R5.json and comparisons.csv are exactly what the registered plan produces; the claims cite S.json.
Done differently
Added in this correction, after the results were known and in answer to review. The plan counts an outcome in an arm as the sum over its terms of participants affected, so a participant with two of its terms counts twice. ClinicalTrials.gov's tables give participants per term and the participants with any serious adverse event, which bound the participants with an outcome in each adverse-event group: at least the largest term's count and at least the group's participants with any serious event less those under its other serious terms; at most the terms' sum and at most the group's participants with any serious event. code/correct.py repeats every registered Mantel-Haenszel estimate at every combination of counts these bounds allow, applies the registered Holm and Benjamini-Hochberg corrections at the counts least and most favourable to an increase, and repeats the registered age regressions at every combination. An analysis counts as significant only if it is at every combination. The claims rest on these bounds; the registered estimates are reported beside them. results/ambiguous.csv lists every group whose count the tables leave open.
Bears on C2, C3, C4, C5, C6, C7, and C8
Not stated
Added in this correction, after the results were known and in answer to review, which asked for distinct-participant counts from a legitimate public source. For every adverse-event group whose distinct participants with an outcome the tables leave open, whichever arm it is in, the trial's public reports (publications, FDA reviews, sponsors' briefing documents, synopses and filings, and a health technology assessment dossier) were searched for how many participants had the outcome's events. data/resolved.json records, for each group a report settles or narrows, the bounds it leaves, how (a statement of which events were one participant's, a count of distinct participants, or elimination across pooled trials), the source's address and what it says. code/correct.py checks that each lies within the tables' bounds and repeats the analyses at these bounds with the same corrections; groups no report settles keep the tables' bounds.
Bears on C3, C5, C6, and C7
Not stated
Added in this correction, after the results were known and in answer to review: beside the registered DerSimonian-Laird estimate, which adds 0.5 to every cell of a comparison with a zero cell, code/correct.py reports the inverse-variance estimate with that correction and fits a random-effects model that needs none (Stijnen et al. 2010): the events on antidepressants in a comparison, given its total events, are binomial with log odds log(n1/n0) + theta, theta normal with mean mu and variance tau squared, fitted by maximum likelihood with 64-point Gauss-Hermite quadrature, a profile-likelihood interval and a likelihood-ratio test, at the registered counts and at the counts least and most favourable to an increase. The registered random-effects estimate and robustness rule are unchanged.
Bears on C4
Not stated
Added in this correction, in answer to review: the registered sensitivity analysis by the outcome's most frequent preferred term alone is repeated with the same bounds on distinct participants. No adverse-event group lists suicide attempt or suicidal ideation twice, so those counts are of distinct participants.
Bears on C4
Not stated
Added in this correction, after the results were known and in answer to review, which found that posting results after 2008 does not make trials independent of the FDA's data. data/earlier.json records which trials here the earlier analyses' data hold or could hold: the studies the FDA's medical reviews list for the five newest of the 14 programmes whose approval data Khan et al. (2018) summarized and the re-analyses used, matched to trials here by the sponsor's protocol number; by drug and date, the FDA's adult trials submitted from September 2005 to September 2006, which no public document lists; and the FDA's pediatric trials, submitted by May 2004. code/correct.py repeats the co-primary analyses on the trials neither holds.
Bears on C5 and C6
Done differently
The plan registered 0.87 (data/parameters.json, stone_2009_behaviour_25_64) as the FDA's estimate for suicidal behaviour at ages 25 to 64, as the abstract of Stone et al. (2009) gives it; that paper's Table 6 gives 0.87 (0.58 to 1.29) for ages 25 and over and 1.03 (0.68 to 1.58) for 25 to 64. The registered comparison is computed as registered and reported under its correct label. data/earlier.json adds the estimate for 25 to 64 and every earlier estimate's interval, and whether each lies inside this work's 95% interval is reported at every count the tables allow.
Bears on C6