Skip to content

extract_drug_dispenses.R : correction requêtage tables archivées#83

Open
MarcDibling wants to merge 1 commit intoSNDStoolers:mainfrom
MarcDibling:main
Open

extract_drug_dispenses.R : correction requêtage tables archivées#83
MarcDibling wants to merge 1 commit intoSNDStoolers:mainfrom
MarcDibling:main

Conversation

@MarcDibling
Copy link
Copy Markdown
Collaborator

Correction issue #82:

On retrouve donc des executions de décembre de l’année Y-1 dans les tables de l’année Y-1 mais aussi dans celles de l’année Y. Ainsi, si on ne requête pas pour les flux de janvier et février en Y ET en Y-1 on perd de l’exhaustivité.

Pour apporter le moins possible de modifications à l’architecture du code actuel, je propose de migrer la définition des tables à requête dans la boucle qui les requête mois par mois et ajouter une troisième boucle visant à requêter les tables Y et Y-1 pour un même flux seulement pour les mois de flux de janvier à février.

Je vous propose donc une PR qui complique légèrement la fonction mais qui garantit une exhaustivité.

@MarcDibling MarcDibling self-assigned this Mar 26, 2026
@MarcDibling MarcDibling added the bug Something isn't working label Mar 26, 2026
Copy link
Copy Markdown
Collaborator

@strayMat strayMat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci beaucoup pour la contirbution !
J'ai fait une mini suggestion de forme mais sinon le code me semble bien. Je ne vois pas facilement de manière d'éviter cette complexité induite par les tables archivés en gardant la structure de requête par flux...

En revanche, j'ai vu dans la CI que deux tests semblaient fail : Je n'arrive pas à voir lesquels mais il faudrait vérifier que les test passent.

Sinon c'est bon pour merger.

if (year <= first_non_archived_year && month %in% c(1:2)) {
years_to_query <- c(year - 1L, year)
} else {
years_to_query <- year
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ca a l'air de marcher de mettre un scalaire mais j'aurais préféré garder un vecteur c(year) ici.

}

query <- query |> dbplyr::sql_render()
if (!dbExistsTable(conn, output_table_name)) {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good, c'est mieux que ce que l'on a :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants