Skip to contents

Prepare a classcodesobject by specifying the regular expressions to use for classification.

Usage

set_classcodes(
  cc,
  classified = NULL,
  regex = NULL,
  start = TRUE,
  stop = FALSE,
  tech_names = NULL
)

Arguments

cc

classcodes object (or name of a default object from all_classcodes()).

classified

object that classcodes could be inherited from

regex

name of column with regular expressions to use for classification. NULL (default) uses attr(obj, "regexpr")[1].

start, stop

should codes start/end with the specified regular expressions? If TRUE, column "regex" is prefixed/suffixed by ^/$.

tech_names

should technical column names be used? If FALSE, colnames are taken directly from group names of cc, if TRUE, these are changed to more technical names avoiding special characters and are prefixed by the name of the classification scheme. NULL (by default) preserves previous names if cc is inherited from classified (fall backs to FALSE if not already set).

Value

classcodes object.

Examples

# Prepare a classcodes object for the Charlson comorbidity classification
# based on the default regular expressions
set_classcodes(charlson)   # by object
#> Classification based on: icd10
#> 
#> Classcodes object
#>  
#> Regular expressions:
#>    icd10 
#> Indices:
#>    charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated   
#> 
#> # A tibble: 17 × 9
#>    group              descr…¹ icd10 charl…² deyo_…³ dhoore ghali quan_…⁴ quan_…⁵
#>    <chr>              <chr>   <chr>   <dbl>   <dbl>  <dbl> <dbl>   <dbl>   <dbl>
#>  1 myocardial infarc… Acute … ^(I2…       1       1      1     1       1       0
#>  2 congestive heart … Heart … ^(I(…       1       1      1     4       1       2
#>  3 peripheral vascul… Periph… ^(I7…       1       1      1     2       1       0
#>  4 cerebrovascular d… Cerebr… ^(G4…       1       1      1     1       1       0
#>  5 dementia           Senile… ^(F0…       1       1      1     0       1       2
#>  6 chronic pulmonary… Chroni… ^((I…       1       1      1     0       1       1
#>  7 rheumatic disease  System… ^(M(…       1       1      1     0       1       1
#>  8 peptic ulcer dise… Gastri… ^(K2…       1       1      1     0       1       0
#>  9 mild liver disease Alcoho… ^(B1…       1       1      1     0       1       2
#> 10 diabetes without … Diabet… ^(E1…       1       1      1     0       1       0
#> 11 hemiplegia or par… Parapl… ^(G(…       2       1      1     0       2       2
#> 12 renal disease      Chroni… ^(I1…       2       1      1     3       2       1
#> 13 diabetes complica… Diabet… ^(E1…       2       1      1     0       2       1
#> 14 malignancy         Malign… ^(C(…       2       1      1     0       2       2
#> 15 moderate or sever… Hepati… ^(I(…       3       1      1     0       3       4
#> 16 metastatic solid … Second… ^(C(…       6       1      1     0       6       6
#> 17 AIDS/HIV           HIV in… ^(B2…       6       1      1     0       6       4
#> # … with abbreviated variable names ¹​description, ²​charlson, ³​deyo_ramano,
#> #   ⁴​quan_original, ⁵​quan_updated
set_classcodes("charlson") # by name
#> Classification based on: icd10
#> 
#> Classcodes object
#>  
#> Regular expressions:
#>    icd10 
#> Indices:
#>    charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated   
#> 
#> # A tibble: 17 × 9
#>    group              descr…¹ icd10 charl…² deyo_…³ dhoore ghali quan_…⁴ quan_…⁵
#>    <chr>              <chr>   <chr>   <dbl>   <dbl>  <dbl> <dbl>   <dbl>   <dbl>
#>  1 myocardial infarc… Acute … ^(I2…       1       1      1     1       1       0
#>  2 congestive heart … Heart … ^(I(…       1       1      1     4       1       2
#>  3 peripheral vascul… Periph… ^(I7…       1       1      1     2       1       0
#>  4 cerebrovascular d… Cerebr… ^(G4…       1       1      1     1       1       0
#>  5 dementia           Senile… ^(F0…       1       1      1     0       1       2
#>  6 chronic pulmonary… Chroni… ^((I…       1       1      1     0       1       1
#>  7 rheumatic disease  System… ^(M(…       1       1      1     0       1       1
#>  8 peptic ulcer dise… Gastri… ^(K2…       1       1      1     0       1       0
#>  9 mild liver disease Alcoho… ^(B1…       1       1      1     0       1       2
#> 10 diabetes without … Diabet… ^(E1…       1       1      1     0       1       0
#> 11 hemiplegia or par… Parapl… ^(G(…       2       1      1     0       2       2
#> 12 renal disease      Chroni… ^(I1…       2       1      1     3       2       1
#> 13 diabetes complica… Diabet… ^(E1…       2       1      1     0       2       1
#> 14 malignancy         Malign… ^(C(…       2       1      1     0       2       2
#> 15 moderate or sever… Hepati… ^(I(…       3       1      1     0       3       4
#> 16 metastatic solid … Second… ^(C(…       6       1      1     0       6       6
#> 17 AIDS/HIV           HIV in… ^(B2…       6       1      1     0       6       4
#> # … with abbreviated variable names ¹​description, ²​charlson, ³​deyo_ramano,
#> #   ⁴​quan_original, ⁵​quan_updated

