Neonatal outcomes after prenatal exposure to selective serotonin reuptake inhibitors: extraction dataset and analysis code
Abstract
Version 1.23, 13 September 2026. One sentence changed in the methods, and nothing else. No estimate, table 2 value or certainty rating changes, and no change to the extraction dataset or the analysis code. The information sources sentence now reads that the search was run beginning on 14 August 2026 from database inception across PubMed, the Web of Science Core Collection, the Cochrane Library, and Scopus, rather than naming a separate date on which the search was extended to Scopus. This deposit carries the manuscript sources as revised. Version 1.22, 13 September 2026. No estimate, table 2 value or certainty rating changes, and no change to the extraction dataset or the analysis code. Editorial revision of the methods and results describing the broadened re-search, made after the version 1.21 deposit was published. The methods now record that the registered exposure block named the individual SSRIs while the eligibility criteria admit reports defining exposure more broadly, that all four sources were therefore searched again with antidepressant terms added and the additional records screened in duplicate under the same rules, and that sixteen studies met the criteria, with full-text exclusions in supplementary table S7c and the sixty-eight reports whose full text was not obtained listed with their eligibility decisions in supplementary table S7d. The search paragraph now states that the search was extended to Scopus on 7 September 2026, matching figure 1. The results now report the broadened re-search as 267 unique reports assessed in duplicate and 251 excluded, which are the counts figure 1 prints, in place of a retrieval-based count that no longer applied once every report had been assessed. Three passages of methodological commentary were removed as redundant with the material they described. This deposit carries the manuscript sources as revised; version 1.21 carries them as they stood before this revision. Version 1.21, 13 September 2026. No estimate, table 2 value or certainty rating changes. Two substantive corrections and one completed piece of screening work. First, the sixty-nine reports that the broadened re-search had recorded as not obtained at the retrieval stage were screened in full against the registered eligibility criteria by two reviewers working independently, with the principal investigator adjudicating every disagreement. The sixty-nine resolve to sixty-eight unique reports; the two reviewers agreed on sixty-four of sixty-nine decisions before adjudication; none of the sixty-eight met the eligibility criteria. Where the record itself settled eligibility the decision was taken on the record, and where it did not the full text or the trial registry record was obtained and the decision taken on that. Nothing was left unassessed, so the PRISMA reports-not-retrieved box for the broadened re-search is now zero and supplementary table S7d has been rebuilt as a screening table giving each report its decision, reason and basis. Second, the abstract, summary box and discussion conclusions were rewritten to state, outcome by outcome, what was raised and against which comparator, and to correct a miscount that had conflated the prediction-interval test with the leave-one-out test. Study counts, the analysis code and the extraction dataset are unchanged from version 1.20. Version 1.20, 12 September 2026. No estimate, table 2 value or certainty rating changes. Three presentation and build corrections. Supplementary table S5b, the analyses whose interval excludes no effect only while every data source is present, was a single eight-column table that wrapped author names mid-word when typeset and left a reader unable to see which omission returned an interval to the null; it is now one compact block per analysis, each with its own three-column table naming every omission, its estimate with interval, and whether that omission returns the interval to no effect. Supplementary file 2 printed all twenty-one analysis scripts verbatim, which put about a hundred pages of source in front of anyone opening the submission proof; it is now a one-page manifest giving each script, what it does and the order to run them in, with the code itself supplied runnable here and in supplementary file 3 exactly as before. The sentence under the leave-one-out table for the after-week-20 pulmonary hypertension stratum printed raw record identifiers rather than author and year labels, because that list is keyed on the bare study name while the table it sits under is keyed on the full record identifier. In the document build, build_bmj.py cleared the entire package folder rather than the manuscript folder alone, so rebuilding the manuscript silently deleted the tables, figures and supplementary items already assembled beside it. Version 1.19, 12 September 2026. Corrects the PRISMA checklist builder in the document build: locations were matched anywhere in the rendered page text, which sent item 5 to page 1 because the abstract carries the phrase "Eligibility criteria for selecting studies". Headings are now matched only where they stand alone on their own line. No analysis output, estimate or study set changed from version 1.18. Version 1.18, 12 September 2026. No study was added or removed; the analysis set is unchanged at 127 studies on 82 independent data sources. Changes: leave-one-out is now computed for every analysis with three or more data sources rather than four or more, so that it matches the fragility test the GRADE imprecision rule already used; leave-one-out confidence intervals are now stored alongside the point estimates and printed, omission by omission, in the new supplementary table S5b, and for the unspecified-timing pulmonary hypertension analysis in supplementary table S4a; the supplementary table S1 column formerly headed "Leave-one-out range" is now "Leave-one-out point-estimate range", because it is a range of point estimates and was open to being read as a confidence interval. The archive now also carries the document build and the manuscript sources, so the submission can be rebuilt from this deposit alone. The complete data extraction and analysis code for the systematic review and meta-analysis "Neonatal outcomes after prenatal exposure to selective serotonin reuptake inhibitors" (PROSPERO CRD420251243990). The registered searches were run on 14 August 2026 from database inception, and all four registered sources were searched again on 7 September 2026 on a broadened exposure string adding antidepressant terms, also from inception. 127 observational studies drawing on 82 independent data sources were included. SSRI_extraction_dataset.xlsx holds the extraction in full. The Estimates sheet has one row per extracted estimate, 844 in all, of which 514 are the adjusted estimates that enter the analyses. Every one carries the verbatim sentence or table row it was taken from and the table or figure number in the source paper, so any extraction can be checked against its source without contacting the authors. Further sheets hold study characteristics, Newcastle-Ottawa domain scores with the adjustment-set assessment, and the reports excluded at full text with their reasons. SSRI_zenodo_deposit.zip holds the same dataset, the native JSON file the analysis reads, the three analysis output files (pooled estimates, subgroup and sensitivity results, GRADE judgements), and the Python scripts that produce every estimate, table and figure in the paper, with a README giving the order to run them in. SSRI_zenodo_README.md is that README, provided separately so it can be read without downloading the archive. Python 3.11 with numpy, scipy, pandas and matplotlib. No proprietary software and no random seeds: every result is deterministic and reproducible from the deposited files alone. Version 1.17, 12 September 2026: a second round of external pre-submission review. Two changes to the analysis. The risk-of-bias downgrade threshold in grade_v1.py was implemented as a proportion below 0.34 while the protocol and the manuscript both say fewer than a third, so a body meeting the minimum adjustment set in exactly one third of its studies was downgraded against the stated rule; the implementation is corrected to the stated rule rather than the wording to the implementation. Exactly one body sits at that boundary, small for gestational age against unexposed women at 4 of 12, and it carries an imprecision downgrade as well, so no certainty rating changes: the table still reads 24 bodies, 22 very low and 2 low. Supplementary table S2 gains a panel listing every row held out of a pooled analysis with its reason, eleven in all, read from the dataset so the table and the analysis cannot disagree; three of those rows changed a printed estimate at version 1.16 and that is now stated rather than silent. The remaining changes are to the manuscript and not to any number: the abstract no longer presents the any-timing pulmonary hypertension estimate as a third finding whose prediction interval excludes no effect, because three of its six sources cannot be removed without the interval returning to the null, which is also why it carries an imprecision downgrade; several sentences that still described the pre-correction analysis were corrected; and the Table 2 row formerly labelled all exposure windows is relabelled unspecified exposure timing. No study was added or removed and no pooled estimate changed. Version 1.16, 12 September 2026: corrects the persistent pulmonary hypertension analysis and two pooling-rule violations found by external pre-submission review. The comparator A pulmonary hypertension pool, reported as covering all exposure windows, was drawing three of its nine inputs from those studies' after-week-20 rows, which the protocol forbids in an any-timing pool; the pool_eligible flag existed only on the wave 4 records, so the selector fell back to the narrowest interval and chose the late-window row for Chambers 2006,