R/verif_admis_analyse2.R

Defines functions verif_admis_analyse2

Documented in verif_admis_analyse2

#' Verification
#'
#' Indique si les équations d'hypothèses sont correctes ou pas.
#'
#' * L'argument `cols` est une `list()` et doit contenir les valeurs suivantes {`N_debut_etude`, `N_naissance`, `N_entree_autre`, `N_deces`, `N_sortie_autre`, `N_fin_etude`, `N_debut_etude_nonsld`, `N_naissance_nonsld`, `N_entree_autre_nonsld`, `N_sld`, `N_deces_nonsld`, `N_sortie_autre_nonsld`, `N_fin_etude_nonsld`}.
#' * La première équation est : \deqn{(N_debut_etude + N_naissance + N_entree_autre) - (N_deces + N_sortie_autre) = N_fin_etude}.
#' * La deuxième équation est : \deqn{(N_debut_etude_nonsld + N_naissance_nonsld + N_entree_autre_nonsld) - (N_sld + N_deces_nonsld + N_sortie_autre_nonsld) = N_fin_etude_nonsld}.
#'
#' @param .data Tableau des résultats créé par la fonction `admis_analyse2`.
#' @param cols Numéro des lignes du tableau associé à la variable. `list(nom variable = numéro de ligne)`.
#'
#' @keywords internal
#' @importFrom crayon green red
#' @export
verif_admis_analyse2 <- function(
  .data,
  cols = list(
    # Tous les ID - avec ou sans sld
    N_debut_etude = 1L,
    N_naissance= 6L,
    N_entree_autre = 8L,
    N_deces = 7L,
    N_sortie_autre = 9L,
    N_fin_etude = 3L,
    # ID sans sld
    N_debut_etude_nonsld = 2L,
    N_naissance_nonsld = 14L,
    N_entree_autre_nonsld = 16L,
    N_sld = 10L,
    N_deces_nonsld = 15L,
    N_sortie_autre_nonsld = 17L,
    N_fin_etude_nonsld = 11L
  )
){

  x <- .data$Nbre
  attach(cols)
  # Tous les ID
  # (N_debut_etude + N_naissance + N_entree_autre) - (N_deces + N_sortie_autre) = N_fin_etude
  Eq_tous <- (x[N_debut_etude] + x[N_naissance] + x[N_entree_autre]) -
    (x[N_deces] + x[N_sortie_autre]) == x[N_fin_etude]
  # Afficher si equation correcte ou incorrecte
  cat("Equation - Tous les ID : ")
  if(Eq_tous) cat(green("OK")) else cat(red("INCORRECT"))
  cat(".\n")

  # ID sans dates de SLD
  # (N_debut_etude_nonsld + N_naissance_nonsld + N_entree_autre_nonsld) - (N_sld + N_deces_nonsld + N_sortie_autre_nonsld) = N_fin_etude_nonsld
  Eq_nonsld <- (x[N_debut_etude_nonsld] + x[N_naissance_nonsld] + x[N_entree_autre_nonsld]) -
    (x[N_sld] + x[N_deces_nonsld] + x[N_sortie_autre_nonsld]) == x[N_fin_etude_nonsld]
  # Afficher si equation correcte ou incorrecte
  cat("Equation - non SLD     : ")
  if(Eq_nonsld) cat(green("OK")) else cat(red("INCORRECT"))
  cat(".")
  detach(cols)

}
INESSS-QC/admissibilite1 documentation built on Aug. 7, 2020, 9:39 a.m.