Passer au contenu

Cette fonction permet d'extraire les délivrances de médicaments. Les délivrances dont les dates EXE_SOI_DTD sont comprises entre start_date et end_date (incluses) sont extraites. Le décalage de remontée des données est pris en compte en récupérant également les délivrances dont les dates FLX_DIS_DTD sont comprises dans les dis_dtd_lag_months mois suivant end_date. Si atc_cod_starts_with est fourni, seules les délivrances de médicaments dont le code ATC commence par l'un des éléments de atc_cod_starts_with sont extraites. Dans le cas contraire, les délivrances pour tous les codes ATC sont extraites. Si patients_ids est fourni, seules les délivrances de médicaments pour les patients dont les identifiants sont dans patients_ids sont extraites. Dans le cas contraire, les délivrances de tous les patients sont extraites.

Utilisation

extract_drug_dispenses(
  start_date = NULL,
  end_date = NULL,
  atc_cod_starts_with = NULL,
  dis_dtd_lag_months = 6,
  patients_ids = NULL,
  output_table_name = NULL,
  overwrite = FALSE,
  conn = NULL
)

Arguments

start_date

Date. La date de début de l a période des délivrances des médicaments à extraire.

end_date

Date La date de fin de la période des délivrances des médicaments à extraire.

atc_cod_starts_with

Character vector Optionnel. Les codes ATC par lesquels les délivrances de médicaments à extraire doivent commencer.

dis_dtd_lag_months

Integer. Le nombre maximum de mois de décalage de FLX_DIS_DTD par rapport à EXE_SOI DTD pris en compte pour récupérer les délivrances de médicaments. Par défaut, 6 mois.

patients_ids

data.frame Optionnel. Un data.frame contenant les paires d'identifiants des patients pour lesquels les délivrances de médicaments doivent être extraites. Les colonnes de ce data.frame doivent être "BEN_IDT_ANO" et "BEN_NIR_PSA". Les "BEN_NIR_PSA" doivent être tous les "BEN_NIR_PSA" associés aux "BEN_IDT_ANO" fournis.

output_table_name

Character Optionnel. Si fourni, les résultats seront sauvegardés dans une table portant ce nom dans la base de données au lieu d'être retournés sous forme de data frame.

overwrite

Logical. Indique si la table output_table_name doit être écrasée dans le cas où elle existe déjà.

conn

DBI connection Une connexion à la base de données Oracle. Si non fournie, une connexion est établie par défaut.

Valeur de retour

Si output_table_name est NULL, retourne un data.frame contenant les délivrances de médicaments. 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 :

  • BEN_NIR_PSA : Colonne présente uniquement si les identifiants patients (patients_ids) ne sont pas fournis. Identifiant SNDS, ausi appelé pseudo-NIR.

  • BEN_IDT_ANO : Colonne présente uniquement si les identifiants patients (patients_ids) sont fournis. Numéro d’inscription au répertoire (NIR) anonymisé.

  • EXE_SOI_DTD : Date de la délivrance

  • PHA_ACT_QSN : Quantité délivrée

  • PHA_ATC_CLA : Code ATC du médicament délivré

  • PHA_PRS_C13 : Code CIP du médicament délivré (nom dans la table ER_PHA_F : PHA_PRS_C13, nom dans la table IR_PHA_R : PHA_CIP_C13)

  • PSP_SPE_COD : Code de spécialité du professionnel de soin prescripteur (voir nomenclature IR_SPE_V)

Détails

Pour être à flux constant sur l'ensemble des années, il faut utiliser dis_dtd_lag_months = 27. Cela rallonge le temps d'extraction alors que l'impact sur l'extraction est minime car la Cnam extime que 99 % des soins sont remontés à 6 mois c'est-à-dire pour dis_dtd_lag_months = 6). Voir https://documentation-snds.health-data-hub.fr/snds/formation_snds/initiation/schema_relationnel_snds.html#_3-3-dcir

Exemples

if (FALSE) { # \dontrun{
start_date <- as.Date("2010-01-01")
end_date <- as.Date("2010-01-03")
atc_cod_starts_with <- c("N04A")

dispenses <- extract_drug_dispenses(
  start_date = start_date,
  end_date = end_date,
  atc_cod_starts_with = atc_cod_starts_with
)
} # }