R/conditions.r

Defines functions im_list_conditions im_get_condition

Documented in im_get_condition im_list_conditions

#' Retrieve list of conditions from Infermedica API
#'
#' @note The package expects \code{INFERMEDICA_APP_ID} and \code{INFERMEDICA_APP_KEY} to
#'     be in the environment. The easiest way to do this is to add entries to
#'     \code{~/.Renviron} and restart R.
#' @export
im_list_conditions <- function() {

  res <- GET("https://api.infermedica.com/v2/conditions",
             add_headers(app_id=Sys.getenv("INFERMEDICA_APP_ID"),
                         app_key=Sys.getenv("INFERMEDICA_APP_KEY")))

  stop_for_status(res)

  content(res, as="text", encoding="UTF-8") %>%
    fromJSON(flatten=TRUE)

}

#' Retrieve info for a specific symptom
#'
#' @note The package expects \code{INFERMEDICA_APP_ID} and \code{INFERMEDICA_APP_KEY} to
#'     be in the environment. The easiest way to do this is to add entries to
#'     \code{~/.Renviron} and restart R.
#' @param condition_id valid Infermedica condition id (use \code{im_list_conditions()} to
#'     get a list of valid ids)
#' @export
im_get_condition <- function(condition_id) {

  res <- GET(sprintf("https://api.infermedica.com/v2/conditions/%s", condition_id),
             add_headers(app_id=Sys.getenv("INFERMEDICA_APP_ID"),
                         app_key=Sys.getenv("INFERMEDICA_APP_KEY")))

  stop_for_status(res)

  content(res, as="text", encoding="UTF-8") %>%
    fromJSON(flatten=TRUE)

}
hrbrmstr/infermedica documentation built on May 3, 2019, 9:38 p.m.