Skip to contents

Create a Query Object

Usage

query(...)

query2(..., call = rlang::caller_env())

Arguments

...

<dynamic-dots> Key-value pairs of query parameters. See Details.

call

The environment from which the function is called.

Value

S7 <class_query> object.

Examples

query(
  first_name  = starts_with("And"),
  middle_name = NULL,
  last_name   = contains("J"),
  state       = any_of("CA", "GA", "NY"),
  state_own   = c("GA", "MD"),
  ccn         = "01256",
  rate        = between(0.45, 0.67),
  year        = 2014:2025)
#> <class_query>
#>  @ params:List of 7
#>  .. $ first_name: <starts_with>
#>  ..  ..@ operator : chr "STARTS_WITH"
#>  ..  ..@ value    : chr "And"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ last_name : <contains>
#>  ..  ..@ operator : chr "CONTAINS"
#>  ..  ..@ value    : chr "J"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ state     : <any_of>
#>  ..  ..@ operator : chr "IN"
#>  ..  ..@ value    : chr [1:3] "CA" "GA" "NY"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ state_own : chr [1:2] "GA" "MD"
#>  .. $ ccn       : chr "01256"
#>  .. $ rate      : <between>
#>  ..  ..@ operator : chr "BETWEEN"
#>  ..  ..@ value    : num [1:2] 0.45 0.67
#>  ..  ..@ member_of: chr(0) 
#>  .. $ year      : int [1:12] 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 ...
#>  @ year  : int(0) 
#>  @ groups: list()
try(query2()) # cannot be empty
#> Error in eval(expr, envir) : 
#>    Query cannot be empty.
try(query2(1)) # must be named
#> Error in eval(expr, envir) : 
#>    Query values must be named.
#> ! Unnamed value: 1.
try(query2(a = 1, a = 2)) # names must be unique
#> Error in eval(expr, envir) : 
#>    Query field names must be unique
#> ! Field a appears multiple times.
try(query2(a = 1, or("a"))) # group needs more than one member
#> Error in eval(expr, envir) : 
#>    Query groups must have more than 1 member.
#> ! Invalid group: or("a").
try(query2(a = 1, or("a", "year"))) # year cannot be grouped
#> Error in eval(expr, envir) : 
#>    "year" cannot be a group member.
try(query2(year = any_of(2000:2020))) # year cannot be modified
#> Error in eval(expr, envir) : 
#>    `year` cannot be used with a <modifier>.
try(query2(ccn = "01256", and("ccn", "npii")))
#> Error in eval(expr, envir) : 
#>    Group members must match a field name.
#> ! Invalid member: "npii".

query2(
  first_name  = starts_with("And"),
  middle_name = NULL,
  last_name   = contains("J"),
  state       = any_of("CA", "GA", "NY"),
  state_own   = c("GA", "MD"),
  ccn         = "01256",
  rate        = between(0.45, 0.67),
  year        = 2014:2025)
#> <class_query>
#>  @ params:List of 6
#>  .. $ first_name: <starts_with>
#>  ..  ..@ operator : chr "STARTS_WITH"
#>  ..  ..@ value    : chr "And"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ last_name : <contains>
#>  ..  ..@ operator : chr "CONTAINS"
#>  ..  ..@ value    : chr "J"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ state     : <any_of>
#>  ..  ..@ operator : chr "IN"
#>  ..  ..@ value    : chr [1:3] "CA" "GA" "NY"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ rate      : <between>
#>  ..  ..@ operator : chr "BETWEEN"
#>  ..  ..@ value    : num [1:2] 0.45 0.67
#>  ..  ..@ member_of: chr(0) 
#>  .. $ state_own : <any_of>
#>  ..  ..@ operator : chr "IN"
#>  ..  ..@ value    : chr [1:2] "GA" "MD"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ ccn       : <equal>
#>  ..  ..@ operator : chr "="
#>  ..  ..@ value    : chr "01256"
#>  ..  ..@ member_of: chr(0) 
#>  @ year  : int [1:12] 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 ...
#>  @ groups: Named list()

