Skip to contents

adds (namestart)_name based on (namestart)_concept_id e.g. drug_concept_id to get drug_name

Usage

omop_join_name(df, namestart = "", namefull = "", columns = c("concept_name"))

ojoin(df, namestart = "", namefull = "", columns = c("concept_name"))

Arguments

df

dataframe

namestart

start of *_concept_id column, if "" will join on concept_name, ignored if namefull used

namefull

optional full name of concept_id column, if default "" namestart used

columns

which columns from omop concept table to join on. Option of "all", default=c("concept_name"), e.g. c("concept_name","domain_id")

Examples

data.frame(concept_id=(c(3571338L,4002075L))) |> omop_join_name()
#> # A tibble: 2 × 2
#>   concept_id concept_name     
#>        <int> <chr>            
#> 1    3571338 Problem behaviour
#> 2    4002075 BLUE LOTION      
data.frame(drug_concept_id=(c(4000794L,4002592L))) |> omop_join_name(namestart="drug")
#> # A tibble: 2 × 2
#>   drug_concept_id drug_concept_name      
#>             <int> <chr>                  
#> 1         4000794 BUZZ OFF               
#> 2         4002592 DEXAMETHASONE INJECTION
#if drug_exposure loaded:
#df2 <- drug_exposure |> distinct(route_concept_id) |> omop_join_name(namestart="route")
#df3 <- omop_concept_relationship() |> head() |>
#       dplyr::collect() |> omop_join_name(namefull="concept_id_1")
#copes with different formatted columns e.g. if al NAs
#TODO add this as a test
#data.frame(bad_concept_id=(c(NA,NA)),concept_id=(c(3571338L,4002075L))) |> omop_join_name_all()
data.frame(drug_concept_id=(c(4000794L,4002592L))) |> ojoin(namestart="drug")
#> # A tibble: 2 × 2
#>   drug_concept_id drug_concept_name      
#>             <int> <chr>                  
#> 1         4000794 BUZZ OFF               
#> 2         4002592 DEXAMETHASONE INJECTION