R/polysimulPage.R

Defines functions polysimulPage

Documented in polysimulPage

#' Page
#'
#' Section de la polymédication simultanée.
#'
#' @param DebutAnalyse "AAAA-MM-JJ". Date de début de la période d'analyse.
#' @param FinAnalyse "AAAA-MM-JJ". Date de fin de la période d'analyse.
#' @param Ech Pourcentage que représente l'échantillon par rapport à la population totale d'analyse.
#' @param simul2_stats Dataset créé par la fonction `polysimul2_stats()`.
#' @param simul_tabsFreq Dataset créé par la fonction `polysimul_tabFreq()`.
#' @param simul_distFreq Dataset créé par la fonction `polysimul_distFreq()`.
#' @param simul_distCumul Dataset créé par la fonction `polysimul_distCumul()`.
#' @param simul_consoMin Dataset créé par la fonction `polysimul_consoMinimale()`.
#'
#' @keywords internal
#' @export
polysimulPage <- function(
  DebutAnalyse, FinAnalyse, Ech,
  simul2_stats,
  simul_tabsFreq,
  simul_distFreq,
  simul_distCumul,
  simul_consoMin
){

# Fonctions --------------------------------------------------------------------------------------
  ### Paramètres de la section polymédication simultanée
  ###   DebutAnalyse : "AAAA-MM-JJ". Date de début de la période d'analyse.
  ###   FinAnalyse : "AAAA-MM-JJ". Date de fin de la période d'analyse.
  ###   Ech : Pourcentage que représente l'échantillon par rapport à la population totale d'analyse.
  .paramAnalyse <- function(DebutAnalyse, FinAnalyse, Ech){
    nJours <- njours(DebutAnalyse, FinAnalyse)  # nombre de jours dans la période d'analyse
    if(nJours == 1) print_nJours <- "jour" else print_nJours <- "jours"  # gérer texte au pluriel
    print_pourcent <- paste0(formatr(Ech)," %")  # pourcentage d'échantillon
    return(paste0(
      quad(2),"--- Début : ",DebutAnalyse, nline(), rl(),
      quad(2),"--- Fin : ",FinAnalyse," (",nJours," ",print_nJours,")", nline(), rl(),
      quad(2),"--- Échantillon : ",print_pourcent
    ))
  }


# Code -------------------------------------------------------------------------------------------

  catx(
    titre_section("Polymédication simultanée", 1),
    titre_section("Paramètres d'analyse", 2),
    .paramAnalyse(DebutAnalyse, FinAnalyse, Ech),
    titre_section("Statistiques descriptives", 2),
    titre_section("Moyenne individuelle", 3),
    kable_statsDesc(simul2_stats$Moyenne),
    titre_section("Minimum individuel", 3),
    kable_statsDesc(simul2_stats$Min),
    titre_section("Médiane individuelle", 3),
    kable_statsDesc(simul2_stats$Médiane),
    titre_section("Maximum individuel", 3),
    kable_statsDesc(simul2_stats$Max),
    pagebreak()
  )

  catx(titre_section("Distribution de l'indicateur", 2))
  for(statName in c("Moyenne", "Min", "Médiane", "Max")){  # afficher les tableaux et graphiques pour chaque stat descriptive
    # Indiquer le nom du titre de la section par rapport à la statistique. Ex : Min = Minimum
    if(statName == "Min"){
      titreText <- "Minimum"
    } else if(statName == "Max"){
      titreText <- "Maximum"
    } else {
      titreText <- statName
    }

    catx(
      titre_section(titreText, 3),  # titre section
      text_tabFreq_nZero(simul_tabsFreq[[statName]]),  # nombre de zéros
      kable_tabFreq(simul_tabsFreq[[statName]]),  # tableau de fréquence
      pagebreak()
    )
    print(simul_distFreq[[statName]])  # geom_barplot
    catx(nline_image(), vspace(1))
    print(simul_distCumul[[statName]])  # geom_line
    catx(pagebreak())
  }

  catx(
    titre_section("Consommation minimale", 2),
    "Nombre de jours qu'un usager consomme au moins *X* médicaments.",
    kable_consoMin(simul_consoMin),  # tableau résultat
    pagebreak())
}
INESSS-QC/polymed1 documentation built on Aug. 4, 2020, 12:02 a.m.