1
0
mirror of https://github.com/msberends/AMR.git synced 2025-07-09 02:03:04 +02:00

unit tests

This commit is contained in:
2022-11-12 22:08:12 +01:00
parent 8fab745ab1
commit 1162d1d9b1
9 changed files with 302 additions and 121 deletions

View File

@ -59,38 +59,35 @@
#' @inheritSection AMR Reference Data Publicly Available
#' @examples
#' # all properties:
#' ab_name("AMX") # "Amoxicillin"
#' ab_atc("AMX") # "J01CA04" (ATC code from the WHO)
#' ab_cid("AMX") # 33613 (Compound ID from PubChem)
#' ab_synonyms("AMX") # a list with brand names of amoxicillin
#' ab_tradenames("AMX") # same
#' ab_group("AMX") # "Beta-lactams/penicillins"
#' ab_atc_group1("AMX") # "Beta-lactam antibacterials, penicillins"
#' ab_atc_group2("AMX") # "Penicillins with extended spectrum"
#' ab_url("AMX") # link to the official WHO page
#' ab_name("AMX")
#' ab_atc("AMX")
#' ab_cid("AMX")
#' ab_synonyms("AMX")
#' ab_tradenames("AMX")
#' ab_group("AMX")
#' ab_atc_group1("AMX")
#' ab_atc_group2("AMX")
#' ab_url("AMX")
#'
#' # smart lowercase tranformation
#' ab_name(x = c("AMC", "PLB")) # "Amoxicillin/clavulanic acid" "Polymyxin B"
#' ab_name(
#' x = c("AMC", "PLB"),
#' tolower = TRUE
#' ) # "amoxicillin/clavulanic acid" "polymyxin B"
#' ab_name(x = c("AMC", "PLB"))
#' ab_name(x = c("AMC", "PLB"), tolower = TRUE)
#'
#' # defined daily doses (DDD)
#' ab_ddd("AMX", "oral") # 1.5
#' ab_ddd_units("AMX", "oral") # "g"
#' ab_ddd("AMX", "iv") # 3
#' ab_ddd_units("AMX", "iv") # "g"
#' ab_ddd("AMX", "oral")
#' ab_ddd_units("AMX", "oral")
#' ab_ddd("AMX", "iv")
#' ab_ddd_units("AMX", "iv")
#'
#' ab_info("AMX") # all properties as a list
#'
#' # all ab_* functions use as.ab() internally, so you can go from 'any' to 'any':
#' ab_atc("AMP") # ATC code of AMP (ampicillin)
#' ab_group("J01CA01") # Drug group of ampicillins ATC code
#' ab_loinc("ampicillin") # LOINC codes of ampicillin
#' ab_name("21066-6") # "Ampicillin" (using LOINC)
#' ab_name(6249) # "Ampicillin" (using CID)
#' ab_name("J01CA01") # "Ampicillin" (using ATC)
#' ab_atc("AMP")
#' ab_group("J01CA01")
#' ab_loinc("ampicillin")
#' ab_name("21066-6")
#' ab_name(6249)
#' ab_name("J01CA01")
#'
#' # spelling from different languages and dyslexia are no problem
#' ab_atc("ceftriaxon")

7
R/av.R
View File

@ -383,13 +383,8 @@ as.av <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) {
next
}
# first 5 except for cephalosporins, then first 7 (those cephalosporins all start quite the same!)
# first 5
found <- suppressWarnings(as.av(substr(x[i], 1, 5), initial_search = FALSE))
if (!is.na(found) && av_group(found, initial_search = FALSE) %unlike% "cephalosporins") {
x_new[i] <- note_if_more_than_one_found(found, i, from_text)
next
}
found <- suppressWarnings(as.av(substr(x[i], 1, 7), initial_search = FALSE))
if (!is.na(found)) {
x_new[i] <- note_if_more_than_one_found(found, i, from_text)
next

View File

@ -53,44 +53,33 @@
#' @inheritSection AMR Reference Data Publicly Available
#' @examples
#' # all properties:
#' av_name("AMX") # "Amoxicillin"
#' av_atc("AMX") # "J01CA04" (ATC code from the WHO)
#' av_cid("AMX") # 33613 (Compound ID from PubChem)
#' av_synonyms("AMX") # a list with brand names of amoxicillin
#' av_tradenames("AMX") # same
#' av_group("AMX") # "Beta-lactams/penicillins"
#' av_atc_group1("AMX") # "Beta-lactam antibacterials, penicillins"
#' av_atc_group2("AMX") # "Penicillins with extended spectrum"
#' av_url("AMX") # link to the official WHO page
#' av_name("ACI")
#' av_atc("ACI")
#' av_cid("ACI")
#' av_synonyms("ACI")
#' av_tradenames("ACI")
#' av_group("ACI")
#' av_url("ACI")
#'
#' # smart lowercase tranformation
#' av_name(x = c("AMC", "PLB")) # "Amoxicillin/clavulanic acid" "Polymyxin B"
#' av_name(
#' x = c("AMC", "PLB"),
#' tolower = TRUE
#' ) # "amoxicillin/clavulanic acid" "polymyxin B"
#' av_name(x = c("ACI", "VALA"))
#' av_name(x = c("ACI", "VALA"), tolower = TRUE)
#'
#' # defined daily doses (DDD)
#' av_ddd("AMX", "oral") # 1.5
#' av_ddd_units("AMX", "oral") # "g"
#' av_ddd("AMX", "iv") # 3
#' av_ddd_units("AMX", "iv") # "g"
#' av_ddd("ACI", "oral")
#' av_ddd_units("ACI", "oral")
#' av_ddd("ACI", "iv")
#' av_ddd_units("ACI", "iv")
#'
#' av_info("AMX") # all properties as a list
#' av_info("ACI") # all properties as a list
#'
#' # all av_* functions use as.av() internally, so you can go from 'any' to 'any':
#' av_atc("AMP") # ATC code of AMP (ampicillin)
#' av_group("J01CA01") # Drug group of ampicillins ATC code
#' av_loinc("ampicillin") # LOINC codes of ampicillin
#' av_name("21066-6") # "Ampicillin" (using LOINC)
#' av_name(6249) # "Ampicillin" (using CID)
#' av_name("J01CA01") # "Ampicillin" (using ATC)
#'
#' # spelling from different languages and dyslexia are no problem
#' av_atc("ceftriaxon")
#' av_atc("cephtriaxone")
#' av_atc("cephthriaxone")
#' av_atc("seephthriaaksone")
#' av_atc("ACI")
#' av_group("J05AB01")
#' av_loinc("abacavir")
#' av_name("29113-8")
#' av_name(135398513)
#' av_name("J05AB01")
av_name <- function(x, language = get_AMR_locale(), tolower = FALSE, ...) {
meet_criteria(x, allow_NA = TRUE)
language <- validate_language(language)
@ -137,7 +126,7 @@ av_tradenames <- function(x, ...) {
av_group <- function(x, language = get_AMR_locale(), ...) {
meet_criteria(x, allow_NA = TRUE)
language <- validate_language(language)
translate_into_language(av_validate(x = x, property = "group", ...), language = language, only_affect_ab_names = TRUE)
translate_into_language(av_validate(x = x, property = "atc_group", ...), language = language, only_affect_ab_names = TRUE)
}
#' @rdname av_property