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.

59 lines
1.9KB

  1. source("functionsOvalide.R")
  2. library(lubridate)
  3. annee <- 2015
  4. mois <- 10
  5. date <- "04/12/2015"
  6. read.csv2("listOvalide.csv") %>%
  7. {
  8. apply(., 1, . %>%
  9. {
  10. df <- extractOvalide(annee, mois, .[2], .[3])
  11. names(df) <- LETTERS[1:length(df)]
  12. df
  13. }) ->> Ovalide
  14. names(Ovalide) <<- .$name
  15. apply(., 1, . %>%
  16. {
  17. df <- extractOvalide(annee - 1, mois, .[2], .[3])
  18. names(df) <- LETTERS[1:length(df)]
  19. df
  20. }) ->> OvalideP
  21. names(OvalideP) <<- .$name
  22. }
  23. src_mysql("pmsi_dim", "livenne.chu-nancy.fr", user = "u992093", password = "Md;8G4iSm") %>%
  24. tbl(sql("SELECT idhosp, idrss, idrum, date_entree, date_sortie, cmd, um FROM fix116
  25. UNION
  26. SELECT idhosp, idrss, idrum, date_entree, date_sortie, cmd, um FROM fix117")) %>%
  27. collect %>%
  28. mutate(date_entree = date_entree %>% as.Date,
  29. date_sortie = date_sortie %>% as.Date,
  30. annee_sortie = year(date_sortie),
  31. mois_sortie = month(date_sortie)) %>%
  32. filter(annee_sortie > annee - 3) %>% # Données rum/rss depuis 3 ans
  33. left_join( # + libellés pôles et services
  34. src_mysql("pmsi_dim_nom", "livenne.chu-nancy.fr", user = "u992093", password = "Md;8G4iSm") %>%
  35. tbl("structure") %>%
  36. filter(um != "") %>%
  37. select(uf_date_ferm, um, service_libelle, pole_libelle) %>%
  38. arrange(um, uf_date_ferm) %>%
  39. distinct %>%
  40. collect %>%
  41. add_rownames(var = "dummy") %>% # Dédoublonnage : 1 um -> 1 couple libellés
  42. group_by(um) %>%
  43. filter(dummy == last(dummy)) %>%
  44. select(-dummy, -uf_date_ferm) %>%
  45. ungroup
  46. ) %>%
  47. mutate(idrss = ifelse(idhosp %>% str_detect("^13"), str_c("m", idrss), idrss)) %>% # Dédoublonnage rss maternité 2013
  48. select(-idhosp) %>%
  49. mutate(duree_rum = date_sortie - date_entree) %>% # durée rum
  50. left_join( # durée rss
  51. group_by(., idrss) %>%
  52. summarise(duree_rss = sum(duree_rum))
  53. ) -> rum
  54. save(Ovalide, OvalideP, annee, mois, rum, date, file = "donnees.Rdata")