--- title: "Vers la database avec pmeasyr" author: "Guillaume Pressiat" date: 16/09/2017 output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{database migration with pmeasyr} %\VignetteEngine{knitr::rmarkdown} \usepackage[utf8]{inputenc} --- ```{r eval = F} library(pmeasyr) library(dplyr, warn.conflicts = F) library(dbplyr) library(DBI) ``` ### 0 - Definir l'objet de connexion a la db #### 0.1 - Connexion à une db MonetDBLite ```{r eval = F} dbdir <- "~/Documents/data/monetdb" con <- src_monetdblite(dbdir) ``` #### 0.2 - Connexion à une db SQLite ```{r eval = F} dbdir <- "~/Documents/data/sqlite/pmsi.sqlite" con <- src_sqlite(dbdir) ``` #### 0.3 - Connexion à une db PostgreSQL ```{r eval = F} con <- src_postgres(user = "gui", password = "gui", dbname = "aphp", host = "localhost", port = 5432) ``` ### 1 - Definir le noyau de parametres pmeasyr ```{r, eval = F} # noyau_skeleton() p <- noyau_pmeasyr( finess = '750712184', annee = 2016, mois = 12, path = '~/Documents/data/mco', progress = F, tolower_names = T, # choix de noms de colonnes minuscules : T / F n_max = 1e4, # on limite la lecture a un petit nombre de lignes pour tester d'abord lib = F) ``` ### 2 - Integrer les tables pmsi dans la db a laquelle on est connecte #### MCO Avec les fonctions `db_mco_in` et `db_mco_out`, les tables rum, actes et diagnostics des rums, les tables rsa, actes, diagnostics et passages um et ano des rsa sont integrees dans la db, avec le fichier tra accole. ```{r, eval = F} # Tables mco in 2011 purrr::quietly(db_mco_in)(con, p, annee = 2011) -> ok # on analyse l'objet ok ensuite : ok ? # ... 2012 -- 2015 purrr::quietly(db_mco_in)(con, p, annee = 2016) -> ok # on analyse l'objet ok ensuite : .. # Tables mco out 2016 purrr::quietly(db_mco_out)(con, p, annee = 2016) -> ok # on analyse l'objet ok ensuite : .. # ... ``` #### RSF Avec la fonction `db_rsf_out`, tous les rafael du out sont integrees dans la db, un par table (A, B, C, etc) et la table ano-ace. ```{r, eval = F} p$path <- "~/Documents/data/rsf" # Tables rsf out 2016 purrr::quietly(db_rsf_out)(con, p, annee = 2016) -> ok # on analyse l'objet ok ensuite : .. ``` #### Table par table Un exemple pour la table rapss de l'had. ```{r, eval = F} # Exemple en had p$path <- "~/Documents/data/had" irapss(p, annee = 2015) -> tables_had # Table had rapss 2015 purrr::quietly(db_generique)(con, an = 15, table = tables_had$rapss, prefix = 'had', suffix = 'rapss_rapss') -> ok # had_15_rapss_rapss ``` ### 3 - Connections Tab dans RStudio Pour pouvoir profiter de l'onglet [Connections](https://db.rstudio.com) dans RStudio v1.1, vous pouvez définir l'objet `con` comme suit : ```{r, eval = F} con <- DBI::dbConnect(odbc::odbc(), "PostgreSQL") con <- dbplyr::src_dbi(con) ``` Et vous pourrez alors naviguer dans les 1 000 premières lignes de chacune des tables.