Skip to contents

Exemple de requêtes simples

Ce document présente quelques exemples de requêtes simples sur la base de données SNDS. Ces exemples sont effectuées à partir d’une base de données fictive fournie par le package sndsTools.

Le fonctionnement sur le portail est identique sauf pour la connexion à la base de données. Il faut remplacer connect_duckdb() par connect_oracle().

Connexion à la base de données

# Instancier une connexion duckdb
conn <- connect_duckdb() # Remplacer par connect_oracle() sur le portail
## [1] "Le code ne s'exécute pas sur le portail CNAM.\n    Initialisation d'une connexion duckdb en mémoire."
# Charger une base de données fictive SNDS
insert_synthetic_snds(conn) # Ne pas lancer sur le portail
# Afficher les tables disponibles
tables <- DBI::dbListTables(conn)
# Affiche les 10 premières tables
print(tables[1:10])
##  [1] "CT_DEP_AAAA_GN" "CT_IDE_AAAA_GN" "CT_IND_AAAA_GN" "ER_ANO_F"      
##  [5] "ER_ARO_F"       "ER_BIO_F"       "ER_CAM_F"       "ER_CPT_F"      
##  [9] "ER_DCT_F"       "ER_DTR_F"
# Affiche le début de la table principale du DCIR
er_prs_f <- DBI::dbReadTable(conn, "ER_PRS_F")
er_prs_f |>
  dplyr::select(c("BEN_NIR_PSA", "FLX_DIS_DTD", "EXE_SOI_DTD", "PSE_SPE_COD", "PRS_NAT_REF")) |>
  head(5)
##         BEN_NIR_PSA FLX_DIS_DTD EXE_SOI_DTD PSE_SPE_COD PRS_NAT_REF
## 1 WzaLKmWVyVPvZUkvM  1984-08-21  1991-09-28          77        9206
## 2 WzaLKmWVyVPvZUkvM  1997-09-02  2016-11-18          17        7112
## 3 WzaLKmWVyVPvZUkvM  1980-01-30  2023-07-30          47        1914
## 4 sBbKuDRTDsvFYNXtL  1995-08-02  2004-05-10          76        9766
## 5 koyuzoOtYoyAAZVik  1984-04-19  1990-01-31          49        2237
# Extraction des consultations (sans filtre sur les codes prestations ou les spécialités exécutantes)
extracted_consultations <- extract_consultations_erprsf(start_date = as.Date("2020-01-01"), end_date = as.Date("2021-12-31"), dis_dtd_lag_months = 36, conn = conn)
## Extracting consultations from all specialties codes...
extracted_consultations
## # A tibble: 2 × 7
##   BEN_NIR_PSA       EXE_SOI_DTD PSE_SPE_COD PFS_EXE_NUM PRS_NAT_REF PRS_ACT_QTE
##   <chr>             <date>            <int> <chr>             <int>       <int>
## 1 EftILCjPgEvzqFcsq 2021-11-14           70 QWRgsvTXH          1416         517
## 2 YViDfdLFgVfqtSMWa 2021-08-04           17 uQAikgItT          4142         633
## # ℹ 1 more variable: BEN_RNG_GEM <int>
# Ne pas oublier de déconnecter la base de données
DBI::dbDisconnect(conn)