Learn R Programming

EvidenceSynthesis

EvidenceSynthesis is part of HADES.

Introduction

This R package contains routines for combining causal effect estimates and study diagnostics across multiple data sites in a distributed study. This includes functions for performing meta-analysis and forest plots.

Features

  • Perform a traditional fixed-effects or random-effects meta-analysis, and create a forest plot.
  • Use non-normal approximations of the per-data-site likelihood function to avoid bias when facing small and zero counts.

Example

# Simulate some data for this example:
populations <- simulatePopulations()

# Fit a Cox regression at each data site, and approximate likelihood function:
fitModelInDatabase <- function(population) {
  cyclopsData <- Cyclops::createCyclopsData(Surv(time, y) ~ x + strata(stratumId),
                                            data = population,
                                            modelType = "cox")
  cyclopsFit <- Cyclops::fitCyclopsModel(cyclopsData)
  approximation <- approximateLikelihood(cyclopsFit, parameter = "x", approximation = "grid with gradients")
  return(approximation)
}
approximations <- lapply(populations, fitModelInDatabase)
approximations <- do.call("rbind", approximations)

# At study coordinating center, perform meta-analysis using per-site approximations:
estimate <- computeBayesianMetaAnalysis(approximations)
estimate
#          mu     mu95Lb   mu95Ub      muSe       tau     tau95Lb   tau95Ub     logRr   seLogRr
# 1 0.5770562 -0.2451619 1.382396 0.4154986 0.2733942 0.004919128 0.7913512 0.5770562 0.4152011

Technology

This an R package with some parts implemented in Java.

System requirements

Requires R and Java.

Getting Started

  1. Make sure your R environment is properly configured. This means that Java must be installed. See these instructions for how to configure your R environment.

  2. In R, use the following commands to download and install EvidenceSynthesis:

    install.packages("EvidenceSynthesis")

User Documentation

Documentation can be found on the package website.

PDF versions of the documentation are also available:

Support

  • Developer questions/comments/feedback: OHDSI Forum
  • We use the GitHub issue tracker for all bugs/issues/enhancements

Contributing

Read here how you can contribute to this package.

License

EvidenceSynthesis is licensed under Apache License 2.0

Development

This package is being developed in RStudio.

Development status

Beta

Copy Link

Version

Install

install.packages('EvidenceSynthesis')

Monthly Downloads

2,015

Version

1.0.0

License

Apache License 2.0

Issues

Pull Requests

Stars

Forks

Maintainer

Martijn Schuemie

Last Published

August 26th, 2025

Functions in EvidenceSynthesis (1.0.0)

createSimulationSettings

Create simulation settings
loadCyclopsLibraryForJava

Load the Cyclops dynamic C++ library for use in Java
ooiLikelihoods

Example profile likelihoods for a synthetic outcome of interest
plotEmpiricalNulls

Plot empirical null distributions
plotLikelihoodFit

Plot the likelihood approximation
plotCovariateBalances

Plot covariate balances
plotBiasDistribution

Plot bias distributions
generateBayesianHMAsettings

Generate settings for the Bayesian random-effects hierarchical meta-analysis model
hermiteInterpolation

Cubic Hermite interpolation using both values and gradients to approximate a log likelihood function
prepareSccsIntervalData

Prepare SCCS interval data for pooled analysis
ncLikelihoods

Example profile likelihoods for negative control outcomes
preparePsPlot

Prepare to plot the propensity score distribution
plotPerDbMcmcTrace

Plot MCMC trace for individual databases
plotPosterior

Plot posterior density
plotPreparedPs

Plot the propensity score distribution
plotPerDbPosterior

Plot posterior density per database
simulateMetaAnalysisWithNegativeControls

Simulate survival data across a federated data network, with negative control outcomes as well.
plotMcmcTrace

Plot MCMC trace
hmaLikelihoodList

Example profile likelihoods for hierarchical meta analysis with bias correction
likelihoodProfileLists

A bigger example of profile likelihoods for hierarchical meta analysis with bias correction
supportsJava8

Determine if Java virtual machine supports Java
summarizeChain

Utility function to summarize MCMC samples (posterior mean, median, HDI, std, etc.)
skewNormal

The skew normal function to approximate a log likelihood function
plotBiasCorrectionInference

Plot bias correction inference
simulatePopulations

Simulate survival data for multiple databases
sequentialFitBiasDistribution

Fit Bias Distribution Sequentially or in Groups
plotMetaAnalysisForest

Create a forest plot
computeConfidenceInterval

Compute the point estimate and confidence interval given a likelihood function approximation
approximateHierarchicalNormalPosterior

Approximate Bayesian posterior for hierarchical Normal model
computeBayesianMetaAnalysis

Compute a Bayesian random-effects meta-analysis
computeFixedEffectMetaAnalysis

Compute a fixed-effect meta-analysis
biasCorrectionInference

Bias Correction with Inference
computeHierarchicalMetaAnalysis

Compute a Bayesian random-effects hierarchical meta-analysis
EvidenceSynthesis-package

EvidenceSynthesis: Synthesizing Causal Evidence in a Distributed Research Network
buildLabelReferences

Build a list of references that map likelihood names to integer labels for later use
approximateLikelihood

Approximate a likelihood function
approximateSimplePosterior

Approximate simple Bayesian posterior
createSccsSimulationSettings

Create SCCS simulation settings
constructDataModel

Construct DataModel objects from approximate likelihood or profile likelihood data
createApproximations

Create likelihood approximations from individual-trajectory data
customFunction

A custom function to approximate a log likelihood function
detectApproximationType

Detect the type of likelihood approximation based on the data format
extractSourceSpecificEffects

Compute source-specific biases and bias-corrected estimates from hierarchical meta analysis results
fitBiasDistribution

Fit Bias Distribution