R/simulate_vancomycin_mc_emp_cmin.R

Defines functions simulate_vancomycin_mc_emp_cmin

Documented in simulate_vancomycin_mc_emp_cmin

#' Vancomycin » Empiric » Cmin
#' 
#' Vancomycin » Empiric therapy » Total minimum concentration
#' 
#' \strong{Drug}:
#' Vancomycin
#' 
#' \strong{Method}:
#' Simulate concentrations for multiple dosing regimens and select the optimal one, with regard to the target pharmacodynamic index.
#' 
#' \strong{PK/PD target}:
#' Minimum blood plasma concentration (mg/L).
#' 
#' @param PATID Patient Identifier. User-provided free text (such as patient id, name or alias) to identify related simulations. Must be provided as string.
#' @param AGE Age. Age of the patient in years. Must be provided as numeric (min. 18, max. 120 year).
#' @param HEIGHT Height. Height of the patient. Must be provided as numeric (min. 100, max. 250 cm).
#' @param WEIGHT Weight. Actual body weight of the patient. Must be provided as numeric (min. 20, max. 500 kg).
#' @param GENDER Sex. Patient's sex for clinical decision-making. Must be provided as string ('Male' or 'Female').
#' @param CREATININE Creatinine. Serum creatinine. Must be provided as numeric (min. 0.01, max. 15 mg/dL).
#' @param MODEL Model for population of interest. Pharmacokinetic model to be used for specific patient type during simulations. Must be provided as string ('Goti et al. (2018) - Patients NOT undergoing hemodialysis', 'Goti et al. (2018) - Patients undergoing hemodialysis', 'Buelga et al. (2005) - Patients with hematological malignancies', 'Buelga et al. (2005) - AML patients, Model 1' or 'Buelga et al. (2005) - AML patients, Model 2').
#' @param MIC MIC. Minimum Inhibitory Concentration (MIC). Must be provided as numeric (min. 0.01, max. 1024 mg/L).
#' @param CMIN Minimum concentration target. The PK/PD target can be provided as minimum blood plasma concentration (Cmin). Must be provided as numeric (min. 0.1, max. 200 mg/L).
#' @param LOADINGDOSE Loading dose. Loading dose is desired or not. Must be provided as string ('No' or 'Yes').
#' @param TOXICITYINFO Optional information for estimating the probability of nephrotoxicity. This information - if provided - will be used only for estimating the probability of nephrotoxicity. Must be provided as string ('Not applicable', 'General Ward' or 'ICU').
#' @param CRCLCAP Capping Creatinine Clearance. Whether to use capping for creatinine clearance. Must be provided as string ('No cap', '120 ml/min', '130 ml/min', '140 ml/min' or '150 ml/min').
#' @param REGIMENS Dosing Regimens. List of dosing regimens to be used in simulating target attainment, from which the dosing regimen with the smallest absolute difference from the desired target will be automatically selected. Must be provided as list of 1-20 'REGIMEN' values. Use the \code{regimen} helper function to define the REGIMEN values.
#' 
#' @examples \dontrun{
#' simulate_vancomycin_mc_emp_cmin(PATID = "Anonymous", 
#'     AGE = 65, HEIGHT = 175, 
#'     WEIGHT = 75, GENDER = "Male", 
#'     CREATININE = 1, MODEL = "Goti et al. (2018) - Patients undergoing hemodialysis", 
#'     MIC = 1, CMIN = 17.5, 
#'     LOADINGDOSE = "No", 
#'     TOXICITYINFO = "ICU", 
#'     CRCLCAP = "No cap", 
#'     REGIMENS = list(list(
#'         DOSE = 750, INTERVAL = 8, 
#'         TINF = 1, set = "REGIMEN"), 
#'         list(DOSE = 750, 
#'             INTERVAL = 12, 
#'             TINF = 1, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 750, 
#'             INTERVAL = 24, 
#'             TINF = 1, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1000, 
#'             INTERVAL = 8, 
#'             TINF = 1, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1000, 
#'             INTERVAL = 12, 
#'             TINF = 1, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1000, 
#'             INTERVAL = 24, 
#'             TINF = 1, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1250, 
#'             INTERVAL = 8, 
#'             TINF = 1.25, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1250, 
#'             INTERVAL = 12, 
#'             TINF = 1.25, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1250, 
#'             INTERVAL = 24, 
#'             TINF = 1.25, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1500, 
#'             INTERVAL = 8, 
#'             TINF = 1.5, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1500, 
#'             INTERVAL = 12, 
#'             TINF = 1.5, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1500, 
#'             INTERVAL = 24, 
#'             TINF = 1.5, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1750, 
#'             INTERVAL = 8, 
#'             TINF = 1.75, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1750, 
#'             INTERVAL = 12, 
#'             TINF = 1.75, 
#'             set = "REGIMEN"), 
#'         list(DOSE = 1750, 
#'             INTERVAL = 24, 
#'             TINF = 1.75, 
#'             set = "REGIMEN")))
#' }
#' 
#' @references \itemize{
#'   \item Goti et al. (2018): Hospitalized Patients With and Without Hemodialysis Have Markedly Different Vancomycin Pharmacokinetics: A Population Pharmacokinetic Model-Based Analysis. In. Therapeutic Drug Monitoring. https://pubmed.ncbi.nlm.nih.gov/29470227/
#'   \item Lodise, Thomas P et al. (2009): Relationship between Initial Vancomycin Concentration-Time Profile and Nephrotoxicity among Hospitalized Patients. In. Clinical Infectious Diseases. https://academic.oup.com/cid/article/49/4/507/379286
#'   \item Buelga, Dolores Santos et al. (2005): Population Pharmacokinetic Analysis of Vancomycin in Patients with Hematological Malignancies. In. Antimicrobial Agents and Chemotherapy. https://aac.asm.org/content/49/12/4934
#'   \item Rybak, Michael J et al. (2020): Therapeutic monitoring of vancomycin for serious methicillin-resistant Staphylococcus aureus infections: A revised consensus guideline and review by the American Society of Health-System Pharmacists, the Infectious Diseases Society of America, the Pediatric Infectious Diseases Society, and the Society of Infectious Diseases Pharmacists. In. American Journal of Health-System Pharmacy. https://academic.oup.com/ajhp/article/77/11/835/5810200
#' }
#' @export 
#' @importFrom checkmate assert_number assert_string assert_choice
simulate_vancomycin_mc_emp_cmin <- function(PATID, AGE, HEIGHT, WEIGHT, GENDER, CREATININE, MODEL, MIC, CMIN, LOADINGDOSE, TOXICITYINFO, CRCLCAP, REGIMENS) {
  ## check args
  assert_string(PATID)
  assert_number(AGE,
    lower = 18,
    upper = 120
  )
  assert_number(HEIGHT,
    lower = 100,
    upper = 250
  )
  assert_number(WEIGHT,
    lower = 20,
    upper = 500
  )
  assert_string(GENDER)
  assert_choice(GENDER, c("Male", "Female"))
  assert_number(CREATININE,
    lower = 0.01,
    upper = 15
  )
  assert_string(MODEL)
  assert_choice(MODEL, c("Goti et al. (2018) - Patients NOT undergoing hemodialysis", "Goti et al. (2018) - Patients undergoing hemodialysis", "Buelga et al. (2005) - Patients with hematological malignancies", "Buelga et al. (2005) - AML patients, Model 1", "Buelga et al. (2005) - AML patients, Model 2"))
  assert_number(MIC,
    lower = 0.01,
    upper = 1024
  )
  assert_number(CMIN,
    lower = 0.1,
    upper = 200
  )
  assert_string(LOADINGDOSE)
  assert_choice(LOADINGDOSE, c("No", "Yes"))
  assert_string(TOXICITYINFO)
  assert_choice(TOXICITYINFO, c("Not applicable", "General Ward", "ICU"))
  assert_string(CRCLCAP)
  assert_choice(CRCLCAP, c("No cap", "120 ml/min", "130 ml/min", "140 ml/min", "150 ml/min"))
  ## API call
  simulate("vancomycin-mc-emp-cmin", PATID = PATID, AGE = AGE, HEIGHT = HEIGHT, WEIGHT = WEIGHT, GENDER = GENDER, CREATININE = CREATININE, MODEL = MODEL, MIC = MIC, CMIN = CMIN, LOADINGDOSE = LOADINGDOSE, TOXICITYINFO = TOXICITYINFO, CRCLCAP = CRCLCAP, REGIMENS = REGIMENS)
}
rx-stud-io/R-client documentation built on Dec. 22, 2021, 8:16 p.m.