Introduction to Strategus
Anthony G. Sena
2024-10-29
Source:vignettes/IntroductionToStrategus.Rmd
IntroductionToStrategus.Rmd
Introduction to Strategus
The Strategus
package is a new approach for coordinating
and executing analytics using HADES modules. The goal is to have OHDSI
network sites install Strategus
and exchange an analysis
specification in JSON format to execute a network study. The analysis
specification will capture all of the design choices that pertain to the
methods used in a given study. The analysis specification format aims to
allow for combining different HADES modules together as a pipeline to
execute a study.
For more details on how Strategus is used as part of a network study, please see the Strategus Study Repo Template.
Using Strategus
The high-level steps in using Strategus
consists of the
following:
- Create the analysis specification for the study. This will include things like picking the cohorts for the study and to specify the analysis settings for each the HADES modules (i.e. Cohort Diagnostics, Comparative Cohort Study, etc). See the Creating Analysis Specification article for more details.
- Create the execution settings that specify how to connect to the OMOP CDM in your environment and execute your study. See the Execute Strategus for more details.
- Upload the results and use Shiny to view the results. See the Working with Results for more details.
What is a HADES module?
A HADES module aims to standardize the input and output produced by a
HADES
package. Each HADES module contains a function to create the
settings to carry out the analytic tasks. These module settings are then
added to the analysis specification to build a pipeline of analytic
tasks that span one or more modules. Each HADES module is responsible
for writing results as comma-separated value (.csv) files. CSV output
was purposely chosen to provide transparency for the results generated
so that users of Strategus
can review their results before
providing them to a network study coordinator. In addition to the CSV
results, each module will produce a
resultsDataModelSpecification.csv
which describes the
data-definition language (DDL) to store the CSV results in a PostgreSQL
database. The definition of the
resultsDataModelSpecification.csv
is described in more
details in the ResultModelManager
documentation. Finally, each HADES module provides functions for
creating the PostgreSQL results tables based on the
resultsDataModelSpecification.csv
and for uploading the CSV
results to the results database.
From a technical perspective, a HADES module is an R6 class that
accepts the Strategus
JSON analysis specification to call
one or more HADES packages to produce a standardized set of results.
When used with renv,
Strategus provides a reproducible way to execute each step in an
analysis specification by ensuring the proper dependencies are available
along with the code that was used to execute the analysis.