This document explains how to configure the PRISMA workflow automation project using the config.json file.
The config.json file is the central configuration for the PRISMA workflow automation project. It defines the search strategy, database settings, and output preferences.
The configuration file has the following main sections:
{
"project": { ... },
"search_terms": { ... },
"boolean_operators": { ... },
"database_defaults": { ... },
"databases": {
"pubmed": { ... },
"scopus": { ... },
"embase": { ... },
"cochrane": { ... }
},
"screening": { ... },
"data_extraction": { ... },
"output": { ... }
}The project section contains metadata about the systematic review:
"project": {
"title": "Example Systematic Review",
"description": "A systematic review of lung cancer treatments",
"authors": ["Researcher A", "Researcher B"],
"date": "2025-04-01"
}The search_terms section follows the PICO framework:
"search_terms": {
"population": ["lung cancer", "NSCLC", "non-small cell lung cancer"],
"intervention": ["immunotherapy", "pembrolizumab", "nivolumab"],
"comparison": ["chemotherapy", "radiation therapy"],
"outcome": ["survival", "progression-free survival"],
"study_design": ["randomized controlled trial", "systematic review"]
}The boolean_operators section defines how search terms are combined:
"boolean_operators": {
"within_category": "OR",
"between_categories": "AND"
}The database_defaults section contains settings that apply to all databases by default:
"database_defaults": {
"enabled": true,
"fields": ["title", "abstract", "keywords"],
"date_range": {
"start_year": 2000,
"end_year": 2025
},
"languages": ["english"],
"max_results": 1000
}Each database has its own section with specific settings that override the defaults:
"databases": {
"scopus": {
"enabled": true,
"fields": ["title", "abstract", "keywords"],
"subject_areas": ["medicine", "health sciences"],
"document_types": ["article", "review"]
}
}The screening section defines inclusion and exclusion criteria:
"screening": {
"title_abstract": {
"inclusion": ["human studies", "adult patients"],
"exclusion": ["case reports", "animal studies"]
},
"full_text": {
"inclusion": ["sample size > 100", "follow-up > 1 year"],
"exclusion": ["non-English full text", "conference abstracts"]
}
}The data_extraction section defines fields to extract from included studies:
"data_extraction": {
"fields": [
"study_design",
"sample_size",
"intervention_details",
"outcome_measures",
"results",
"conclusions"
]
}The output section defines how results are exported:
"output": {
"format": "bibtex",
"deduplicate": true,
"export_path": "output/results"
}See the project's config.json file for a complete example configuration.
You can modify the configuration in several ways:
- Directly edit the
config.jsonfile - Use the CLI command:
python -m src.python.cli config edit - Programmatically via the
ConfigLoaderclass
The ConfigLoader class validates the configuration when loading it. If there are errors, it will raise exceptions with helpful error messages.