Skip to contents

Add concept name for each concept_id

Usage

addConceptName(table, column = NULL, nameStyle = "{column}_name")

Arguments

table

cdm_table that contains column.

column

Column to add the concept names from. If NULL any column that its name ends with `concept_id` will be used.

nameStyle

Name of the new column.

Value

table with an extra column with the concept names.

Examples

# \donttest{
library(PatientProfiles)
library(duckdb)
#> Loading required package: DBI
library(CDMConnector)
library(dplyr, warn.conflicts = FALSE)

dbName <- "GiBleed"
requireEunomia(datasetName = dbName)
#>  `EUNOMIA_DATA_FOLDER` set to: /tmp/Rtmpb1oeNr.
#> 
#> Download completed!
con <- dbConnect(drv = duckdb(dbdir = eunomiaDir(datasetName = dbName)))
#> Creating CDM database /tmp/Rtmpb1oeNr/GiBleed_5.3.zip
cdm <- cdmFromCon(con = con, cdmSchema = "main", writeSchema = "main")

cdm$drug_exposure |>
  addConceptName(column = "drug_concept_id", nameStyle = "drug_name") |>
  glimpse()
#> Rows: ??
#> Columns: 24
#> Database: DuckDB v1.2.2 [unknown@Linux 6.11.0-1015-azure:R 4.5.0//tmp/Rtmpb1oeNr/file1c2f5b285156.duckdb]
#> $ drug_exposure_id             <int> 26318, 60926, 26418, 54785, 47027, 21897,
#> $ person_id                    <int> 573, 1332, 576, 4550, 3895, 476, 1154, 18…
#> $ drug_concept_id              <int> 40213160, 40213198, 40213260, 1118084, 40…
#> $ drug_exposure_start_date     <date> 1960-04-09, 2010-10-06, 2017-10-25, 2000…
#> $ drug_exposure_start_datetime <dttm> 1960-04-09, 2010-10-06, 2017-10-25, 2000…
#> $ drug_exposure_end_date       <date> 1960-04-09, 2010-10-06, 2017-10-25, 2000…
#> $ drug_exposure_end_datetime   <dttm> 1960-04-09, 2010-10-06, 2017-10-25, 2000…
#> $ verbatim_end_date            <date> 1960-04-09, 2010-10-06, 2017-10-25, NA, 
#> $ drug_type_concept_id         <int> 581452, 581452, 581452, 38000177, 3800017…
#> $ stop_reason                  <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ refills                      <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ quantity                     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ days_supply                  <int> 0, 0, 0, 0, 0, 0, 0, 0, 60, 14, 28, 0, 14…
#> $ sig                          <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ route_concept_id             <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ lot_number                   <chr> "0", "0", "0", "0", "0", "0", "0", "0", "…
#> $ provider_id                  <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ visit_occurrence_id          <int> 38004, 88400, 38145, 303185, 259023, 3176…
#> $ visit_detail_id              <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ drug_source_value            <chr> "10", "133", "121", "00025152531", "85700…
#> $ drug_source_concept_id       <int> 40213160, 40213198, 40213260, 44923712, 4…
#> $ route_source_value           <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ dose_unit_source_value       <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ drug_name                    <chr> "poliovirus vaccine, inactivated", "pneum…

cdm$drug_exposure |>
  addConceptName() |>
  glimpse()
#> Rows: ??
#> Columns: 27
#> Database: DuckDB v1.2.2 [unknown@Linux 6.11.0-1015-azure:R 4.5.0//tmp/Rtmpb1oeNr/file1c2f5b285156.duckdb]
#> $ drug_exposure_id             <int> 26318, 60926, 26418, 47027, 21897, 52764,
#> $ person_id                    <int> 573, 1332, 576, 3895, 476, 1154, 186, 871…
#> $ drug_concept_id              <int> 40213160, 40213198, 40213260, 40162522, 4…
#> $ drug_exposure_start_date     <date> 1960-04-09, 2010-10-06, 2017-10-25, 1982…
#> $ drug_exposure_start_datetime <dttm> 1960-04-09, 2010-10-06, 2017-10-25, 1982…
#> $ drug_exposure_end_date       <date> 1960-04-09, 2010-10-06, 2017-10-25, 1982…
#> $ drug_exposure_end_datetime   <dttm> 1960-04-09, 2010-10-06, 2017-10-25, 1982…
#> $ verbatim_end_date            <date> 1960-04-09, 2010-10-06, 2017-10-25, NA, 
#> $ drug_type_concept_id         <int> 581452, 581452, 581452, 38000177, 581452,
#> $ stop_reason                  <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ refills                      <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ quantity                     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ days_supply                  <int> 0, 0, 0, 0, 0, 0, 0, 60, 14, 28, 0, 14, 1…
#> $ sig                          <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ route_concept_id             <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ lot_number                   <chr> "0", "0", "0", "0", "0", "0", "0", "0", "…
#> $ provider_id                  <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ visit_occurrence_id          <int> 38004, 88400, 38145, 259023, 31764, 76224…
#> $ visit_detail_id              <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ drug_source_value            <chr> "10", "133", "121", "857005", "52", "10",
#> $ drug_source_concept_id       <int> 40213160, 40213198, 40213260, 40162522, 4…
#> $ route_source_value           <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ dose_unit_source_value       <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ drug_concept_id_name         <chr> "poliovirus vaccine, inactivated", "pneum…
#> $ drug_type_concept_id_name    <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ route_concept_id_name        <chr> "No matching concept", "No matching conce…
#> $ drug_source_concept_id_name  <chr> "poliovirus vaccine, inactivated", "pneum…
# }