---
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 = "&nbsp;", 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 = "&nbsp;", 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 = "&nbsp;", digits = 2, dec.mark = ",")
```
*Données issues des tableaux OVALIDE [1.V.1.RAV] C de `r periode`*  
<sup>1</sup> Montant Brut  
<sup>2</sup> 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("ATU<sup>1</sup>",
                                   "SE<sup>2</sup>",
                                   "CCAM<sup>3</sup>",
                                   "NGAP<sup>4</sup>"), each = 3), sep = " "),
            colnames = c(previous, current, "Évolution (n ou &euro;)", "Évolution"),
            extensions = "Buttons",
            escape = F) %>%
  formatCurrency(1:3, currency = "", interval = 3, mark = "&nbsp;", digits = 2, dec.mark = ",") %>%
  formatPercentage(4, digits = 2)
```
<sup>1</sup>*Données issues des tableaux OVALIDE [2.V.VATU] de `r periode`*  
<sup>2</sup>*Données issues des tableaux OVALIDE [2.V.VSE] de `r periode`*  
<sup>3</sup>*Données issues des tableaux OVALIDE [2.V.VCCAM] de `r periode`*  
<sup>4</sup>*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 = "&nbsp;", 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 (&euro;)", "Évolution")) %>%
  formatPercentage(5, digits = 2) %>%
  formatCurrency(2:4, currency = "", interval = 3, mark = "&nbsp;", 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 = "&nbsp;", 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_
