Skip to contents

Add Electronic Frailty Index (eFI) value based on Clegg et al. (2016) (doi:10.1093/ageing/afw039 )

Usage

addElectronicFrailtyIndex(
  x,
  indexDate = "cohort_start_date",
  conceptSet = getIndexCodelist("electronic_frailty_index"),
  categories = list(fit = c(0, 0.12), mild = c(0.12, 0.24), moderate = c(0.24, 0.36),
    severe = c(0.36, 1)),
  window = NULL,
  nameStyle = "efi",
  name = tableName(x)
)

Arguments

x

A cdm_table containing a person identifier column named person_id or subject_id.

indexDate

A character string naming the Date column in x that defines the index date.

conceptSet

A named concept set supplied as a codelist, codelist_with_details, concept_set_expression, or named list of concept IDs. It must contain activity_limitation, anemia, arthritis, atrial_fibrillation, cerebrovascular_disease, chronic_kidney_disease, diabetes, dizziness, dyspnea, falls, foot_problem, fragility_fracture, hearing_impairment, heart_failure, heart_valve_disorder, housebound, hypertension, hypotension_syncope, ischemic_heart_disease, memory_cognitive_disorder, mobility_problems, osteoporosis, parkinsonism_tremor, peptic_ulcer, peripheral_vascular_disease, care_requirement, respiratory_disease, skin_ulcer, sleep_disturbance, social_vulnerability, thyroid_disease, urinary_incontinence, urinary_system_disease, visual_impairment, weight_loss_anorexia as concepts. By default, internal codelists are used.

categories

A named list of numeric vectors, each containing the lower and upper bounds of a score interval. An additional column with the suffix _categories is added. Intervals are evaluated in the order supplied, and missing scores are labelled missing.

window

NULL to use the windows defined by the index components, or a numeric vector of length two, c(min, max), to override the component windows in days relative to indexDate. Use -Inf or Inf for an unbounded lower or upper limit.

nameStyle

A character string specifying the name of the new column.

name

A character string specifying the name of the output table. If NULL, a temporary table is created.

Value

The table x with a new column containing the Electronic Frailty Index value.

Examples

# \donttest{
library(omock)
library(duckdb)
library(OmopIndices)
library(dplyr)
library(CohortConstructor)

cdm <- mockCdmFromDataset(datasetName = "GiBleed", source = "duckdb")
#> ℹ Loading bundled GiBleed tables from package data.
#> ℹ Adding drug_strength table.
#> ℹ Creating local <cdm_reference> object.
#> ℹ Inserting <cdm_reference> into duckdb.
#> duckdb keeps downloaded extensions and secrets in a temporary directory:
#> ℹ /tmp/Rtmp5IUc4q/duckdb
#> This is removed when the R session ends.
#> • Extensions are re-downloaded each session.
#> • Secrets are lost.
#> ℹ Run duckdb(shared_home = TRUE) (or create ~/.duckdb) to keep them (suitable for most users).
#> ℹ Run duckdb(shared_home = FALSE) to accept the temporary directory (and silence this message).
#> ℹ See ?duckdb_storage for details and alternatives.
cdm$cohort <- conceptCohort(
  cdm = cdm,
  conceptSet = list(sinusitis = c(257012L, 4283893L, 4294548L, 40481087L)),
  name = "cohort"
)
#> ℹ Subsetting table condition_occurrence using 4 concepts with domain:
#>   condition.
#> ℹ Combining tables.
#> ℹ Creating cohort attributes.
#> ℹ Applying cohort requirements.
#> ℹ Merging overlapping records.
#> ✔ Cohort cohort created.

# Using the internal concept sets:
cdm$cohort |>
  addElectronicFrailtyIndex() |>
  select(subject_id, cohort_start_date, efi, efi_categories) |>
  glimpse()
