--- title: "Building a bespoke mock cdm" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{a04_Building_a_bespoke_mock_cdm} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ```{r setup,message=FALSE, warning=FALSE} 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 mockCdmFromTables() 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. ```{r, warning = FALSE} # 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() |> mockCdmFromTables(tables = cohortTables) cdm |> glimpse() ```