Browse Source

Codages manquants (exhaustivité)

master
Maxime Wack 8 years ago
parent
commit
dab801b158
1 changed files with 31 additions and 13 deletions
  1. +31
    -13
      donnees.R

+ 31
- 13
donnees.R View File

@@ -8,6 +8,7 @@ date <- "04/12/2015"
user <- ""
password <- ""

# Ovalide
read.csv2("listOvalide.csv") %>%
{
apply(., 1, . %>%
@@ -27,6 +28,7 @@ read.csv2("listOvalide.csv") %>%
names(OvalideP) <<- .$name
}

# RUM + structure + calcul durée de séjour
src_mysql("pmsi_dim", "livenne.chu-nancy.fr", user = user, password = password) %>%
tbl(sql("SELECT idhosp, idrss, idrum, date_entree, date_sortie, cmd, um FROM fix116
UNION
@@ -36,7 +38,7 @@ src_mysql("pmsi_dim", "livenne.chu-nancy.fr", user = user, password = password)
date_sortie = date_sortie %>% as.Date,
annee_sortie = year(date_sortie),
mois_sortie = month(date_sortie)) %>%
filter(annee_sortie > annee - 3) %>% # Données rum/rss depuis 3 ans
filter(annee_sortie > annee - 3) %>% # Données rum/rss depuis 3 ans
left_join(src_mysql("pmsi_dim_nom", "livenne.chu-nancy.fr", user = user, password = password) %>%
tbl("structure") %>%
filter(um != "") %>%
@@ -44,29 +46,45 @@ src_mysql("pmsi_dim", "livenne.chu-nancy.fr", user = user, password = password)
arrange(um, uf_date_ferm) %>%
distinct %>%
collect %>%
add_rownames(var = "dummy") %>% # Dédoublonnage : 1 um -> 1 couple libellés
add_rownames(var = "dummy") %>% # Dédoublonnage : 1 um -> 1 couple libellés
group_by(um) %>%
filter(dummy == last(dummy)) %>%
select(-dummy, -uf_date_ferm) %>%
ungroup) %>%
mutate(idrss = ifelse(idhosp %>% str_detect("^13"), str_c("m", idrss), idrss)) %>% # Dédoublonnage rss maternité 2013
ungroup) %>%
mutate(idrss = ifelse(idhosp %>% str_detect("^13"), str_c("m", idrss), idrss)) %>% # Dédoublonnage rss maternité 2013
mutate(idhosp = idhosp %>% str_replace_all(" ", "")) %>%
mutate(duree_rum = date_sortie - date_entree) %>% # durée rum
mutate(duree_rum = date_sortie - date_entree) %>% # durée rum
left_join(group_by(., idrss) %>%
summarise(duree_rss = sum(duree_rum))) -> rum

# GAM et structure --> hospit non codées
src_mysql("pmsi_dim", "livenne.chu-nancy.fr", user = user, password = password) %>%
tbl("mvt_gam") %>%
select(idhosp, date_entree, date_sortie, uf) %>%
filter(date_sortie != "") %>%
select(idhosp, date_entree, date_sortie, uf, pass_typ, type_resp) %>%
filter(pass_typ != "EXT",
type_resp == "H") %>%
distinct %>%
collect %>%
mutate(date_entree = as.Date(date_entree),
date_sortie = as.Date(date_sortie)) %>%
filter(date_sortie >= as.Date(str_c(annee, "01", "01", sep = "-")),
date_sortie < as.Date(str_c(annee, mois, "01", sep = "-")) + period(1, "month")) %>%
distinct -> gam

gam %>%
anti_join(rum, by="idhosp")
anti_join(filter(., is.na(date_sortie) | date_sortie >= as.Date(str_c(annee, mois, "01", sep = "-")) + period(1, "month")),
by = "idhosp") %>% # supprimer séjours non terminés à la fin de la période étudiée
filter(date_sortie >= as.Date(str_c(annee, "01", "01", sep = "-"))) %>%
select(-pass_typ, -type_resp) %>%
left_join(src_mysql("pmsi_dim_nom", "livenne.chu-nancy.fr", user = user, password = password) %>%
tbl("structure") %>%
filter(um != "") %>%
select(uf, service, service_libelle, pole, pole_libelle) %>%
distinct %>%
collect, by = "uf") %>%
anti_join(rum, by="idhosp") %>% # supprimer séjours codés
arrange(idhosp, date_sortie) %>%
filter(!(service %in% c("5110", "5140", "1700", "1170", "1600", "2350")),
!is.na(service)) %>%
group_by(idhosp) %>%
summarise(date_entree = first(date_entree),
date_sortie = last(date_sortie),
service_libelle= last(service_libelle),
pole_libelle = last(pole_libelle)) -> gam

save(Ovalide, OvalideP, annee, mois, rum, gam, date, file = "donnees.Rdata")

Loading…
Cancel
Save