Nothing
# Test 1: Function returns a ggplot object
test_that("Function returns a ggplot object", {
skip_on_cran()
person <- dplyr::tibble(
person_id = c(1, 2) |> as.integer(),
gender_concept_id = c(8507, 8532) |> as.integer(),
year_of_birth = c(1990, 1992) |> as.integer(),
month_of_birth = c(1, 1) |> as.integer(),
day_of_birth = c(1, 1) |> as.integer(),
race_concept_id = 0L,
ethnicity_concept_id = 0L
)
observation_period <- dplyr::tibble(
observation_period_id = c(1, 2) |> as.integer(),
person_id = c(1, 2) |> as.integer(),
observation_period_start_date = as.Date(c("2011-10-07", "2000-01-01")),
observation_period_end_date = as.Date(c("2031-10-07", "2030-01-01")),
period_type_concept_id = 44814724L
)
cohort_interest <- dplyr::tibble(
cohort_definition_id = c(1, 1, 1, 2) |> as.integer(),
subject_id = c(1, 1, 2, 2) |> as.integer(),
cohort_start_date = as.Date(c(
"2012-10-10", "2015-01-01", "2013-10-10", "2015-01-01"
)),
cohort_end_date = as.Date(c(
"2012-10-10", "2015-01-01", "2013-10-10", "2015-01-01"
))
)
drug_exposure <- dplyr::tibble(
drug_exposure_id = 1:11L,
person_id = c(rep(1, 8), rep(2, 3)) |> as.integer(),
drug_concept_id = c(
rep(1125315, 2), rep(1503328, 5), 1516978, 1125315, 1503328, 1516978
) |> as.integer(),
drug_exposure_start_date = as.Date(c(
"2010-10-01", "2012-12-31", "2010-01-01", "2012-09-01", "2013-04-01",
"2014-10-31", "2015-05-01", "2015-10-01", "2012-01-01", "2012-10-01",
"2014-10-12"
)),
drug_exposure_end_date = as.Date(c(
"2010-12-01", "2013-05-12", "2011-01-01", "2012-10-01", "2013-05-01",
"2014-12-31", "2015-05-02", "2016-10-01", "2012-01-01", "2012-10-30",
"2015-01-10"
)),
drug_type_concept_id = 38000177L,
quantity = 1L
)
condition_occurrence <- dplyr::tibble(
condition_occurrence_id = 1:8L,
person_id = c(rep(1, 4), rep(2, 4)) |> as.integer(),
condition_concept_id = c(
317009, 378253, 378253, 4266367, 317009, 317009, 378253, 4266367
) |> as.integer(),
condition_start_date = as.Date(c(
"2012-10-01", "2012-01-01", "2014-01-01", "2010-01-01", "2015-02-01",
"2012-01-01", "2013-10-01", "2014-10-10"
)),
condition_end_date = as.Date(c(
"2013-01-01", "2012-04-01", "2014-10-12", "2015-01-01", "2015-03-01",
"2012-04-01", "2013-12-01", NA
)),
condition_type_concept_id = 32020L
)
cdm <- mockCohortCharacteristics(
person = person, observation_period = observation_period,
cohort_interest = cohort_interest, drug_exposure = drug_exposure,
condition_occurrence = condition_occurrence
)
concept <- dplyr::tibble(
concept_id = c(1125315, 1503328, 1516978, 317009, 378253, 4266367) |> as.integer(),
domain_id = NA_character_,
vocabulary_id = NA_character_,
concept_class_id = NA_character_,
concept_code = NA_character_,
valid_start_date = as.Date("1900-01-01"),
valid_end_date = as.Date("2099-01-01")
) |>
dplyr::mutate(concept_name = paste0("concept: ", .data$concept_id))
cdm <- CDMConnector::insertTable(cdm, "concept", concept)
test_data <- cdm$cohort_interest |>
PatientProfiles::addDemographics(
ageGroup = list(c(0, 24), c(25, 150))
) |>
summariseLargeScaleCharacteristics(
strata = list("age_group", c("age_group", "sex")),
episodeInWindow = c("condition_occurrence", "drug_exposure"),
minimumFrequency = 0
)
plot_multiple <- plotLargeScaleCharacteristics(
result = test_data |>
dplyr::filter(group_level %in% c("cohort_1", "cohort_2")),
facet = c("variable_level", "cohort_name"),
colour = c("age_group", "sex")
)
expect_true(ggplot2::is.ggplot(plot_multiple))
# do not throw error even if they do not specify color or facet or position
expect_no_error(plotLargeScaleCharacteristics(test_data))
plot_multiple <- plotComparedLargeScaleCharacteristics(
result = test_data |> dplyr::filter(group_level %in% c("cohort_1", "cohort_2")),
reference = c(cohort_name = "cohort_1", age_group = "overall", sex = "overall", variable_level = "-inf to -366"),
facet = NULL,
colour = NULL,
missings = 0
)
# do not throw error even if they do not specify color or facet or position
expect_true(ggplot2::is.ggplot(plot_multiple))
})
test_that("output is always the same", {
set.seed(123456)
cdm <- omock::mockCdmReference() |>
omock::mockPerson(nPerson = 100) |>
omock::mockObservationPeriod() |>
omock::mockConditionOccurrence(recordPerson = 3) |>
omock::mockCohort(
numberCohorts = 3, cohortName = c("covid", "tb", "asthma")
)
cdm1 <- CDMConnector::copyCdmTo(
con = duckdb::dbConnect(duckdb::duckdb()), cdm = cdm, schema = "main"
)
cdm2 <- CDMConnector::copyCdmTo(
con = duckdb::dbConnect(duckdb::duckdb()), cdm = cdm, schema = "main"
)
result1 <- cdm1$cohort |>
summariseLargeScaleCharacteristics(eventInWindow = "condition_occurrence")
result2 <- cdm2$cohort |>
summariseLargeScaleCharacteristics(eventInWindow = "condition_occurrence")
expect_identical(result1, result2)
PatientProfiles::mockDisconnect(cdm = cdm)
})
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.