query2(
  year  = 2018:2025,
  state = any_of("CA", "GA", "NY"),
  state_owner = c("GA", "MD"),
  or("state", "state_owner"))
#> <class_query>
#>  @ params:List of 2
#>  .. $ state      : <any_of>
#>  ..  ..@ operator : chr "IN"
#>  ..  ..@ value    : chr [1:3] "CA" "GA" "NY"
#>  ..  ..@ member_of: chr "g1"
#>  .. $ state_owner: <any_of>
#>  ..  ..@ operator : chr "IN"
#>  ..  ..@ value    : chr [1:2] "GA" "MD"
#>  ..  ..@ member_of: chr "g1"
#>  @ year  : int [1:8] 2018 2019 2020 2021 2022 2023 2024 2025
#>  @ groups:List of 1
#>  .. $ g1: <or>
#>  ..  ..@ conjunction: chr "OR"
#>  ..  ..@ members    : chr [1:2] "state" "state_owner"

query2(
  year = 2022:2024,
  state = any_of("GA", "NY"),
  enrlmt_id = "I20040309000221",
  city = "Atlanta",
  provcity = "Atlanta",
  provider_name = starts_with("C"),
  provname = starts_with("C"),
  provider_first_name = starts_with("An"),
  provider_last_name = contains("JE"),
  practice_state_or_us_territory = any_of("GA", "FL"),
  practice_size = less_than(10, or_equal = TRUE),
  or("state", "city"),
  or("provider_name", "provider_first_name"))
#> <class_query>
#>  @ params:List of 10
#>  .. $ state                         : <any_of>
#>  ..  ..@ operator : chr "IN"
#>  ..  ..@ value    : chr [1:2] "GA" "NY"
#>  ..  ..@ member_of: chr "g1"
#>  .. $ provider_name                 : <starts_with>
#>  ..  ..@ operator : chr "STARTS_WITH"
#>  ..  ..@ value    : chr "C"
#>  ..  ..@ member_of: chr "g2"
#>  .. $ provname                      : <starts_with>
#>  ..  ..@ operator : chr "STARTS_WITH"
#>  ..  ..@ value    : chr "C"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ provider_first_name           : <starts_with>
#>  ..  ..@ operator : chr "STARTS_WITH"
#>  ..  ..@ value    : chr "An"
#>  ..  ..@ member_of: chr "g2"
#>  .. $ provider_last_name            : <contains>
#>  ..  ..@ operator : chr "CONTAINS"
#>  ..  ..@ value    : chr "JE"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ practice_state_or_us_territory: <any_of>
#>  ..  ..@ operator : chr "IN"
#>  ..  ..@ value    : chr [1:2] "GA" "FL"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ practice_size                 : <less_than>
#>  ..  ..@ operator : chr "<="
#>  ..  ..@ value    : num 10
#>  ..  ..@ member_of: chr(0) 
#>  .. $ enrlmt_id                     : <equal>
#>  ..  ..@ operator : chr "="
#>  ..  ..@ value    : chr "I20040309000221"
#>  ..  ..@ member_of: chr(0) 
#>  .. $ city                          : <equal>
#>  ..  ..@ operator : chr "="
#>  ..  ..@ value    : chr "Atlanta"
#>  ..  ..@ member_of: chr "g1"
#>  .. $ provcity                      : <equal>
#>  ..  ..@ operator : chr "="
#>  ..  ..@ value    : chr "Atlanta"
#>  ..  ..@ member_of: chr(0) 
#>  @ year  : int [1:3] 2022 2023 2024
#>  @ groups:List of 2
#>  .. $ g1: <or>
#>  ..  ..@ conjunction: chr "OR"
#>  ..  ..@ members    : chr [1:2] "state" "city"
#>  .. $ g2: <or>
#>  ..  ..@ conjunction: chr "OR"
#>  ..  ..@ members    : chr [1:2] "provider_name" "provider_first_name"