jev-screen
Title and abstract screening for systematic reviews with Jev: include, exclude or maybe per record, with reasons, PRISMA counts and recall.
Overview
jev-screen screens bibliographic records for systematic reviews against explicit inclusion and exclusion criteria using Jev, producing include, exclude or maybe buckets with a reason per criterion, PRISMA counts, RIS exports, a ranked reading order, and agreement and recall against human screeners. It positions itself as a second screener or prioritiser, never the sole decider: recall is the metric that matters at this stage, uncertain records go to a human review queue, and recall is reported with confidence intervals to show how little a pilot proves.
Only titles and abstracts are sent. An estimate command reports tokens and cost before any call, answers can be cached by exact request, and resuming checks protocol, provider and record fingerprints. The README estimates 5,000 abstracts with 6 criteria at about 3 million input tokens or roughly $0.13 at list price. It uses only the Python standard library; offline demos use synthetic records with hand-written fixture probabilities, clearly labelled as not measured Jev output. Docs include French and Spanish.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this record meet this inclusion (or exclusion) criterion? | yes · no |
| Choice | Should this record be included, excluded or reviewed? | include · exclude · maybe |
How it works
- Load records (RIS/CSV) and criteria
- Estimate cost without calling
- Screen titles and abstracts with Jev per criterion
- Bucket into include, exclude or maybe with reasons
- Export PRISMA counts, rankings and agreement with human screeners
Strengths
- Recall-focused with confidence intervals
- Uncertain records always go to humans
- Cost estimate before any call
- Standard library only
Caveats
- Not a sole decider
- Demos use synthetic fixture probabilities
- Paid API calls for real screening
Getting started
git clone https://github.com/gbesse/jev-screen.git && cd jev-screen && PYTHONPATH=src python -m examples.offline_demoAt a glance
- Type
- Project
- Status
- beta
- Language
- Python
- Runtime
- CLI and library
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Title and abstract screening for systematic reviews with Jev: explicit…
wh000wh000/awesome-jev-live
Frequently asked questions
Can it replace human screeners?
No. It is designed as a second screener or prioritiser, and uncertain records go to humans.
How much does screening cost?
The README estimates about $0.13 for 5,000 abstracts with 6 criteria.
What is sent to the API?
Only each record's title and abstract.
Related projects
Classifies 1,000 arXiv AI papers into 24 topics with one Jev Choice each and checks agreement against an LLM judge.
ProjectprototypePythonBrowser-based systematic-review extraction tool where Jev points at the lines that answer each question and code copies verbatim quotes.
ProjectbetaJavaScriptChecks whether each cited paper supports its citing sentence: code fetches papers, Claude proves a quote, Jev scores it, a human decides.
ServiceproductionPublished Jev client and claim check from the Fake/Real evidence-review site, where Jev filters sources and judges each claim.
ProjectproductionTypeScriptChinese-language Zotero AI reading assistant that uses Jev judgments to classify papers in your library.
LibraryproductionJavaScriptBilingual catalogue of Jev papers, software projects and public materials, with evidence levels, published as a static site.
Appproduction