Gestion des identifiants patients à l'aide de BEN_NIR_PSA
Source: R/retrieve_patient_id.R
retrieve_all_psa_from_psa.RdLa fonction retrieve_all_psa_from_psa permet d'extraire le reférentiel des
bénéficiaires avec la clé de jointure la plus fine (l'ensemble des
BEN_NIR_PSA) à partir d'une table contenant un identifiant patient
BEN_NIR_PSA.
Cinq variables binaires sont ajoutées en sortie pour aider au processus d'inclusion :
psa_w_multiple_idt_or_nir: permet d'identifier lesBEN_IDT_ANOouBEN_NIR_ANOprésentant desBEN_NIR_PSAassociés à plusieursBEN_IDT_ANOouBEN_NIR_ANO.cdi_nir_00: permet d'identifier lesBEN_NIR_PSAnon fictifs.nir_ano_defined: permet d'identifier lesBEN_NIR_PSApour lesquels unBEN_NIR_ANOest défini.birth_date_variation: permet d'identifier lesBEN_IDT_ANOprésentant des inconsistances au niveau de la date de naissance.sex_variation: permet d'identifier lesBEN_IDT_ANOprésentant des inconsistances relatives aux codes sexe.
Usage
retrieve_all_psa_from_psa(
ben_table_name,
conn = NULL,
check_arc_table = TRUE,
output_table_name = NULL
)Arguments
- ben_table_name
Character Obligatoire. Nom de la table d'entrée comprenant au moins la variable
BEN_IDT_ANO. Si la variableBEN_RNG_GEMest incluse, elle sera également utilisée pour les jointures avec les référentiels.- conn
DBI connection Optionnel Une connexion à la base de données Oracle. Si non fournie, une connexion est établie par défaut.
- check_arc_table
Logical Optionnel. Si TRUE (par défaut), les tables
IR_BEN_R_ARCsont également consultées pour la recherche desBEN_IDT_ANOet des critères de sélection.- output_table_name
Character Optionnel. Si fourni, les résultats seront sauvegardés dans une table portant ce nom dans Oracle. Sinon la table en sortie est retournée sous la forme d'un data.frame(/tibble).
Value
A partir d'une table avec BEN_IDT_ANO, la fonction retournera
l'ensemble des BEN_NIR_PSA + BEN_RNG_GEM associés au BEN_IDT_ANO
dans une table dédoublonnée.
La table en sortie est une copie de(s) référentiel(s) IR_BEN_R
(et IR_BEN_R_ARC) relatifs aux BEN_IDT_ANO impliqués et enregistrée
sous Oracle ou retournée sous la forme d'un data.frame(/tibble).
Si output_table_name est NULL, retourne un data.frame(/tibble).
Si output_table_name est fourni, sauvegarde les résultats dans la table
spécifiée dans Oracle et retourne NULL de manière invisible.
Dans les deux cas les colonnes de la table de sortie sont celles
des tables IR_BEN_R et IR_BEN_R_ARC auxquelles sont ajoutées les
variables binaires:
psa_w_multiple_idt_or_nir(Logical): permet de vérifier que chaque BEN_NIR_PSA est associé à un seulBEN_IDT_ANOouBEN_NIR_ANO. Si cette relation d’unicité est respectée, alors les bases PMSI et DCIR peuvent être interrogées directement à partir de la variable BEN_NIR_PSA, qui suffit alors pour identifier de manière unique un patient. Dans le cas contraire, seules les tables du DCIR peuvent être exploitées pour effectuer des requêtes à l’échelle d’un patient unique. Il est alors nécessaire de prendre en compte les variablesBEN_IDT_ANO,BEN_RNG_GEMetBEN_ORG_AFFafin d’assurer une interprétation correcte des identifiants. La variableBEN_NIR_ANO, bien qu’elle permette théoriquement de distinguer les individus de manière anonyme, peut être manquante. Quant àBEN_RNG_GEM, défini comme le rang gémellaire, il peut prendre différentes valeurs en cas de changement de régime, identifiable via la variableBEN_ORG_AFF. Source : https://documentation-snds.health-data-hub.fr/files/Sante_publique_France/2021-10-SpF-SNDS-ce-quil-faut-savoir-v3-MPL-2.0.pdf.cdi_nir_00(Logical): permet d'identifier lesBEN_NIR_PSAnon fictifsnir_ano_defined(Logical): permet d'identifier lesBEN_NIR_PSApour lesquels unBEN_NIR_ANOet unBEN_IDT_ANOsont définibirth_date_variation(Logical): permet d'identifier lesBEN_IDT_ANOprésentant des dates de naissance différentes pour un mêmeBEN_IDT_ANOsex_variation(Logical): permet d'identifier lesBEN_IDT_ANOprésentant des codes sexe différents pour un mêmeBEN_IDT_ANO
Details
La fonction retourne une copie du/des référentiel(s) ÌR_BEN_R
(/ÌR_BEN_R_ARC) dans une table dédoublonnée avec des indicateurs visant
à améliorer le processus d'inclusion.
Examples
if (FALSE) { # \dontrun{
# Création et enregistrement dans Oracle de 100 couples de (BEN_NIR_PSA+BEN_RNG_GEM)
psa_sample_2 <- dplyr::tbl(conn, "IR_BEN_R") |>
dplyr::select(BEN_NIR_PSA, BEN_RNG_GEM) |>
head(100) |>
dplyr::collect()
dbWriteTable(conn, "PSA_SAMP_2", psa_sample_2, overwrite = TRUE)
# Récupération de la table en format tibble
retrieve_all_psa_from_psa(conn = conn, ben_table_name = "PSA_SAMP_2")
# Récupération et enregistrement de la table dans Oracle
retrieve_all_psa_from_psa(
conn = conn,
ben_table_name = "PSA_SAMP_2",
output_table_name = "TEST_SAVE_ORACLE"
)
# Récupération de la table sans considérer la table de référentiel archivée
retrieve_all_psa_from_psa(
conn = conn,
ben_table_name = "PSA_SAMP_2",
check_arc_table = FALSE
)
} # }