You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

638 lines
22KB

  1. ```{r init, echo = F, message = F}
  2. library(DT)
  3. library(ggplot2)
  4. library(knitr)
  5. library(tidyr)
  6. library(stringr)
  7. library(dplyr)
  8. opts_chunk$set(echo = F,
  9. message = F,
  10. error = F,
  11. warning = F,
  12. fig.width = 12,
  13. fig.height = 7)
  14. options(DT.options = list(paging = F,
  15. searching = F,
  16. info = ""))
  17. ```
  18. ```{r data}
  19. load("donnees.Rdata")
  20. mois_label <- c("Janvier",
  21. "Février",
  22. "Mars",
  23. "Avril",
  24. "Mai",
  25. "Juin",
  26. "Juillet",
  27. "Août",
  28. "Septembre",
  29. "Octobre",
  30. "Novembre",
  31. "Décembre")
  32. sprintf("%02.f", mois) %>%
  33. {
  34. previous <<- str_c("M", ., "-", annee - 1)
  35. current <<- str_c("M", ., "-", annee)
  36. periode <<- str_c(previous, " et de ", current)
  37. }
  38. ```
  39. # Outils informatiques
  40. ```{r outils}
  41. data_frame(Logiciels = c("Fichsup",
  42. "Genrsa",
  43. "Magic",
  44. "Preface"),
  45. `N° de version` = c("9.4.1",
  46. "11.6.6.2",
  47. "4.5.0.0",
  48. "2.2.3.0")) %>%
  49. datatable(rownames = F)
  50. ```
  51. # Calendrier
  52. ```{r calendrier}
  53. data_frame(Dates = rep(date, 5),
  54. `Évènement` = c("Clôture et arrêté des données Webpims, Extraction Webpims",
  55. "Création des fichiers, vérifications et corrections",
  56. "Traitements réglementaires, vérifications et corrections",
  57. "Retour traitement e-PMSI",
  58. "Validation de l'envoi")) %>%
  59. datatable(rownames = F)
  60. ```
  61. # Nombre total de RUM et de RSS transmis
  62. **Tableau 1 : Nombre de RUM et de RSS transmis pour la clôture**
  63. ```{r tab1}
  64. rum %>%
  65. filter(annee_sortie == annee) %>%
  66. tally %>%
  67. bind_rows(rum %>%
  68. filter(annee_sortie == annee) %>%
  69. distinct(idrss) %>%
  70. tally) %>%
  71. datatable(rownames = c("RUM", "RSS"),
  72. colnames = c("Type de résumé", "Nombre produit"))
  73. ```
  74. # Nombre de RUM et de RSS transmis par mois pour les 3 dernières années
  75. **Tableau 2a : Nombre de RUM transmis par mois pour les 3 dernières années**
  76. ```{r tab2a}
  77. rum %>%
  78. group_by(annee_sortie, mois_sortie) %>%
  79. tally %>%
  80. spread(annee_sortie, n) %>%
  81. bind_rows(filter(., mois_sortie <= mois) %>%
  82. select(-mois_sortie) %>%
  83. summarise_each(funs(sum))) %>%
  84. bind_rows(filter(., mois_sortie <= 12) %>%
  85. select(-mois_sortie) %>%
  86. summarise_each(funs(sum))) %>%
  87. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>%
  88. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>%
  89. select(-mois_sortie) %>%
  90. datatable(rownames = c(mois_label, "Total clôture", "Total M12")) %>%
  91. formatPercentage(c(4,5), digits = 2)
  92. ```
  93. **Figure 2a : Nombre de RUM transmis par mois pour les 3 dernières années**
  94. ```{r fig2a}
  95. rum %>%
  96. group_by(annee_sortie, mois_sortie) %>%
  97. tally %>%
  98. ungroup %>%
  99. ggplot +
  100. aes(x = mois_sortie,
  101. y = n,
  102. color = annee_sortie %>% factor,
  103. shape = annee_sortie %>% factor) +
  104. scale_x_discrete(labels = mois_label) +
  105. geom_line() +
  106. geom_point() +
  107. labs(x = NULL,
  108. y = NULL,
  109. title = "RUM") +
  110. theme(axis.text.x = element_text(angle = 45, hjust = 1),
  111. legend.title = element_blank(),
  112. plot.title = element_text(hjust = 0))
  113. ```
  114. Données issues du tableau 2a
  115. **Tableau 2b : Nombre de RSS transmis par mois pour les 3 dernières années**
  116. ```{r tab2b}
  117. rum %>%
  118. distinct(idrss) %>%
  119. group_by(annee_sortie, mois_sortie) %>%
  120. tally %>%
  121. spread(annee_sortie, n) %>%
  122. bind_rows(filter(., mois_sortie <= mois) %>%
  123. select(-mois_sortie) %>%
  124. summarise_each(funs(sum))) %>%
  125. bind_rows(filter(., mois_sortie <= 12) %>%
  126. select(-mois_sortie) %>%
  127. summarise_each(funs(sum))) %>%
  128. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>%
  129. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>%
  130. select(-mois_sortie) %>%
  131. datatable(rownames = c(mois_label, "Total clôture", "Total M12")) %>%
  132. formatPercentage(c(4,5), digits = 2)
  133. ```
  134. **Figure 2b : Nombre de RSS transmis par mois pour les 3 dernières années**
  135. ```{r fig2b}
  136. rum %>%
  137. distinct(idrss) %>%
  138. group_by(annee_sortie, mois_sortie) %>%
  139. tally %>%
  140. ungroup %>%
  141. ggplot +
  142. aes(x = mois_sortie,
  143. y = n,
  144. color = annee_sortie %>% factor,
  145. shape = annee_sortie %>% factor) +
  146. scale_x_discrete(labels = mois_label) +
  147. geom_line() +
  148. geom_point() +
  149. labs(x = NULL,
  150. y = NULL,
  151. title = "RSS") +
  152. theme(axis.text.x = element_text(angle = 45, hjust = 1),
  153. legend.title = element_blank(),
  154. plot.title = element_text(hjust = 0))
  155. ```
  156. Données issues du tableau 2b
  157. # Nombre de RSS transmis par mois et par type de séjours pour les 3 dernières années
  158. **Tableau 3a : Nombre de RSS de 1 jour et plus transmis par mois pour les 3 dernières années**
  159. ```{r tab3a}
  160. rum %>%
  161. distinct(idrss) %>%
  162. filter(duree_rss >= 1) %>%
  163. group_by(annee_sortie, mois_sortie) %>%
  164. tally %>%
  165. spread(annee_sortie, n) %>%
  166. bind_rows(filter(., mois_sortie <= mois) %>%
  167. select(-mois_sortie) %>%
  168. summarise_each(funs(sum))) %>%
  169. bind_rows(filter(., mois_sortie <= 12) %>%
  170. select(-mois_sortie) %>%
  171. summarise_each(funs(sum))) %>%
  172. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>%
  173. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>%
  174. select(-mois_sortie) %>%
  175. datatable(rownames = c(mois_label, "Total clôture", "Total M12")) %>%
  176. formatPercentage(c(4,5), digits = 2)
  177. ```
  178. **Figure 3a : Nombre de RSS de 1 jour et plus transmis par mois pour les 3 dernières années**
  179. ```{r fig3a}
  180. rum %>%
  181. distinct(idrss) %>%
  182. filter(duree_rss >= 1) %>%
  183. group_by(annee_sortie, mois_sortie) %>%
  184. tally %>%
  185. ungroup %>%
  186. ggplot +
  187. aes(x = mois_sortie,
  188. y = n,
  189. color = annee_sortie %>% factor,
  190. shape = annee_sortie %>% factor) +
  191. scale_x_discrete(labels = mois_label) +
  192. geom_line() +
  193. geom_point() +
  194. labs(x = NULL,
  195. y = NULL,
  196. title = "RSS de 1 jour et +") +
  197. theme(axis.text.x = element_text(angle = 45, hjust = 1),
  198. legend.title = element_blank(),
  199. plot.title = element_text(hjust = 0))
  200. ```
  201. Données issues du tableau 3a
  202. **Tableau 3b : Nombre de RSS de 0 jour (hors séances) transmis par mois pour les 3 dernières années**
  203. ```{r tab3b}
  204. rum %>%
  205. distinct(idrss) %>%
  206. filter(duree_rss == 0, cmd != 28) %>%
  207. group_by(annee_sortie, mois_sortie) %>%
  208. tally %>%
  209. spread(annee_sortie, n) %>%
  210. bind_rows(filter(., mois_sortie <= mois) %>%
  211. select(-mois_sortie) %>%
  212. summarise_each(funs(sum))
  213. ) %>%
  214. bind_rows(filter(., mois_sortie <= 12) %>%
  215. select(-mois_sortie) %>%
  216. summarise_each(funs(sum))
  217. ) %>%
  218. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>%
  219. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>%
  220. select(-mois_sortie) %>%
  221. datatable(rownames = c(mois_label, "Total clôture", "Total M12")) %>%
  222. formatPercentage(c(4,5), digits = 2)
  223. ```
  224. **Figure 3b : Nombre de RSS de 0 jour (hors séances) transmis par mois pour les 3 dernières années**
  225. ```{r fig3b}
  226. rum %>%
  227. distinct(idrss) %>%
  228. filter(duree_rss == 0, cmd != 28) %>%
  229. group_by(annee_sortie, mois_sortie) %>%
  230. tally %>%
  231. ungroup %>%
  232. ggplot +
  233. aes(x = mois_sortie,
  234. y = n,
  235. color = annee_sortie %>% factor,
  236. shape = annee_sortie %>% factor) +
  237. scale_x_discrete(labels = mois_label) +
  238. geom_line() +
  239. geom_point() +
  240. labs(x = NULL,
  241. y = NULL,
  242. title = "RSS de 0 jour, hors séances") +
  243. theme(axis.text.x = element_text(angle = 45, hjust = 1),
  244. legend.title = element_blank(),
  245. plot.title = element_text(hjust = 0))
  246. ```
  247. Données issues du tableau 3b
  248. **Tableau 3c : Nombre de RSS de séance transmis par mois pour les 3 dernières années**
  249. ```{r tab3c}
  250. rum %>%
  251. distinct(idrss) %>%
  252. filter(duree_rss == 0, cmd == 28) %>%
  253. group_by(annee_sortie, mois_sortie) %>%
  254. tally %>%
  255. spread(annee_sortie, n) %>%
  256. bind_rows(filter(., mois_sortie <= mois) %>%
  257. select(-mois_sortie) %>%
  258. summarise_each(funs(sum))) %>%
  259. bind_rows(filter(., mois_sortie <= 12) %>%
  260. select(-mois_sortie) %>%
  261. summarise_each(funs(sum))) %>%
  262. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>%
  263. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>%
  264. select(-mois_sortie) %>%
  265. datatable(rownames = c(mois_label, "Total clôture", "Total M12")) %>%
  266. formatPercentage(c(4,5), digits = 2)
  267. ```
  268. **Figure 3c : Nombre de RSS de séance transmis par mois pour les 3 dernières années**
  269. ```{r fig3c}
  270. rum %>%
  271. distinct(idrss) %>%
  272. filter(duree_rss == 0, cmd == 28) %>%
  273. group_by(annee_sortie, mois_sortie) %>%
  274. tally %>%
  275. ungroup %>%
  276. ggplot +
  277. aes(x = mois_sortie,
  278. y = n,
  279. color = annee_sortie %>% factor,
  280. shape = annee_sortie %>% factor) +
  281. scale_x_discrete(labels = mois_label) +
  282. geom_line() +
  283. geom_point() +
  284. labs(x = NULL,
  285. y = NULL,
  286. title = "RSS de séances") +
  287. theme(axis.text.x = element_text(angle = 45, hjust = 1),
  288. legend.title = element_blank(),
  289. plot.title = element_text(hjust = 0))
  290. ```
  291. Données issues du tableau 3c
  292. # Nombre de RUM transmis par pôle pour les 3 dernières années
  293. **Tableau 4 : Nombre de RUM transmis par pôle depuis le début de l'année, pour les 3 dernières années**
  294. ```{r tab4}
  295. rum %>%
  296. filter(mois_sortie <= mois) %>%
  297. group_by(pole_libelle, annee_sortie) %>%
  298. tally %>%
  299. ungroup %>%
  300. spread(annee_sortie, n) %>%
  301. bind_rows(select(., -pole_libelle) %>%
  302. summarise_each(funs(sum(., na.rm = T))) %>%
  303. mutate(pole_libelle = "TOTAL")) %>%
  304. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 2,"`)/`", annee - 2,"`"), str_c(annee, "-", annee - 2))) %>%
  305. mutate_(.dots = setNames(str_c("(`",annee,"`-`", annee - 1,"`)/`", annee - 1,"`"), str_c(annee, "-", annee - 1))) %>%
  306. datatable(colnames = c("Pôle" = 1), rownames = F) %>%
  307. formatPercentage(c(5,6), digits = 2)
  308. ```
  309. **Figure 4 : Nombre de RUM transmis par pôle depuis le début de l'année, pour les 3 dernières années**
  310. ```{r fig4}
  311. rum %>%
  312. filter(mois_sortie <= mois) %>%
  313. group_by(pole_libelle, annee_sortie) %>%
  314. tally %>%
  315. ungroup %>%
  316. ggplot +
  317. aes(x = annee_sortie,
  318. y = n,
  319. color = pole_libelle) +
  320. scale_x_continuous(breaks = (annee - 2):annee) +
  321. facet_wrap(~ pole_libelle, scales = "free") +
  322. geom_point() +
  323. geom_line() +
  324. labs(x = NULL,
  325. y = NULL,
  326. title = "RUM par pôle") +
  327. theme(legend.position = "none",
  328. plot.title = element_text(hjust = 0))
  329. ```
  330. Données issues du tableau 4
  331. # Exhaustivité des RUM et des RSS en fonction du mois et de l'année de clôture
  332. **Tableau 5 : Nombre de RUM et de RSS produits et transmis, et taux d'exhaustivité**
  333. ```{r tab5}
  334. ```
  335. **Figure 5a**
  336. ```{r fig5a}
  337. ```
  338. **Figure 5b**
  339. ```{r fig5b}
  340. ```
  341. **Figure 5c**
  342. ```{r fig5c}
  343. ```
  344. # Exhaustivité des RSS au moment de la clôture pour les 2 dernières années
  345. **Figure 6**
  346. ```{r fig6}
  347. ```
  348. # Exhaustivité mensuelle de la clôture
  349. **Figure 7 : Taux d'exhaustivité des RSS pour la clôture actuelle selon le mois de sortie du RSS**
  350. ```{r fig7}
  351. ```
  352. **Figure 8 : Nombre de RSS manquants pour la clôture actuelle selon le mois de sortie du RSS**
  353. ```{r fig8}
  354. ```
  355. # Exhaustivité par pôle et par service
  356. **Tableau 9 : Nombre de RUM et taux d'exhaustivité par pole et par service**
  357. ```{r fig9}
  358. ```
  359. # Nombre et valorisation des RSA transmis, traités et valorisés
  360. **Tableau 10 : Nombre de RSA transmis et valorisés de l'année en cours et de l'année précédente**
  361. ```{r tab10}
  362. Ovalide$SVA %>%
  363. full_join(OvalideP$SVA, by = "A") %>%
  364. datatable(rownames = F,
  365. escape = F,
  366. container = htmltools::withTags(table(class = 'display',
  367. thead(tr(th(rowspan = 2, "RSA"),
  368. th(colspan = 2, current),
  369. th(colspan = 2, previous)),
  370. tr(th("Effectif"),
  371. th("Montant BR"),
  372. th("Effectif"),
  373. th("Montant BR"))
  374. )
  375. ))) %>%
  376. formatCurrency(c(3,5), currency = "", interval = 3, mark = "&nbsp;", digits = 2, dec.mark = ",")
  377. ```
  378. Données issues des tableaux OVALIDE [1.V.1.SV] A de `r periode`
  379. # Valorisation des RSA non pris en charge par l'Assurance Maladie
  380. **Tableau 11 : Valorisation des RSA supprimés de l'année en cours et de l'année précédente**
  381. ```{r tab11}
  382. Ovalide$VSS %>% select(1:3) %>%
  383. full_join(OvalideP$VSS %>% select(1:3), by = "A") %>%
  384. datatable(rownames = F,
  385. container = htmltools::withTags(table(class = 'display',
  386. thead(tr(th(rowspan = 2, "Composante"),
  387. th(colspan = 2, current),
  388. th(colspan = 2, previous)),
  389. tr(th("Effectif"),
  390. th("Montant BR"),
  391. th("Effectif"),
  392. th("Montant BR"))
  393. )
  394. )
  395. )) %>%
  396. formatCurrency(c(3,5), currency = "", interval = 3, mark = "&nbsp;", digits = 2, dec.mark = ",")
  397. ```
  398. Données issues des tableaux [1.V.1.VSS] A de `r periode`
  399. # Taux de remboursement des RSA pris en charge par l'Assurance Maladie
  400. **Tableau 12 : Taux de remboursement des séjours de l'année en cours et de l'année précédente**
  401. ```{r tab12}
  402. Ovalide$TXR %>%
  403. full_join(OvalideP$TXR, by = c("A", "B")) %>%
  404. datatable(rownames = F,
  405. container = htmltools::withTags(table(class = 'display',
  406. thead(tr(th(rowspan = 2, "Taux de remboursement"),
  407. th(rowspan = 2, "Type"),
  408. th(colspan = 2, current),
  409. th(colspan = 2, previous)),
  410. tr(th("Effectif"),
  411. th("%"),
  412. th("Effectif"),
  413. th("%"))
  414. )
  415. )
  416. )) %>%
  417. formatCurrency(c(4, 6), digits = 2, currency = "", dec.mark = ",")
  418. ```
  419. _\* Séjours de NN, radiothérape ou PO_
  420. Données issues des tableaux OVALIDE [1.V.1.TXR] C de `r periode`
  421. # Valorisation des RSA pris en charge par l'Assurance Maladie
  422. **Tableau 13 : Détail de la valorisation des séjours et séances pris en charge par l'Assurance Maladie de l'année en cours et de l'année précédente**
  423. ```{r tab13}
  424. Ovalide$RAV[-(1:2), c(1,4:6)] %>%
  425. full_join(OvalideP$RAV[-(1:2), c(1,4:6)], by = "A") %>%
  426. mutate(D.z = (D.x - D.y) / D.y,
  427. E.z = (E.x - E.y) / E.y,
  428. F.z = (F.x - F.y) / F.y) %>%
  429. .[names(.) %>% sort] %>%
  430. datatable(rownames = F,
  431. escape = F,
  432. container = htmltools::withTags(table(class = 'display',
  433. thead(tr(th(rowspan = 2, "Composante"),
  434. th(colspan = 2, "Montant BR¹"),
  435. th(rowspan = 2, "Evol. montant BR¹"),
  436. th(colspan = 2, "Montant CP²"),
  437. th(rowspan = 2, "Evol. montant CP²"),
  438. th(colspan = 2, "Montant remboursé AM³"),
  439. th(rowspan = 2, "Evol. montant remboursé AM³")),
  440. tr(rep(c(current, previous), 3) %>%
  441. lapply(th))
  442. )
  443. )
  444. )) %>%
  445. formatPercentage(c(4, 7, 10), digits = 2) %>%
  446. formatCurrency(c(2, 3, 5, 6, 8, 9), currency = "", interval = 3, mark = "&nbsp;", digits = 2, dec.mark = ",")
  447. ```
  448. <sup>1</sup> Montant Brut
  449. <sup>2</sup> Montant avec Coefficient Prudentiel
  450. <sup>3</sup> Montant Remboursé par l'Assurance Maladie
  451. Données issues des tableaux OVALIDE [1.V.1.RAV] C de `r periode`
  452. # Valorisation des IVG, ATU, SE, actes et consultations
  453. **Tableau 14 : Effectifs et valorisation ACE de l'année en cours et de l'année précédente**
  454. ```{r tab14}
  455. data_frame(A = c(Ovalide$VATU[nrow(Ovalide$VATU), 3:5] %>% unlist,
  456. Ovalide$VSE[nrow(Ovalide$VSE), 3:5] %>% unlist,
  457. Ovalide$VCCAM[nrow(Ovalide$VCCAM), 2:4] %>% unlist,
  458. Ovalide$VNGAP[nrow(Ovalide$VNGAP), 3:5] %>% unlist),
  459. B = c(OvalideP$VATU[nrow(OvalideP$VATU), 3:5] %>% unlist,
  460. OvalideP$VSE[nrow(OvalideP$VSE), 3:5] %>% unlist,
  461. OvalideP$VCCAM[nrow(OvalideP$VCCAM), 2:4] %>% unlist,
  462. OvalideP$VNGAP[nrow(OvalideP$VNGAP), 3:5] %>% unlist)) %>%
  463. mutate(C = A - B,
  464. D = (A - B) / B) %>%
  465. datatable(rownames = str_c(rep(c("Nombre de prestations",
  466. "Valorisation brute",
  467. "Valorisation AM"),4),
  468. rep(c("ATU<sup>1</sup>",
  469. "SE<sup>2</sup>",
  470. "CCAM<sup>3</sup>",
  471. "NGAP<sup>4</sup>"), each = 3), sep = " "),
  472. colnames = c(current, previous, "Évolution (n ou &euro;)", "Évolution"),
  473. escape = F) %>%
  474. formatCurrency(1:3, currency = "", interval = 3, mark = "&nbsp;", digits = 2, dec.mark = ",") %>%
  475. formatPercentage(4, digits = 2)
  476. ```
  477. <sup>1</sup>Données issues des tableaux OVALIDE [2.V.VATU] de `r periode`
  478. <sup>2</sup>Données issues des tableaux OVALIDE [2.V.VSE] de `r periode`
  479. <sup>3</sup>Données issues des tableaux OVALIDE [2.V.VCCAM] de `r periode`
  480. <sup>4</sup>Données issues des tableaux OVALIDE [2.V.VNGAP] de `r periode`
  481. # Nombre de Suppléments valorisés, Performance et Valorisation des séjours non envoyés
  482. **Tableau 15 : Nombre de suppléments valorisés de l'année en cours et de l'année précédente**
  483. ```{r tab15}
  484. Ovalide$UMAS %>%
  485. full_join(OvalideP$UMAS, by = "A") %>%
  486. mutate(C = B.x - B.y,
  487. D = (B.x - B.y) / B.y) %>%
  488. datatable(rownames = F,
  489. colnames = c(current, previous, "Évolution (n)", "Évolution")) %>%
  490. formatCurrency(2:4, currency = "", interval = 3, mark = "&nbsp;", digits = 0) %>%
  491. formatPercentage(5, digits = 2)
  492. ```
  493. Données issues des tableaux OVALIDE [1.V.1.UMAS] E de `r periode`
  494. **Tableau 16 : Prix Moyen du Cas Traité\* de l'année en cours et de l'année précédente**
  495. ```{r tab16}
  496. Ovalide$SVB %>%
  497. mutate(B = C/B) %>%
  498. select(-C) %>%
  499. full_join(OvalideP$SVB %>%
  500. mutate(B = C/B) %>%
  501. select(-C),
  502. by = "A") %>%
  503. mutate(C = B.x - B.y,
  504. D = (B.x - B.y) / (B.y)) %>%
  505. datatable(escape = F,
  506. rownames = F,
  507. colnames = c("Type de séjours", current, previous, "Évolution (&euro;)", "Évolution")) %>%
  508. formatPercentage(5, digits = 2) %>%
  509. formatCurrency(2:4, currency = "", interval = 3, mark = "&nbsp;", digits = 2, dec.mark = ",")
  510. ```
  511. _\* Prix Moyen du Cas Traité = Total valorisation / nombre de RSA valorisés_
  512. Données issues des tableaux OVALIDE [1.V.1.SV] B de `r periode`
  513. **Tableau 17 : Estimation de la valorisation des séjours non transmis de l'année en cours et de l'année précédente**
  514. ```{r tab17}
  515. ```
  516. _\* Prix Moyen du Cas Traité = Total valorisation / nombre de RSA valorisés_
  517. Données issues de la requête BO «`r current`» exécutée le `r date` et des tableaux OVALIDE [1.V.1.SV] B de `r periode`
  518. **Tableau 18 : 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**
  519. ```{r tab18}
  520. Ovalide$EDMS %<>%
  521. filter(A != ".") %>%
  522. mutate(B = B %>% str_replace(",",".")) %>%
  523. mutate(B = B %>% as.numeric)
  524. OvalideP$EDMS %<>%
  525. filter(A != ".") %>%
  526. mutate(B = B %>% str_replace(",",".")) %>%
  527. mutate(B = B %>% as.numeric)
  528. IP_current <- (Ovalide$EDMS[[1, 2]] + Ovalide$EDMS[[4, 2]]) / (Ovalide$EDMS[[2, 2]] + Ovalide$EDMS[[5, 2]])
  529. IP_previous <- (OvalideP$EDMS[[1, 2]] + OvalideP$EDMS[[4, 2]]) / (OvalideP$EDMS[[2, 2]] + OvalideP$EDMS[[5, 2]])
  530. data_frame(IP_current, IP_previous) %>%
  531. datatable(rownames = "Indice de performance",
  532. colnames = c(current, previous)) %>%
  533. formatCurrency(1:2, currency = "", digits = 3, dec.mark = ",")
  534. ```
  535. _\* Nb de journées / Nb de journées standardisées sur la DMS théorique_
  536. Données issues des tableaux OVALIDE [1.D2.EDMS] de `r periode`