Retour à la leçon·Leçon 5 sur 8·Comparer des lieux
Trois couvertures qui divergent
Le même diaporama que les téléchargements, rendu sous forme de page. Lancez le diaporama pour le présenter en plein écran — les flèches ou un clic avancent d'une diapositive, Échap quitte.
Ce que couvre cette leçon
- Trois façons de mesurer la même chose
- La couverture administrative et ses deux dépendances
- La couverture par enquête et ses deux dépendances
- Pourquoi elles divergent
- L'abandon — le chiffre qui survit à tout cela
- Ce que les deux abandons disent ensemble
- Laquelle rapporter
- La suite
Notes du présentateur
Couverture administrative, couverture par enquête, et abandon entre doses. La première dépend d'une projection, la deuxième d'un échantillon, et seule la troisième échappe aux deux.Trois façons de mesurer la même chose
Méthode Numérateur Dénominateur Échoue quand Administrative Doses enregistrées par les formations Projection de population La projection est fausse, ou le rapportage incomplet Par enquête Enfants avec carte ou dose rappelée Enfants échantillonnés Les cartes sont perdues ; le rappel est mauvais ; l'échantillon est petit Abandon Première dose moins dernière dose Première dose Rarement — et c'est tout l'intérêt Notes du présentateur
La couverture vaccinale est l'indicateur sanitaire le plus rapporté de ce secteur et il se produit de trois façons différentes, qui divergent régulièrement. Le cours DHIS2 a calculé la première. Le cours sur les enquêtes vous a donné la machinerie de la deuxième. Cette leçon dit pourquoi elles diffèrent et laquelle employer.La couverture administrative et ses deux dépendances — En Python
import pandas as pd vax = pd.read_csv("vaccination-coverage-2024.v1.csv", parse_dates=["period"]) reported = vax[vax["report_submitted"] == True] penta3 = reported[reported["antigen"] == "penta3"] annual_target = ( vax[vax["antigen"] == "penta3"].groupby("facility_id")["target_population"].first() ) months = penta3.groupby("facility_id").size() prorated = (annual_target * months.reindex(annual_target.index).fillna(0) / 12).sum() print(f"doses {penta3['doses_administered'].sum():,}") print(f"administrative coverage: " f"{penta3['doses_administered'].sum() / prorated:.1%}")La couverture administrative et ses deux dépendances — En R
library(dplyr) # same shape: doses over a denominator pro-rated to months reportedLa couverture administrative et ses deux dépendances
- 77,5 % — parmi les couples formation-mois ayant rapporté
- Le dénominateur est une projection — Les nourrissons survivants, issus d'une projection de recensement composée à un…
- Le taux de rapportage valait 76,5 % — Les formations n'ayant pas rapporté n'apportent aucune dose, si bien que le…
Notes du présentateur
77,5 %, parmi les couples formation-mois ayant rapporté. Ce chiffre porte deux dépendances, et le cours DHIS2 a établi les deux. Le dénominateur est une projection. Les nourrissons survivants, issus d'une projection de recensement composée à un taux de croissance supposé. Neuf ans à 2,4 % font un facteur de 1,24, si bien qu'un quart du dénominateur est une hypothèse. Le taux de rapportage valait 76,5 %. Les formations n'ayant pas rapporté n'apportent aucune dose, si bien que le chiffre est une borne inférieure à moins d'imputer leurs doses. Une couverture administrative supérieure à 100 % est fréquente et signifie toujours que l'une de ces deux choses est fausse, plus une troisième possibilité — des enfants vaccinés hors de leur bassin, ce qui gonfle un numérateur de formation face à un dénominateur de bassin.La couverture par enquête et ses deux dépendances
- La conservation des cartes — Là où les cartes sont perdues, la couverture repose sur le souvenir de l'accompagnant, qui…
- La précision — La couverture par enquête arrive avec un intervalle de confiance, et le cours sur les enquêtes a montré…
Notes du présentateur
Une enquête de couverture échantillonne des enfants d'un âge donné et demande s'ils ont été vaccinés, en vérifiant sur la carte lorsqu'il y en a une. Elle supprime le problème de projection — le dénominateur est l'échantillon — et en introduit deux autres. La conservation des cartes. Là où les cartes sont perdues, la couverture repose sur le souvenir de l'accompagnant, qui surestime pour certains antigènes et sous-estime pour d'autres. Rapportez séparément la couverture vérifiée par carte et celle fondée sur le rappel ; l'écart entre les deux mesure à quel point l'estimation dépend de la mémoire. La précision. La couverture par enquête arrive avec un intervalle de confiance, et le cours sur les enquêtes a montré qu'un plan en grappes l'élargit. Une enquête qui estime la couverture à plus ou moins six points ne peut pas trancher si un district a franchi une cible de 80 %.La couverture par enquête et ses deux dépendances — En Python
# From the survey course: a proportion with a design-adjusted interval def coverage_interval(p, n, deff, t=1.99): se = (p * (1 - p) / n * deff) ** 0.5 return p - t * se, p + t * se print(coverage_interval(0.775, 900, 2.0))La couverture par enquête et ses deux dépendances — En R
coverage_interval <- function(p, n, deff, t = 1.99) { se <- sqrt(p * (1 - p) / n * deff) c(p - t * se, p + t * se) }Pourquoi elles divergent
- La projection est fausse. La plus fréquente, et elle ne déplace que la couverture administrative. Un dénominateur…
- Le rapportage est incomplet. Fait baisser l'administrative.
- La traversée des bassins. Déplace les chiffres administratifs par formation dans les deux sens et s'annule au…
- L'erreur de rappel. Déplace la couverture par enquête, généralement vers le haut.
- Des cohortes d'âge différentes. La couverture administrative compte les doses données cette année ; une enquête…
- La dernière est la plus fréquente et la moins soupçonnée — Deux chiffres de « couverture penta3 » portant sur des…
Notes du présentateur
Cinq raisons, et savoir laquelle s'applique change ce que vous faites. La dernière est la plus fréquente et la moins soupçonnée. Deux chiffres de « couverture penta3 » portant sur des cohortes différentes ne sont pas deux estimations d'une quantité ; ce sont deux quantités.L'abandon — le chiffre qui survit à tout cela — En Python
doses = reported.groupby("antigen")["doses_administered"].sum() for start, end in [("penta1", "penta3"), ("mcv1", "mcv2")]: dropout = (doses[start] - doses[end]) / doses[start] print(f"{start} -> {end}: {dropout:.1%}")L'abandon — le chiffre qui survit à tout cela — En R
vax |> filter(report_submitted) |> summarise(doses = sum(doses_administered), .by = antigen)L'abandon — le chiffre qui survit à tout cela
- Penta1 vers penta3 : 13,8 %. Première vers seconde dose de rougeole : 22,9 %
- aucun dénominateur de population, donc aucune projection à se tromper ;
- le même biais de rapportage dans les deux termes, qui s'annule largement ;
- aucune ambiguïté de cohorte, puisque les deux doses sont comptées pareillement.
Notes du présentateur
Penta1 vers penta3 : 13,8 %. Première vers seconde dose de rougeole : 22,9 %. L'abandon est un rapport de deux numérateurs de même source, mêmes formations et mêmes mois. Il a donc : Le coût est qu'il ne dit rien du niveau. Un district pourrait avoir 13,8 % d'abandon et 30 % de couverture — bon à retenir les enfants qu'il commence, mauvais à les commencer. Rapportez l'abandon à côté de la couverture, jamais à sa place.Ce que les deux abandons disent ensemble — En Python
summary = pd.DataFrame({ "series": ["Pentavalent 1->3", "Measles 1->2"], "dropout": [0.138, 0.229], "interval": ["weeks", "months"], "implication": ["retention within the early contact period", "retention after the early contact period ends"], })Notes du présentateur
L'abandon de la seconde dose de rougeole vaut 22,9 % contre 13,8 % pour le pentavalent, et la différence est instructive plutôt que du bruit. Les doses de pentavalent se donnent rapprochées dans les premiers mois de vie, quand les accompagnants viennent déjà pour d'autres services. La seconde dose de rougeole se donne bien plus tard, souvent après la fin de la période de contacts intensifs. Un abandon qui croît avec l'intervalle entre doses est un problème de rappel et de proximité, non d'approvisionnement, et les actions correctives diffèrent.Ce que les deux abandons disent ensemble — En R
tibble::tribble( ~series, ~dropout, ~implication, "Pentavalent 1->3", 0.138, "retention within early contacts", "Measles 1->2", 0.229, "retention after early contacts end" )Laquelle rapporter — Exemple
Penta3 coverage, administrative 77.5% among reporting facility-months (reporting rate 76.5%) denominator: MoH projection from 2015 census Penta1 to penta3 dropout 13.8% same source, both terms Measles 1 to 2 dropout 22.9% Survey coverage not available this yearNotes du présentateur
Quatre lignes, et la dernière est un constat. Là où aucune enquête n'existe, dites-le — car le lecteur suppose par défaut qu'un chiffre de couverture a été validé face à une enquête, et ici il ne l'a pas été.La suite
- La couverture compare un programme à une population.
Notes du présentateur
La couverture compare un programme à une population. La leçon suivante compare deux populations entre elles, et découvre que la comparaison de la leçon 4 était en partie un artefact de qui habite où.