ExtractVahti

Extract once, appraise once — tidy data + risk-of-bias your meta-analysis can trust

v0.3κ / Krippendorff αRoB SVGlocal-firstDTA

1Included studies & protocol

Paste the included set from MatchVahti screening (JSON / JSONL: one object per study with record_id, pmid, doi, title, year, venue), or load the example. The corpus is your locked set — extraction is keyed to protocol_hash + record_id so it lines up with screening and reconciliation.

2Extract — study data

2bPer-cutoff accuracy — enter a 2×2 where reconstructable; sens/spec/OPA auto-compute

2cDecision impact — directional reclassification (AI vs manual)

3Appraise — risk of bias

Each domain: low · unclear · high. The reference-standard domain is high-concern by design here (an imperfect reference shares error with the comparator).

4Review & export

Completion + the risk-of-bias traffic-light. Export is downloadable, reviewable files — nothing uploads.

Risk-of-bias traffic-light

Feed extraction.csv / reclassification.csv to R (metadta / mada / meta) — HSROC where a 2×2 is reconstructable, agreement pooling otherwise.

5Reconcile — dual extraction

Load a second extractor's extraction.jsonl (from another ExtractVahti). Records join on record_id; judgments get Cohen's κ, counts an exact match, continuous values a tolerance. Only beyond-tolerance mismatches surface for adjudication — the human data source stands alone.

ASealed agent reconciliation aid — optional, guarded

Load an agent pre-extraction file (same jsonl; each record carries a model id). It is sealed — never shown and never entered into your data. After you commit a study (Save), the agent's values for that study are revealed only as discrepancy flags to re-check. Audited: human-commit before reveal.