Browse Source

Retrait des fichiers de script et de données

master
Maxime Wack 7 years ago
parent
commit
036477883f
3 changed files with 0 additions and 142 deletions
  1. +0
    -136
      donnees.R
  2. +0
    -4
      donnees.sh
  3. +0
    -2
      render.sh

+ 0
- 136
donnees.R View File

@@ -1,136 +0,0 @@
source("functionsOvalide.R")
library(lubridate)
library(RMySQL)

# Récupération des arguments pour utilisation non interactive ----
arguments <- commandArgs()
if (length(arguments) != 13)
{
print ("Usage : donnees.sh CHUuser CHUpass ATIHuser ATIHpass LivenneUser LivennePass annee mois")
quit()
} else
{
CHUuser <- arguments[6]
CHUpass <- arguments[7]
ATIHuser <- arguments[8]
ATIHpass <- arguments[9]
user <- arguments[10]
password <- arguments[11]
annee <- as.numeric(arguments[12])
mois <- as.numeric(arguments[13])
}

# Récupération des fichiers ePMSI ----
print("1/9 - Connexion à ePMSI")
connectOvalide(CHUuser, CHUpass, ATIHuser, ATIHpass)
print(str_c("2/9 - Téléchargement du tableau de", mois, annee, sep = " "))
getOvalide(CHUuser, CHUpass, annee, mois)
print(str_c("3/9 - Téléchargement du tableau de", mois, annee - 1, sep = " "))
getOvalide(CHUuser, CHUpass, annee - 1, mois)

# Extraction des données des fichiers ePMSI ----
print("4/9 - Extraction des tableaux ePMSI")
read.csv2("listOvalide.csv") %>%
{
apply(., 1, . %>%
{
df <- extractOvalide(annee, mois, .[2], .[3])
names(df) <- LETTERS[1:length(df)]
df
}) ->> Ovalide
names(Ovalide) <<- .$name

apply(., 1, . %>%
{
df <- extractOvalide(annee - 1, mois, .[2], .[3])
names(df) <- LETTERS[1:length(df)]
df
}) ->> OvalideP
names(OvalideP) <<- .$name
}

# Récupération des données ePMSI de 2015 fusionnées CCEG-CHU ----
if (annee == 2016)
{
load("Ovalide.Rdata")
OvalideP <- CCEGCHU2015[[str_c("mois", mois, sep = "")]]
rm("CCEGCHU2015")
}

# Nettoyage des fichiers extraits. Les archives sont conservées. ----
unlink(str_c("OVALIDE T2A.MCO.DGF", annee, mois, "html", sep = "."))
unlink(str_c("OVALIDE T2A.MCO.DGF", annee - 1, mois, "html", sep = "."))

# RUM + structure + calcul durée de séjour ----
print("5/9 - LIVENNE : RUM et structure")
src_mysql("pmsi_dim", "localhost", user = user, password = password) %>%
tbl(sql("SELECT finess, idhosp, idrss, idrum, date_entree, date_sortie, cmd, um FROM fix116
UNION
SELECT finess, idhosp, idrss, idrum, date_entree, date_sortie, cmd, um FROM fix117")) %>%
collect(n = Inf) %>%
mutate(date_entree = date_entree %>% as.Date,
date_sortie = date_sortie %>% as.Date) %>%
left_join(src_mysql("pmsi_dim_nom", "localhost", user = user, password = password) %>%
tbl("structure") %>%
filter(um != "") %>%
select(uf_date_ferm, um, service_libelle, pole_libelle) %>%
arrange(um, uf_date_ferm) %>%
distinct %>%
collect(n = Inf) %>%
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(finess == "540000031", str_c("m", idrss), idrss)) %>% # maternité
mutate(idrss = ifelse(finess == "540020112", str_c("c", idrss), idrss)) %>% # CCEG
mutate(idhosp = idhosp %>% str_replace_all(" ", "")) %>%
mutate(duree_rum = date_sortie - date_entree) %>% # durée rum
left_join(group_by(., idrss) %>%
summarise(duree_rss = sum(duree_rum))) -> rum

# CLOS14 Hémato ----
rum %<>%
mutate(pole_libelle = ifelse(pole_libelle == "CLOS14 HEMATOLOGIE", "SPECIALITES MEDICALES", pole_libelle),
service_libelle = ifelse(service_libelle == "CLOS14 HEMATO.S.INTENSIFS", "SERVICE HEMATOLOGIE", service_libelle))

# Création des RSSs des 3 dernières années à partir des RUMs ----
print("6/9 - Création des RSS")
rum %>%
group_by(idrss) %>%
filter(idrum == max(idrum)) %>%
ungroup %>%
mutate(annee_sortie = year(date_sortie),
mois_sortie = month(date_sortie)) %>%
filter(annee_sortie > annee - 3) -> rss

# Sélection uniquement des RUMs appartenant aux RSS ----
print("7/9 - Sélection des RUMs")
rum %<>%
right_join(rss %>% select(idrss, annee_sortie, mois_sortie))

# Exhaustivité ----
print("8/9 - Exhaustivité")
exhau_pims <- read_csv("exhau_pims.csv")
names(exhau_pims) <- c("Pole", "Service", "RUM", "DP", "Erreur", "Sortie", "Duree", "RSS")

exhau_pims %<>%
mutate(Sortie = Sortie %>% as.Date) %>%
filter(month(Sortie) <= mois)

dbConnect(MySQL(), host = "localhost", dbname = "pmsi_dim", user = user, password = password) %>%
dbWriteTable("exhaustivite", data.frame(annee = annee, mois = mois, nb_rss_tot = exhau_pims %>% distinct(RSS, .keep_all = T) %>% nrow, nb_rss_manq = exhau_pims %>% filter(is.na(DP)) %>% distinct(RSS) %>% nrow), row.names = F, append = T)

an <- annee

src_mysql("pmsi_dim", "localhost", user = user, password = password) %>%
tbl("exhaustivite") %>%
collect(n = Inf) %>%
filter(annee == an) %>%
full_join(data.frame(mois = 1:12), by = "mois") %>%
select(annee, mois, rss = nb_rss_tot, manq = nb_rss_manq) -> exhau

# Écriture des données ----
print("9/9 - Écriture des données")

save(Ovalide, OvalideP, annee, mois, rum, rss, exhau, exhau_pims, file = "donnees.Rdata")

+ 0
- 4
donnees.sh View File

@@ -1,4 +0,0 @@
#!/bin/bash

R --vanilla --quiet --slave --args $1 $2 $3 $4 $5 $6 $7 $8 < donnees.R


+ 0
- 2
render.sh View File

@@ -1,2 +0,0 @@
#!/bin/bash
R --vanilla -e 'rmarkdown::render("cloture.Rmd")'

Loading…
Cancel
Save