Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Index your code
hub
/
github.com/ChaokunHong/MetaScreener
/ types & classes
Types & classes
214 in github.com/ChaokunHong/MetaScreener
⨍
Functions
1,057
◇
Types & classes
214
↓ 60 callers
Class
SignalingQuestion
A single signaling question in a RoB domain. Attributes: id: Question identifier (e.g., "1.1"). text: Full question text.
src/metascreener/module3_quality/tools/base.py:11
↓ 55 callers
Class
MockLLMAdapter
Mock LLM adapter that returns predefined responses. Used exclusively for offline testing. Never call this in production. Args: model
src/metascreener/llm/adapters/mock.py:10
↓ 55 callers
Class
ReviewCriteria
Structured review criteria supporting multiple frameworks. Generalises ``PICOCriteria`` to support PICO, PEO, SPIDER, and custom frameworks.
src/metascreener/core/models.py:390
↓ 50 callers
Class
CriteriaElement
A single criteria element (e.g., Population, Intervention). Represents one dimension of the review criteria with include/exclude terms, ambig
src/metascreener/core/models.py:316
↓ 37 callers
Class
Record
A single literature record to be screened. Attributes: record_id: Unique identifier (auto-generated UUID if not provided). title:
src/metascreener/core/models.py:22
↓ 30 callers
Class
PICOAssessment
Assessment of a single PICO element from one LLM call. Attributes: match: Whether the record matches this element (None = unable to asses
src/metascreener/core/models.py:103
↓ 21 callers
Class
CriteriaWizard
Orchestrate the 5-step criteria generation pipeline. Steps: preprocess -> detect framework -> generate -> validate -> refine. Args:
src/metascreener/criteria/wizard.py:44
↓ 20 callers
Class
ScreeningDecision
Final screening decision for one record (output of Layer 4). Attributes: record_id: Reference to the screened Record. stage: Scre
src/metascreener/core/models.py:180
↓ 18 callers
Class
EvaluationRunner
Orchestrate the full evaluation workflow. Computes screening metrics, AUROC, calibration metrics, and bootstrap CIs. Delegates to Phase 3 ca
src/metascreener/evaluation/calibrator.py:39
↓ 18 callers
Class
ModelOutput
Output from a single LLM model for one record. Attributes: model_id: Identifier of the model (e.g., "qwen3", "deepseek-v3"). deci
src/metascreener/core/models.py:115
↓ 18 callers
Class
SessionManager
Save, load, and resume wizard sessions. Persists ``WizardSession`` objects as JSON files on disk, keyed by their ``session_id``. Supports lo
src/metascreener/criteria/session.py:22
↓ 17 callers
Class
DomainSchema
Schema for one RoB assessment domain. Attributes: domain: The RoB domain enum value. name: Human-readable domain name. si
src/metascreener/module3_quality/tools/base.py:26
↓ 17 callers
Class
RoB2Schema
Cochrane Risk of Bias 2 (RoB 2) tool schema for RCTs. Defines 5 domains with 22 signaling questions following the official Cochrane RoB 2 ins
src/metascreener/module3_quality/tools/rob2.py:273
↓ 17 callers
Class
WizardSession
State for an interactive criteria wizard session. Tracks the current step, draft criteria, and Q&A history so that the wizard can be resumed
src/metascreener/core/models.py:491
↓ 16 callers
Class
TAScreener
Title/Abstract screening orchestrator — full HCN pipeline. Runs the complete 4-layer HCN pipeline for each record and produces a ScreeningDec
src/metascreener/module1_screening/ta_screener.py:32
↓ 15 callers
Class
FieldDefinition
Definition of a single extraction form field. Attributes: type: The data type of the field. description: Human-readable descripti
src/metascreener/module2_extraction/form_schema.py:30
↓ 15 callers
Class
RoBAssessor
Orchestrator for multi-LLM risk of bias assessment. Pipeline: 1. Auto-select tool by StudyType (or manual override) 2. Chunk text (reuse
src/metascreener/module3_quality/assessor.py:24
↓ 14 callers
Class
DecisionRouter
Routes model outputs to a final decision and confidence tier. Uses configurable thresholds for tier assignment. Implements recall bias at Tie
src/metascreener/module1_screening/layer4/router.py:22
↓ 14 callers
Class
PICOCriteria
Structured inclusion/exclusion criteria based on PICO framework. Attributes: criteria_id: Unique identifier for this criteria set.
src/metascreener/core/models.py:58
↓ 13 callers
Class
CCAggregator
Calibrated Confidence Aggregator for ensemble LLM outputs. Computes a weighted, calibrated ensemble score and a decision agreement-based ense
src/metascreener/module1_screening/layer3/aggregator.py:27
↓ 13 callers
Class
ExtractionEngine
Orchestrator for multi-LLM parallel data extraction. Implements the chunk-then-merge strategy: 1. Split text into chunks 2. For each chun
src/metascreener/module2_extraction/extractor.py:27
↓ 12 callers
Class
ROBINSISchema
ROBINS-I tool schema for non-randomized studies of interventions. Defines 7 domains with 24 signaling questions following the official ROBINS
src/metascreener/module3_quality/tools/robins_i.py:318
↓ 10 callers
Class
QUADAS2Schema
QUADAS-2 tool schema for diagnostic accuracy studies. Defines 4 domains with 11 signaling questions following the official QUADAS-2 instrumen
src/metascreener/module3_quality/tools/quadas2.py:171
↓ 8 callers
Class
AUROCResult
AUROC computation result with ROC curve data points. Attributes: auroc: Area Under the ROC Curve. fpr: False positive rates at ea
src/metascreener/evaluation/models.py:41
↓ 8 callers
Class
PublicationTypeRule
Exclude records with non-primary publication types. Triggers on either the ``study_type`` field or title keyword matching. Unknown study type
src/metascreener/module1_screening/layer2/rules/publication_type.py:31
↓ 8 callers
Class
RuleEngine
Orchestrates all Layer 2 rules and produces a RuleCheckResult. Runs hard and soft rules in sequence, collects violations, and computes the to
src/metascreener/module1_screening/layer2/rule_engine.py:18
↓ 8 callers
Class
RuleViolation
A single rule violation detected by the semantic rule engine. Attributes: rule_name: Unique name of the violated rule. rule_type:
src/metascreener/core/models.py:143
↓ 8 callers
Class
TemplateLibrary
Load and search built-in criteria templates. Templates are stored as YAML files in the builtin_templates directory.
src/metascreener/criteria/templates.py:17
↓ 7 callers
Class
CalibrationBin
A single bin in the calibration reliability diagram. Attributes: bin_lower: Lower bound of the bin. bin_upper: Upper bound of the
src/metascreener/evaluation/models.py:55
↓ 7 callers
Class
PlattCalibrator
Platt scaling calibrator using logistic regression. Maps raw scores to calibrated probabilities via a sigmoid. Returns identity (input unchan
src/metascreener/module1_screening/layer3/calibration.py:17
↓ 7 callers
Class
PopulationPartialMatchRule
Penalize records where majority of models report population mismatch. Checks multiple element keys ("population", "sample") to support PICO,
src/metascreener/module1_screening/layer2/rules/population.py:19
↓ 7 callers
Class
QualityScore
Quality assessment of generated criteria on five dimensions. All scores are integers in [0, 100]. The ``suggestions`` list contains actionabl
src/metascreener/core/models.py:344
↓ 7 callers
Class
RoBDomainResult
Risk of Bias judgement for a single domain (Module 3). Attributes: domain: The RoB domain being assessed. judgement: Consensus Ro
src/metascreener/core/models.py:273
↓ 6 callers
Class
AmbiguousInterventionRule
Penalize records where models disagree on intervention match. Checks multiple element keys ("intervention", "comparison", "exposure", "phenom
src/metascreener/module1_screening/layer2/rules/intervention.py:27
↓ 6 callers
Class
CalibrationMetrics
Calibration quality metrics with per-bin data. Attributes: ece: Expected Calibration Error. mce: Maximum Calibration Error.
src/metascreener/evaluation/models.py:73
↓ 6 callers
Class
Decision
Screening decision for a single paper.
src/metascreener/core/enums.py:7
↓ 6 callers
Class
LanguageRule
Exclude records whose language is outside the allowed list. If ``criteria.language_restriction`` is set and the record's language is known an
src/metascreener/module1_screening/layer2/rules/language.py:8
↓ 6 callers
Class
StudyDesignRule
Exclude records whose study design is in the exclusion list. Matches ``record.study_type`` against ``criteria.study_design_exclude`` using ca
src/metascreener/module1_screening/layer2/rules/study_design.py:9
↓ 6 callers
Class
ThresholdOptimizer
Optimize decision router thresholds via grid search. Searches over τ_high × τ_mid × τ_low to maximize automation rate (fraction of records no
src/metascreener/module1_screening/layer4/threshold_optimizer.py:36
↓ 6 callers
Class
Thresholds
Threshold configuration for the DecisionRouter. Attributes: tau_high: Confidence threshold for Tier 1 (unanimous). tau_mid: Confi
src/metascreener/module1_screening/layer4/threshold_optimizer.py:22
↓ 6 callers
Class
WeightOptimizer
Learn and manage per-model weights for CCA aggregation. Weights are learned via SLSQP minimization of binary cross-entropy between weighted m
src/metascreener/module1_screening/layer3/weight_optimizer.py:18
↓ 5 callers
Class
CriteriaGenerator
Generate review criteria via LLM inference with optional multi-model consensus. When initialised with a single backend the generator operates in
src/metascreener/criteria/generator.py:34
↓ 5 callers
Class
FrameworkDetector
Detect the most appropriate SR framework using an LLM. Args: backend: LLM backend for inference.
src/metascreener/criteria/framework_detector.py:40
↓ 5 callers
Class
InferenceEngine
Layer 1 orchestrator: builds prompt + runs all backends in parallel. Uses ``PromptRouter`` to select the framework-specific prompt template,
src/metascreener/module1_screening/layer1/inference.py:16
↓ 5 callers
Class
IsotonicCalibrator
Isotonic regression calibrator. Maps raw scores to calibrated probabilities using isotonic regression, which produces a monotonically non-dec
src/metascreener/module1_screening/layer3/calibration.py:103
↓ 5 callers
Class
PromptRouter
Routes criteria framework to the appropriate prompt template. Maps ``CriteriaFramework`` enum values to their corresponding ``ScreeningPrompt
src/metascreener/module1_screening/layer1/prompts/__init__.py:16
↓ 5 callers
Class
ScreeningMetrics
Screening performance metrics. Attributes: sensitivity: True positive rate (recall). specificity: True negative rate. pre
src/metascreener/evaluation/models.py:15
↓ 5 callers
Class
UnsupportedFormatError
Unsupported file format.
src/metascreener/core/exceptions.py:47
↓ 5 callers
Class
ValidationWarning
A warning generated during extraction validation. Attributes: field_name: The field that triggered the warning. message: Human-re
src/metascreener/module2_extraction/validator.py:16
↓ 4 callers
Class
BootstrapResult
Bootstrap confidence interval result. Attributes: point: Point estimate of the metric. ci_lower: Lower bound of the 95% CI.
src/metascreener/evaluation/models.py:89
↓ 4 callers
Class
CriteriaError
Invalid or incomplete PICO criteria.
src/metascreener/core/exceptions.py:62
↓ 4 callers
Class
ExtractionForm
User-defined extraction form loaded from YAML. Attributes: form_name: Human-readable name of the form. form_version: Version stri
src/metascreener/module2_extraction/form_schema.py:50
↓ 4 callers
Class
FormWizard
AI-assisted extraction form generator. Uses a single LLM backend to generate a draft extraction form from a research topic description.
src/metascreener/module2_extraction/form_wizard.py:65
↓ 4 callers
Class
FrameworkDetectionResult
Result of framework auto-detection. Attributes: framework: The detected or overridden framework. confidence: Confidence score (0.
src/metascreener/criteria/framework_detector.py:22
↓ 4 callers
Class
GenericPrompt
Screening prompt for CUSTOM or unsupported frameworks. Renders all elements in ``criteria.elements`` using their ``name`` field as the label,
src/metascreener/module1_screening/layer1/prompts/ta_generic_v1.py:9
↓ 4 callers
Class
OutcomePartialMatchRule
Penalize records where majority of models report outcome mismatch. Checks multiple element keys ("outcome", "evaluation") to support PICO, PE
src/metascreener/module1_screening/layer2/rules/outcome.py:19
↓ 4 callers
Class
ParallelRunner
Runs multiple LLM backends in parallel and collects their outputs. Args: backends: Sequence of LLMBackend instances to run in parallel.
src/metascreener/llm/parallel_runner.py:22
↓ 4 callers
Class
RoBResult
Complete Risk of Bias assessment for one paper (Module 3). Attributes: record_id: Reference to the assessed Record. tool: Name of
src/metascreener/core/models.py:293
↓ 4 callers
Class
RuleCheckResult
Result of the semantic rule engine for one record (Layer 2 output). Attributes: hard_violations: List of hard rule violations (each trigg
src/metascreener/core/models.py:159
↓ 4 callers
Class
ValidationIssue
A single validation issue found during rule-based checks. Attributes: severity: Issue severity ('error', 'warning', 'info'). elem
src/metascreener/criteria/validator.py:30
↓ 3 callers
Class
CriteriaFramework
Systematic review criteria framework type.
src/metascreener/core/enums.py:107
↓ 3 callers
Class
CriteriaTemplate
Pre-built criteria template for common review types. Templates provide a starting point for criteria generation and can be customised by the
src/metascreener/core/models.py:516
↓ 3 callers
Class
EvaluationReport
Complete evaluation report with all metrics and CIs. Attributes: metrics: Screening performance metrics. auroc: AUROC with ROC cu
src/metascreener/evaluation/models.py:103
↓ 3 callers
Class
FieldValidation
Numeric validation constraints for an extraction field. Attributes: min: Minimum allowed value (inclusive). max: Maximum allowed
src/metascreener/module2_extraction/form_schema.py:18
↓ 3 callers
Class
GenerationAudit
Audit trail for AI-assisted criteria generation. Records how criteria were generated, which models participated, and the raw per-model output
src/metascreener/core/models.py:367
↓ 3 callers
Class
OpenRouterAdapter
LLM adapter using the OpenRouter API. Args: model_id: Internal model identifier (e.g., 'qwen3'). openrouter_model_name: OpenRoute
src/metascreener/llm/adapters/openrouter.py:25
↓ 3 callers
Class
PEOPrompt
Screening prompt for PEO (Population, Exposure, Outcome).
src/metascreener/module1_screening/layer1/prompts/ta_peo_v1.py:9
↓ 3 callers
Class
PICOPrompt
Screening prompt for PICO (Population, Intervention, Comparison, Outcome).
src/metascreener/module1_screening/layer1/prompts/ta_pico_v1.py:9
↓ 3 callers
Class
Tier
Hierarchical decision routing tier (Layer 4). Lower value = higher priority.
src/metascreener/core/enums.py:15
↓ 2 callers
Class
LLMError
Base for all LLM-related failures.
src/metascreener/core/exceptions.py:13
↓ 2 callers
Class
LLMParseError
Failed to parse LLM JSON response.
src/metascreener/core/exceptions.py:29
↓ 2 callers
Class
LLMRateLimitError
LLM API rate limit exceeded.
src/metascreener/core/exceptions.py:25
↓ 2 callers
Class
LLMTimeoutError
LLM API call timed out.
src/metascreener/core/exceptions.py:21
↓ 2 callers
Class
MetaScreenerConfig
Root configuration for MetaScreener. Attributes: models: Registry of available LLM models. thresholds: Decision router threshold
src/metascreener/config.py:67
↓ 2 callers
Class
PCCPrompt
Screening prompt for PCC (Population, Concept, Context).
src/metascreener/module1_screening/layer1/prompts/ta_pcc_v1.py:9
↓ 2 callers
Class
PDFParseError
Failed to extract text from PDF.
src/metascreener/core/exceptions.py:57
↓ 2 callers
Class
RoBJudgement
Risk of Bias judgement for a single domain.
src/metascreener/core/enums.py:76
↓ 2 callers
Class
SPIDERPrompt
Screening prompt for SPIDER framework. SPIDER: Sample, Phenomenon of Interest, Design, Evaluation, Research type.
src/metascreener/module1_screening/layer1/prompts/ta_spider_v1.py:9
↓ 2 callers
Class
ScreeningStage
Screening stage identifier.
src/metascreener/core/enums.py:100
↓ 1 callers
Class
AuditEntry
Complete TRIPOD-LLM audit trail entry for one screening decision. Captures all information needed to fully reproduce a screening decision, in
src/metascreener/core/models.py:208
↓ 1 callers
Class
CalibrationError
Calibration failed due to insufficient data.
src/metascreener/core/exceptions.py:66
↓ 1 callers
Class
ConcreteBackend
Minimal concrete implementation for testing.
tests/unit/test_llm_base.py:11
↓ 1 callers
Class
ExtractionResult
Data extraction result for one paper (Module 2). Attributes: record_id: Reference to the source Record. form_version: Version of
src/metascreener/core/models.py:249
↓ 1 callers
Class
InferenceConfig
LLM inference configuration. Attributes: temperature: Sampling temperature (0.0 for deterministic). timeout_s: Timeout per LLM ca
src/metascreener/config.py:53
↓ 1 callers
Class
MetaScreenerError
Base exception for all MetaScreener errors.
src/metascreener/core/exceptions.py:8
↓ 1 callers
Class
ModelEntry
A single LLM model configuration entry. Attributes: name: Full model name (e.g., "Qwen/Qwen3-235B-A22B-Instruct"). version: Versi
src/metascreener/config.py:14
↓ 1 callers
Class
RoBToolSchema
Abstract base class for Risk of Bias tool schemas. Each concrete subclass defines the domains, signaling questions, and overall judgement log
src/metascreener/module3_quality/tools/base.py:42
↓ 1 callers
Class
ScreeningPrompt
Abstract base class for screening prompt templates. Subclasses implement ``build_criteria_section`` to render framework-specific criteria (PI
src/metascreener/module1_screening/layer1/prompts/base.py:15
↓ 1 callers
Class
ThresholdConfig
Decision router threshold configuration. Attributes: tau_high: Confidence threshold for Tier 1 (unanimous). tau_mid: Confidence t
src/metascreener/config.py:36
↓ 1 callers
Class
_BadMockAdapter
Mock adapter that returns invalid JSON to trigger parse errors.
tests/unit/test_extractor.py:21
Class
ConfidenceLevel
Qualitative confidence level.
src/metascreener/core/enums.py:27
Class
ConsensusMerger
Merge criteria from multiple LLM outputs using exact-string consensus. Current implementation uses exact string matching for merging. Semanti
src/metascreener/criteria/consensus.py:16
Class
CriteriaInputMode
How criteria input is provided.
src/metascreener/core/enums.py:127
Class
CriteriaSchema
Read/write ReviewCriteria as YAML with legacy format migration.
src/metascreener/criteria/schema.py:20
Class
CriteriaValidator
Validate review criteria via rule-based checks and LLM quality assessment. Provides two validation layers: - ``validate_rules`` (Layer 1): Fa
src/metascreener/criteria/validator.py:44
Class
ExtractionFieldType
Data type for extraction form fields.
src/metascreener/core/enums.py:88
Class
IOError
Base for file I/O failures.
src/metascreener/core/exceptions.py:43
Class
InputPreprocessor
Static utility class for preprocessing raw text input. Handles PDF noise removal, text truncation with word-boundary awareness, and simple Un
src/metascreener/criteria/preprocessor.py:28
Class
LLMBackend
Abstract base class for all LLM adapters. Subclasses must implement `_call_api()` and `model_version`. All calls use temperature=0.0 for repr
src/metascreener/llm/base.py:164
Class
RoBDomain
Risk of Bias assessment domains (shared prefix convention).
src/metascreener/core/enums.py:50
next →
1–100 of 214, ranked by callers