#> Warning: 18203 unique codelist concept IDs are not present in `cdm$concept`.
#> Warning: 138 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 138 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 601 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 601 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 1308 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 1308 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 18 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 18 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 754 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 754 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 5782 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 5782 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 272 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 272 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 19 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 19 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 56 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 56 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 8 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 8 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 15 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 15 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 2092 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 2092 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 426 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 426 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 134 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 134 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 830 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 830 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • housebound: 4022076, 4022523, 4052962, 4177372, 45877743
#> ! 5 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 144 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 144 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 52 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 52 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 207 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 207 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 916 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 916 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 484 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 484 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 88 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 88 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 1409 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 1409 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 300 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 300 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 310 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 310 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 30 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 30 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 330 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 330 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 194 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 194 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 236 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 236 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 62 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 62 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 544 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 544 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 95 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 95 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 265 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 265 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 713 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 713 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: 48 unique codelist concept IDs are not present in `cdm$concept`.
#> ! 48 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Rows: ??
#> Columns: 4
#> $ subject_id        <int> 97, 2088, 1911, 2798, 4799, 741, 3580, 2836, 3601, 3…
#> $ cohort_start_date <date> 1992-08-27, 1974-06-15, 2002-08-06, 1999-01-15, 201…
#> $ efi               <dbl> 0.13888889, 0.16666667, 0.13888889, 0.13888889, 0.13…
#> $ efi_categories    <chr> "mild", "mild", "mild", "mild", "mild", "fit", "fit"…

# This example uses custom concept sets.
customConceptSet <- list(
  activity_limitation = 763723L,
  anemia = 439777L,
  arthritis = 4291025L,
  atrial_fibrillation = 313217L,
  chronic_kidney_disease = 46271022L,
  cerebrovascular_disease = 381591L,
  dizziness = 4223938L,
  dyspnea = 312437L,
  falls = 4059015L,
  foot_problem = 4101512L,
  fragility_fracture = 3170964L,
  hearing_impairment = 4234647L,
  heart_failure = 316139L,
  heart_valve_disorder = 4281749L,
  housebound = 4052962L,
  hypertension = 319826L,
  hypotension_syncope = 316447L,
  ischemic_heart_disease = 4185932L,
  memory_cognitive_disorder = 4304008L,
  mobility_problems = 4053076L,
  osteoporosis = 80502L,
  parkinsonism_tremor = 4140090L,
  peptic_ulcer = 4027663L,
  peripheral_vascular_disease = 321052L,
  care_requirement = 3661927L,
  respiratory_disease = 317009L,
  skin_ulcer = 4262920L,
  sleep_disturbance = 435524L,
  social_vulnerability = 4026161L,
  diabetes = 201820L,
  thyroid_disease = 4017052L,
  urinary_incontinence = 197672L,
  urinary_system_disease = 75865L,
  visual_impairment = 4265433L,
  weight_loss_anorexia = 436675L
)

cdm$cohort |>
  addElectronicFrailtyIndex(
    conceptSet = customConceptSet,
    nameStyle = "efi_custom"
  ) |>
  select(subject_id, cohort_start_date, efi_custom, efi_custom_categories) |>
  glimpse()
#> Warning: 30 unique codelist concept IDs are not present in `cdm$concept`.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • activity_limitation: 763723
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • arthritis: 4291025
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • cerebrovascular_disease: 381591
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • chronic_kidney_disease: 46271022
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • diabetes: 201820
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • dizziness: 4223938
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • dyspnea: 312437
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • falls: 4059015
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • foot_problem: 4101512
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • fragility_fracture: 3170964
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • hearing_impairment: 4234647
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • heart_failure: 316139
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • heart_valve_disorder: 4281749
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • housebound: 4052962
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • hypertension: 319826
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • hypotension_syncope: 316447
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • ischemic_heart_disease: 4185932
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • memory_cognitive_disorder: 4304008
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • mobility_problems: 4053076
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • parkinsonism_tremor: 4140090
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • peripheral_vascular_disease: 321052
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • care_requirement: 3661927
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • skin_ulcer: 4262920
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • sleep_disturbance: 435524
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • social_vulnerability: 4026161
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • thyroid_disease: 4017052
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • urinary_incontinence: 197672
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • urinary_system_disease: 75865
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • visual_impairment: 4265433
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Warning: The following codelist concept IDs are not present in `cdm$concept`:
#> • weight_loss_anorexia: 436675
#> ! 1 concept(s) from domain NA eliminated as it is not supported.
#> ℹ Supported domains are: device, specimen, measurement, drug, condition,
#>   observation, procedure, episode, and visit.
#> Rows: ??
#> Columns: 4
#> $ subject_id            <int> 97, 2088, 1911, 2798, 4799, 741, 3580, 2836, 360…
#> $ cohort_start_date     <date> 1992-08-27, 1974-06-15, 2002-08-06, 1999-01-15,…
#> $ efi_custom            <dbl> 0.02777778, 0.02777778, 0.00000000, 0.00000000, …
#> $ efi_custom_categories <chr> "fit", "fit", "fit", "fit", "fit", "fit", "fit",…
# }