SynthVahti

Check each extracted 2×2 table in your browser, then generate the versioned R analysis for the bivariate model and SROC curve.

Fully offlinev0.1hybrid · R for the bivariate modellocal-firstnothing uploads

1Load your extraction data

SynthVahti reads one extraction.csv, the file ExtractVahti exports, one row per study × cutoff. Load it below, or start from the worked example to see the format.

FORMATWhat each column means — and the two ways to give SynthVahti a study

Header row required. Give either a full 2×2 count (tp,fp,fn,tn) or a precomputed proportion with its denominator (opa + n). The 2×2 is preferred — it lets SynthVahti pool positive and negative agreement too, not just overall agreement.

columnmeaningrequired?
record_idstudy label shown on the forest plot (e.g. a PMID or first-author-year)recommended
cutoffthe positivity threshold; rows are pooled within each cutoff (e.g. >=1%, >=50%)recommended
tp fp fn tnthe 2×2 agreement table vs the reference standard (true/false positives & negatives)one of these two
opa  noverall percent agreement (0–1) and the total N it was computed on…or these two
kappa_linearper-study weighted κ, shown descriptively in the table (not pooled)optional

Reads as agreement against an imperfect reference, not accuracy — a ≥2-pathologist consensus shares error with the comparator. That framing carries through every figure and export.

Minimal valid file:

2Results — exploratory agreement synthesis

Reads as agreement, not accuracy. Positive and negative agreement here describe agreement with the chosen reference; SynthVahti does not assume the reference is error-free. Pooling is random-effects DerSimonian–Laird on the logit scale, and treats positive and negative agreement independently; κ is descriptive only. This is the exploratory browser half — the preferred final synthesis is the joint bivariate model in the R hand-off below.
READWhat the results mean
  • Overall agreement is the proportion of all classifications that agree.
  • Positive agreement is the proportion of reference-positive cases the index assessment classifies as positive.
  • Negative agreement is the proportion of reference-negative cases the index assessment classifies as negative.
  • The bivariate model (in R) estimates positive and negative agreement jointly across studies, because changing the threshold can raise one while lowering the other; pooling them independently here is for inspection only.
  • The SROC curve (in R) summarizes their relationship across studies and thresholds.

These results describe comparative classification performance against the declared reference. They do not establish biological truth, clinical utility, or freedom from reference-standard bias.

Figures — formatted for print; export PNG at 2× below

3Export

R hand-off — the preferred final analysis. synthesis.R reads the same extraction.csv and runs, in R: the joint bivariate random-effects model (mada) that models positive and negative agreement together, the SROC curve and summary region, and any pre-specified sensitivity or subgroup analyses. It records sessionInfo() + an renv note so the analysis is package-versioned and reproducible.