## ----include = FALSE----------------------------------------------------------
NOT_CRAN <- identical(tolower(Sys.getenv("NOT_CRAN")), "true")
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  eval = NOT_CRAN
)

## ----warning=FALSE, message=FALSE---------------------------------------------
#  library(DBI)
#  library(duckdb)
#  library(dplyr)
#  library(CDMConnector)
#  library(CodelistGenerator)

## ----warning=FALSE------------------------------------------------------------
#  requireEunomia()
#  db <- dbConnect(duckdb(), dbdir = eunomiaDir())
#  cdm <- cdmFromCon(db,
#                    cdmSchema = "main",
#                    writeSchema = "main",
#                    writePrefix = "cg_")
#  cdm

## -----------------------------------------------------------------------------
#  cdm$concept |> glimpse()
#  cdm$concept_relationship |> glimpse()
#  cdm$concept_ancestor |> glimpse()
#  cdm$concept_synonym |> glimpse()
#  cdm$drug_strength |> glimpse()

## -----------------------------------------------------------------------------
#  getVocabVersion(cdm)

## -----------------------------------------------------------------------------
#  getVocabularies(cdm)

## ----eval = FALSE-------------------------------------------------------------
#  library(readr)
#  library(DBI)
#  library(duckdb)
#  library(omopgenerics)
#  
#  vocab_folder <- here() # add path to directory
#  
#  # read in files
#  concept <- read_delim(here(vocab_folder, "CONCEPT.csv"),
#                        "\t",
#                        escape_double = FALSE, trim_ws = TRUE
#  )
#  concept_relationship <- read_delim(here(vocab_folder, "CONCEPT_RELATIONSHIP.csv"),
#                                     "\t",
#                                     escape_double = FALSE, trim_ws = TRUE
#  )
#  concept_ancestor <- read_delim(here(vocab_folder, "CONCEPT_ANCESTOR.csv"),
#                                 "\t",
#                                 escape_double = FALSE, trim_ws = TRUE
#  )
#  concept_synonym <- read_delim(here(vocab_folder, "CONCEPT_SYNONYM.csv"),
#                                "\t",
#                                escape_double = FALSE, trim_ws = TRUE
#  )
#  vocabulary <- read_delim(here(vocab_folder, "VOCABULARY.csv"), "\t",
#                           escape_double = FALSE, trim_ws = TRUE
#  )
#  
#  # write to duckdb
#  db <- dbConnect(duckdb(), here(vocab_folder,"vocab.duckdb"))
#  dbWriteTable(db, "concept", concept, overwrite = TRUE)
#  dbWriteTable(db, "concept_relationship", concept_relationship, overwrite = TRUE)
#  dbWriteTable(db, "concept_ancestor", concept_ancestor, overwrite = TRUE)
#  dbWriteTable(db, "concept_synonym", concept_synonym, overwrite = TRUE)
#  dbWriteTable(db, "vocabulary", vocabulary, overwrite = TRUE)
#  # add empty person and observation period tables
#  person_cols <- omopColumns("person")
#  person <- data.frame(matrix(ncol = length(person_cols), nrow = 0))
#  colnames(person) <- person_cols
#  dbWriteTable(db, "person", person, overwrite = TRUE)
#  observation_period_cols <- omopColumns("observation_period")
#  observation_period <- data.frame(matrix(ncol = length(observation_period_cols), nrow = 0))
#  colnames(observation_period) <- observation_period_cols
#  dbWriteTable(db, "observation_period", observation_period, overwrite = TRUE)
#  dbDisconnect(db)

## ----eval = FALSE-------------------------------------------------------------
#  db <- dbConnect(duckdb(), here(vocab_folder,"vocab.duckdb"))
#  cdm <- cdmFromCon(db, "main", "main", cdmName = "vocabularise", .softValidation = TRUE)