| Title: | 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. |
| Authors: | Martí Català [aut, cre] (ORCID: <https://orcid.org/0000-0003-3308-9905>), Yuchen Guo [aut] (ORCID: <https://orcid.org/0000-0002-0847-4855>), Mike Du [aut] (ORCID: <https://orcid.org/0000-0002-9517-8834>), Kim Lopez-Guell [aut] (ORCID: <https://orcid.org/0000-0002-8462-8668>), Edward Burn [aut] (ORCID: <https://orcid.org/0000-0002-9286-1128>), Nuria Mercade-Besora [aut] (ORCID: <https://orcid.org/0009-0006-7948-3747>), Xintong Li [ctb] (ORCID: <https://orcid.org/0000-0002-6872-5804>), Xihang Chen [ctb] (ORCID: <https://orcid.org/0009-0001-8112-8959>) |
| Maintainer: | Martí Català <[email protected]> |
| License: | Apache License (>= 2) |
| Version: | 1.6.1 |
| Built: | 2026-09-22 15:17:10 UTC |
| Source: | https://github.com/darwin-eu/patientprofiles |
Compute the age of the individuals at a certain date
addAge( x, indexDate = "cohort_start_date", ageName = "age", ageGroup = NULL, ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", missingAgeGroupValue = "None", name = NULL, type = "numeric" )addAge( x, indexDate = "cohort_start_date", ageName = "age", ageGroup = NULL, ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", missingAgeGroupValue = "None", name = NULL, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
ageName |
Name of the age column to add. |
ageGroup |
If not |
ageMissingMonth |
Month of the year assigned when month of birth is missing. |
ageMissingDay |
Day of the month assigned when day of birth is missing. |
ageImposeMonth |
If |
ageImposeDay |
If |
ageUnit |
Unit in which to express age: |
missingAgeGroupValue |
Value to use when age is missing. |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
tibble with the age column added.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addAge()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addAge()
Same as addAge(), except query is not computed to a table.
addAgeQuery( x, indexDate = "cohort_start_date", ageName = "age", ageGroup = NULL, ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", missingAgeGroupValue = "None", type = "numeric" )addAgeQuery( x, indexDate = "cohort_start_date", ageName = "age", ageGroup = NULL, ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", missingAgeGroupValue = "None", type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
ageName |
Name of the age column to add. |
ageGroup |
If not |
ageMissingMonth |
Month of the year assigned when month of birth is missing. |
ageMissingDay |
Day of the month assigned when day of birth is missing. |
ageImposeMonth |
If |
ageImposeDay |
If |
ageUnit |
Unit in which to express age: |
missingAgeGroupValue |
Value to use when age is missing. |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
tibble with the age column added.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addAgeQuery()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addAgeQuery()
The function accounts for leap years and corrects the invalid dates to the next valid date.
addBirthday( x, birthday = 0, birthdayName = "birthday", ageMissingMonth = 1L, ageMissingDay = 1L, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", name = NULL )addBirthday( x, birthday = 0, birthdayName = "birthday", ageMissingMonth = 1L, ageMissingDay = 1L, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", name = NULL )
x |
A table containing individuals in a CDM reference. |
birthday |
Day of birth to add. |
birthdayName |
Name of the birthday column to add. |
ageMissingMonth |
Month of the year assigned when month of birth is missing. |
ageMissingDay |
Day of the month assigned when day of birth is missing. |
ageImposeMonth |
If |
ageImposeDay |
If |
ageUnit |
Unit in which to express age: |
name |
Name of the new table. If |
The table with a new column containing the birth day.
library(PatientProfiles) library(dplyr) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addBirthday() |> glimpse() cdm$cohort1 |> addBirthday(birthday = 5, birthdayName = "bithday_5th") |> glimpse()library(PatientProfiles) library(dplyr) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addBirthday() |> glimpse() cdm$cohort1 |> addBirthday(birthday = 5, birthdayName = "bithday_5th") |> glimpse()
Same as
addBirthday(), except query is not computed to a table.
The function accounts for leap years and corrects the invalid dates to the next valid date.
addBirthdayQuery( x, birthdayName = "birthday", birthday = 0, ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years" )addBirthdayQuery( x, birthdayName = "birthday", birthday = 0, ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years" )
x |
A table containing individuals in a CDM reference. |
birthdayName |
Name of the birthday column to add. |
birthday |
Day of birth to add. |
ageMissingMonth |
Month of the year assigned when month of birth is missing. |
ageMissingDay |
Day of the month assigned when day of birth is missing. |
ageImposeMonth |
If |
ageImposeDay |
If |
ageUnit |
Unit in which to express age: |
The table with a query that add the new column containing the birth day.
library(PatientProfiles) library(dplyr) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addBirthdayQuery() |> glimpse() cdm$cohort1 |> addBirthdayQuery(birthday = 5) |> glimpse()library(PatientProfiles) library(dplyr) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addBirthdayQuery() |> glimpse() cdm$cohort1 |> addBirthdayQuery(birthday = 5) |> glimpse()
Categorize a numeric variable
addCategories( x, variable, categories, missingCategoryValue = "None", overlap = FALSE, includeLowerBound = TRUE, includeUpperBound = TRUE, name = NULL )addCategories( x, variable, categories, missingCategoryValue = "None", overlap = FALSE, includeLowerBound = TRUE, includeUpperBound = TRUE, name = NULL )
x |
A table containing individuals in a CDM reference. |
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 |
The x table with the categorical variable added.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") 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) )) )library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") 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) )) )
Add cdm name
addCdmName(table, cdm = omopgenerics::cdmReference(table))addCdmName(table, cdm = omopgenerics::cdmReference(table))
table |
A table to process. |
cdm |
A |
Table with an extra column with the cdm names
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCdmName()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCdmName()
addCohortEventDate() finds the first or last event in each window.
When no event is observed before the applicable boundary, the event is
reported as "end_of_observation" if the observation period boundary is
reached or "censor" if the window boundary or censorDate is reached. The
date value represents that boundary.
addCohortEventDate( x, targetCohortTable, targetCohortId = NULL, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "cohort_start_date", order = "first", window = c(0, Inf), multipleEvents = NULL, nameStyle = "{value}_{window_name}", name = NULL )addCohortEventDate( x, targetCohortTable, targetCohortId = NULL, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "cohort_start_date", order = "first", window = c(0, Inf), multipleEvents = NULL, nameStyle = "{value}_{window_name}", name = NULL )
x |
A table containing individuals in a CDM reference. |
targetCohortTable |
Name of the cohort table to intersect with. |
targetCohortId |
Cohort definition IDs to include from
|
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
window |
Window or windows of time relative to |
multipleEvents |
How events occurring on the same date are handled. If
|
nameStyle |
Naming pattern for the added columns. It must contain
|
name |
Name of the new table. If |
x with an event column and a date column for every window.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortEventDate(targetCohortTable = "cohort2")library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortEventDate(targetCohortTable = "cohort2")
addCohortEventDays() finds the first or last event in each window.
When no event is observed before the applicable boundary, the event is
reported as "end_of_observation" if the observation period boundary is
reached or "censor" if the window boundary or censorDate is reached. The
days value represents that boundary.
addCohortEventDays( x, targetCohortTable, targetCohortId = NULL, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "cohort_start_date", order = "first", window = c(0, Inf), multipleEvents = NULL, nameStyle = "{value}_{window_name}", name = NULL, type = "numeric" )addCohortEventDays( x, targetCohortTable, targetCohortId = NULL, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "cohort_start_date", order = "first", window = c(0, Inf), multipleEvents = NULL, nameStyle = "{value}_{window_name}", name = NULL, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
targetCohortTable |
Name of the cohort table to intersect with. |
targetCohortId |
Cohort definition IDs to include from
|
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
window |
Window or windows of time relative to |
multipleEvents |
How events occurring on the same date are handled. If
|
nameStyle |
Naming pattern for the added columns. It must contain
|
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
x with an event column and a days column of the requested type,
relative to indexDate, for every window.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortEventDays(targetCohortTable = "cohort2")library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortEventDays(targetCohortTable = "cohort2")
It creates columns to indicate number of occurrences of intersection with a cohort
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, type = "numeric" )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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
targetCohortTable |
Name of the cohort table to intersect with. |
targetCohortId |
Cohort definition IDs to include from
|
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
targetStartDate |
Name or names of start-date columns in the target tables to use for the intersection. |
targetEndDate |
Name or names of end-date columns in the target tables
to use for the intersection. If |
window |
Window or windows of time relative to |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
The original table (x) with one added column per intersection with the desired cohort in a specific window. One column will be created for each combination of window and cohort. The value of the column will be the number of intersections in the desired window, or NA if the individual is not in observation at any time in the window.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortIntersectCount( targetCohortTable = "cohort2" )library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortIntersectCount( targetCohortTable = "cohort2" )
Date of cohorts that are present in a certain window
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 )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 )
x |
A table containing individuals in a CDM reference. |
targetCohortTable |
Name of the cohort table to intersect with. |
targetCohortId |
Cohort definition IDs to include from
|
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
window |
Window or windows of time relative to |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
x along with additional columns for each cohort of interest.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortIntersectDate(targetCohortTable = "cohort2")library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortIntersectDate(targetCohortTable = "cohort2")
It creates columns to indicate the number of days between the current table and a target cohort
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, type = "numeric" )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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
targetCohortTable |
Name of the cohort table to intersect with. |
targetCohortId |
Cohort definition IDs to include from
|
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
window |
Window or windows of time relative to |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
x along with additional columns for each cohort of interest.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortIntersectDays(targetCohortTable = "cohort2")library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortIntersectDays(targetCohortTable = "cohort2")
It creates a column with the field of a desired intersection
addCohortIntersectField( x, targetCohortTable, field, targetCohortId = NULL, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "cohort_start_date", order = "first", window = list(c(0, Inf)), nameStyle = "{cohort_name}_{field}_{window_name}", name = NULL, type = "auto" )addCohortIntersectField( x, targetCohortTable, field, targetCohortId = NULL, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "cohort_start_date", order = "first", window = list(c(0, Inf)), nameStyle = "{cohort_name}_{field}_{window_name}", name = NULL, type = "auto" )
x |
A table containing individuals in a CDM reference. |
targetCohortTable |
Name of the cohort table to intersect with. |
field |
Name or names of columns in the target tables to add to |
targetCohortId |
Cohort definition IDs to include from
|
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
window |
Window or windows of time relative to |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
table with added columns with overlap information.
library(PatientProfiles) library(dplyr) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort2 <- cdm$cohort2 |> mutate(even = if_else(subject_id %% 2, "yes", "no")) |> compute(name = "cohort2") cdm$cohort1 |> addCohortIntersectFlag( targetCohortTable = "cohort2" )library(PatientProfiles) library(dplyr) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort2 <- cdm$cohort2 |> mutate(even = if_else(subject_id %% 2, "yes", "no")) |> compute(name = "cohort2") cdm$cohort1 |> addCohortIntersectFlag( targetCohortTable = "cohort2" )
It creates columns to indicate the presence of cohorts
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, type = "numeric" )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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
targetCohortTable |
Name of the cohort table to intersect with. |
targetCohortId |
Cohort definition IDs to include from
|
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
targetStartDate |
Name or names of start-date columns in the target tables to use for the intersection. |
targetEndDate |
Name or names of end-date columns in the target tables
to use for the intersection. If |
window |
Window or windows of time relative to |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
The original table (x) with one added column per intersection with the desired cohort in a specific window. One column will be created for each combination of window and cohort. The value of the column can either indicate presence (1 or TRUE), no intersection (0 or FALSE), or NA if the individual is not in observation at any time of the window. The representation depends on type.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortIntersectFlag( targetCohortTable = "cohort2" )library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortIntersectFlag( targetCohortTable = "cohort2" )
Add cohort name for each cohort_definition_id
addCohortName(cohort)addCohortName(cohort)
cohort |
A |
cohort with an extra column with the cohort names
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortName()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addCohortName()
addConceptEventDate() finds the first or last event from a set of
concepts in each window. When no event is observed before the applicable
boundary, the event is reported as "end_of_observation" if the observation
period boundary is reached or "censor" if the window boundary or
censorDate is reached. The date value represents that boundary.
addConceptEventDate( x, conceptSet, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "event_start_date", order = "first", window = list(c(0, Inf)), multipleEvents = NULL, nameStyle = "{value}_{window_name}", name = NULL )addConceptEventDate( x, conceptSet, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "event_start_date", order = "first", window = list(c(0, Inf)), multipleEvents = NULL, nameStyle = "{value}_{window_name}", name = NULL )
x |
A table containing individuals in a CDM reference. |
conceptSet |
A named list of concept sets. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
window |
Window or windows of time relative to |
multipleEvents |
How events occurring on the same date are handled. If
|
nameStyle |
Naming pattern for the added columns. It must contain
|
name |
Name of the new table. If |
x with an event column and a date column for every window.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addConceptEventDate(conceptSet = list(acetaminophen = 1125315L))library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addConceptEventDate(conceptSet = list(acetaminophen = 1125315L))
addConceptEventDays() finds the first or last event from a set of
concepts in each window. When no event is observed before the applicable
boundary, the event is reported as "end_of_observation" if the observation
period boundary is reached or "censor" if the window boundary or
censorDate is reached. The days value represents that boundary.
addConceptEventDays( x, conceptSet, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "event_start_date", order = "first", window = list(c(0, Inf)), multipleEvents = NULL, nameStyle = "{value}_{window_name}", name = NULL, type = "numeric" )addConceptEventDays( x, conceptSet, indexDate = "cohort_start_date", censorDate = NULL, targetDate = "event_start_date", order = "first", window = list(c(0, Inf)), multipleEvents = NULL, nameStyle = "{value}_{window_name}", name = NULL, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
conceptSet |
A named list of concept sets. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
window |
Window or windows of time relative to |
multipleEvents |
How events occurring on the same date are handled. If
|
nameStyle |
Naming pattern for the added columns. It must contain
|
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
x with an event column and a days column of the requested type,
relative to indexDate, for every window.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addConceptEventDays(conceptSet = list(acetaminophen = 1125315L))library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addConceptEventDays(conceptSet = list(acetaminophen = 1125315L))
It creates column to indicate the count overlap information between a table and a concept
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, type = "numeric" )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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
conceptSet |
A named list of concept sets. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetStartDate |
Name or names of start-date columns in the target tables to use for the intersection. |
targetEndDate |
Name or names of end-date columns in the target tables
to use for the intersection. If |
inObservation |
If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
The original table (x) with one added column per intersection with the desired conceptSet in a specific window. One column will be created for each combination of window and conceptSet. The value of the column will be the number of intersections in the desired window, or NA if the individual is not in observation at any time in the window.
library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectCount(conceptSet = list("acetaminophen" = 1125315))library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectCount(conceptSet = list("acetaminophen" = 1125315))
It creates column to indicate the date overlap information between a table and a concept
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 )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 )
x |
A table containing individuals in a CDM reference. |
conceptSet |
A named list of concept sets. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
inObservation |
If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
table with added columns with overlap information
library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectDate(conceptSet = list("acetaminophen" = 1125315))library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectDate(conceptSet = list("acetaminophen" = 1125315))
It creates column to indicate the days of difference from an index date to a concept
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, type = "numeric" )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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
conceptSet |
A named list of concept sets. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
inObservation |
If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
table with added columns with overlap information
library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectDays(conceptSet = list("acetaminophen" = 1125315))library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectDays(conceptSet = list("acetaminophen" = 1125315))
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.
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, type = "auto" )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, type = "auto" )
x |
A table containing individuals in a CDM reference. |
conceptSet |
A named list of concept sets. |
field |
Name or names of columns in the target tables to add to |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
order |
Which record to use when multiple records occur in a window:
|
inObservation |
If |
allowDuplicates |
Whether to allow multiple records for the same person,
target, and date. If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
Table with the field value obtained from the intersection
library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectField( conceptSet = list("acetaminophen" = 1125315), field = "drug_type_concept_id" )library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectField( conceptSet = list("acetaminophen" = 1125315), field = "drug_type_concept_id" )
It creates column to indicate the flag overlap information between a table and a concept
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, type = "numeric" )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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
conceptSet |
A named list of concept sets. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetStartDate |
Name or names of start-date columns in the target tables to use for the intersection. |
targetEndDate |
Name or names of end-date columns in the target tables
to use for the intersection. If |
inObservation |
If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
The original table (x) with one added column per intersection with the desired conceptSet in a specific window. One column will be created for each combination of window and conceptSet. The value of the column can either indicate presence (1 or TRUE), no intersection (0 or FALSE), or NA if the individual is not in observation at any time of the window. The representation depends on type.
library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectFlag(conceptSet = list("acetaminophen" = 1125315))library(PatientProfiles) library(omopgenerics, warn.conflicts = TRUE) library(dplyr, warn.conflicts = TRUE) cdm <- mockPatientProfiles(source = "duckdb") concept <- 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_ ) |> mutate(concept_name = paste0("concept: ", .data$concept_id)) cdm <- insertTable(cdm, "concept", concept) cdm$cohort1 |> addConceptIntersectFlag(conceptSet = list("acetaminophen" = 1125315))
Add concept name for each concept_id
addConceptName(table, column = NULL, nameStyle = "{column}_name")addConceptName(table, column = NULL, nameStyle = "{column}_name")
table |
A table to process. |
column |
Column to add the concept names from. If NULL any column that
its name ends with |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
table with an extra column with the concept names.
library(PatientProfiles) library(omock) library(dplyr, warn.conflicts = FALSE) cdm <- mockCdmFromDataset(datasetName = "GiBleed", source = "duckdb") cdm$drug_exposure |> addConceptName(column = "drug_concept_id", nameStyle = "drug_name") |> glimpse() cdm$drug_exposure |> addConceptName() |> glimpse()library(PatientProfiles) library(omock) library(dplyr, warn.conflicts = FALSE) cdm <- mockCdmFromDataset(datasetName = "GiBleed", source = "duckdb") 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
addDateOfBirth( x, dateOfBirthName = "date_of_birth", missingDay = 1, missingMonth = 1, imposeDay = FALSE, imposeMonth = FALSE, name = NULL )addDateOfBirth( x, dateOfBirthName = "date_of_birth", missingDay = 1, missingMonth = 1, imposeDay = FALSE, imposeMonth = FALSE, name = NULL )
x |
A table containing individuals in a CDM reference. |
dateOfBirthName |
Name of the date-of-birth column to add. |
missingDay |
Day of the month assigned when day of birth is missing. |
missingMonth |
Month of the year assigned when month of birth is missing. |
imposeDay |
If |
imposeMonth |
If |
name |
Name of the new table. If |
The function returns the table x with an extra column that contains the date of birth.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDateOfBirth()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDateOfBirth()
Same as addDateOfBirth(), except query is not computed to a table.
addDateOfBirthQuery( x, dateOfBirthName = "date_of_birth", missingDay = 1, missingMonth = 1, imposeDay = FALSE, imposeMonth = FALSE )addDateOfBirthQuery( x, dateOfBirthName = "date_of_birth", missingDay = 1, missingMonth = 1, imposeDay = FALSE, imposeMonth = FALSE )
x |
A table containing individuals in a CDM reference. |
dateOfBirthName |
Name of the date-of-birth column to add. |
missingDay |
Day of the month assigned when day of birth is missing. |
missingMonth |
Month of the year assigned when month of birth is missing. |
imposeDay |
If |
imposeMonth |
If |
The function returns the table x with an extra column that contains the date of birth.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDateOfBirthQuery()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDateOfBirthQuery()
indexDate will be observed.Add date of death for individuals. Only death within the same observation
period than indexDate will be observed.
addDeathDate( x, indexDate = "cohort_start_date", censorDate = NULL, window = c(0, Inf), deathDateName = "date_of_death", name = NULL )addDeathDate( x, indexDate = "cohort_start_date", censorDate = NULL, window = c(0, Inf), deathDateName = "date_of_death", name = NULL )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
deathDateName |
name of the new column to be added. |
name |
Name of the new table. If |
table x with the added column with death information added.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDeathDate()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDeathDate()
indexDate will be observed.Add days to death for individuals. Only death within the same observation
period than indexDate will be observed.
addDeathDays( x, indexDate = "cohort_start_date", censorDate = NULL, window = c(0, Inf), deathDaysName = "days_to_death", name = NULL, type = "numeric" )addDeathDays( x, indexDate = "cohort_start_date", censorDate = NULL, window = c(0, Inf), deathDaysName = "days_to_death", name = NULL, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
deathDaysName |
name of the new column to be added. |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
table x with the added column with death information added.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDeathDays()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDeathDays()
indexDate will be observed.Add flag for death for individuals. Only death within the same observation
period than indexDate will be observed.
addDeathFlag( x, indexDate = "cohort_start_date", censorDate = NULL, window = c(0, Inf), deathFlagName = "death", name = NULL, type = "numeric" )addDeathFlag( x, indexDate = "cohort_start_date", censorDate = NULL, window = c(0, Inf), deathFlagName = "death", name = NULL, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
deathFlagName |
name of the new column to be added. |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
The original table (x) with one added column per window indicating whether the individual's death record intersects that window. The value of the column can either indicate presence (1 or TRUE), no intersection (0 or FALSE), or NA if the individual is not in observation at any time of the window. The representation depends on type.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDeathFlag()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDeathFlag()
Compute demographic characteristics at a certain date
addDemographics( x, indexDate = "cohort_start_date", age = TRUE, ageName = "age", ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", 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, type = "numeric" )addDemographics( x, indexDate = "cohort_start_date", age = TRUE, ageName = "age", ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", 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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
age |
If |
ageName |
Name of the age column to add. |
ageMissingMonth |
Month of the year assigned when month of birth is missing. |
ageMissingDay |
Day of the month assigned when day of birth is missing. |
ageImposeMonth |
If |
ageImposeDay |
If |
ageUnit |
Unit in which to express age: |
ageGroup |
If not |
missingAgeGroupValue |
Value to use when age is missing. |
sex |
If |
sexName |
Name of the sex column to add. |
missingSexValue |
Value to use when sex is missing. |
priorObservation |
If |
priorObservationName |
Name of the prior-observation column to add. |
priorObservationType |
Whether to return a |
futureObservation |
If |
futureObservationName |
Name of the future-observation column to add. |
futureObservationType |
Whether to return a |
dateOfBirth |
If |
dateOfBirthName |
Name of the date-of-birth column to add. |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
cohort table with the added demographic information columns.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDemographics() cdm$cohort1 |> addDemographics(indexDate = as.Date("2010-01-01"))library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDemographics() cdm$cohort1 |> addDemographics(indexDate = as.Date("2010-01-01"))
Same as addDemographics(), except query is not computed to a table.
addDemographicsQuery( x, indexDate = "cohort_start_date", age = TRUE, ageName = "age", ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", 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", type = "numeric" )addDemographicsQuery( x, indexDate = "cohort_start_date", age = TRUE, ageName = "age", ageMissingMonth = 1, ageMissingDay = 1, ageImposeMonth = FALSE, ageImposeDay = FALSE, ageUnit = "years", 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", type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
age |
If |
ageName |
Name of the age column to add. |
ageMissingMonth |
Month of the year assigned when month of birth is missing. |
ageMissingDay |
Day of the month assigned when day of birth is missing. |
ageImposeMonth |
If |
ageImposeDay |
If |
ageUnit |
Unit in which to express age: |
ageGroup |
If not |
missingAgeGroupValue |
Value to use when age is missing. |
sex |
If |
sexName |
Name of the sex column to add. |
missingSexValue |
Value to use when sex is missing. |
priorObservation |
If |
priorObservationName |
Name of the prior-observation column to add. |
priorObservationType |
Whether to return a |
futureObservation |
If |
futureObservationName |
Name of the future-observation column to add. |
futureObservationType |
Whether to return a |
dateOfBirth |
If |
dateOfBirthName |
Name of the date-of-birth column to add. |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
cohort table with the added demographic information columns.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDemographicsQuery()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addDemographicsQuery()
Compute the number of days till the end of the observation period at a certain date
addFutureObservation( x, indexDate = "cohort_start_date", futureObservationName = "future_observation", futureObservationType = "days", name = NULL, type = "numeric" )addFutureObservation( x, indexDate = "cohort_start_date", futureObservationName = "future_observation", futureObservationType = "days", name = NULL, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
futureObservationName |
Name of the future-observation column to add. |
futureObservationType |
Whether to return a |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
cohort table with added column containing future observation of the individuals.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addFutureObservation()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addFutureObservation()
Same as addFutureObservation(), except query is not computed to a table.
addFutureObservationQuery( x, indexDate = "cohort_start_date", futureObservationName = "future_observation", futureObservationType = "days", type = "numeric" )addFutureObservationQuery( x, indexDate = "cohort_start_date", futureObservationName = "future_observation", futureObservationType = "days", type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
futureObservationName |
Name of the future-observation column to add. |
futureObservationType |
Whether to return a |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
cohort table with added column containing future observation of the individuals.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addFutureObservationQuery()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addFutureObservationQuery()
Indicate if a certain record is within the observation period
addInObservation( x, indexDate = "cohort_start_date", window = c(0, 0), completeInterval = FALSE, nameStyle = "in_observation", name = NULL, type = "numeric" )addInObservation( x, indexDate = "cohort_start_date", window = c(0, 0), completeInterval = FALSE, nameStyle = "in_observation", name = NULL, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
window |
Window or windows of time relative to |
completeInterval |
If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
Cohort table with an added column assessing observation. Values are
1/TRUE in observation and 0/FALSE otherwise, according to type.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addInObservation()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addInObservation()
Same as addInObservation(), except query is not computed to a table.
addInObservationQuery( x, indexDate = "cohort_start_date", window = c(0, 0), completeInterval = FALSE, nameStyle = "in_observation", type = "numeric" )addInObservationQuery( x, indexDate = "cohort_start_date", window = c(0, 0), completeInterval = FALSE, nameStyle = "in_observation", type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
window |
Window or windows of time relative to |
completeInterval |
If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
Cohort table with an added column assessing observation. Values are
1/TRUE in observation and 0/FALSE otherwise, according to type.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addInObservationQuery()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addInObservationQuery()
Add the ordinal number of the observation period associated that a given date is in.
addObservationPeriodId( x, indexDate = "cohort_start_date", nameObservationPeriodId = "observation_period_id", name = NULL )addObservationPeriodId( x, indexDate = "cohort_start_date", nameObservationPeriodId = "observation_period_id", name = NULL )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
nameObservationPeriodId |
Name of the observation-period ID column to add. |
name |
Name of the new table. If |
Table with the current observation period id added.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addObservationPeriodId()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addObservationPeriodId()
Add the ordinal number of the observation period associated that a given date is in. Result is not computed, only query is added.
addObservationPeriodIdQuery( x, indexDate = "cohort_start_date", nameObservationPeriodId = "observation_period_id" )addObservationPeriodIdQuery( x, indexDate = "cohort_start_date", nameObservationPeriodId = "observation_period_id" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
nameObservationPeriodId |
Name of the observation-period ID column to add. |
Table with the current observation period id added.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addObservationPeriodIdQuery()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addObservationPeriodIdQuery()
Compute the number of days of prior observation in the current observation period at a certain date
addPriorObservation( x, indexDate = "cohort_start_date", priorObservationName = "prior_observation", priorObservationType = "days", name = NULL, type = "numeric" )addPriorObservation( x, indexDate = "cohort_start_date", priorObservationName = "prior_observation", priorObservationType = "days", name = NULL, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
priorObservationName |
Name of the prior-observation column to add. |
priorObservationType |
Whether to return a |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
cohort table with added column containing prior observation of the individuals.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addPriorObservation()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addPriorObservation()
Same as addPriorObservation(), except query is not computed to a table.
addPriorObservationQuery( x, indexDate = "cohort_start_date", priorObservationName = "prior_observation", priorObservationType = "days", type = "numeric" )addPriorObservationQuery( x, indexDate = "cohort_start_date", priorObservationName = "prior_observation", priorObservationType = "days", type = "numeric" )
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
priorObservationName |
Name of the prior-observation column to add. |
priorObservationType |
Whether to return a |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
cohort table with added column containing prior observation of the individuals.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addPriorObservationQuery()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addPriorObservationQuery()
Compute the sex of the individuals
addSex(x, sexName = "sex", missingSexValue = "None", name = NULL)addSex(x, sexName = "sex", missingSexValue = "None", name = NULL)
x |
A table containing individuals in a CDM reference. |
sexName |
Name of the sex column to add. |
missingSexValue |
Value to use when sex is missing. |
name |
Name of the new table. If |
table x with the added column with sex information.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addSex()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addSex()
Same as addSex(), except query is not computed to a table.
addSexQuery(x, sexName = "sex", missingSexValue = "None")addSexQuery(x, sexName = "sex", missingSexValue = "None")
x |
A table containing individuals in a CDM reference. |
sexName |
Name of the sex column to add. |
missingSexValue |
Value to use when sex is missing. |
table x with the added column with sex information.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addSexQuery()library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addSexQuery()
Compute number of intersect with an omop table.
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, type = "numeric" )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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
tableName |
Names of one or more OMOP CDM tables to intersect with. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetStartDate |
Name or names of start-date columns in the target tables to use for the intersection. |
targetEndDate |
Name or names of end-date columns in the target tables
to use for the intersection. If |
inObservation |
If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
The original table (x) with one added column per intersection with the desired table in a specific window. One column will be created for each combination of window and table. The value of the column will be the number of intersections in the desired window, or NA if the individual is not in observation at any time in the window.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectCount(tableName = "visit_occurrence")library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectCount(tableName = "visit_occurrence")
Compute date of intersect with an omop table.
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 )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 )
x |
A table containing individuals in a CDM reference. |
tableName |
Names of one or more OMOP CDM tables to intersect with. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
inObservation |
If |
order |
Which record to use when multiple records occur in a window:
|
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
table with added columns with intersect information.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectDate(tableName = "visit_occurrence")library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectDate(tableName = "visit_occurrence")
Compute time to intersect with an omop table.
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, type = "numeric" )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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
tableName |
Names of one or more OMOP CDM tables to intersect with. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
inObservation |
If |
order |
Which record to use when multiple records occur in a window:
|
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
table with added columns with intersect information.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectDays(tableName = "visit_occurrence")library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectDays(tableName = "visit_occurrence")
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.
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}_{field}_{window_name}", name = NULL, type = "auto" )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}_{field}_{window_name}", name = NULL, type = "auto" )
x |
A table containing individuals in a CDM reference. |
tableName |
Names of one or more OMOP CDM tables to intersect with. |
field |
Name or names of columns in the target tables to add to |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetDate |
Name or names of date columns in the target tables to use for the intersection. |
inObservation |
If |
order |
Which record to use when multiple records occur in a window:
|
allowDuplicates |
Whether to allow multiple records for the same person,
target, and date. If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
table with added columns with intersect information.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectField( tableName = "visit_occurrence", field = "visit_concept_id", order = "last", window = c(-Inf, -1) )library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectField( tableName = "visit_occurrence", field = "visit_concept_id", order = "last", window = c(-Inf, -1) )
Compute a flag intersect with an omop table
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, type = "numeric" )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, type = "numeric" )
x |
A table containing individuals in a CDM reference. |
tableName |
Names of one or more OMOP CDM tables to intersect with. |
indexDate |
Name of a date column in |
censorDate |
Date or name of a date column in |
window |
Window or windows of time relative to |
targetStartDate |
Name or names of start-date columns in the target tables to use for the intersection. |
targetEndDate |
Name or names of end-date columns in the target tables
to use for the intersection. If |
inObservation |
If |
nameStyle |
Naming pattern for the added column or columns. It should
include the required formatting variables. If more than one |
name |
Name of the new table. If |
type |
Type of the created column(s). Counts, days, age, and observation
durations can be |
The original table (x) with one added column per intersection with the desired table in a specific window. One column will be created for each combination of window and table. The value of the column can either indicate presence (1 or TRUE), no intersection (0 or FALSE), or NA if the individual is not in observation at any time of the window. The representation depends on type.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectFlag(tableName = "visit_occurrence")library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") cdm$cohort1 |> addTableIntersectFlag(tableName = "visit_occurrence")
Show the available estimates that can be used for the different variable_type supported.
availableEstimates(variableType = NULL, fullQuantiles = FALSE)availableEstimates(variableType = NULL, fullQuantiles = FALSE)
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. |
A tibble with the available estimates.
library(PatientProfiles) availableEstimates() availableEstimates("numeric") availableEstimates(c("numeric", "categorical"))library(PatientProfiles) availableEstimates() availableEstimates("numeric") availableEstimates(c("numeric", "categorical"))
Benchmark intersections and demographics functions for a certain source (cdm).
benchmarkPatientProfiles(cdm, n = 50000, iterations = 1)benchmarkPatientProfiles(cdm, n = 50000, iterations = 1)
cdm |
A |
n |
Size of the synthetic cohorts used to benchmark. |
iterations |
Number of iterations to run the benchmark. |
A summarise_result object with the summary statistics.
Get the name of the end date column for a certain table in the cdm
endDateColumn(tableName)endDateColumn(tableName)
tableName |
Name of the table. |
Name of the end date column in that table.
library(PatientProfiles) endDateColumn("condition_occurrence")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.
filterCohortId(cohort, cohortId = NULL)filterCohortId(cohort, cohortId = NULL)
cohort |
A |
cohortId |
A vector with cohort ids. |
A cohort_table object.
cdm_table to the ones in observation that indexDate
is in observation.Filter the rows of a cdm_table to the ones in observation that indexDate
is in observation.
filterInObservation(x, indexDate)filterInObservation(x, indexDate)
x |
A table containing individuals in a CDM reference. |
indexDate |
Name of a date column in |
A cdm_table that is a subset of the original table.
## Not run: library(PatientProfiles) library(omock) cdm <- mockCdmFromDataset(datasetName = "GiBleed", source = "duckdb") cdm$condition_occurrence |> filterInObservation(indexDate = "condition_start_date") ## End(Not run)## Not run: library(PatientProfiles) library(omock) cdm <- mockCdmFromDataset(datasetName = "GiBleed", source = "duckdb") cdm$condition_occurrence |> filterInObservation(indexDate = "condition_start_date") ## End(Not run)
Deprecated
mockDisconnect(cdm)mockDisconnect(cdm)
cdm |
A |
It creates a mock database for testing PatientProfiles package
mockPatientProfiles( numberIndividuals = 10, ..., source = "local", con = lifecycle::deprecated(), writeSchema = lifecycle::deprecated(), seed = lifecycle::deprecated() )mockPatientProfiles( numberIndividuals = 10, ..., source = "local", con = lifecycle::deprecated(), writeSchema = lifecycle::deprecated(), seed = lifecycle::deprecated() )
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. |
source |
Source for the mock cdm, it can either be 'local' or 'duckdb'.
By default, vocabulary tables are populated from the GiBleed mock vocabulary
provided by omock. A user-provided |
con |
deprecated. |
writeSchema |
deprecated. |
seed |
deprecated. |
A mock cdm_reference object created following user's specifications.
library(PatientProfiles) cdm <- mockPatientProfiles()library(PatientProfiles) cdm <- mockPatientProfiles()
Get the name of the source concept_id column for a certain table in the cdm
sourceConceptIdColumn(tableName)sourceConceptIdColumn(tableName)
tableName |
Name of the table. |
Name of the source_concept_id column in that table.
library(PatientProfiles) sourceConceptIdColumn("condition_occurrence")library(PatientProfiles) sourceConceptIdColumn("condition_occurrence")
Get the name of the standard concept_id column for a certain table in the cdm
standardConceptIdColumn(tableName)standardConceptIdColumn(tableName)
tableName |
Name of the table. |
Name of the concept_id column in that table.
library(PatientProfiles) standardConceptIdColumn("condition_occurrence")library(PatientProfiles) standardConceptIdColumn("condition_occurrence")
Get the name of the start date column for a certain table in the cdm
startDateColumn(tableName)startDateColumn(tableName)
tableName |
Name of the table. |
Name of the start date column in that table.
library(PatientProfiles) startDateColumn("condition_occurrence")library(PatientProfiles) startDateColumn("condition_occurrence")
Summarise variables using a set of estimate functions. The output will be a formatted summarised_result object.
summariseResult( table, group = list(), includeOverallGroup = FALSE, strata = list(), includeOverallStrata = TRUE, variables = NULL, estimates = NULL, counts = TRUE, weights = NULL, customEstimates = list() )summariseResult( table, group = list(), includeOverallGroup = FALSE, strata = list(), includeOverallStrata = TRUE, variables = NULL, estimates = NULL, counts = TRUE, weights = NULL, customEstimates = list() )
table |
A table to process. |
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. |
customEstimates |
Named list of custom functions. Each function must
accept a variable vector as its first argument and return one numeric value.
If |
A summarised_result object with the summarised data of interest.
library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") x <- cdm$cohort1 |> addDemographics() # summarise all variables with default estimates result <- summariseResult(x) result # get only counts of records and subjects result <- summariseResult(x, variables = character()) result # specify variables and estimates result <- summariseResult( table = x, variables = c("cohort_start_date", "age"), estimates = c("mean", "median", "density") ) result # different estimates for each variable result <- summariseResult( table = x, variables = list(c("age", "prior_observation"), "sex"), estimates = list(c("min", "max"), c("count", "percentage")) ) # add a custom estimate ess <- function(x) sum(x^2) / sum(x) result <- summariseResult( table = x, variables = "age", estimates = "ess", customEstimates = list(ess = ess) )library(PatientProfiles) cdm <- mockPatientProfiles(source = "duckdb") x <- cdm$cohort1 |> addDemographics() # summarise all variables with default estimates result <- summariseResult(x) result # get only counts of records and subjects result <- summariseResult(x, variables = character()) result # specify variables and estimates result <- summariseResult( table = x, variables = c("cohort_start_date", "age"), estimates = c("mean", "median", "density") ) result # different estimates for each variable result <- summariseResult( table = x, variables = list(c("age", "prior_observation"), "sex"), estimates = list(c("min", "max"), c("count", "percentage")) ) # add a custom estimate ess <- function(x) sum(x^2) / sum(x) result <- summariseResult( table = x, variables = "age", estimates = "ess", customEstimates = list(ess = ess) )
Classify the variables between 5 types: "numeric", "categorical", "logical", "date", "integer", or NA.
variableTypes(table)variableTypes(table)
table |
A table to process. |
Tibble with the variables type and classification.
library(PatientProfiles) library(dplyr, warn.conflicts = TRUE) x <- tibble( person_id = c(1, 2), start_date = as.Date(c("2020-05-02", "2021-11-19")), asthma = c(0, 1) ) variableTypes(x)library(PatientProfiles) library(dplyr, warn.conflicts = TRUE) x <- tibble( person_id = c(1, 2), start_date = as.Date(c("2020-05-02", "2021-11-19")), asthma = c(0, 1) ) variableTypes(x)