Nothing
## ----setup, include=FALSE-----------------------------------------------------
old <- options(width = 80)
knitr::opts_chunk$set(
cache = FALSE,
comment = "#>",
error = FALSE
)
someFolder <- tempdir()
packageRoot <- tempdir()
baseUrl <- "https://api.ohdsi.org/WebAPI"
library(CohortGenerator)
## ----results='hide', error=FALSE, warning=FALSE, message=FALSE----------------
cohortDefinitionSet <- getCohortDefinitionSet(
settingsFileName = "testdata/name/Cohorts.csv",
jsonFolder = "testdata/name/cohorts",
sqlFolder = "testdata/name/sql/sql_server",
cohortFileNameFormat = "%s",
cohortFileNameValue = c("cohortName"),
packageName = "CohortGenerator",
verbose = FALSE
)
cohortIds <- cohortDefinitionSet$cohortId
cohortDefinitionSet$atlasId <- cohortDefinitionSet$cohortId
cohortDefinitionSet$logicDescription <- ""
## -----------------------------------------------------------------------------
names(cohortDefinitionSet)
## ----results='hide', error=FALSE, warning=FALSE, message=FALSE----------------
saveCohortDefinitionSet(
cohortDefinitionSet = cohortDefinitionSet,
settingsFileName = file.path(
packageRoot,
"inst/settings/CohortsToCreate.csv"
),
jsonFolder = file.path(
packageRoot,
"inst/cohorts"
),
sqlFolder = file.path(
packageRoot,
"inst/sql/sql_server"
)
)
## ----results='hide', error=FALSE, warning=FALSE, message=FALSE----------------
cohortDefinitionSet <- getCohortDefinitionSet(
settingsFileName = file.path(
packageRoot, "inst/settings/CohortsToCreate.csv"
),
jsonFolder = file.path(packageRoot, "inst/cohorts"),
sqlFolder = file.path(packageRoot, "inst/sql/sql_server")
)
## ----results='hide', error=FALSE, warning=FALSE, message=FALSE----------------
# Get the Eunomia connection details
connectionDetails <- Eunomia::getEunomiaConnectionDetails()
# First get the cohort table names to use for this generation task
cohortTableNames <- getCohortTableNames(cohortTable = "cg_example")
# Next create the tables on the database
createCohortTables(
connectionDetails = connectionDetails,
cohortTableNames = cohortTableNames,
cohortDatabaseSchema = "main"
)
# Generate the cohort set
cohortsGenerated <- generateCohortSet(
connectionDetails = connectionDetails,
cdmDatabaseSchema = "main",
cohortDatabaseSchema = "main",
cohortTableNames = cohortTableNames,
cohortDefinitionSet = cohortDefinitionSet
)
## ----error=FALSE, warning=FALSE-----------------------------------------------
getCohortCounts(
connectionDetails = connectionDetails,
cohortDatabaseSchema = "main",
cohortTable = cohortTableNames$cohortTable
)
## ----eval=TRUE----------------------------------------------------------------
# First construct a cohort definition set: an empty
# data frame with the cohorts to generate
cohortDefinitionSet <- CohortGenerator::createEmptyCohortDefinitionSet()
# Fill the cohort set using cohorts included in this
# package as an example
cohortJsonFiles <- list.files(path = system.file("testdata/name/cohorts", package = "CohortGenerator"), full.names = TRUE)
for (i in 1:length(cohortJsonFiles)) {
cohortJsonFileName <- cohortJsonFiles[i]
cohortName <- tools::file_path_sans_ext(basename(cohortJsonFileName))
# Here we read in the JSON in order to create the SQL
# using [CirceR](https://ohdsi.github.io/CirceR/)
# If you have your JSON and SQL stored differently, you can
# modify this to read your JSON/SQL files however you require
cohortJson <- readChar(cohortJsonFileName, file.info(cohortJsonFileName)$size)
cohortExpression <- CirceR::cohortExpressionFromJson(cohortJson)
cohortSql <- CirceR::buildCohortQuery(cohortExpression, options = CirceR::createGenerateOptions(generateStats = TRUE))
cohortDefinitionSet <- rbind(cohortDefinitionSet, data.frame(
cohortId = i,
cohortName = cohortName,
json = cohortJson,
sql = cohortSql,
stringsAsFactors = FALSE
))
}
## ----results='hide', error=FALSE, warning=FALSE, message=FALSE----------------
# First get the cohort table names to use for this generation task
cohortTableNames <- getCohortTableNames(cohortTable = "stats_example")
# Next create the tables on the database
createCohortTables(
connectionDetails = connectionDetails,
cohortTableNames = cohortTableNames,
cohortDatabaseSchema = "main"
)
# We can then generate the cohorts the same way as before and it will use the
# cohort statstics tables to store the results
# Generate the cohort set
generateCohortSet(
connectionDetails = connectionDetails,
cdmDatabaseSchema = "main",
cohortDatabaseSchema = "main",
cohortTableNames = cohortTableNames,
cohortDefinitionSet = cohortDefinitionSet
)
## ----results='hide', error=FALSE, warning=FALSE, message=FALSE----------------
insertInclusionRuleNames(
connectionDetails = connectionDetails,
cohortDefinitionSet = cohortDefinitionSet,
cohortDatabaseSchema = "main",
cohortInclusionTable = cohortTableNames$cohortInclusionTable
)
exportCohortStatsTables(
connectionDetails = connectionDetails,
cohortDatabaseSchema = "main",
cohortTableNames = cohortTableNames,
cohortStatisticsFolder = file.path(someFolder, "InclusionStats")
)
## ----results='hide', error=FALSE, warning=FALSE, message=FALSE----------------
dropCohortStatsTables(
connectionDetails = connectionDetails,
cohortDatabaseSchema = "main",
cohortTableNames = cohortTableNames
)
## ----results='hide', error=FALSE, warning=FALSE, message=FALSE----------------
# Create a set of tables for this example
cohortTableNames <- getCohortTableNames(cohortTable = "cohort")
createCohortTables(
connectionDetails = connectionDetails,
cohortTableNames = cohortTableNames,
cohortDatabaseSchema = "main",
incremental = TRUE
)
## -----------------------------------------------------------------------------
createCohortTables(
connectionDetails = connectionDetails,
cohortTableNames = cohortTableNames,
cohortDatabaseSchema = "main",
incremental = TRUE
)
## ----results='hide', error=FALSE, warning=FALSE, message=FALSE----------------
generateCohortSet(
connectionDetails = connectionDetails,
cdmDatabaseSchema = "main",
cohortDatabaseSchema = "main",
cohortTableNames = cohortTableNames,
cohortDefinitionSet = cohortDefinitionSet,
incremental = TRUE,
incrementalFolder = file.path(someFolder, "RecordKeeping")
)
## -----------------------------------------------------------------------------
generateCohortSet(
connectionDetails = connectionDetails,
cdmDatabaseSchema = "main",
cohortDatabaseSchema = "main",
cohortTableNames = cohortTableNames,
cohortDefinitionSet = cohortDefinitionSet,
incremental = TRUE,
incrementalFolder = file.path(someFolder, "RecordKeeping")
)
## ----results='hide'-----------------------------------------------------------
options(old)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.