Skip to content

This isn't really a pull request #6

Closed
fonsecadeline wants to merge 6 commits into
sulivanShu:mainfrom
fonsecadeline:suggestion_ideas
Closed

This isn't really a pull request #6
fonsecadeline wants to merge 6 commits into
sulivanShu:mainfrom
fonsecadeline:suggestion_ideas

Conversation

@fonsecadeline

Copy link
Copy Markdown
Contributor

This isn't really a pull request because I could not run the code locally yet.

However it is an easier way for me to point out what I find and discuss on the code :)

That would ensure those eligible will never be vaccinated over the year period of study, and avoid the replacing procedure (I think ?).
@sulivanShu sulivanShu force-pushed the main branch 3 times, most recently from dc83008 to d1acb86 Compare January 24, 2026 13:42
If this_monday in ALL_MONDAYS but not in these_mondays then we are either before this group's Mondays, so agenda should be empty and nothing happens in replace_unvaccinated, or we are after these_mondays, and whatever we change on unvaccinated, or the pool itself, is unecessary because groups are already created.
@sulivanShu

Copy link
Copy Markdown
Owner

On ne peut pas remplacer :

for this_monday in ALL_MONDAYS

par :

for this_monday in these_mondays

En effet ces deux valeurs sont différentes.

ALL_MONDAYS est le vecteur de tous les lundis de l'étude, alors que these_mondays est le vecteur de tous les lundis qui sont le premier jour d'un subgroup.

En effet, la période d'observation des subgroups dure un an, donc une fois qu'on a épuisé tous les lundis de these_mondays, on a encore besoin d'autres lundis pour terminer l'année des derniers subgroups. En outre, these_mondays contient habituellement un trou avant la 54e semaine (car il n'y a pas assez de non-vaccinés pour faire tous les subgroups possibles), donc ici aussi, ALL_MONDAYS contient plus de lundis que these_mondays.

C'est ainsi qu'on a une boucle these_mondays pour créer les subgroups (vaccinés et non-vaccinés), et une boucle ALL_MONDAYS pour les replacements de non-vaccinés, remplacement qui peuvent avoir lieu en dehors de these_mondays.

Étant donné que these_mondays est un sous-ensemble de ALL_MONDAYS, l'implémentation consiste à faire une seule boucle ALL_MONDAYS, et if this_monday in these_mondays, faire les créations de subgroup. Et en tout état de cause, pour tous les lundis qui appartiennent ou n'appartiennent pas à these_mondays, on fait les remplacements.

rappel de la boucle avec commentaire:

    # INFO: boucle sur tous les lundis:
    for this_monday in ALL_MONDAYS
        # INFO: création des subgroups, à partir des premiers lundis
        # de chaque subgroup (pas tous les lundis!) :
        if this_monday in these_mondays
            subgroup = group[this_monday]
            # création des vaccinés, et enregistrement de leur nombre
            # dans une variable:
            vaccinated_count = process_vaccinated!(
                                                                                         pool,
                                                                                         subgroup,
                                                                                         this_monday,
                                                                                         )
            # création des non-vaccinés, dont le nombre est égal à celui des vaccinés:
            process_first_unvaccinated!(
                                                                    pool,
                                                                    subgroup,
                                                                    this_monday,
                                                                    vaccinated_count,
                                                                    agenda,
                                                                    )
        # INFO: `end` ! on ne créée pas de nouveaux subgroups en dehors de `these_mondays`,
        # mais on doit continuer de faire des remplacements de non-vaccinés en dehors! En effet,
        # la période d'observation des subgroups est plus étendue que les lundis de `this_monday`.
        end
        # INFO: replacement des non-vaccinés chaque lundi de `ALL_MONDAYS`. Ici, c'est bien
        # tous les lundis! On ne se limite pas à `these_mondays`.
        replace_unvaccinated!(
                                                    this_monday,
                                                    pool,
                                                    group,
                                                    agenda,
                                                    )
    end

Peut-être qu'il faut changer le nom these_mondays pour que la raison de cette variable soit plus claire.

@sulivanShu sulivanShu closed this Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants