--- title: Bilan de clôture output: html_document: toc: true toc_float: true --- ```{r init, echo = F, message = F} library(DT) library(ggplot2) library(knitr) library(tidyr) library(stringr) library(dplyr) library(plotly) library(lubridate) opts_chunk$set(echo = F, message = F, warning = F, fig.width = 10, fig.height = 6) options(DT.options = list(paging = F, searching = F, info = F, dom = "Bfrtip", buttons = c("copy", "excel"))) ``` ```{r data} load("donnees.Rdata") mois_label <- c("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre") sprintf("%02.f", mois) %>% { previous <<- str_c("M", ., "-", annee - 1) current <<- str_c("M", ., "-", annee) periode <<- str_c(previous, " et de ", current) } ``` # Production ## Nombre total de RUM et de RSS transmis ```{r tab1} rum %>% filter(annee_sortie == annee) %>% tally %>% bind_rows(rss %>% filter(annee_sortie == annee) %>% tally) %>% datatable(rownames = c("RUM", "RSS"), extensions = "Buttons", colnames = c("Type de résumé", "Nombre transmis")) ``` ## Nombre de RUM transmis par mois pour les 3 dernières années ```{r tab2a} rum %>% count(annee_sortie, mois_sortie) %>% spread(annee_sortie, n) %>% bind_rows(filter(., mois_sortie <= mois) %>% select(-mois_sortie) %>% summarise_each(funs(sum))) %>% bind_rows(filter(., mois_sortie <= 12) %>% select(-mois_sortie) %>% summarise_each(funs(sum))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>% select(-mois_sortie) %>% datatable(rownames = c(mois_label, "Total clôture", "Total M12"), extensions = "Buttons") %>% formatPercentage(c(4,5), digits = 2) ``` ```{r fig2a} rum %>% count(annee_sortie, mois_sortie) %>% ungroup %>% mutate(annee_sortie = annee_sortie %>% factor) %>% ggplot( aes(x = mois_sortie, y = n, color = annee_sortie, shape = annee_sortie)) + scale_x_discrete(limits = mois_label, expand = c(.05, 0)) + geom_line() + geom_point() + labs(x = NULL, y = NULL, title = "RUM") + theme_bw() + theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.title = element_blank(), plot.title = element_text(hjust = 0)) -> p ggplotly(p, tooltip = c("x", "y", "colour")) ``` ## Nombre de RSS transmis par mois pour les 3 dernières années ```{r tab2b} rss %>% count(annee_sortie, mois_sortie) %>% spread(annee_sortie, n) %>% bind_rows(filter(., mois_sortie <= mois) %>% select(-mois_sortie) %>% summarise_each(funs(sum))) %>% bind_rows(filter(., mois_sortie <= 12) %>% select(-mois_sortie) %>% summarise_each(funs(sum))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>% select(-mois_sortie) %>% datatable(rownames = c(mois_label, "Total clôture", "Total M12"), extensions = "Buttons") %>% formatPercentage(c(4,5), digits = 2) ``` ```{r fig2b} rss %>% count(annee_sortie, mois_sortie) %>% ungroup %>% mutate(annee_sortie = annee_sortie %>% factor) %>% ggplot( aes(x = mois_sortie, y = n, color = annee_sortie, shape = annee_sortie)) + scale_x_discrete(limits = mois_label, expand = c(.05, 0)) + geom_line() + geom_point() + labs(x = NULL, y = NULL, title = "RSS") + theme_bw() + theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.title = element_blank(), plot.title = element_text(hjust = 0)) -> p ggplotly(p, tooltip = c("x", "y", "colour")) ``` ### Nombre de RSS de 1 jour et plus transmis par mois pour les 3 dernières années ```{r tab3a} rss %>% filter(duree_rss >= 1) %>% count(annee_sortie, mois_sortie) %>% spread(annee_sortie, n) %>% bind_rows(filter(., mois_sortie <= mois) %>% select(-mois_sortie) %>% summarise_each(funs(sum))) %>% bind_rows(filter(., mois_sortie <= 12) %>% select(-mois_sortie) %>% summarise_each(funs(sum))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>% select(-mois_sortie) %>% datatable(extensions = "Buttons", rownames = c(mois_label, "Total clôture", "Total M12")) %>% formatPercentage(c(4,5), digits = 2) ``` ```{r fig3a} rss %>% filter(duree_rss >= 1) %>% count(annee_sortie, mois_sortie) %>% ungroup %>% mutate(annee_sortie = annee_sortie %>% factor) %>% ggplot( aes(x = mois_sortie, y = n, color = annee_sortie, shape = annee_sortie)) + scale_x_discrete(limits = mois_label, expand = c(.05, 0)) + geom_line() + geom_point() + labs(x = NULL, y = NULL, title = "RSS de 1 jour et +") + theme_bw() + theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.title = element_blank(), plot.title = element_text(hjust = 0)) -> p ggplotly(p, tooltip = c("x", "y", "colour")) ``` ### Nombre de RSS de 0 jour (hors séances) transmis par mois pour les 3 dernières années ```{r tab3b} rss %>% filter(duree_rss == 0, cmd != 28) %>% count(annee_sortie, mois_sortie) %>% spread(annee_sortie, n) %>% bind_rows(filter(., mois_sortie <= mois) %>% select(-mois_sortie) %>% summarise_each(funs(sum)) ) %>% bind_rows(filter(., mois_sortie <= 12) %>% select(-mois_sortie) %>% summarise_each(funs(sum)) ) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>% select(-mois_sortie) %>% datatable(extensions = "Buttons", rownames = c(mois_label, "Total clôture", "Total M12")) %>% formatPercentage(c(4,5), digits = 2) ``` ```{r fig3b} rss %>% filter(duree_rss == 0, cmd != 28) %>% count(annee_sortie, mois_sortie) %>% ungroup %>% mutate(annee_sortie = annee_sortie %>% factor) %>% ggplot( aes(x = mois_sortie, y = n, color = annee_sortie, shape = annee_sortie)) + scale_x_discrete(limits = mois_label, expand = c(.05, 0)) + geom_line() + geom_point() + labs(x = NULL, y = NULL, title = "RSS de 0 jour, hors séances") + theme_bw() + theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.title = element_blank(), plot.title = element_text(hjust = 0)) -> p ggplotly(p, tooltip = c("x", "y", "colour")) ``` ### Nombre de RSS de séance transmis par mois pour les 3 dernières années ```{r tab3c} rss %>% filter(duree_rss == 0, cmd == 28) %>% count(annee_sortie, mois_sortie) %>% spread(annee_sortie, n) %>% bind_rows(filter(., mois_sortie <= mois) %>% select(-mois_sortie) %>% summarise_each(funs(sum))) %>% bind_rows(filter(., mois_sortie <= 12) %>% select(-mois_sortie) %>% summarise_each(funs(sum))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>% select(-mois_sortie) %>% datatable(extensions = "Buttons", rownames = c(mois_label, "Total clôture", "Total M12")) %>% formatPercentage(c(4,5), digits = 2) ``` ```{r fig3c} rss %>% filter(duree_rss == 0, cmd == 28) %>% count(annee_sortie, mois_sortie) %>% ungroup %>% mutate(annee_sortie = annee_sortie %>% factor) %>% ggplot( aes(x = mois_sortie, y = n, color = annee_sortie, shape = annee_sortie)) + scale_x_discrete(limits = mois_label, expand = c(.05, 0)) + geom_line() + geom_point() + labs(x = NULL, y = NULL, title = "RSS de séances") + theme_bw() + theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.title = element_blank(), plot.title = element_text(hjust = 0)) -> p ggplotly(p, tooltip = c("x", "y", "colour")) ``` ## Nombre de RUM transmis par pôle pour les 3 dernières années ```{r tab4} rum %>% filter(mois_sortie <= mois) %>% filter(! is.na(pole_libelle)) %>% count(pole_libelle, annee_sortie) %>% ungroup %>% mutate(pole_libelle = pole_libelle %>% str_replace("\xc9", "É")) %>% spread(annee_sortie, n) %>% bind_rows(select(., -pole_libelle) %>% summarise_each(funs(sum(., na.rm = T))) %>% mutate(pole_libelle = "TOTAL")) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>% mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>% datatable(extensions = "Buttons", colnames = c("Pôle" = 1), rownames = F) %>% formatPercentage(c(5,6), digits = 2) ``` ```{r fig4} rum %>% filter(mois_sortie <= mois) %>% filter(! is.na(pole_libelle)) %>% count(pole_libelle, annee_sortie) %>% ungroup %>% mutate(pole_libelle = pole_libelle %>% str_replace("\xc9", "É")) %>% ggplot( aes(x = annee_sortie, y = n, color = pole_libelle)) + scale_x_continuous(breaks = (annee - 2):annee) + facet_wrap(~ pole_libelle, scales = "free") + geom_point() + geom_line() + labs(x = NULL, y = NULL, title = "RUM par pôle") + theme_bw() + theme(legend.position = "none", plot.title = element_text(hjust = 0)) ``` # Exhaustivité ## Exhaustivité des RSS en fonction du mois et de l'année de clôture ### Nombre de RSS produits et transmis, et taux d'exhaustivité : historique des clôtures de l'année ```{r tab5} exhau %>% mutate(rss_trans = rss - manq, exh = rss_trans / rss) %>% select(rss, rss_trans, exh) %>% datatable(colnames = c("Clôture", "Total RSS produits", "Nombre de RSS transmis", "Taux d'exhaustivité RSS (%)"), extensions = "Buttons", rownames = mois_label) %>% formatPercentage(3, digits = 2) ``` ### Taux d'exhaustivité selon le mois clôturé de l'année courante ```{r fig5a} exhau %>% mutate(rss_trans = rss - manq, exh = 100 * rss_trans / rss) %>% ggplot( aes(x = mois, y = exh)) + geom_point() + geom_line() + labs(x = NULL, y = NULL, title = NULL) + scale_x_discrete(limits = mois_label, expand = c(.05, 0)) + theme_bw() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) -> p ggplotly(p) ``` ## Exhaustivité mensuelle de la clôture ### Taux d'exhaustivité des RSS pour la clôture actuelle selon le mois de sortie du RSS ```{r fig7} exhau_pims %>% mutate(mois_sortie = month(Sortie)) %>% filter(is.na(DP)) %>% distinct(RSS, .keep_all = T) %>% count(mois_sortie) %>% full_join(exhau_pims %>% mutate(mois_sortie = month(Sortie)) %>% distinct(RSS, .keep_all = T) %>% count(mois_sortie), by = "mois_sortie") %>% mutate(n = 100 * (n.y - n.x) / n.y) %>% complete(mois_sortie = 1:mois, fill = list(n = 100)) %>% ggplot( aes(x = mois_sortie, y = n)) + scale_x_discrete(limits = mois_label, expand = c(.05, 0)) + geom_line() + geom_point() + labs(x = NULL, y = NULL, title = NULL) + theme_bw() + theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.title = element_blank(), plot.title = element_text(hjust = 0)) -> p ggplotly(p) ``` ### Nombre de RSS manquants pour la clôture actuelle selon le mois de sortie du RSS ```{r fig8} exhau_pims %>% mutate(mois_sortie = month(Sortie)) %>% filter(is.na(DP)) %>% distinct(RSS, .keep_all = T) %>% count(mois_sortie) %>% complete(mois_sortie = 1:mois, fill = list(n = 0)) %>% ggplot( aes(x = mois_sortie, y = n)) + scale_x_discrete(limits = mois_label, expand = c(.05, 0)) + geom_line() + geom_point() + labs(x = NULL, y = NULL, title = NULL) + theme_bw() + theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.title = element_blank(), plot.title = element_text(hjust = 0)) -> p ggplotly(p) ``` ## Exhaustivité par pôle et par service ```{r tab9} exhau_pims %>% group_by(Pole, Service) %>% summarise(Prod = n()) %>% full_join( exhau_pims %>% filter(is.na(DP)) %>% group_by(Pole, Service) %>% summarise(Manquants = n()) ) %>% full_join( exhau_pims %>% filter(Erreur == 4) %>% group_by(Pole, Service) %>% summarise(Rumrss = n()) ) %>% bind_rows( exhau_pims %>% group_by(Pole) %>% summarise(Prod = n()) %>% full_join( exhau_pims %>% filter(is.na(DP)) %>% group_by(Pole) %>% summarise(Manquants = n()) ) %>% full_join( exhau_pims %>% filter(Erreur == 4) %>% group_by(Pole) %>% summarise(Rumrss = n()) ) ) %>% bind_rows( exhau_pims %>% summarise(Prod = n()) %>% bind_cols( exhau_pims %>% filter(is.na(DP)) %>% summarise(Manquants = n()) ) %>% bind_cols( exhau_pims %>% filter(Erreur == 4) %>% summarise(Rumrss = n()) ) ) %>% ungroup %>% arrange(Pole, Service) %>% select(Pole, Service, Manquants, Rumrss, Prod) %>% mutate(Service = ifelse(is.na(Service), "TOTAL", Service), Exh_rum = (Prod - Manquants) / Prod, Exh_rumrss = (Prod - Rumrss) / Prod, Exh_rum = ifelse(is.na(Exh_rum), 1, Exh_rum), Pole = Pole %>% factor, Exh_rumrss = ifelse(is.na(Exh_rumrss), 1, Exh_rumrss)) %>% datatable(colnames = c("Pôle", "Service", "RUM manquants", "RUM dans RSS manquant", "Production RUM", "Exhaustivité RUM", "Exhaustivité RUM-RSS"), extensions = "Buttons", rownames = F, filter = "top", options = list(searching = T, paging = T)) %>% formatPercentage(c(6,7), digits = 2) ``` # Valorisation ## Nombre et valorisation des RSA transmis, traités et valorisés ```{r tab10} OvalideP$SVA %>% full_join(Ovalide$SVA, by = "A") %>% mutate(D = C.y - C.x, E = (C.y - C.x) / C.x) %>% datatable(rownames = F, extensions = "Buttons", escape = F, container = htmltools::withTags(table(class = 'display', thead(tr(th(rowspan = 2, "RSA"), th(colspan = 2, previous), th(colspan = 2, current), th(colspan = 2, "Évolution")), tr(th("Effectif"), th("Montant BR"), th("Effectif"), th("Montant BR"), th("€"), th("%")) ) ))) %>% formatCurrency(c(3,5,6), currency = "", interval = 3, mark = " ", digits = 2, dec.mark = ",") %>% formatPercentage(7, digits = 2) ``` *Données issues des tableaux OVALIDE [1.V.1.SV] A de `r periode`* ## Valorisation des RSA non pris en charge par l'Assurance Maladie ```{r tab11} OvalideP$VSS %>% select(1:3) %>% full_join(Ovalide$VSS %>% select(1:3), by = "A") %>% mutate(D = C.y - C.x, E = (C.y - C.x) / C.x) %>% datatable(rownames = F, extensions = "Buttons", container = htmltools::withTags(table(class = 'display', thead(tr(th(rowspan = 2, "Composante"), th(colspan = 2, previous), th(colspan = 2, current), th(colspan = 2, "Évolution")), tr(th("Effectif"), th("Montant BR"), th("Effectif"), th("Montant BR"), th("€"), th("%")) ) ) )) %>% formatCurrency(c(3,5,6), currency = "", interval = 3, mark = " ", digits = 2, dec.mark = ",") %>% formatPercentage(7, digits = 2) ``` *Données issues des tableaux [1.V.1.VSS] A de `r periode`* ## Taux de remboursement des RSA pris en charge par l'Assurance Maladie ```{r tab12} OvalideP$TXR %>% full_join(Ovalide$TXR, by = c("A", "B")) %>% datatable(rownames = F, extensions = "Buttons", container = htmltools::withTags(table(class = 'display', thead(tr(th(rowspan = 2, "Taux de remboursement"), th(rowspan = 2, "Type"), th(colspan = 2, previous), th(colspan = 2, current)), tr(th("Effectif"), th("%"), th("Effectif"), th("%")) ) ) )) %>% formatCurrency(c(4, 6), digits = 2, currency = "", dec.mark = ",") ``` *Données issues des tableaux OVALIDE [1.V.1.TXR] C de `r periode`* _\* Séjours de NN, radiothérape ou PO_ ## Valorisation des RSA pris en charge par l'Assurance Maladie ```{r tab13} OvalideP$RAV[-(1:2), c(1,4,6)] %>% full_join(Ovalide$RAV[-(1:2), c(1,4,6)], by = "A") %>% mutate(D.z = (D.y - D.x) / D.x, F.z = (F.y - F.x) / F.x) %>% .[names(.) %>% sort] %>% datatable(rownames = F, extensions = "Buttons", escape = F, container = htmltools::withTags(table(class = 'display', thead(tr(th(rowspan = 2, "Composante"), th(colspan = 2, "Montant BR¹"), th(rowspan = 2, "Evol. montant BR¹"), th(colspan = 2, "Montant remboursé AM²"), th(rowspan = 2, "Evol. montant remboursé AM²")), tr(rep(c(previous, current), 2) %>% lapply(th)) ) ) )) %>% formatPercentage(c(4, 7), digits = 2) %>% formatCurrency(c(2, 3, 5, 6), currency = "", interval = 3, mark = " ", digits = 2, dec.mark = ",") ``` *Données issues des tableaux OVALIDE [1.V.1.RAV] C de `r periode`* 1 Montant Brut 2 Montant Remboursé par l'Assurance Maladie ## Valorisation des IVG, ATU, SE, actes et consultations ```{r tab14} data_frame(A = c(OvalideP$VATU[is.na(OvalideP$VATU$A), 3:5] %>% unlist, OvalideP$VSE[OvalideP$VSE$A == "", 3:5] %>% unlist, OvalideP$VCCAM[OvalideP$VCCAM$A == "", 2:4] %>% unlist, OvalideP$VNGAP[OvalideP$VNGAP$A == "", 3:5] %>% unlist), B = c(Ovalide$VATU[is.na(Ovalide$VATU$A), 3:5] %>% unlist, Ovalide$VSE[Ovalide$VSE$A == "", 3:5] %>% unlist, Ovalide$VCCAM[Ovalide$VCCAM$A == "", 2:4] %>% unlist, Ovalide$VNGAP[Ovalide$VNGAP$A == "", 3:5] %>% unlist)) %>% mutate(C = B - A, D = (B - A) / A) %>% datatable(rownames = str_c(rep(c("Nombre de prestations", "Valorisation brute", "Valorisation AM"),4), rep(c("ATU1", "SE2", "CCAM3", "NGAP4"), each = 3), sep = " "), colnames = c(previous, current, "Évolution (n ou €)", "Évolution"), extensions = "Buttons", escape = F) %>% formatCurrency(1:3, currency = "", interval = 3, mark = " ", digits = 2, dec.mark = ",") %>% formatPercentage(4, digits = 2) ``` 1*Données issues des tableaux OVALIDE [2.V.VATU] de `r periode`* 2*Données issues des tableaux OVALIDE [2.V.VSE] de `r periode`* 3*Données issues des tableaux OVALIDE [2.V.VCCAM] de `r periode`* 4*Données issues des tableaux OVALIDE [2.V.VNGAP] de `r periode`* ## Nombre de Suppléments valorisés, Performance et Valorisation des séjours non envoyés ```{r tab15} OvalideP$UMAS %>% full_join(Ovalide$UMAS, by = "A") %>% mutate(C = B.y - B.x, D = (B.y - B.x) / B.x) %>% datatable(rownames = F, extensions = "Buttons", colnames = c(previous, current, "Évolution (n)", "Évolution")) %>% formatCurrency(2:4, currency = "", interval = 3, mark = " ", digits = 0) %>% formatPercentage(5, digits = 2) ``` *Données issues des tableaux OVALIDE [1.V.1.UMAS] E de `r periode`* ## Prix Moyen du Cas Traité\* de l'année en cours et de l'année précédente ```{r tab16} OvalideP$SVB %>% mutate(B = C/B) %>% select(-C) %>% full_join(Ovalide$SVB %>% mutate(B = C/B) %>% select(-C), by = "A") %>% mutate(C = B.y - B.x, D = (B.y - B.x) / (B.x)) %>% datatable(escape = F, extensions = "Buttons", rownames = F, colnames = c("Type de séjours", previous, current, "Évolution (€)", "Évolution")) %>% formatPercentage(5, digits = 2) %>% formatCurrency(2:4, currency = "", interval = 3, mark = " ", digits = 2, dec.mark = ",") ``` *Données issues des tableaux OVALIDE [1.V.1.SV] B de `r periode`* _\* Prix Moyen du Cas Traité = Total valorisation / nombre de RSA valorisés_ ## Estimation de la valorisation des séjours non transmis de l'année en cours ```{r tab17} exhau_pims %>% filter(is.na(DP), Duree == 0) %>% distinct(RSS) %>% nrow -> zero exhau_pims %>% filter(is.na(DP), Duree > 0) %>% distinct(RSS) %>% nrow -> plus data.frame(zero = c(zero, Ovalide$SVB$C[3]/Ovalide$SVB$B[3], zero * Ovalide$SVB$C[3]/Ovalide$SVB$B[3]), plus = c(plus, Ovalide$SVB$C[2]/Ovalide$SVB$B[2], plus * Ovalide$SVB$C[2]/Ovalide$SVB$B[2])) %>% datatable(escape = F, extensions = "Buttons", rownames = c("Nombre", "PMCT*", "Valorisation"), colnames = c("Indicateur", "0 jour", "Plus de 0 jour")) %>% formatCurrency(1:2, currency = "", interval = 3, mark = " ", digits = 2, dec.mark = ",") rm(plus, zero) ``` *Données issues de la requête BO «`r current`» et des tableaux OVALIDE [1.V.1.SV] B de `r periode`* _\* Prix Moyen du Cas Traité = Total valorisation / nombre de RSA valorisés_ ## Indice de performance de la durée moyenne de séjours (IP-DMS) de l'année en cours et de l'année précédente ```{r tab18} if (nrow(Ovalide$EDMS) == 6) { IP_current <- (Ovalide$EDMS[[1, 2]] + Ovalide$EDMS[[4, 2]]) / (Ovalide$EDMS[[2, 2]] + Ovalide$EDMS[[5, 2]]) IP_previous <- (OvalideP$EDMS[[1, 2]] + OvalideP$EDMS[[4, 2]]) / (OvalideP$EDMS[[2, 2]] + OvalideP$EDMS[[5, 2]]) } else { IP_current <- Ovalide$EDMS[[1, 2]] / Ovalide$EDMS[[2, 2]] IP_previous <- OvalideP$EDMS[[1, 2]] / OvalideP$EDMS[[2, 2]] } data_frame(IP_previous, IP_current) %>% datatable(rownames = "Indice de performance", extensions = "Buttons", colnames = c(previous, current)) %>% formatCurrency(1:2, currency = "", digits = 3, dec.mark = ",") rm(IP_previous, IP_current) ``` *Données issues des tableaux OVALIDE [1.D2.EDMS] de `r periode`* _\* Nb de journées / Nb de journées standardisées sur la DMS théorique_