A comprehensive reporting system for generating PRISMA-compliant reports from systematic review search analyses.
Details
The PRISMAReporter class provides tools for:
Generating comprehensive search strategy reports
Creating PRISMA flow diagrams
Documenting search strategies
Exporting reports in multiple formats (HTML, PDF, Word)
Methods
new()Initialize a new PRISMAReporter instance
generate_report(search_analysis, output_format, template_type)Generate comprehensive search strategy report
generate_prisma_diagram(screening_data)Generate PRISMA flow diagram
document_search_strategy(search_strategy)Generate search strategy documentation
Methods
Method new()
Creates a new PRISMAReporter instance for generating PRISMA-compliant reports. Sets up the necessary template paths and configuration.
Usage
PRISMAReporter$new()Method generate_report()
Usage
PRISMAReporter$generate_report(
search_analysis,
output_format = "html",
template_type = "comprehensive"
)Examples
# Create reporter
reporter <- PRISMAReporter$new()
# Create sample search strategy for documentation
search_strategy <- list(
terms = c("systematic review", "meta-analysis", "evidence synthesis"),
databases = c("PubMed", "Embase", "Cochrane"),
date_range = as.Date(c("2020-01-01", "2023-12-31")),
filters = list(language = "English", study_type = "RCT")
)
# Generate search strategy documentation
strategy_docs <- reporter$document_search_strategy(search_strategy)
print(strategy_docs)
#> $search_terms
#> [1] "systematic review OR meta-analysis OR evidence synthesis"
#>
#> $databases
#> [1] "PubMed, Embase, Cochrane"
#>
#> $filters
#> [1] "language: English; study_type: RCT"
#>
#> $execution_details
#> $execution_details$timestamp
#> NULL
#>
#> $execution_details$total_terms
#> [1] 3
#>
#> $execution_details$total_databases
#> [1] 3
#>
#>
#> attr(,"class")
#> [1] "search_documentation"
# Create sample screening data for PRISMA diagram
screening_data <- data.frame(
id = 1:100,
duplicate = c(rep(FALSE, 80), rep(TRUE, 20)),
title_abstract_screened = c(rep(TRUE, 80), rep(FALSE, 20)),
full_text_eligible = c(rep(TRUE, 25), rep(FALSE, 75)),
included = c(rep(TRUE, 15), rep(FALSE, 85)),
excluded_title_abstract = c(rep(FALSE, 25), rep(TRUE, 55), rep(FALSE, 20)),
excluded_full_text = c(rep(FALSE, 15), rep(TRUE, 10), rep(FALSE, 75))
)
# Generate PRISMA diagram
prisma_plot <- reporter$generate_prisma_diagram(screening_data)
#> Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
#> ℹ Please use `linewidth` instead.
#> ℹ The deprecated feature was likely used in the searchAnalyzeR package.
#> Please report the issue at
#> <https://github.com/chaoliu-cl/searchAnalyzeR/issues>.
print("PRISMA diagram created successfully")
#> [1] "PRISMA diagram created successfully"