Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VacicnTracker] Erreur de calcul sur la date projetée d'atteinte de l'objectif de 100% de la pop° adulte #293

Open
jege31 opened this issue May 30, 2021 · 1 comment

Comments

@jege31
Copy link

jege31 commented May 30, 2021

Bonjour et bravo pour tout ce travail.

Sur la page VaccinTracker, section Évolution, la date calculée actuellement est le 2 novembre et elle m’a semblé bizarre au regard des graphiques.

L'erreur se trouve dans le fichier vaccintrackerJs.php, fonction calculerDateProjeteeObjectif().

Je propose de remplacer

    const nDose2quandD1Complete = Math.floor(joursDose1Complete * vdose2)

par

    const nDose2pendantD1Complete = Math.floor(joursDose1Complete * vdose2)
    const nDose2quandD1Complete = cumsum[cumsum.length - 1] + nDose2pendantD1Complete

Par ailleurs, il pourrait être intéressant de préciser sur la page VaccinTracker que l'objectif est la vaccination à 2 doses et de faire apparaitre aussi la date à laquelle 100% de la population adulte aura reçu la première dose.
Pour cela, je propose dans le fichier evolution.php de remplacer :

    Au rythme actuel <small>(moyenne des 15 derniers jours)</small>, l'objectif de vacciner l'ensemble de la population adulte serait atteint le <b><span id="date_projetee_objectif"></span></b>.

par

    Au rythme actuel <small>(moyenne des 15 derniers jours)</small>, l'objectif de vacciner l'ensemble de la population adulte serait atteint le <b><span id="date_projetee_objectif_dose1"></span></b> pour la première dose et le <b><span id="date_projetee_objectif_dose2"></span></b> pour la deuxième dose.

Et également remplacer dans le fichier vaccintrackerJs.php, fonction calculerDateProjeteeObjectif()

  const date = new Date(nb_vaccines[nb_vaccines.length - 1].date)
  date.setDate(date.getDate() + joursDose2Complete + joursDose1Complete)
  return date

par

    const dateProjeteeObjectifDose1 = new Date(nb_vaccines[nb_vaccines.length - 1].date + joursDose1Complete)
    const dateProjeteeObjectifDose2 = new Date(nb_vaccines[nb_vaccines.length - 1].date + joursDose1Complete + joursDose2Complete)
    return {dateProjeteeObjectifDose1, dateProjeteeObjectifDose2}

Et la tuyauterie entre calculerDateProjeteeObjectif() et evolution.php...

bien cordialement
Jérôme

@Gaddy
Copy link

Gaddy commented Jun 15, 2021

Oui cette erreur est dommageable. L'autre chiffre du paragraphe (le nombre de doses quotidiennes nécessaires pour atteindre la vaccination d'ici fin août) est également fausse.

Il se situe dans calculerObjectif()
Il est calculé en prenant le nombre de personnes avec 0 doses, en le multipliant par 2 et en divisant par le nombre de jours restants (avec 2 jours de retard mais passons).
Ca calcule comme si toutes les 1ères doses avaient déjà eu leur 2nde dose.
Il suffirait d'un calcul de ce genre pour corriger :
"doses_restantes = 2 * objectif - nombre de 1ères doses - nombre de 2nde doses
objectif = doses_restantes / jours restants"

Pour l'erreur sur la date prévue, bien vu @jege31 ! Le calcul était trop alambiqué pour que je repère l'erreur.
Il aurait suffit simplement de faire quelque chose comme :
"nombre de jours = nombre de doses restantes (comme calculé précédemment) / vitesse de vaccination cumulée (vdose1 + vdose2)".

Quelqu'un pourrait-il au minima supprimer ce paragraphe, faux ? (désolé je ne suis pas assez compétent dans ce langage pour proposer la modif)

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

No branches or pull requests

2 participants