R/pcd_queries.R

#' @title aged_90day
#' @description Replica of aged 90 day query on Cognos.
#' @return Returns dataframe.
#' @export
aged_90day <- function() {
  df <- pcd_query(
    query = queries$aged_90day
  )


  names(df)[2] <- 'status'
  df %<>%
    dplyr::select(
      -ch_status_code
    ) %>%
    dplyr::mutate(
      otm = ifelse(
        difftime(Sys.time(), CH_Create_Audit_DT, units = 'days') > 90,
        'Not On Time',
        'On Time'
      )
    )

  names(df) <- c('Complaint Nbr - CH', 'Status Desc', 'Create Audit Date',
                 'Family Code', 'Call Type', 'Call Subject', 'Call Subject Desc',
                 'Call Area', 'Complaint Source', 'Svc Region Code',
                 'Resolution Desc', 'Country Code', 'On Time Metric')

  return(df)
}

#' @title canadian_13m
#' @description Replica of canadian 13m on Cognos.
#'
#' @param daterange Vector containing start and end date. Ex: c('2015-01-01', '2016-02-01') for Jan to Jan 13 months.
#' Defaults to past 13 months if not given.
#' @return Returns dataframe.
#' @export
canadian_13m <- function(daterange = NA) {

  caquery <- fill_query(queries$canadian_13m, range = daterange)

  df <- pcd_query(query = caquery)

  return(df)
}

#' @title roc_re_v26b
#' @description Replica of ROC_RE_V26b_v3.0. Also has options to add country or region.
#'
#' @param add Add none (default ROC_RE_V26b_v3.0), country, region, or audit. Defaults to none
#' @param daterange Vector containing start and end date. Ex: c('2015-01-01', '2016-02-01') for Jan to Jan 13 months.
#' Defaults to past 13 months if not given.
#' @return Returns dataframe.
#' @export
roc_re_v26b <- function(add = 'none', daterange = NA) {
  # test that parameter add is valid
  add_is_valid <- function(x) {
    x %in% c('none', 'country', 'region', 'audit')
  }

  assertthat::on_failure(add_is_valid) <- function(call, env) {
    paste0(deparse(call$x), " must be 'none', 'country', 'region', or 'audit'.")
  }

  assertthat::assert_that(add_is_valid(add))

  requery <- fill_query(
    query = switch(
      add,
      none = queries$roc_re_v26b,
      country = queries$roc_re_v26b_countrycode,
      region = queries$roc_re_v26b_region,
      audit = queries$roc_re_v26b_audit
    ),
    range = daterange
  )

  df <- pcd_query(query = requery)
  return(df)
}

#' @title roc_eq_v26b
#' @description Replica of ROC_EQ_V26b_v3.0. Also has options to add country or region.
#'
#' @param add Add none (default ROC_EQ_V26b_v3.0), country, region, or audit. Defaults to none
#' @param daterange Vector containing start and end date. Ex: c('2015-01-01', '2016-02-01') for Jan to Jan 13 months.
#' Defaults to past 13 months if not given.
#' @return Returns dataframe.
#' @export
roc_eq_v26b <- function(add = 'none', daterange = NA) {
  # test that parameter add is valid
  add_is_valid <- function(x) {
    x %in% c('none', 'country', 'region', 'audit')
  }

  assertthat::on_failure(add_is_valid) <- function(call, env) {
    paste0(deparse(call$x), " must be 'none', 'country', 'region', or 'audit'.")
  }

  assertthat::assert_that(add_is_valid(add))

  eqquery <- fill_query(
    query = switch(
      add,
      none = queries$roc_eq_v26b,
      country = queries$roc_eq_v26b_countrycode,
      region = queries$roc_eq_v26b_region,
      audit = queries$roc_eq_v26b_audit
    ),
    range = daterange
  )

  df <- pcd_query(query = eqquery)
  return(df)
}

#' @title tm_general_template
#' @description Replica of TM General Template on Cognos.
#'
#' @param daterange Vector containing start and end date. Ex: c('2015-01-01', '2016-02-01') for Jan to Jan 13 months.
#' Defaults to past 13 months if not given.
#' @return Returns dataframe.
#' @export
tm_general_template <- function(daterange = NA) {

  tmquery <- fill_query(
    query = queries$tm_general_template,
    range = daterange
  )

  df <- pcd_query(query = tmquery) %>%
    dplyr::select(
      colNums = -ncol(.)
    )

  names(df) <- c('Complaint_Nbr', 'Create_Audit_DT', 'Date_Closed',
                 'Prod_No_Desc', 'Call_Type', 'Call_Subject', 'Call_Subject_Desc',
                 'Call_Area', 'Call_Area_Desc', 'Resolution', 'Lot Serial Number',
                 'J_Number', 'Solution_Number', 'Device_Count', 'Business_Unit_Desc',
                 'Product_Cat', 'Line_Desc', 'Group_Desc', 'Problem_Desc',
                 'Customer_Name', 'State', 'Country_Code', 'Contact_Name',
                 'Contact_Phone')

  return(df)
}

