Building a bespoke mock cdm

library(omock)
library(dplyr)
library(lubridate)

There are times where the user will want to create a mock CDM reference from its own bespoke tables. The mockCdmFromTable() function is designed to facilitates the creation of mock CDM reference from bespoke tables.For example if you want to create a CDM reference based on below bespoke cohorts. You can do it simple using the mockCdmFromTable() functions in a few lines of code.

# Define a list of user-defined cohort tables
cohortTables <- list(
  cohort1 = tibble(
    subject_id = 1:10,
    cohort_definition_id = rep(1, 10),
    cohort_start_date = as.Date('2020-01-01') + 1:10,
    cohort_end_date = as.Date('2020-01-01') + 11:20
  ),
  cohort2 = tibble(
    subject_id = 11:20,
    cohort_definition_id = rep(2, 10),
    cohort_start_date = as.Date('2020-02-01') + 1:10,
    cohort_end_date = as.Date('2020-02-01') + 11:20
  )
)

# Create a mock CDM object from the user-defined tables
cdm <- mockCdmReference() |> mockCdmFromTable(cohortTable = cohortTables)

cdm |> glimpse()
#> A cdm reference of mock database with 4 tables: person, observation_period, cohort_1, cohort_2