Run a list of analyses
runCmAnalyses(
connectionDetails,
cdmDatabaseSchema,
tempEmulationSchema = getOption("sqlRenderTempEmulationSchema"),
exposureDatabaseSchema = cdmDatabaseSchema,
exposureTable = "drug_era",
outcomeDatabaseSchema = cdmDatabaseSchema,
outcomeTable = "condition_occurrence",
cdmVersion = "5",
outputFolder = "./CohortMethodOutput",
cmAnalysisList,
targetComparatorOutcomesList,
analysesToExclude = NULL,
refitPsForEveryOutcome = FALSE,
refitPsForEveryStudyPopulation = TRUE,
multiThreadingSettings = createMultiThreadingSettings()
)
An R object of type connectionDetails
created using the
DatabaseConnector::createConnectionDetails()
function.
The name of the database schema that contains the OMOP CDM instance. Requires read permissions to this database. On SQL Server, this should specify both the database and the schema, so for example 'cdm_instance.dbo'.
Some database platforms like Oracle and Impala do not truly support temp tables. To emulate temp tables, provide a schema with write privileges where temp tables can be created.
The name of the database schema that is the location where the exposure data used to define the exposure cohorts is available. If exposureTable = DRUG_ERA, exposureDatabaseSchema is not used by assumed to be cdmSchema. Requires read permissions to this database.
The tablename that contains the exposure cohorts. If exposureTable <> DRUG_ERA, then expectation is exposureTable has format of COHORT table: COHORT_DEFINITION_ID, SUBJECT_ID, COHORT_START_DATE, COHORT_END_DATE.
The name of the database schema that is the location where the data used to define the outcome cohorts is available. If exposureTable = CONDITION_ERA, exposureDatabaseSchema is not used by assumed to be cdmSchema. Requires read permissions to this database.
The tablename that contains the outcome cohorts. If outcomeTable <> CONDITION_OCCURRENCE, then expectation is outcomeTable has format of COHORT table: COHORT_DEFINITION_ID, SUBJECT_ID, COHORT_START_DATE, COHORT_END_DATE.
Define the OMOP CDM version used: currently support "4" and "5".
Name of the folder where all the outputs will written to.
A list of objects of type cmAnalysis
as created using
the `createCmAnalysis function.
A list of objects of type targetComparatorOutcomes
as
created using the createTargetComparatorOutcomes
function.
Analyses to exclude. See the Analyses to Exclude section for details.
Should the propensity model be fitted for every outcome (i.e. after people who already had the outcome are removed)? If false, a single propensity model will be fitted, and people who had the outcome previously will be removed afterwards.
Should the propensity model be fitted for every study population definition? If false, a single propensity model will be fitted, and the study population criteria will be applied afterwards.
An object of type CmMultiThreadingSettings
as created using
the createMultiThreadingSettings()
or
createDefaultMultiThreadingSettings()
functions.
A tibble describing for each target-comparator-outcome-analysisId combination where the intermediary and
outcome model files can be found, relative to the outputFolder
.
Run a list of analyses for the target-comparator-outcomes of interest. This function will run all
specified analyses against all hypotheses of interest, meaning that the total number of outcome
models is length(cmAnalysisList) * length(targetComparatorOutcomesList)
(if all analyses specify an
outcome model should be fitted). When you provide several analyses it will determine whether any of
the analyses have anything in common, and will take advantage of this fact. For example, if we
specify several analyses that only differ in the way the outcome model is fitted, then this
function will extract the data and fit the propensity model only once, and re-use this in all the
analysis.
After completion, a tibble containing references to all generated files can be obtained using the
getFileReference()
function. A summary of the analysis results can be obtained using the
getResultsSummary()
function.
Normally, runCmAnalyses
will run all combinations of target-comparator-outcome-analyses settings.
However, sometimes we may not need all those combinations. Using the analysesToExclude
argument,
we can remove certain items from the full matrix. This argument should be a data frame with at least
one of the following columns:
targetId
comparatorId
outcomeId
analysisId
This data frame will be joined to the outcome model reference table before executing, and matching rows will be removed. For example, if one specifies only one target ID and analysis ID, then any analyses with that target and that analysis ID will be skipped.