Skip to contents

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

Returns

No return value, called for side effects (initialization) Generate comprehensive search strategy report


Method generate_report()

Usage

PRISMAReporter$generate_report(
  search_analysis,
  output_format = "html",
  template_type = "comprehensive"
)

Arguments

search_analysis

SearchAnalyzer object

output_format

Output format ("html", "pdf", "word")

template_type

Type of report template

Returns

Path to generated report Generate PRISMA flow diagram


Method generate_prisma_diagram()

Usage

PRISMAReporter$generate_prisma_diagram(screening_data)

Arguments

screening_data

Data frame with screening results

Returns

ggplot object Generate search strategy documentation


Method document_search_strategy()

Usage

PRISMAReporter$document_search_strategy(search_strategy)

Arguments

search_strategy

Search strategy object

Returns

Formatted documentation


Method clone()

The objects of this class are cloneable with this method.

Usage

PRISMAReporter$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

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"