#' @title dsre
#' @description Replica of Donor Screening Reagents on Cognos.
#'
#' @param daterange Vector containing start and end date in YYYYMM format.
#' Ex: c('201601', '201602'). Must be given.
#' @return Returns dataframe.
#' @export
dsre <- function(daterange = NA) {

  # test that daterange paramter is given
  daterange_given <- function(x) {
    any(!is.na(x))
  }

  assertthat::on_failure(daterange_given) <- function(call, env) {
    paste0(deparse(call$x), " must be provided.")
  }

  assertthat::assert_that(daterange_given(daterange))

  dsrequery <- fill_query(
    query = queries$dsre,
    range = daterange
  )

  df <- pcd_query(query = dsrequery)

  return(df)
}

#' @title iheq
#' @description Replica of Immunohematology Instruments on Cognos.
#'
#' @param daterange Vector containing start and end date in YYYYMM format.
#' Ex: c('201601', '201602'). Must be given.
#' @return Returns dataframe.
#' @export
iheq <- function(daterange = NA) {

  # test that daterange paramter is given
  daterange_given <- function(x) {
    any(!is.na(x))
  }

  assertthat::on_failure(daterange_given) <- function(call, env) {
    paste0(deparse(call$x), " must be provided.")
  }

  assertthat::assert_that(daterange_given(daterange))

  iheqquery <- fill_query(
    query = queries$iheq,
    range = daterange
  )

  df <- pcd_query(query = iheqquery)

  return(df)
}

#' @title ihre
#' @description Replica of Immunohematology Reagents on Cognos.
#'
#' @param daterange Vector containing start and end date in YYYYMM format.
#' Ex: c('201601', '201602'). Must be given.
#' @return Returns dataframe.
#' @export
ihre <- function(daterange = NA) {

  # test that daterange paramter is given
  daterange_given <- function(x) {
    any(!is.na(x))
  }

  assertthat::on_failure(daterange_given) <- function(call, env) {
    paste0(deparse(call$x), " must be provided.")
  }

  assertthat::assert_that(daterange_given(daterange))

  ihrequery <- fill_query(
    query = queries$ihre,
    range = daterange
  )

  df <- pcd_query(query = ihrequery)

  return(df)
}

#' @title mtsre
#' @description Replica of MTS Reagents on Cognos.
#'
#' @param daterange Vector containing start and end date.
#' Ex: c('2016-06-01', '2016-07-01') for June 2016. Defaults to past 13 months if not given.
#' @return Returns dataframe.
#' @export
mtsre <- function(daterange = NA) {

  mtsrequery <- fill_query(
    query = queries$mtsre,
    range = daterange
  )

  df <- pcd_query(query = mtsrequery) %>%
    dplyr::select(
      colNums = -ncol(.)
    )

  names(df) <- c(
    'Complaint_Nbr_CH', 'Create_Audit_Date', 'Date_Closed', 'Prod_No_Desc',
    'Call_Type', 'Call_Subject', 'Call_Subject_Desc', 'Call_Area', 'Call_Area_Desc',
    'Resolution', 'Lot_Serial_Number', 'J_Number', 'Solution_Number', 'Device_Count',
    'Business_Unit_Desc', 'Product_Cat', 'Line_Desc', 'Group_Desc', 'Problem_Description',
    'Customer_Name', 'State', 'Country_Code', 'Contact_Name', 'Contact_Phone',
    'YYYYMM'
  )

  return(df)
}

#' @title ortho_connect
#' @description Replica of Ortho Connect on Cognos.
#'
#' @return Returns dataframe.
#' @export
ortho_connect <- function() {
  df <- pcd_query(query = queries$ortho_connect)

  return(df)
}

#' @title ortho_vision
#' @description Replica of Ortho Vision on Cognos.
#'
#' @return Returns dataframe.
#' @export
ortho_vision <- function() {
  df <- pcd_query(query = queries$ortho_vision)

  return(df)
}
kimjam/srms documentation built on May 20, 2019, 10:21 p.m.