# Same as above but based on regular expressions for ICD-8 (see `?charlson`)
set_classcodes(charlson, regex = "icd8_brusselaers")
#> 
#> Classcodes object
#>  
#> Regular expressions:
#>    icd8_brusselaers 
#> Indices:
#>    charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated   
#> 
#> # A tibble: 13 × 9
#>    group            descr…¹ icd8_…² charl…³ deyo_…⁴ dhoore ghali quan_…⁵ quan_…⁶
#>    <chr>            <chr>   <chr>     <dbl>   <dbl>  <dbl> <dbl>   <dbl>   <dbl>
#>  1 myocardial infa… Acute … ^(41[0…       1       1      1     1       1       0
#>  2 congestive hear… Heart … ^(4270…       1       1      1     4       1       2
#>  3 peripheral vasc… Periph… ^(44[0…       1       1      1     2       1       0
#>  4 cerebrovascular… Cerebr… ^(43[0…       1       1      1     1       1       0
#>  5 dementia         Senile… ^(290[…       1       1      1     0       1       2
#>  6 chronic pulmona… Chroni… ^(49[0…       1       1      1     0       1       1
#>  7 rheumatic disea… System… ^(7(1[…       1       1      1     0       1       1
#>  8 hemiplegia or p… Parapl… ^(344)        2       1      1     0       2       2
#>  9 renal disease    Chroni… ^(40[3…       2       1      1     3       2       1
#> 10 diabetes compli… Diabet… ^(250)        2       1      1     0       2       1
#> 11 malignancy       Malign… ^(1([4…       2       1      1     0       2       2
#> 12 moderate or sev… Hepati… ^(070|…       3       1      1     0       3       4
#> 13 metastatic soli… Second… ^(19[6…       6       1      1     0       6       6
#> # … with abbreviated variable names ¹​description, ²​icd8_brusselaers, ³​charlson,
#> #   ⁴​deyo_ramano, ⁵​quan_original, ⁶​quan_updated

# Only recognize codes if no other characters are found after the relevant codes
# Hence if the code vector stops with the code
set_classcodes(charlson, stop = TRUE)
#> Classification based on: icd10
#> 
#> Classcodes object
#>  
#> Regular expressions:
#>    icd10 
#> Indices:
#>    charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated   
#> 
#> # A tibble: 17 × 9
#>    group              descr…¹ icd10 charl…² deyo_…³ dhoore ghali quan_…⁴ quan_…⁵
#>    <chr>              <chr>   <chr>   <dbl>   <dbl>  <dbl> <dbl>   <dbl>   <dbl>
#>  1 myocardial infarc… Acute … ^(I2…       1       1      1     1       1       0
#>  2 congestive heart … Heart … ^(I(…       1       1      1     4       1       2
#>  3 peripheral vascul… Periph… ^(I7…       1       1      1     2       1       0
#>  4 cerebrovascular d… Cerebr… ^(G4…       1       1      1     1       1       0
#>  5 dementia           Senile… ^(F0…       1       1      1     0       1       2
#>  6 chronic pulmonary… Chroni… ^((I…       1       1      1     0       1       1
#>  7 rheumatic disease  System… ^(M(…       1       1      1     0       1       1
#>  8 peptic ulcer dise… Gastri… ^(K2…       1       1      1     0       1       0
#>  9 mild liver disease Alcoho… ^(B1…       1       1      1     0       1       2
#> 10 diabetes without … Diabet… ^(E1…       1       1      1     0       1       0
#> 11 hemiplegia or par… Parapl… ^(G(…       2       1      1     0       2       2
#> 12 renal disease      Chroni… ^(I1…       2       1      1     3       2       1
#> 13 diabetes complica… Diabet… ^(E1…       2       1      1     0       2       1
#> 14 malignancy         Malign… ^(C(…       2       1      1     0       2       2
#> 15 moderate or sever… Hepati… ^(I(…       3       1      1     0       3       4
#> 16 metastatic solid … Second… ^(C(…       6       1      1     0       6       6
#> 17 AIDS/HIV           HIV in… ^(B2…       6       1      1     0       6       4
#> # … with abbreviated variable names ¹​description, ²​charlson, ³​deyo_ramano,
#> #   ⁴​quan_original, ⁵​quan_updated

