Type: | Package |
Title: | Identify Characteristics of Patients in the OMOP Common Data Model |
Version: | 1.4.2 |
Maintainer: | Martí Català <marti.catalasabate@ndorms.ox.ac.uk> |
Description: | Identify the characteristics of patients in data mapped to the Observational Medical Outcomes Partnership (OMOP) common data model. |
License: | Apache License (≥ 2) |
Encoding: | UTF-8 |
RoxygenNote: | 7.3.2 |
Suggests: | bit64, CodelistGenerator, covr, DBI, dbplyr, DT, duckdb (≥ 0.9.0), ggplot2, glue, gt, here, Hmisc, knitr, odbc, omock, patchwork, rmarkdown, RPostgres, scales, spelling, testthat (≥ 3.1.5), tictoc, withr |
Imports: | CDMConnector (≥ 1.3.1), cli, dplyr, lifecycle, omopgenerics (≥ 1.0.0), purrr, rlang, stringr, tidyr |
URL: | https://darwin-eu.github.io/PatientProfiles/ |
BugReports: | https://github.com/darwin-eu/PatientProfiles/issues |
Language: | en-US |
Depends: | R (≥ 4.1.0) |
Config/testthat/edition: | 3 |
Config/testthat/parallel: | true |
VignetteBuilder: | knitr |
NeedsCompilation: | no |
Packaged: | 2025-07-09 11:39:10 UTC; martics |
Author: | Martí Català |
Repository: | CRAN |
Date/Publication: | 2025-07-09 13:20:05 UTC |
PatientProfiles: Identify Characteristics of Patients in the OMOP Common Data Model
Description
Identify the characteristics of patients in data mapped to the Observational Medical Outcomes Partnership (OMOP) common data model.
Author(s)
Maintainer: Marti Catala marti.catalasabate@ndorms.ox.ac.uk (ORCID)
Authors:
Yuchen Guo yuchen.guo@ndorms.ox.ac.uk (ORCID)
Mike Du mike.du@ndorms.ox.ac.uk (ORCID)
Kim Lopez-Guell kim.lopez@spc.ox.ac.uk (ORCID)
Edward Burn edward.burn@ndorms.ox.ac.uk (ORCID)
Nuria Mercade-Besora nuria.mercadebesora@ndorms.ox.ac.uk (ORCID)
Other contributors:
Xintong Li xintong.li@ndorms.ox.ac.uk (ORCID) [contributor]
Xihang Chen xihang.chen@ndorms.ox.ac.uk (ORCID) [contributor]
See Also
Useful links:
Report bugs at https://github.com/darwin-eu/PatientProfiles/issues
Compute the age of the individuals at a certain date
Description
Compute the age of the individuals at a certain date
Usage
addAge(
x,
indexDate = "cohort_start_date",
ageName = "age",
ageGroup = NULL,
ageMissingMonth = 1,
ageMissingDay = 1,
ageImposeMonth = FALSE,
ageImposeDay = FALSE,
missingAgeGroupValue = "None",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the age. |
ageName |
Name of the new column that contains age. |
ageGroup |
List of age groups to be added. |
ageMissingMonth |
Month of the year assigned to individuals with missing month of birth. By default: 1. |
ageMissingDay |
day of the month assigned to individuals with missing day of birth. By default: 1. |
ageImposeMonth |
Whether the month of the date of birth will be considered as missing for all the individuals. |
ageImposeDay |
Whether the day of the date of birth will be considered as missing for all the individuals. |
missingAgeGroupValue |
Value to include if missing age. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
tibble with the age column added.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addAge()
mockDisconnect(cdm = cdm)
Query to add the age of the individuals at a certain date
Description
'r lifecycle::badge("experimental")' Same as 'addAge()', except query is not computed to a table.
Usage
addAgeQuery(
x,
indexDate = "cohort_start_date",
ageName = "age",
ageGroup = NULL,
ageMissingMonth = 1,
ageMissingDay = 1,
ageImposeMonth = FALSE,
ageImposeDay = FALSE,
missingAgeGroupValue = "None"
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the age. |
ageName |
Name of the new column that contains age. |
ageGroup |
List of age groups to be added. |
ageMissingMonth |
Month of the year assigned to individuals with missing month of birth. By default: 1. |
ageMissingDay |
day of the month assigned to individuals with missing day of birth. By default: 1. |
ageImposeMonth |
Whether the month of the date of birth will be considered as missing for all the individuals. |
ageImposeDay |
Whether the day of the date of birth will be considered as missing for all the individuals. |
missingAgeGroupValue |
Value to include if missing age. |
Value
tibble with the age column added.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addAgeQuery()
mockDisconnect(cdm = cdm)
Categorize a numeric variable
Description
Categorize a numeric variable
Usage
addCategories(
x,
variable,
categories,
missingCategoryValue = "None",
overlap = FALSE,
includeLowerBound = TRUE,
includeUpperBound = TRUE,
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
variable |
Target variable that we want to categorize. |
categories |
List of lists of named categories with lower and upper limit. |
missingCategoryValue |
Value to assign to those individuals not in any named category. If NULL or NA, missing values will not be changed. |
overlap |
TRUE if the categories given overlap. |
includeLowerBound |
Whether to include the lower bound in the group. |
includeUpperBound |
Whether to include the upper bound in the group. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
The x table with the categorical variable added.
Examples
cdm <- mockPatientProfiles()
result <- cdm$cohort1 |>
addAge() |>
addCategories(
variable = "age",
categories = list("age_group" = list(
"0 to 39" = c(0, 39), "40 to 79" = c(40, 79), "80 to 150" = c(80, 150)
))
)
mockDisconnect(cdm = cdm)
Add cdm name
Description
Add cdm name
Usage
addCdmName(table, cdm = omopgenerics::cdmReference(table))
Arguments
table |
Table in the cdm |
cdm |
A cdm reference object |
Value
Table with an extra column with the cdm names
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addCdmName()
It creates columns to indicate number of occurrences of intersection with a cohort
Description
It creates columns to indicate number of occurrences of intersection with a cohort
Usage
addCohortIntersectCount(
x,
targetCohortTable,
targetCohortId = NULL,
indexDate = "cohort_start_date",
censorDate = NULL,
targetStartDate = "cohort_start_date",
targetEndDate = "cohort_end_date",
window = list(c(0, Inf)),
nameStyle = "{cohort_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
targetCohortTable |
name of the cohort that we want to check for overlap. |
targetCohortId |
vector of cohort definition ids to include. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a specific date or a column date of x. |
targetStartDate |
date of reference in cohort table, either for start (in overlap) or on its own (for incidence). |
targetEndDate |
date of reference in cohort table, either for end (overlap) or NULL (if incidence). |
window |
window to consider events of. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with overlap information.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addCohortIntersectCount(
targetCohortTable = "cohort2"
)
mockDisconnect(cdm = cdm)
Date of cohorts that are present in a certain window
Description
Date of cohorts that are present in a certain window
Usage
addCohortIntersectDate(
x,
targetCohortTable,
targetCohortId = NULL,
indexDate = "cohort_start_date",
censorDate = NULL,
targetDate = "cohort_start_date",
order = "first",
window = c(0, Inf),
nameStyle = "{cohort_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
targetCohortTable |
Cohort table to. |
targetCohortId |
Cohort IDs of interest from the other cohort table. If NULL, all cohorts will be used with a time variable added for each cohort of interest. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a specific date or a column date of x. |
targetDate |
Date of interest in the other cohort table. Either cohort_start_date or cohort_end_date. |
order |
date to use if there are multiple records for an individual during the window of interest. Either first or last. |
window |
Window of time to identify records relative to the indexDate. Records outside of this time period will be ignored. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
x along with additional columns for each cohort of interest.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addCohortIntersectDate(targetCohortTable = "cohort2")
mockDisconnect(cdm = cdm)
It creates columns to indicate the number of days between the current table and a target cohort
Description
It creates columns to indicate the number of days between the current table and a target cohort
Usage
addCohortIntersectDays(
x,
targetCohortTable,
targetCohortId = NULL,
indexDate = "cohort_start_date",
censorDate = NULL,
targetDate = "cohort_start_date",
order = "first",
window = c(0, Inf),
nameStyle = "{cohort_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
targetCohortTable |
Cohort table to. |
targetCohortId |
Cohort IDs of interest from the other cohort table. If NULL, all cohorts will be used with a days variable added for each cohort of interest. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a specific date or a column date of x. |
targetDate |
Date of interest in the other cohort table. Either cohort_start_date or cohort_end_date. |
order |
date to use if there are multiple records for an individual during the window of interest. Either first or last. |
window |
Window of time to identify records relative to the indexDate. Records outside of this time period will be ignored. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
x along with additional columns for each cohort of interest.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addCohortIntersectDays(targetCohortTable = "cohort2")
mockDisconnect(cdm = cdm)
It creates columns to indicate the presence of cohorts
Description
It creates columns to indicate the presence of cohorts
Usage
addCohortIntersectFlag(
x,
targetCohortTable,
targetCohortId = NULL,
indexDate = "cohort_start_date",
censorDate = NULL,
targetStartDate = "cohort_start_date",
targetEndDate = "cohort_end_date",
window = list(c(0, Inf)),
nameStyle = "{cohort_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
targetCohortTable |
name of the cohort that we want to check for overlap. |
targetCohortId |
vector of cohort definition ids to include. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a specific date or a column date of x. |
targetStartDate |
date of reference in cohort table, either for start (in overlap) or on its own (for incidence). |
targetEndDate |
date of reference in cohort table, either for end (overlap) or NULL (if incidence). |
window |
window to consider events of. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with overlap information.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addCohortIntersectFlag(
targetCohortTable = "cohort2"
)
mockDisconnect(cdm = cdm)
Add cohort name for each cohort_definition_id
Description
Add cohort name for each cohort_definition_id
Usage
addCohortName(cohort)
Arguments
cohort |
cohort to which add the cohort name |
Value
cohort with an extra column with the cohort names
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addCohortName()
It creates column to indicate the count overlap information between a table and a concept
Description
It creates column to indicate the count overlap information between a table and a concept
Usage
addConceptIntersectCount(
x,
conceptSet,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetStartDate = "event_start_date",
targetEndDate = "event_end_date",
inObservation = TRUE,
nameStyle = "{concept_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
conceptSet |
Concept set list. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a date column of x |
window |
window to consider events in. |
targetStartDate |
Event start date to use for the intersection. |
targetEndDate |
Event end date to use for the intersection. |
inObservation |
If TRUE only records inside an observation period will be considered. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with overlap information
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
concept <- dplyr::tibble(
concept_id = c(1125315),
domain_id = "Drug",
vocabulary_id = NA_character_,
concept_class_id = "Ingredient",
standard_concept = "S",
concept_code = NA_character_,
valid_start_date = as.Date("1900-01-01"),
valid_end_date = as.Date("2099-01-01"),
invalid_reason = NA_character_
) |>
dplyr::mutate(concept_name = paste0("concept: ", .data$concept_id))
cdm <- CDMConnector::insertTable(cdm, "concept", concept)
cdm$cohort1 |>
addConceptIntersectCount(conceptSet = list("acetaminophen" = 1125315))
mockDisconnect(cdm = cdm)
It creates column to indicate the date overlap information between a table and a concept
Description
It creates column to indicate the date overlap information between a table and a concept
Usage
addConceptIntersectDate(
x,
conceptSet,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetDate = "event_start_date",
order = "first",
inObservation = TRUE,
nameStyle = "{concept_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
conceptSet |
Concept set list. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a date column of x |
window |
window to consider events in. |
targetDate |
Event date to use for the intersection. |
order |
last or first date to use for date/days calculations. |
inObservation |
If TRUE only records inside an observation period will be considered. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with overlap information
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
concept <- dplyr::tibble(
concept_id = c(1125315),
domain_id = "Drug",
vocabulary_id = NA_character_,
concept_class_id = "Ingredient",
standard_concept = "S",
concept_code = NA_character_,
valid_start_date = as.Date("1900-01-01"),
valid_end_date = as.Date("2099-01-01"),
invalid_reason = NA_character_
) |>
dplyr::mutate(concept_name = paste0("concept: ", .data$concept_id))
cdm <- CDMConnector::insertTable(cdm, "concept", concept)
cdm$cohort1 |>
addConceptIntersectDate(conceptSet = list("acetaminophen" = 1125315))
mockDisconnect(cdm = cdm)
It creates column to indicate the days of difference from an index date to a concept
Description
It creates column to indicate the days of difference from an index date to a concept
Usage
addConceptIntersectDays(
x,
conceptSet,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetDate = "event_start_date",
order = "first",
inObservation = TRUE,
nameStyle = "{concept_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
conceptSet |
Concept set list. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a date column of x |
window |
window to consider events in. |
targetDate |
Event date to use for the intersection. |
order |
last or first date to use for date/days calculations. |
inObservation |
If TRUE only records inside an observation period will be considered. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with overlap information
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
concept <- dplyr::tibble(
concept_id = c(1125315),
domain_id = "Drug",
vocabulary_id = NA_character_,
concept_class_id = "Ingredient",
standard_concept = "S",
concept_code = NA_character_,
valid_start_date = as.Date("1900-01-01"),
valid_end_date = as.Date("2099-01-01"),
invalid_reason = NA_character_
) |>
dplyr::mutate(concept_name = paste0("concept: ", .data$concept_id))
cdm <- CDMConnector::insertTable(cdm, "concept", concept)
cdm$cohort1 |>
addConceptIntersectDays(conceptSet = list("acetaminophen" = 1125315))
mockDisconnect(cdm = cdm)
It adds a custom column (field) from the intersection with a certain table subsetted by concept id. In general it is used to add the first value of a certain measurement.
Description
It adds a custom column (field) from the intersection with a certain table subsetted by concept id. In general it is used to add the first value of a certain measurement.
Usage
addConceptIntersectField(
x,
conceptSet,
field,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetDate = "event_start_date",
order = "first",
inObservation = TRUE,
allowDuplicates = FALSE,
nameStyle = "{field}_{concept_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
conceptSet |
Concept set list. |
field |
Column in the standard omop table that you want to add. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
Whether to censor overlap events at a date column of x |
window |
Window to consider events in. |
targetDate |
Event date to use for the intersection. |
order |
'last' or 'first' to refer to which event consider if multiple events are present in the same window. |
inObservation |
If TRUE only records inside an observation period will be considered. |
allowDuplicates |
Whether to allow multiple records with same conceptSet, person_id and targetDate. If switched to TRUE, it can have a different and unpredictable behavior depending on the cdm_source. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
Table with the 'field' value obtained from the intersection
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
concept <- dplyr::tibble(
concept_id = c(1125315),
domain_id = "Drug",
vocabulary_id = NA_character_,
concept_class_id = "Ingredient",
standard_concept = "S",
concept_code = NA_character_,
valid_start_date = as.Date("1900-01-01"),
valid_end_date = as.Date("2099-01-01"),
invalid_reason = NA_character_
) |>
dplyr::mutate(concept_name = paste0("concept: ", .data$concept_id))
cdm <- CDMConnector::insertTable(cdm, "concept", concept)
cdm$cohort1 |>
addConceptIntersectField(
conceptSet = list("acetaminophen" = 1125315),
field = "drug_type_concept_id"
)
mockDisconnect(cdm = cdm)
It creates column to indicate the flag overlap information between a table and a concept
Description
It creates column to indicate the flag overlap information between a table and a concept
Usage
addConceptIntersectFlag(
x,
conceptSet,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetStartDate = "event_start_date",
targetEndDate = "event_end_date",
inObservation = TRUE,
nameStyle = "{concept_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
conceptSet |
Concept set list. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a date column of x |
window |
window to consider events in. |
targetStartDate |
Event start date to use for the intersection. |
targetEndDate |
Event end date to use for the intersection. |
inObservation |
If TRUE only records inside an observation period will be considered. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with overlap information
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
concept <- dplyr::tibble(
concept_id = c(1125315),
domain_id = "Drug",
vocabulary_id = NA_character_,
concept_class_id = "Ingredient",
standard_concept = "S",
concept_code = NA_character_,
valid_start_date = as.Date("1900-01-01"),
valid_end_date = as.Date("2099-01-01"),
invalid_reason = NA_character_
) |>
dplyr::mutate(concept_name = paste0("concept: ", .data$concept_id))
cdm <- CDMConnector::insertTable(cdm, "concept", concept)
cdm$cohort1 |>
addConceptIntersectFlag(conceptSet = list("acetaminophen" = 1125315))
mockDisconnect(cdm = cdm)
Add concept name for each concept_id
Description
Add concept name for each concept_id
Usage
addConceptName(table, column = NULL, nameStyle = "{column}_name")
Arguments
table |
cdm_table that contains column. |
column |
Column to add the concept names from. If NULL any column that its name ends with 'concept_id' will be used. |
nameStyle |
Name of the new column. |
Value
table with an extra column with the concept names.
Examples
library(PatientProfiles)
library(duckdb)
library(CDMConnector)
library(dplyr, warn.conflicts = FALSE)
dbName <- "GiBleed"
requireEunomia(datasetName = dbName)
con <- dbConnect(drv = duckdb(dbdir = eunomiaDir(datasetName = dbName)))
cdm <- cdmFromCon(con = con, cdmSchema = "main", writeSchema = "main")
cdm$drug_exposure |>
addConceptName(column = "drug_concept_id", nameStyle = "drug_name") |>
glimpse()
cdm$drug_exposure |>
addConceptName() |>
glimpse()
Add a column with the individual birth date
Description
Add a column with the individual birth date
Usage
addDateOfBirth(
x,
dateOfBirthName = "date_of_birth",
missingDay = 1,
missingMonth = 1,
imposeDay = FALSE,
imposeMonth = FALSE,
name = NULL
)
Arguments
x |
Table in the cdm that contains 'person_id' or 'subject_id'. |
dateOfBirthName |
Name of the column to be added with the date of birth. |
missingDay |
Day of the individuals with no or imposed day of birth. |
missingMonth |
Month of the individuals with no or imposed month of birth. |
imposeDay |
Whether to impose day of birth. |
imposeMonth |
Whether to impose month of birth. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
The function returns the table x with an extra column that contains the date of birth.
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addDateOfBirth()
mockDisconnect(cdm = cdm)
Query to add a column with the individual birth date
Description
'r lifecycle::badge("experimental")' Same as 'addDateOfBirth()', except query is not computed to a table.
Usage
addDateOfBirthQuery(
x,
dateOfBirthName = "date_of_birth",
missingDay = 1,
missingMonth = 1,
imposeDay = FALSE,
imposeMonth = FALSE
)
Arguments
x |
Table in the cdm that contains 'person_id' or 'subject_id'. |
dateOfBirthName |
Name of the column to be added with the date of birth. |
missingDay |
Day of the individuals with no or imposed day of birth. |
missingMonth |
Month of the individuals with no or imposed month of birth. |
imposeDay |
Whether to impose day of birth. |
imposeMonth |
Whether to impose month of birth. |
Value
The function returns the table x with an extra column that contains the date of birth.
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addDateOfBirthQuery()
mockDisconnect(cdm = cdm)
Add date of death for individuals. Only death within the same observation period than 'indexDate' will be observed.
Description
Add date of death for individuals. Only death within the same observation period than 'indexDate' will be observed.
Usage
addDeathDate(
x,
indexDate = "cohort_start_date",
censorDate = NULL,
window = c(0, Inf),
deathDateName = "date_of_death",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the window origin. |
censorDate |
Name of a column to stop followup. |
window |
window to consider events over. |
deathDateName |
name of the new column to be added. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table x with the added column with death information added.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addDeathDate()
mockDisconnect(cdm = cdm)
Add days to death for individuals. Only death within the same observation period than 'indexDate' will be observed.
Description
Add days to death for individuals. Only death within the same observation period than 'indexDate' will be observed.
Usage
addDeathDays(
x,
indexDate = "cohort_start_date",
censorDate = NULL,
window = c(0, Inf),
deathDaysName = "days_to_death",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the window origin. |
censorDate |
Name of a column to stop followup. |
window |
window to consider events over. |
deathDaysName |
name of the new column to be added. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table x with the added column with death information added.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addDeathDays()
mockDisconnect(cdm = cdm)
Add flag for death for individuals. Only death within the same observation period than 'indexDate' will be observed.
Description
Add flag for death for individuals. Only death within the same observation period than 'indexDate' will be observed.
Usage
addDeathFlag(
x,
indexDate = "cohort_start_date",
censorDate = NULL,
window = c(0, Inf),
deathFlagName = "death",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the window origin. |
censorDate |
Name of a column to stop followup. |
window |
window to consider events over. |
deathFlagName |
name of the new column to be added. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table x with the added column with death information added.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addDeathFlag()
mockDisconnect(cdm = cdm)
Compute demographic characteristics at a certain date
Description
Compute demographic characteristics at a certain date
Usage
addDemographics(
x,
indexDate = "cohort_start_date",
age = TRUE,
ageName = "age",
ageMissingMonth = 1,
ageMissingDay = 1,
ageImposeMonth = FALSE,
ageImposeDay = FALSE,
ageGroup = NULL,
missingAgeGroupValue = "None",
sex = TRUE,
sexName = "sex",
missingSexValue = "None",
priorObservation = TRUE,
priorObservationName = "prior_observation",
priorObservationType = "days",
futureObservation = TRUE,
futureObservationName = "future_observation",
futureObservationType = "days",
dateOfBirth = FALSE,
dateOfBirthName = "date_of_birth",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the demographics characteristics. |
age |
TRUE or FALSE. If TRUE, age will be calculated relative to indexDate. |
ageName |
Age variable name. |
ageMissingMonth |
Month of the year assigned to individuals with missing month of birth. |
ageMissingDay |
day of the month assigned to individuals with missing day of birth. |
ageImposeMonth |
TRUE or FALSE. Whether the month of the date of birth will be considered as missing for all the individuals. |
ageImposeDay |
TRUE or FALSE. Whether the day of the date of birth will be considered as missing for all the individuals. |
ageGroup |
if not NULL, a list of ageGroup vectors. |
missingAgeGroupValue |
Value to include if missing age. |
sex |
TRUE or FALSE. If TRUE, sex will be identified. |
sexName |
Sex variable name. |
missingSexValue |
Value to include if missing sex. |
priorObservation |
TRUE or FALSE. If TRUE, days of between the start of the current observation period and the indexDate will be calculated. |
priorObservationName |
Prior observation variable name. |
priorObservationType |
Whether to return a "date" or the number of "days". |
futureObservation |
TRUE or FALSE. If TRUE, days between the indexDate and the end of the current observation period will be calculated. |
futureObservationName |
Future observation variable name. |
futureObservationType |
Whether to return a "date" or the number of "days". |
dateOfBirth |
TRUE or FALSE, if true the date of birth will be return. |
dateOfBirthName |
dateOfBirth column name. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
cohort table with the added demographic information columns.
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addDemographics()
mockDisconnect(cdm = cdm)
Query to add demographic characteristics at a certain date
Description
'r lifecycle::badge("experimental")' Same as 'addDemographics()', except query is not computed to a table.
Usage
addDemographicsQuery(
x,
indexDate = "cohort_start_date",
age = TRUE,
ageName = "age",
ageMissingMonth = 1,
ageMissingDay = 1,
ageImposeMonth = FALSE,
ageImposeDay = FALSE,
ageGroup = NULL,
missingAgeGroupValue = "None",
sex = TRUE,
sexName = "sex",
missingSexValue = "None",
priorObservation = TRUE,
priorObservationName = "prior_observation",
priorObservationType = "days",
futureObservation = TRUE,
futureObservationName = "future_observation",
futureObservationType = "days",
dateOfBirth = FALSE,
dateOfBirthName = "date_of_birth"
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the demographics characteristics. |
age |
TRUE or FALSE. If TRUE, age will be calculated relative to indexDate. |
ageName |
Age variable name. |
ageMissingMonth |
Month of the year assigned to individuals with missing month of birth. |
ageMissingDay |
day of the month assigned to individuals with missing day of birth. |
ageImposeMonth |
TRUE or FALSE. Whether the month of the date of birth will be considered as missing for all the individuals. |
ageImposeDay |
TRUE or FALSE. Whether the day of the date of birth will be considered as missing for all the individuals. |
ageGroup |
if not NULL, a list of ageGroup vectors. |
missingAgeGroupValue |
Value to include if missing age. |
sex |
TRUE or FALSE. If TRUE, sex will be identified. |
sexName |
Sex variable name. |
missingSexValue |
Value to include if missing sex. |
priorObservation |
TRUE or FALSE. If TRUE, days of between the start of the current observation period and the indexDate will be calculated. |
priorObservationName |
Prior observation variable name. |
priorObservationType |
Whether to return a "date" or the number of "days". |
futureObservation |
TRUE or FALSE. If TRUE, days between the indexDate and the end of the current observation period will be calculated. |
futureObservationName |
Future observation variable name. |
futureObservationType |
Whether to return a "date" or the number of "days". |
dateOfBirth |
TRUE or FALSE, if true the date of birth will be return. |
dateOfBirthName |
dateOfBirth column name. |
Value
cohort table with the added demographic information columns.
Examples
library(PatientProfiles)
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addDemographicsQuery()
mockDisconnect(cdm = cdm)
Compute the number of days till the end of the observation period at a certain date
Description
Compute the number of days till the end of the observation period at a certain date
Usage
addFutureObservation(
x,
indexDate = "cohort_start_date",
futureObservationName = "future_observation",
futureObservationType = "days",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the future observation. |
futureObservationName |
name of the new column to be added. |
futureObservationType |
Whether to return a "date" or the number of "days". |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
cohort table with added column containing future observation of the individuals.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addFutureObservation()
mockDisconnect(cdm = cdm)
Query to add the number of days till the end of the observation period at a certain date
Description
'r lifecycle::badge("experimental")' Same as 'addFutureObservation()', except query is not computed to a table.
Usage
addFutureObservationQuery(
x,
indexDate = "cohort_start_date",
futureObservationName = "future_observation",
futureObservationType = "days"
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the future observation. |
futureObservationName |
name of the new column to be added. |
futureObservationType |
Whether to return a "date" or the number of "days". |
Value
cohort table with added column containing future observation of the individuals.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addFutureObservationQuery()
mockDisconnect(cdm = cdm)
Indicate if a certain record is within the observation period
Description
Indicate if a certain record is within the observation period
Usage
addInObservation(
x,
indexDate = "cohort_start_date",
window = c(0, 0),
completeInterval = FALSE,
nameStyle = "in_observation",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the observation flag. |
window |
window to consider events of. |
completeInterval |
If the individuals are in observation for the full window. |
nameStyle |
Name of the new columns to create, it must contain "window_name" if multiple windows are provided. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
cohort table with the added binary column assessing inObservation.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addInObservation()
mockDisconnect(cdm = cdm)
Query to add a new column to indicate if a certain record is within the observation period
Description
'r lifecycle::badge("experimental")' Same as 'addInObservation()', except query is not computed to a table.
Usage
addInObservationQuery(
x,
indexDate = "cohort_start_date",
window = c(0, 0),
completeInterval = FALSE,
nameStyle = "in_observation"
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the observation flag. |
window |
window to consider events of. |
completeInterval |
If the individuals are in observation for the full window. |
nameStyle |
Name of the new columns to create, it must contain "window_name" if multiple windows are provided. |
Value
cohort table with the added binary column assessing inObservation.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addInObservationQuery()
mockDisconnect(cdm = cdm)
Add the ordinal number of the observation period associated that a given date is in.
Description
Add the ordinal number of the observation period associated that a given date is in.
Usage
addObservationPeriodId(
x,
indexDate = "cohort_start_date",
nameObservationPeriodId = "observation_period_id",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the observation flag. |
nameObservationPeriodId |
Name of the new column. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
Table with the current observation period id added.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addObservationPeriodId()
mockDisconnect(cdm = cdm)
Add the ordinal number of the observation period associated that a given date is in. Result is not computed, only query is added.
Description
Add the ordinal number of the observation period associated that a given date is in. Result is not computed, only query is added.
Usage
addObservationPeriodIdQuery(
x,
indexDate = "cohort_start_date",
nameObservationPeriodId = "observation_period_id"
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the observation flag. |
nameObservationPeriodId |
Name of the new column. |
Value
Table with the current observation period id added.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addObservationPeriodIdQuery()
mockDisconnect(cdm = cdm)
Compute the number of days of prior observation in the current observation period at a certain date
Description
Compute the number of days of prior observation in the current observation period at a certain date
Usage
addPriorObservation(
x,
indexDate = "cohort_start_date",
priorObservationName = "prior_observation",
priorObservationType = "days",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the prior observation. |
priorObservationName |
name of the new column to be added. |
priorObservationType |
Whether to return a "date" or the number of "days". |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
cohort table with added column containing prior observation of the individuals.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addPriorObservation()
mockDisconnect(cdm = cdm)
Query to add the number of days of prior observation in the current observation period at a certain date
Description
'r lifecycle::badge("experimental")' Same as 'addPriorObservation()', except query is not computed to a table.
Usage
addPriorObservationQuery(
x,
indexDate = "cohort_start_date",
priorObservationName = "prior_observation",
priorObservationType = "days"
)
Arguments
x |
Table with individuals in the cdm. |
indexDate |
Variable in x that contains the date to compute the prior observation. |
priorObservationName |
name of the new column to be added. |
priorObservationType |
Whether to return a "date" or the number of "days". |
Value
cohort table with added column containing prior observation of the individuals.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addPriorObservationQuery()
mockDisconnect(cdm = cdm)
Compute the sex of the individuals
Description
Compute the sex of the individuals
Usage
addSex(x, sexName = "sex", missingSexValue = "None", name = NULL)
Arguments
x |
Table with individuals in the cdm. |
sexName |
name of the new column to be added. |
missingSexValue |
Value to include if missing sex. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table x with the added column with sex information.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addSex()
mockDisconnect(cdm = cdm)
Query to add the sex of the individuals
Description
'r lifecycle::badge("experimental")' Same as 'addSex()', except query is not computed to a table.
Usage
addSexQuery(x, sexName = "sex", missingSexValue = "None")
Arguments
x |
Table with individuals in the cdm. |
sexName |
name of the new column to be added. |
missingSexValue |
Value to include if missing sex. |
Value
table x with the added column with sex information.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addSexQuery()
mockDisconnect(cdm = cdm)
Compute number of intersect with an omop table.
Description
Compute number of intersect with an omop table.
Usage
addTableIntersectCount(
x,
tableName,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetStartDate = startDateColumn(tableName),
targetEndDate = endDateColumn(tableName),
inObservation = TRUE,
nameStyle = "{table_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
tableName |
Name of the table to intersect with. Options: visit_occurrence, condition_occurrence, drug_exposure, procedure_occurrence, device_exposure, measurement, observation, drug_era, condition_era, specimen, episode. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a specific date or a column date of x. |
window |
window to consider events in. |
targetStartDate |
Column name with start date for comparison. |
targetEndDate |
Column name with end date for comparison. |
inObservation |
If TRUE only records inside an observation period will be considered. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with intersect information.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addTableIntersectCount(tableName = "visit_occurrence")
mockDisconnect(cdm = cdm)
Compute date of intersect with an omop table.
Description
Compute date of intersect with an omop table.
Usage
addTableIntersectDate(
x,
tableName,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetDate = startDateColumn(tableName),
inObservation = TRUE,
order = "first",
nameStyle = "{table_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
tableName |
Name of the table to intersect with. Options: visit_occurrence, condition_occurrence, drug_exposure, procedure_occurrence, device_exposure, measurement, observation, drug_era, condition_era, specimen, episode. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a specific date or a column date of x. |
window |
window to consider events in. |
targetDate |
Target date in tableName. |
inObservation |
If TRUE only records inside an observation period will be considered. |
order |
which record is considered in case of multiple records (only required for date and days options). |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with intersect information.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addTableIntersectDate(tableName = "visit_occurrence")
mockDisconnect(cdm = cdm)
Compute time to intersect with an omop table.
Description
Compute time to intersect with an omop table.
Usage
addTableIntersectDays(
x,
tableName,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetDate = startDateColumn(tableName),
inObservation = TRUE,
order = "first",
nameStyle = "{table_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
tableName |
Name of the table to intersect with. Options: visit_occurrence, condition_occurrence, drug_exposure, procedure_occurrence, device_exposure, measurement, observation, drug_era, condition_era, specimen, episode. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a specific date or a column date of x. |
window |
window to consider events in. |
targetDate |
Target date in tableName. |
inObservation |
If TRUE only records inside an observation period will be considered. |
order |
which record is considered in case of multiple records (only required for date and days options). |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with intersect information.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addTableIntersectDays(tableName = "visit_occurrence")
mockDisconnect(cdm = cdm)
Intersecting the cohort with columns of an OMOP table of user's choice. It will add an extra column to the cohort, indicating the intersected entries with the target columns in a window of the user's choice.
Description
Intersecting the cohort with columns of an OMOP table of user's choice. It will add an extra column to the cohort, indicating the intersected entries with the target columns in a window of the user's choice.
Usage
addTableIntersectField(
x,
tableName,
field,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetDate = startDateColumn(tableName),
inObservation = TRUE,
order = "first",
allowDuplicates = FALSE,
nameStyle = "{table_name}_{extra_value}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
tableName |
Name of the table to intersect with. Options: visit_occurrence, condition_occurrence, drug_exposure, procedure_occurrence, device_exposure, measurement, observation, drug_era, condition_era, specimen, episode. |
field |
The columns from the table in tableName to intersect over. For example, if the user uses visit_occurrence in tableName then for field the possible options include visit_occurrence_id, visit_concept_id, visit_type_concept_id. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a specific date or a column date of x. |
window |
window to consider events in when intersecting with the chosen column. |
targetDate |
The dates in the target columns in tableName that the user may want to restrict to. |
inObservation |
If TRUE only records inside an observation period will be considered. |
order |
which record is considered in case of multiple records (only required for date and days options). |
allowDuplicates |
Whether to allow multiple records with same conceptSet, person_id and targetDate. If switched to TRUE, it can have a different and unpredictable behavior depending on the cdm_source. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with intersect information.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addTableIntersectField(
tableName = "visit_occurrence",
field = "visit_concept_id",
order = "last",
window = c(-Inf, -1)
)
mockDisconnect(cdm = cdm)
Compute a flag intersect with an omop table.
Description
Compute a flag intersect with an omop table.
Usage
addTableIntersectFlag(
x,
tableName,
indexDate = "cohort_start_date",
censorDate = NULL,
window = list(c(0, Inf)),
targetStartDate = startDateColumn(tableName),
targetEndDate = endDateColumn(tableName),
inObservation = TRUE,
nameStyle = "{table_name}_{window_name}",
name = NULL
)
Arguments
x |
Table with individuals in the cdm. |
tableName |
Name of the table to intersect with. Options: visit_occurrence, condition_occurrence, drug_exposure, procedure_occurrence, device_exposure, measurement, observation, drug_era, condition_era, specimen, episode. |
indexDate |
Variable in x that contains the date to compute the intersection. |
censorDate |
whether to censor overlap events at a specific date or a column date of x. |
window |
window to consider events in. |
targetStartDate |
Column name with start date for comparison. |
targetEndDate |
Column name with end date for comparison. |
inObservation |
If TRUE only records inside an observation period will be considered. |
nameStyle |
naming of the added column or columns, should include required parameters. |
name |
Name of the new table, if NULL a temporary table is returned. |
Value
table with added columns with intersect information.
Examples
cdm <- mockPatientProfiles()
cdm$cohort1 |>
addTableIntersectFlag(tableName = "visit_occurrence")
mockDisconnect(cdm = cdm)
Show the available estimates that can be used for the different variable_type supported.
Description
Show the available estimates that can be used for the different variable_type supported.
Usage
availableEstimates(variableType = NULL, fullQuantiles = FALSE)
Arguments
variableType |
A set of variable types. |
fullQuantiles |
Whether to display the exact quantiles that can be computed or only the qXX to summarise all of them. |
Value
A tibble with the available estimates.
Examples
library(PatientProfiles)
availableEstimates()
availableEstimates("numeric")
availableEstimates(c("numeric", "categorical"))
Benchmark intersections and demographics functions for a certain source (cdm).
Description
Benchmark intersections and demographics functions for a certain source (cdm).
Usage
benchmarkPatientProfiles(cdm, n = 50000, iterations = 1)
Arguments
cdm |
A cdm_reference object. |
n |
Size of the synthetic cohorts used to benchmark. |
iterations |
Number of iterations to run the benchmark. |
Value
A summarise_result object with the summary statistics.
Get the name of the end date column for a certain table in the cdm
Description
Get the name of the end date column for a certain table in the cdm
Usage
endDateColumn(tableName)
Arguments
tableName |
Name of the table. |
Value
Name of the end date column in that table.
Examples
library(PatientProfiles)
endDateColumn("condition_occurrence")
Filter a cohort according to cohort_definition_id column, the result is not computed into a table. only a query is added. Used usually as internal functions of other packages.
Description
Filter a cohort according to cohort_definition_id column, the result is not computed into a table. only a query is added. Used usually as internal functions of other packages.
Usage
filterCohortId(cohort, cohortId = NULL)
Arguments
cohort |
A 'cohort_table' object. |
cohortId |
A vector with cohort ids. |
Value
A 'cohort_table' object.
Filter the rows of a 'cdm_table' to the ones in observation that 'indexDate' is in observation.
Description
Filter the rows of a 'cdm_table' to the ones in observation that 'indexDate' is in observation.
Usage
filterInObservation(x, indexDate)
Arguments
x |
A 'cdm_table' object. |
indexDate |
Name of a column of x that is a date. |
Value
A 'cdm_table' that is a subset of the original table.
Examples
## Not run:
con <- duckdb::dbConnect(duckdb::duckdb(CDMConnector::eunomiaDir()))
cdm <- CDMConnector::cdmFromCon(
con = con, cdmSchema = "main", writeSchema = "main"
)
cdm$condition_occurrence |>
filterInObservation(indexDate = "condition_start_date") |>
dplyr::compute()
## End(Not run)
Function to disconnect from the mock
Description
Function to disconnect from the mock
Usage
mockDisconnect(cdm)
Arguments
cdm |
A cdm_reference object. |
It creates a mock database for testing PatientProfiles package
Description
It creates a mock database for testing PatientProfiles package
Usage
mockPatientProfiles(
con = NULL,
writeSchema = NULL,
numberIndividuals = 10,
...,
seed = NULL
)
Arguments
con |
A DBI connection to create the cdm mock object. |
writeSchema |
Name of an schema on the same connection with writing permisions. |
numberIndividuals |
Number of individuals to create in the cdm reference. |
... |
User self defined tables to put in cdm, it can input as many as the user want. |
seed |
A number to set the seed. If NULL seed is not used. |
Value
A mock cdm_reference object created following user's specifications.
Examples
library(PatientProfiles)
library(CDMConnector)
cdm <- mockPatientProfiles()
mockDisconnect(cdm = cdm)
Objects exported from other packages
Description
These objects are imported from other packages. Follow the links below to see their documentation.
Get the name of the source concept_id column for a certain table in the cdm
Description
Get the name of the source concept_id column for a certain table in the cdm
Usage
sourceConceptIdColumn(tableName)
Arguments
tableName |
Name of the table. |
Value
Name of the source_concept_id column in that table.
Examples
library(PatientProfiles)
sourceConceptIdColumn("condition_occurrence")
Get the name of the standard concept_id column for a certain table in the cdm
Description
Get the name of the standard concept_id column for a certain table in the cdm
Usage
standardConceptIdColumn(tableName)
Arguments
tableName |
Name of the table. |
Value
Name of the concept_id column in that table.
Examples
library(PatientProfiles)
standardConceptIdColumn("condition_occurrence")
Get the name of the start date column for a certain table in the cdm
Description
Get the name of the start date column for a certain table in the cdm
Usage
startDateColumn(tableName)
Arguments
tableName |
Name of the table. |
Value
Name of the start date column in that table.
Examples
library(PatientProfiles)
startDateColumn("condition_occurrence")
Summarise variables using a set of estimate functions. The output will be a formatted summarised_result object.
Description
Summarise variables using a set of estimate functions. The output will be a formatted summarised_result object.
Usage
summariseResult(
table,
group = list(),
includeOverallGroup = FALSE,
strata = list(),
includeOverallStrata = TRUE,
variables = NULL,
estimates = c("min", "q25", "median", "q75", "max", "count", "percentage"),
counts = TRUE,
weights = NULL
)
Arguments
table |
Table with different records. |
group |
List of groups to be considered. |
includeOverallGroup |
TRUE or FALSE. If TRUE, results for an overall group will be reported when a list of groups has been specified. |
strata |
List of the stratifications within each group to be considered. |
includeOverallStrata |
TRUE or FALSE. If TRUE, results for an overall strata will be reported when a list of strata has been specified. |
variables |
Variables to summarise, it can be a list to point to different set of estimate names. |
estimates |
Estimates to obtain, it can be a list to point to different set of variables. |
counts |
Whether to compute number of records and number of subjects. |
weights |
Name of the column in the table that contains the weights to be used when measuring the estimates. |
Value
A summarised_result object with the summarised data of interest.
Examples
library(PatientProfiles)
library(dplyr)
cdm <- mockPatientProfiles()
x <- cdm$cohort1 |>
addDemographics() |>
collect()
result <- summariseResult(x)
mockDisconnect(cdm = cdm)
Classify the variables between 5 types: "numeric", "categorical", "binary", "date", or NA.
Description
Classify the variables between 5 types: "numeric", "categorical", "binary", "date", or NA.
Usage
variableTypes(table)
Arguments
table |
Tibble. |
Value
Tibble with the variables type and classification.
Examples
library(PatientProfiles)
x <- dplyr::tibble(
person_id = c(1, 2),
start_date = as.Date(c("2020-05-02", "2021-11-19")),
asthma = c(0, 1)
)
variableTypes(x)