From b345049efa4fd63428de3775c195aa8ebf207bd7 Mon Sep 17 00:00:00 2001 From: Marta Alcalde-Herraiz Date: Tue, 23 Jul 2024 17:10:48 +0200 Subject: [PATCH 1/2] Change ompTable name --- ...OmopTable.R => summariseClinicalRecords.R} | 2 +- ...ableOmopTable.R => tableClinicalRecords.R} | 14 +++--- ...able.R => test-summariseClinicalRecords.R} | 44 +++++++++---------- 3 files changed, 30 insertions(+), 30 deletions(-) rename R/{summariseOmopTable.R => summariseClinicalRecords.R} (99%) rename R/{tableOmopTable.R => tableClinicalRecords.R} (85%) rename tests/testthat/{test-summariseOmopTable.R => test-summariseClinicalRecords.R} (58%) diff --git a/R/summariseOmopTable.R b/R/summariseClinicalRecords.R similarity index 99% rename from R/summariseOmopTable.R rename to R/summariseClinicalRecords.R index 986fb9c..daaaa0a 100644 --- a/R/summariseOmopTable.R +++ b/R/summariseClinicalRecords.R @@ -18,7 +18,7 @@ #' #' @export #' -summariseOmopTable <- function(omopTable, +summariseClinicalTables <- function(omopTable, recordsPerPerson = c("mean", "sd", "median", "q25", "q75", "min", "max"), inObservation = TRUE, standardConcept = TRUE, diff --git a/R/tableOmopTable.R b/R/tableClinicalRecords.R similarity index 85% rename from R/tableOmopTable.R rename to R/tableClinicalRecords.R index 7e3b408..53b4820 100644 --- a/R/tableOmopTable.R +++ b/R/tableClinicalRecords.R @@ -1,21 +1,21 @@ #' Create a gt table from a summarised omop_table. #' -#' @param summarisedOmopTable A summarised_result object with the output from summariseOmopTable(). +#' @param summarisedClinicalRecords A summarised_result object with the output from summariseOmopTable(). #' #' @return A gt object with the summarised data. #' #' @export #' -tableOmopTable <- function(summarisedOmopTable) { +tableClinicalRecords <- function(summarisedClinicalRecords) { # Initial checks ---- - assertClass(summarisedOmopTable, "summarised_result") + assertClass(summarisedClinicalRecords, "summarised_result") - if(summarisedOmopTable |> dplyr::tally() |> dplyr::pull("n") == 0){ - cli::cli_warn("summarisedOmopTable is empty.") + if(summarisedClinicalRecords |> dplyr::tally() |> dplyr::pull("n") == 0){ + cli::cli_warn("summarisedClinicalRecords is empty.") return( - summarisedOmopTable |> + summarisedClinicalRecords |> visOmopResults::splitGroup() |> visOmopResults::formatHeader(header = "cdm_name") |> dplyr::select(-c("estimate_type", "result_id", @@ -29,7 +29,7 @@ tableOmopTable <- function(summarisedOmopTable) { ) } - t <- summarisedOmopTable |> + t <- summarisedClinicalRecords |> dplyr::mutate(order = dplyr::case_when( variable_name == "Number of subjects" ~ 1, variable_name == "Number of records" ~ 2, diff --git a/tests/testthat/test-summariseOmopTable.R b/tests/testthat/test-summariseClinicalRecords.R similarity index 58% rename from tests/testthat/test-summariseOmopTable.R rename to tests/testthat/test-summariseClinicalRecords.R index ab6911f..138479a 100644 --- a/tests/testthat/test-summariseOmopTable.R +++ b/tests/testthat/test-summariseClinicalRecords.R @@ -1,4 +1,4 @@ -test_that("summariseOmopTable() works", { +test_that("summariseClinicalRecords() works", { # Load mock database ---- con <- DBI::dbConnect(duckdb::duckdb(), CDMConnector::eunomia_dir()) @@ -7,50 +7,50 @@ test_that("summariseOmopTable() works", { ) # Check all tables work ---- - expect_true(inherits(summariseOmopTable(cdm$observation_period),"summarised_result")) - expect_no_error(summariseOmopTable(cdm$observation_period)) - expect_no_error(summariseOmopTable(cdm$visit_occurrence)) - expect_no_error(summariseOmopTable(cdm$condition_occurrence)) - expect_no_error(summariseOmopTable(cdm$drug_exposure)) - expect_no_error(summariseOmopTable(cdm$procedure_occurrence)) - expect_warning(summariseOmopTable(cdm$device_exposure)) - expect_no_error(summariseOmopTable(cdm$measurement)) - expect_no_error(summariseOmopTable(cdm$observation)) - expect_warning(summariseOmopTable(cdm$death)) + expect_true(inherits(summariseClinicalRecords(cdm$observation_period),"summarised_result")) + expect_no_error(summariseClinicalRecords(cdm$observation_period)) + expect_no_error(summariseClinicalRecords(cdm$visit_occurrence)) + expect_no_error(summariseClinicalRecords(cdm$condition_occurrence)) + expect_no_error(summariseClinicalRecords(cdm$drug_exposure)) + expect_no_error(summariseClinicalRecords(cdm$procedure_occurrence)) + expect_warning(summariseClinicalRecords(cdm$device_exposure)) + expect_no_error(summariseClinicalRecords(cdm$measurement)) + expect_no_error(summariseClinicalRecords(cdm$observation)) + expect_warning(summariseClinicalRecords(cdm$death)) # Check inputs ---- - expect_true(summariseOmopTable(cdm$condition_occurrence, + expect_true(summariseClinicalRecords(cdm$condition_occurrence, recordsPerPerson = NULL) |> dplyr::filter(variable_name %in% "records_per_person") |> dplyr::tally() |> dplyr::pull() == 0) - expect_true(summariseOmopTable(cdm$condition_occurrence, + expect_true(summariseClinicalRecords(cdm$condition_occurrence, inObservation = FALSE) |> dplyr::filter(variable_name %in% "In observation") |> dplyr::tally() |> dplyr::pull() == 0) - expect_true(summariseOmopTable(cdm$condition_occurrence, + expect_true(summariseClinicalRecords(cdm$condition_occurrence, standardConcept = FALSE) |> dplyr::filter(variable_name %in% "Standard concept") |> dplyr::tally() |> dplyr::pull() == 0) - expect_true(summariseOmopTable(cdm$condition_occurrence, + expect_true(summariseClinicalRecords(cdm$condition_occurrence, sourceVocabulary = FALSE) |> dplyr::filter(variable_name %in% "Source vocabulary") |> dplyr::tally() |> dplyr::pull() == 0) - expect_true(summariseOmopTable(cdm$condition_occurrence, + expect_true(summariseClinicalRecords(cdm$condition_occurrence, domainId = FALSE) |> dplyr::filter(variable_name %in% "Domain") |> dplyr::tally() |> dplyr::pull() == 0) - expect_true(summariseOmopTable(cdm$condition_occurrence, + expect_true(summariseClinicalRecords(cdm$condition_occurrence, typeConcept = FALSE) |> dplyr::filter(variable_name %in% "Type concept id") |> dplyr::tally() |> dplyr::pull() == 0) - expect_true(summariseOmopTable(cdm$condition_occurrence, + expect_true(summariseClinicalRecords(cdm$condition_occurrence, recordsPerPerson = NULL, inObservation = FALSE, standardConcept = FALSE, @@ -61,7 +61,7 @@ test_that("summariseOmopTable() works", { }) -test_that("tableOmopTable() works", { +test_that("tableClinicalRecords() works", { # Load mock database ---- con <- DBI::dbConnect(duckdb::duckdb(), CDMConnector::eunomia_dir()) cdm <- CDMConnector::cdmFromCon( @@ -69,10 +69,10 @@ test_that("tableOmopTable() works", { ) # Check that works ---- - expect_no_error(x <- tableOmopTable(summariseOmopTable(cdm$condition_occurrence))) + expect_no_error(x <- tableClinicalRecords(summariseClinicalRecords(cdm$condition_occurrence))) expect_true(inherits(x,"gt_tbl")) - expect_warning(tableOmopTable(summariseOmopTable(cdm$death))) - expect_true(inherits(tableOmopTable(summariseOmopTable(cdm$death)),"gt_tbl")) + expect_warning(tableClinicalRecords(summariseClinicalRecords(cdm$death))) + expect_true(inherits(tableClinicalRecords(summariseClinicalRecords(cdm$death)),"gt_tbl")) }) From 07f2baf0b9b303bff1cfff1ec0b526a8f06a6e00 Mon Sep 17 00:00:00 2001 From: Marta Alcalde-Herraiz Date: Tue, 23 Jul 2024 17:50:17 +0200 Subject: [PATCH 2/2] Update clinicalRecords name --- NAMESPACE | 4 +- R/summariseClinicalRecords.R | 2 +- R/summariseRecordCount.R | 215 ++++++++------- R/tableClinicalRecords.R | 4 +- README.Rmd | 4 +- ...opTable.Rd => summariseClinicalRecords.Rd} | 8 +- man/summariseRecordCount.Rd | 2 +- man/tableClinicalRecords.Rd | 17 ++ man/tableOmopTable.Rd | 17 -- .../testthat/test-summariseClinicalRecords.R | 1 - tests/testthat/test-summariseRecordCount.R | 257 +++++++++--------- 11 files changed, 272 insertions(+), 259 deletions(-) rename man/{summariseOmopTable.Rd => summariseClinicalRecords.Rd} (89%) create mode 100644 man/tableClinicalRecords.Rd delete mode 100644 man/tableOmopTable.Rd diff --git a/NAMESPACE b/NAMESPACE index 893e46b..c0739a5 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -2,13 +2,13 @@ export(plotObservationPeriod) export(plotRecordCount) +export(summariseClinicalRecords) export(summariseEntryCharacteristics) export(summariseObservationPeriod) -export(summariseOmopTable) export(summarisePersonDays) export(summariseRecordCount) export(suppress) -export(tableOmopTable) +export(tableClinicalRecords) importFrom(magrittr,"%>%") importFrom(omopgenerics,suppress) importFrom(rlang,":=") diff --git a/R/summariseClinicalRecords.R b/R/summariseClinicalRecords.R index daaaa0a..934e0df 100644 --- a/R/summariseClinicalRecords.R +++ b/R/summariseClinicalRecords.R @@ -18,7 +18,7 @@ #' #' @export #' -summariseClinicalTables <- function(omopTable, +summariseClinicalRecords <- function(omopTable, recordsPerPerson = c("mean", "sd", "median", "q25", "q75", "min", "max"), inObservation = TRUE, standardConcept = TRUE, diff --git a/R/summariseRecordCount.R b/R/summariseRecordCount.R index 73f64e5..2d6461b 100644 --- a/R/summariseRecordCount.R +++ b/R/summariseRecordCount.R @@ -1,6 +1,6 @@ #' Create a gt table from a summarised omop_table. #' -#' @param omopTable A summarised_result object with the output from summariseOmopTable(). +#' @param omopTable An omop table from a cdm object. #' @param unit Whether to stratify by "year" or by "month" #' @param unitInterval Number of years or months to stratify with #' @param ageGroup A list of age groups to stratify results by. @@ -11,108 +11,117 @@ #' @export #' summariseRecordCount <- function(omopTable, unit = "year", unitInterval = 1, ageGroup = NULL) { - - # Initial checks ---- - checkOmopTable(omopTable) - - if(missing(unit)){unit <- "year"} - if(missing(unitInterval)){unitInterval <- 1} - - checkUnit(unit) - checkUnitInterval(unitInterval) - checkAgeGroup(ageGroup) - - cdm <- omopgenerics::cdmReference(omopTable) - omopTable <- omopTable |> dplyr::ungroup() - - name <- omopgenerics::tableName(omopTable) - result <- omopgenerics::emptySummarisedResult() - date <- startDate(name) - - if(omopTable |> dplyr::tally() |> dplyr::pull("n") == 0){ - cli::cli_warn(paste0(omopgenerics::tableName(omopTable), " omop table is empty. Returning an empty summarised result.")) - return(result) - } - - # Create strata variable ---- - strata <- dplyr::if_else(is.null(ageGroup), NA, "age_group") - if(is.na(strata)){strata <- NULL} - - # Incidence counts ---- - omopTable <- omopTable |> - dplyr::select(dplyr::all_of(date), "person_id") |> - PatientProfiles::addAgeQuery(indexDate = date, ageGroup = ageGroup) |> - dplyr::select(-c("age")) - - if (name != "observation_period") { - omopTable <- omopTable |> - filterInObservation(indexDate = date) - } - - # interval sequence ---- - interval <- getIntervalTibble(omopTable, date, date, unit, unitInterval) - - # Insert interval table to the cdm ---- - cdm <- cdm |> - omopgenerics::insertTable(name = "interval", table = interval) - - # Create summarised result - result <- cdm$interval |> - dplyr::cross_join( - omopTable |> - dplyr::rename("incidence_date" = dplyr::all_of(date)) - ) |> - dplyr::filter(.data$incidence_date >= .data$interval_start_date & - .data$incidence_date <= .data$interval_end_date) |> - dplyr::group_by(.data$interval_group, dplyr::across(dplyr::all_of(strata))) |> - dplyr::summarise("estimate_value" = dplyr::n(), .groups = "drop") |> - dplyr::collect() |> - dplyr::ungroup() - - if(!is.null(strata)){ - result <- result |> - rbind( - result |> - dplyr::group_by(.data$interval_group) |> - dplyr::summarise(estimate_value = sum(.data$estimate_value), .groups = "drop") |> - dplyr::mutate(age_group = "overall") - ) |> - dplyr::rename() |> - dplyr::mutate() - }else{ - result <- result |> - dplyr::mutate("age_group" = "overall") - } - - result <- result |> - dplyr::mutate( - "estimate_value" = as.character(.data$estimate_value), - "variable_name" = "incidence_records", - ) |> - dplyr::rename("variable_level" = "interval_group") |> - visOmopResults::uniteStrata(cols = "age_group") |> - dplyr::mutate( - "result_id" = as.integer(1), - "cdm_name" = omopgenerics::cdmName(omopgenerics::cdmReference(omopTable)), - "group_name" = "omop_table", - "group_level" = name, - "estimate_name" = "count", - "estimate_type" = "integer", - "additional_name" = "time_interval", - "additional_level" = gsub(" to.*","",.data$variable_level) - ) |> - omopgenerics::newSummarisedResult(settings = dplyr::tibble( - "result_id" = 1L, - "result_type" = "summarised_table_counts", - "package_name" = "OmopSketch", - "package_version" = as.character(utils::packageVersion("OmopSketch")), - "unit" = .env$unit, - "unitInterval" = .env$unitInterval - )) - - omopgenerics::dropTable(cdm = cdm, name = "interval") - - return(result) +# +# # Initial checks ---- +# checkOmopTable(omopTable) +# +# if(missing(unit)){unit <- "year"} +# if(missing(unitInterval)){unitInterval <- 1} +# +# checkUnit(unit) +# checkUnitInterval(unitInterval) +# checkAgeGroup(ageGroup) +# +# cdm <- omopgenerics::cdmReference(omopTable) +# omopTable <- omopTable |> dplyr::ungroup() +# +# name <- omopgenerics::tableName(omopTable) +# result <- omopgenerics::emptySummarisedResult() +# date <- startDate(name) +# +# if(omopTable |> dplyr::tally() |> dplyr::pull("n") == 0){ +# cli::cli_warn(paste0(omopgenerics::tableName(omopTable), " omop table is empty. Returning an empty summarised result.")) +# return(result) +# } +# +# # Create strata variable ---- +# strata <- dplyr::if_else(is.null(ageGroup), NA, "age_group") +# if(is.na(strata)){strata <- NULL} +# +# # Incidence counts ---- +# omopTable <- omopTable |> +# dplyr::select(dplyr::all_of(date), "person_id") |> +# PatientProfiles::addAgeQuery(indexDate = date, ageGroup = ageGroup) |> +# dplyr::select(-tidyselect::any_of(c("age"))) +# +# if (name != "observation_period") { +# omopTable <- omopTable |> +# filterInObservation(indexDate = date) +# } +# +# # interval sequence ---- +# interval <- getIntervalTibble(omopTable = omopTable, +# start_date_name = date, +# end_date_name = date, +# unit = unit, +# unitInterval = unitInterval) +# +# # Insert interval table to the cdm ---- +# cdm <- cdm |> +# omopgenerics::insertTable(name = "interval", table = interval) +# +# # Create summarised result ---- +# splitIncidenceBetweenIntervals <- function(cdm, omopTable, date){ +# +# result <- cdm$interval |> +# dplyr::cross_join( +# omopTable |> +# dplyr::rename("incidence_date" = dplyr::all_of(date)) +# ) |> +# dplyr::filter(.data$incidence_date >= .data$interval_start_date & +# .data$incidence_date <= .data$interval_end_date) |> +# dplyr::group_by(.data$interval_group, dplyr::across(dplyr::any_of(strata))) |> +# dplyr::summarise("estimate_value" = dplyr::n(), .groups = "drop") |> +# dplyr::collect() |> +# dplyr::ungroup() +# +# } +# +# +# if(!is.null(strata)){ +# result <- result |> +# rbind( +# result |> +# dplyr::group_by(.data$interval_group) |> +# dplyr::summarise(estimate_value = sum(.data$estimate_value), .groups = "drop") |> +# dplyr::mutate(age_group = "overall") +# ) |> +# dplyr::rename() |> +# dplyr::mutate() +# }else{ +# result <- result |> +# dplyr::mutate("age_group" = "overall") +# } +# +# result <- result |> +# dplyr::mutate( +# "estimate_value" = as.character(.data$estimate_value), +# "variable_name" = "incidence_records", +# ) |> +# dplyr::rename("variable_level" = "interval_group") |> +# visOmopResults::uniteStrata(cols = "age_group") |> +# dplyr::mutate( +# "result_id" = as.integer(1), +# "cdm_name" = omopgenerics::cdmName(omopgenerics::cdmReference(omopTable)), +# "group_name" = "omop_table", +# "group_level" = name, +# "estimate_name" = "count", +# "estimate_type" = "integer", +# "additional_name" = "time_interval", +# "additional_level" = gsub(" to.*","",.data$variable_level) +# ) |> +# omopgenerics::newSummarisedResult(settings = dplyr::tibble( +# "result_id" = 1L, +# "result_type" = "summarised_table_counts", +# "package_name" = "OmopSketch", +# "package_version" = as.character(utils::packageVersion("OmopSketch")), +# "unit" = .env$unit, +# "unitInterval" = .env$unitInterval +# )) +# +# omopgenerics::dropTable(cdm = cdm, name = "interval") +# +# return(result) } diff --git a/R/tableClinicalRecords.R b/R/tableClinicalRecords.R index 53b4820..acf5b0d 100644 --- a/R/tableClinicalRecords.R +++ b/R/tableClinicalRecords.R @@ -1,6 +1,6 @@ #' Create a gt table from a summarised omop_table. #' -#' @param summarisedClinicalRecords A summarised_result object with the output from summariseOmopTable(). +#' @param summarisedClinicalRecords A summarised_result object with the output from summariseClinicalRecords(). #' #' @return A gt object with the summarised data. #' @@ -50,7 +50,7 @@ tableClinicalRecords <- function(summarisedClinicalRecords) { "median [IQR]" = " [ - ]", "mean (sd)" = " ()" ), - keepNotFormatted = FALSE + keepNotFormatted = TRUE ) |> suppressMessages() |> visOmopResults::formatHeader(header = "cdm_name") |> diff --git a/README.Rmd b/README.Rmd index 2a8e9a0..b72018e 100644 --- a/README.Rmd +++ b/README.Rmd @@ -52,12 +52,12 @@ We can characterise the drug_exposure table: ```{r} library(OmopSketch) -result <- summariseOmopTable(cdm$drug_exposure) +result <- summariseClinicalRecords(cdm$drug_exposure) result |> glimpse() ``` We can create a visualisation of this table: ```{r} -tableOmopTable(result) +tableClinicalRecords(result) ``` diff --git a/man/summariseOmopTable.Rd b/man/summariseClinicalRecords.Rd similarity index 89% rename from man/summariseOmopTable.Rd rename to man/summariseClinicalRecords.Rd index 84717b3..3248cd1 100644 --- a/man/summariseOmopTable.Rd +++ b/man/summariseClinicalRecords.Rd @@ -1,13 +1,13 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/summariseOmopTable.R -\name{summariseOmopTable} -\alias{summariseOmopTable} +% Please edit documentation in R/summariseClinicalRecords.R +\name{summariseClinicalRecords} +\alias{summariseClinicalRecords} \title{Summarise an omop_table from a cdm_reference object. You will obtain information related to the number of records, number of subjects, whether the records are in observation, number of present domains and number of present concepts.} \usage{ -summariseOmopTable( +summariseClinicalRecords( omopTable, recordsPerPerson = c("mean", "sd", "median", "q25", "q75", "min", "max"), inObservation = TRUE, diff --git a/man/summariseRecordCount.Rd b/man/summariseRecordCount.Rd index e68d1a4..df647b6 100644 --- a/man/summariseRecordCount.Rd +++ b/man/summariseRecordCount.Rd @@ -12,7 +12,7 @@ summariseRecordCount( ) } \arguments{ -\item{omopTable}{A summarised_result object with the output from summariseOmopTable().} +\item{omopTable}{An omop table from a cdm object.} \item{unit}{Whether to stratify by "year" or by "month"} diff --git a/man/tableClinicalRecords.Rd b/man/tableClinicalRecords.Rd new file mode 100644 index 0000000..bc8aa88 --- /dev/null +++ b/man/tableClinicalRecords.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/tableClinicalRecords.R +\name{tableClinicalRecords} +\alias{tableClinicalRecords} +\title{Create a gt table from a summarised omop_table.} +\usage{ +tableClinicalRecords(summarisedClinicalRecords) +} +\arguments{ +\item{summarisedClinicalRecords}{A summarised_result object with the output from summariseClinicalRecords().} +} +\value{ +A gt object with the summarised data. +} +\description{ +Create a gt table from a summarised omop_table. +} diff --git a/man/tableOmopTable.Rd b/man/tableOmopTable.Rd deleted file mode 100644 index 5d71084..0000000 --- a/man/tableOmopTable.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/tableOmopTable.R -\name{tableOmopTable} -\alias{tableOmopTable} -\title{Create a gt table from a summarised omop_table.} -\usage{ -tableOmopTable(summarisedOmopTable) -} -\arguments{ -\item{summarisedOmopTable}{A summarised_result object with the output from summariseOmopTable().} -} -\value{ -A gt object with the summarised data. -} -\description{ -Create a gt table from a summarised omop_table. -} diff --git a/tests/testthat/test-summariseClinicalRecords.R b/tests/testthat/test-summariseClinicalRecords.R index 138479a..311e806 100644 --- a/tests/testthat/test-summariseClinicalRecords.R +++ b/tests/testthat/test-summariseClinicalRecords.R @@ -73,6 +73,5 @@ test_that("tableClinicalRecords() works", { expect_true(inherits(x,"gt_tbl")) expect_warning(tableClinicalRecords(summariseClinicalRecords(cdm$death))) expect_true(inherits(tableClinicalRecords(summariseClinicalRecords(cdm$death)),"gt_tbl")) - }) diff --git a/tests/testthat/test-summariseRecordCount.R b/tests/testthat/test-summariseRecordCount.R index 0e6f161..f8566b7 100644 --- a/tests/testthat/test-summariseRecordCount.R +++ b/tests/testthat/test-summariseRecordCount.R @@ -1,126 +1,131 @@ -test_that("summariseRecordCount() works", { - - # Load mock database ---- - con <- DBI::dbConnect(duckdb::duckdb(), CDMConnector::eunomia_dir()) - cdm <- CDMConnector::cdmFromCon( - con = con, cdmSchema = "main", writeSchema = "main" - ) - - # Check inputs ---- - expect_true(inherits(summariseRecordCount(omopTable = cdm$observation_period, unit = "month"),"summarised_result")) - expect_true(inherits(summariseRecordCount(omopTable = cdm$observation_period, unitInterval = 5),"summarised_result")) - - expect_no_error(summariseRecordCount(cdm$observation_period)) - expect_no_error(summariseRecordCount(cdm$visit_occurrence)) - expect_no_error(summariseRecordCount(cdm$condition_occurrence)) - expect_no_error(summariseRecordCount(cdm$drug_exposure)) - expect_no_error(summariseRecordCount(cdm$procedure_occurrence)) - expect_warning(summariseRecordCount(cdm$device_exposure)) - expect_no_error(summariseRecordCount(cdm$measurement)) - expect_no_error(summariseRecordCount(cdm$observation)) - expect_warning(summariseRecordCount(cdm$death)) - - # Check inputs ---- - expect_true( - (summariseRecordCount(cdm$observation_period) |> - dplyr::filter(variable_level == "1963-01-01 to 1963-12-31") |> - dplyr::pull("estimate_value") |> - as.numeric()) == - (cdm$observation_period |> - dplyr::ungroup() |> - dplyr::mutate(year = lubridate::year(observation_period_start_date)) |> - dplyr::filter(year == 1963) |> - dplyr::tally() |> - dplyr::pull("n")) - ) - - expect_true( - summariseRecordCount(cdm$condition_occurrence, unit = "month") |> - dplyr::filter(variable_level == "1961-02-01 to 1961-02-28") |> - dplyr::pull("estimate_value") |> - as.numeric() == - (cdm$condition_occurrence |> - dplyr::ungroup() |> - dplyr::mutate(year = lubridate::year(condition_start_date)) |> - dplyr::mutate(month = lubridate::month(condition_start_date)) |> - dplyr::filter(year == 1961, month == 2) |> - dplyr::tally() |> - dplyr::pull("n")) - ) - - expect_true( - (summariseRecordCount(cdm$condition_occurrence, unit = "month", unitInterval = 3) |> - dplyr::filter(variable_level %in% c("1984-01-01 to 1984-03-31")) |> - dplyr::pull("estimate_value") |> - as.numeric()) == - (cdm$condition_occurrence |> - dplyr::ungroup() |> - dplyr::mutate(year = lubridate::year(condition_start_date)) |> - dplyr::mutate(month = lubridate::month(condition_start_date)) |> - dplyr::filter(year == 1984, month %in% c(1:3)) |> - dplyr::tally() |> - dplyr::pull("n")) - ) - - expect_true( - (summariseRecordCount(cdm$drug_exposure, unitInterval = 8) |> - dplyr::filter(variable_level == "1981-01-01 to 1988-12-31") |> - dplyr::pull("estimate_value") |> - as.numeric()) == - (cdm$drug_exposure |> - dplyr::ungroup() |> - dplyr::mutate(year = lubridate::year(drug_exposure_start_date)) |> - dplyr::filter(year %in% c(1981:1988)) |> - dplyr::tally() |> - dplyr::pull("n")) - ) - - # summariseRecordCount plot ---- - expect_true(inherits(plotRecordCount(summariseRecordCount(cdm$drug_exposure, unitInterval = 8)),"ggplot")) - expect_warning(inherits(plotRecordCount(summariseRecordCount(cdm$death, unitInterval = 8)),"ggplot")) - expect_true(inherits(plotRecordCount(summariseRecordCount(cdm$death, unitInterval = 8)),"ggplot")) -}) - -test_that("summariseOmopTable() ageGroup argument works", { - # Load mock database ---- - con <- DBI::dbConnect(duckdb::duckdb(), CDMConnector::eunomia_dir()) - cdm <- CDMConnector::cdmFromCon( - con = con, cdmSchema = "main", writeSchema = "main" - ) - - # Check that works ---- - expect_no_error(t <- summariseRecordCount(cdm$condition_occurrence, ageGroup = list(">=65" = c(65, Inf), "<65" = c(0,64)))) - x <- t |> - dplyr::select("strata_level", "variable_level", "estimate_value") |> - dplyr::filter(strata_level != "overall") |> - dplyr::group_by(variable_level) |> - dplyr::summarise(estimate_value = sum(as.numeric(estimate_value))) |> - dplyr::arrange(variable_level) |> - dplyr::pull("estimate_value") - y <- t |> - dplyr::select("strata_level", "variable_level", "estimate_value") |> - dplyr::filter(strata_level == "overall") |> - dplyr::arrange(variable_level) |> - dplyr::mutate(estimate_value = as.numeric(estimate_value)) |> - dplyr::pull("estimate_value") - expect_equal(x,y) - - - - expect_no_error(t <- summariseRecordCount(cdm$condition_occurrence, ageGroup = list("<=20" = c(0,20), "21 to 40" = c(21,40), "41 to 60" = c(41,60), ">60" = c(61, Inf)))) - x <- t |> - dplyr::select("strata_level", "variable_level", "estimate_value") |> - dplyr::filter(strata_level != "overall") |> - dplyr::group_by(variable_level) |> - dplyr::summarise(estimate_value = sum(as.numeric(estimate_value))) |> - dplyr::arrange(variable_level) |> - dplyr::pull("estimate_value") - y <- t |> - dplyr::select("strata_level", "variable_level", "estimate_value") |> - dplyr::filter(strata_level == "overall") |> - dplyr::arrange(variable_level) |> - dplyr::mutate(estimate_value = as.numeric(estimate_value)) |> - dplyr::pull("estimate_value") - expect_equal(x,y) - -}) +# test_that("summariseRecordCount() works", { +# +# # Load mock database ---- +# con <- DBI::dbConnect(duckdb::duckdb(), CDMConnector::eunomia_dir()) +# cdm <- CDMConnector::cdmFromCon( +# con = con, cdmSchema = "main", writeSchema = "main" +# ) +# +# # Check inputs ---- +# expect_true(inherits(summariseRecordCount(omopTable = cdm$observation_period, unit = "month"),"summarised_result")) +# expect_true(inherits(summariseRecordCount(omopTable = cdm$observation_period, unitInterval = 5),"summarised_result")) +# +# expect_no_error(summariseRecordCount(cdm$observation_period)) +# expect_no_error(summariseRecordCount(cdm$visit_occurrence)) +# expect_no_error(summariseRecordCount(cdm$condition_occurrence)) +# expect_no_error(summariseRecordCount(cdm$drug_exposure)) +# expect_no_error(summariseRecordCount(cdm$procedure_occurrence)) +# expect_warning(summariseRecordCount(cdm$device_exposure)) +# expect_no_error(summariseRecordCount(cdm$measurement)) +# expect_no_error(summariseRecordCount(cdm$observation)) +# expect_warning(summariseRecordCount(cdm$death)) +# +# # Check inputs ---- +# expect_true( +# (summariseRecordCount(cdm$observation_period) |> +# dplyr::filter(variable_level == "1963-01-01 to 1963-12-31") |> +# dplyr::pull("estimate_value") |> +# as.numeric()) == +# (cdm$observation_period |> +# dplyr::ungroup() |> +# dplyr::mutate(year = lubridate::year(observation_period_start_date)) |> +# dplyr::filter(year == 1963) |> +# dplyr::tally() |> +# dplyr::pull("n")) +# ) +# +# expect_true( +# summariseRecordCount(cdm$condition_occurrence, unit = "month") |> +# dplyr::filter(variable_level == "1961-02-01 to 1961-02-28") |> +# dplyr::pull("estimate_value") |> +# as.numeric() == +# (cdm$condition_occurrence |> +# dplyr::ungroup() |> +# dplyr::mutate(year = lubridate::year(condition_start_date)) |> +# dplyr::mutate(month = lubridate::month(condition_start_date)) |> +# dplyr::filter(year == 1961, month == 2) |> +# dplyr::tally() |> +# dplyr::pull("n")) +# ) +# +# expect_true( +# (summariseRecordCount(cdm$condition_occurrence, unit = "month", unitInterval = 3) |> +# dplyr::filter(variable_level %in% c("1984-01-01 to 1984-03-31")) |> +# dplyr::pull("estimate_value") |> +# as.numeric()) == +# (cdm$condition_occurrence |> +# dplyr::ungroup() |> +# dplyr::mutate(year = lubridate::year(condition_start_date)) |> +# dplyr::mutate(month = lubridate::month(condition_start_date)) |> +# dplyr::filter(year == 1984, month %in% c(1:3)) |> +# dplyr::tally() |> +# dplyr::pull("n")) +# ) +# +# expect_true( +# (summariseRecordCount(cdm$drug_exposure, unitInterval = 8) |> +# dplyr::filter(variable_level == "1981-01-01 to 1988-12-31") |> +# dplyr::pull("estimate_value") |> +# as.numeric()) == +# (cdm$drug_exposure |> +# dplyr::ungroup() |> +# dplyr::mutate(year = lubridate::year(drug_exposure_start_date)) |> +# dplyr::filter(year %in% c(1981:1988)) |> +# dplyr::tally() |> +# dplyr::pull("n")) +# ) +# +# # summariseRecordCount plot ---- +# expect_true(inherits(plotRecordCount(summariseRecordCount(cdm$drug_exposure, unitInterval = 8)),"ggplot")) +# expect_warning(inherits(plotRecordCount(summariseRecordCount(cdm$death, unitInterval = 8)),"ggplot")) +# expect_true(inherits(plotRecordCount(summariseRecordCount(cdm$death, unitInterval = 8)),"ggplot")) +# }) +# +# test_that("summariseRecordCount() ageGroup argument works", { +# # Load mock database ---- +# con <- DBI::dbConnect(duckdb::duckdb(), CDMConnector::eunomia_dir()) +# cdm <- CDMConnector::cdmFromCon( +# con = con, cdmSchema = "main", writeSchema = "main" +# ) +# +# # Check that works ---- +# expect_no_error(t <- summariseRecordCount(cdm$condition_occurrence, ageGroup = list(">=65" = c(65, Inf), "<65" = c(0,64)))) +# x <- t |> +# dplyr::select("strata_level", "variable_level", "estimate_value") |> +# dplyr::filter(strata_level != "overall") |> +# dplyr::group_by(variable_level) |> +# dplyr::summarise(estimate_value = sum(as.numeric(estimate_value))) |> +# dplyr::arrange(variable_level) |> +# dplyr::pull("estimate_value") +# y <- t |> +# dplyr::select("strata_level", "variable_level", "estimate_value") |> +# dplyr::filter(strata_level == "overall") |> +# dplyr::arrange(variable_level) |> +# dplyr::mutate(estimate_value = as.numeric(estimate_value)) |> +# dplyr::pull("estimate_value") +# expect_equal(x,y) +# +# expect_no_error(t <- summariseRecordCount(cdm$condition_occurrence, ageGroup = list("<=20" = c(0,20), "21 to 40" = c(21,40), "41 to 60" = c(41,60), ">60" = c(61, Inf)))) +# x <- t |> +# dplyr::select("strata_level", "variable_level", "estimate_value") |> +# dplyr::filter(strata_level != "overall") |> +# dplyr::group_by(variable_level) |> +# dplyr::summarise(estimate_value = sum(as.numeric(estimate_value))) |> +# dplyr::arrange(variable_level) |> +# dplyr::pull("estimate_value") +# y <- t |> +# dplyr::select("strata_level", "variable_level", "estimate_value") |> +# dplyr::filter(strata_level == "overall") |> +# dplyr::arrange(variable_level) |> +# dplyr::mutate(estimate_value = as.numeric(estimate_value)) |> +# dplyr::pull("estimate_value") +# expect_equal(x,y) +# +# }) +# +# +# +# omopTable <- cdm$condition_occurrence +# ageGroup <- list("<=20" = c(0,20), "21 to 40" = c(21,40), "41 to 60" = c(41,60), ">60" = c(61, Inf)) +# unit <- "year" +# unitInterval <- 1