Skip to contents

Trial concept calculated: inclusion and exclusion criteria as well as age groups that can participate in a trial, based on protocol-related information. Since CTGOV uses single text field for eligibility criteria, text extraction is used to separate in- and exclusion criteria. (See dfMergeVariablesRelevel with an example for healthy volunteers.)

Usage

f.trialPopulation(df = NULL)

Arguments

df

data frame such as from dbGetFieldsIntoDf. If NULL, prints fields needed in df for calculating this trial concept, which can be used with dbGetFieldsIntoDf.

Value

data frame with columns _id and new columns: .trialPopulationAgeGroup (factor, "P", "A", "P+A", "E", "A+E", "P+A+E"), .trialPopulationInclusion (string), .trialPopulationExclusion (string).

Examples

# fields needed
f.trialPopulation()
#> $euctr
#>  [1] "e3_principal_inclusion_criteria"                             
#>  [2] "e4_principal_exclusion_criteria"                             
#>  [3] "f111_in_utero"                                               
#>  [4] "f112_preterm_newborn_infants_up_to_gestational_age__37_weeks"
#>  [5] "f113_newborns_027_days"                                      
#>  [6] "f114_infants_and_toddlers_28_days23_months"                  
#>  [7] "f115_children_211years"                                      
#>  [8] "f116_adolescents_1217_years"                                 
#>  [9] "f11_trial_has_subjects_under_18"                             
#> [10] "f12_adults_1864_years"                                       
#> [11] "f13_elderly_65_years"                                        
#> 
#> $ctgov
#> [1] "eligibility.criteria.textblock" "eligibility.maximum_age"       
#> [3] "eligibility.minimum_age"       
#> 
#> $ctgov2
#> [1] "protocolSection.eligibilityModule.maximumAge"         
#> [2] "protocolSection.eligibilityModule.minimumAge"         
#> [3] "protocolSection.eligibilityModule.eligibilityCriteria"
#> [4] "protocolSection.eligibilityModule.stdAges"            
#> 
#> $isrctn
#> [1] "participants.ageRange"  "participants.inclusion" "participants.exclusion"
#> 
#> $ctis
#> [1] "ageGroup"                                                                                                                                     
#> [2] "authorizedPartI.trialDetails.trialInformation.eligibilityCriteria.principalInclusionCriteria.principalInclusionCriteria"                      
#> [3] "authorizedPartI.trialDetails.trialInformation.eligibilityCriteria.principalExclusionCriteria.principalExclusionCriteria"                      
#> [4] "authorizedApplication.authorizedPartI.trialDetails.trialInformation.eligibilityCriteria.principalInclusionCriteria.principalInclusionCriteria"
#> [5] "authorizedApplication.authorizedPartI.trialDetails.trialInformation.eligibilityCriteria.principalExclusionCriteria.principalExclusionCriteria"
#> 

# apply trial concept when creating data frame
dbc <- nodbi::src_sqlite(
  dbname = system.file("extdata", "demo.sqlite", package = "ctrdata"),
  collection = "my_trials", flags = RSQLite::SQLITE_RO)
trialsDf <- dbGetFieldsIntoDf(
  calculate = "f.trialPopulation",
  con = dbc)
#> To review trial concepts details, call 'help("ctrdata-trial-concepts")'
#> Querying database (26 fields)...
#> Typing fields...
#> Calculating f.trialPopulation...                            

trialsDf
#> # A tibble: 25 × 4
#>    `_id`             .trialPopulationAgeGroup .trialPopulationInclusion         
#>    <chr>             <fct>                    <chr>                             
#>  1 12949496          P                        "All infants with a gestation ≥ 3…
#>  2 13281214          P                        "All infants aged less than 29 we…
#>  3 17473621          P                        "1. Infants with gestational age …
#>  4 2013-000615-24-BE P                        "Children aged 0 to 18 years old …
#>  5 2016-004489-24-DE P                        "Inclusion Criteria: A subject mu…
#>  6 2019-002663-10-ES P+A                      "Part A, B and C: - Genetic docum…
#>  7 2022-000099-20-DE P                        "- Born at  29 weeks gestational …
#>  8 2022-500244-37-00 A+E                      "Diagnosis of symptomatic COVID-1…
#>  9 2023-505613-24-00 P                        "Panel A: Is undergoing treatment…
#> 10 2023-508143-51-01 A+E                      "In order to be eligible to parti…
#> # ℹ 15 more rows
#> # ℹ 1 more variable: .trialPopulationExclusion <chr>