Gestion des identifiants patients à l'aide de BEN_NIR_PSA
Source: R/retrieve_patient_id.R
retrieve_all_psa_from_psa.Rd
La 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_ANO
ouBEN_NIR_ANO
présentant desBEN_NIR_PSA
associés à plusieursBEN_IDT_ANO
ouBEN_NIR_ANO
.cdi_nir_00
: permet d'identifier lesBEN_NIR_PSA
non fictifs.nir_ano_defined
: permet d'identifier lesBEN_NIR_PSA
pour lesquels unBEN_NIR_ANO
est défini.birth_date_variation
: permet d'identifier lesBEN_IDT_ANO
présentant des inconsistances au niveau de la date de naissance.sex_variation
: permet d'identifier lesBEN_IDT_ANO
pré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_GEM
est 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_ARC
sont également consultées pour la recherche desBEN_IDT_ANO
et 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_ANO
ouBEN_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_GEM
etBEN_ORG_AFF
afin 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_PSA
non fictifsnir_ano_defined
(Logical): permet d'identifier lesBEN_NIR_PSA
pour lesquels unBEN_NIR_ANO
et unBEN_IDT_ANO
sont définibirth_date_variation
(Logical): permet d'identifier lesBEN_IDT_ANO
présentant des dates de naissance différentes pour un mêmeBEN_IDT_ANO
sex_variation
(Logical): permet d'identifier lesBEN_IDT_ANO
pré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
)
} # }