# Accept code vectors with strings which do not necessarily start with the code.
# This is useful if the code might appear in the middle of a longer character
# string or if a common prefix is used for all codes.
set_classcodes(charlson, start = FALSE)
#> Classification based on: icd10
#> 
#> Classcodes object
#>  
#> Regular expressions:
#>    icd10 
#> Indices:
#>    charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated   
#> 
#> # A tibble: 17 × 9
#>    group              descr…¹ icd10 charl…² deyo_…³ dhoore ghali quan_…⁴ quan_…⁵
#>    <chr>              <chr>   <chr>   <dbl>   <dbl>  <dbl> <dbl>   <dbl>   <dbl>
#>  1 myocardial infarc… Acute … I2([…       1       1      1     1       1       0
#>  2 congestive heart … Heart … I(09…       1       1      1     4       1       2
#>  3 peripheral vascul… Periph… I7([…       1       1      1     2       1       0
#>  4 cerebrovascular d… Cerebr… G4[5…       1       1      1     1       1       0
#>  5 dementia           Senile… F0([…       1       1      1     0       1       2
#>  6 chronic pulmonary… Chroni… (I27…       1       1      1     0       1       1
#>  7 rheumatic disease  System… M(0[…       1       1      1     0       1       1
#>  8 peptic ulcer dise… Gastri… K2[5…       1       1      1     0       1       0
#>  9 mild liver disease Alcoho… B18|…       1       1      1     0       1       2
#> 10 diabetes without … Diabet… E1[0…       1       1      1     0       1       0
#> 11 hemiplegia or par… Parapl… G(04…       2       1      1     0       2       2
#> 12 renal disease      Chroni… I1(2…       2       1      1     3       2       1
#> 13 diabetes complica… Diabet… E1[0…       2       1      1     0       2       1
#> 14 malignancy         Malign… C([0…       2       1      1     0       2       2
#> 15 moderate or sever… Hepati… I(8(…       3       1      1     0       3       4
#> 16 metastatic solid … Second… C(7[…       6       1      1     0       6       6
#> 17 AIDS/HIV           HIV in… B2[0…       6       1      1     0       6       4
#> # … with abbreviated variable names ¹​description, ²​charlson, ³​deyo_ramano,
#> #   ⁴​quan_original, ⁵​quan_updated

# Use technical names to clearly describe the origin of each group.
# Note that the `cc` argument must be specified by a character string
# since this name is used as part of the column names
x <- set_classcodes("charlson", tech_names = TRUE)
#> Classification based on: icd10
x$group
#>  [1] "charlson_icd10_myocardial_infarction"           
#>  [2] "charlson_icd10_congestive_heart_failure"        
#>  [3] "charlson_icd10_peripheral_vascular_disease"     
#>  [4] "charlson_icd10_cerebrovascular_disease"         
#>  [5] "charlson_icd10_dementia"                        
#>  [6] "charlson_icd10_chronic_pulmonary_disease"       
#>  [7] "charlson_icd10_rheumatic_disease"               
#>  [8] "charlson_icd10_peptic_ulcer_disease"            
#>  [9] "charlson_icd10_mild_liver_disease"              
#> [10] "charlson_icd10_diabetes_without_complication"   
#> [11] "charlson_icd10_hemiplegia_or_paraplegia"        
#> [12] "charlson_icd10_renal_disease"                   
#> [13] "charlson_icd10_diabetes_complication"           
#> [14] "charlson_icd10_malignancy"                      
#> [15] "charlson_icd10_moderate_or_severe_liver_disease"
#> [16] "charlson_icd10_metastatic_solid_tumor"          
#> [17] "charlson_icd10_aids_hiv"