cassionAnalyse de données

Leçon 3 sur 8

Unité · Le circuit

Les 212 cas qui ne sont pas un échec

88,5 % de ces cas ont consenti à un référencement. Les 212 qui ne l'ont pas fait sont hors du dénominateur de performance, car une personne qui refuse un référencement exerce un droit plutôt que de révéler une lacune de service — et les compter comme des échecs fait deux erreurs à la fois.

PythonR120 minNorme humanitaire fondamentale (CHS)Définitions d'indicateurs de l'UNICEFCritères d'évaluation du CAD de l'OCDE

Le circuit compte quatre portes

import pandas as pd

referrals = pd.read_csv("protection-referrals-2024.v1.csv")

gates = {
    "cases recorded": len(referrals),
    "consented to referral": referrals["consent_to_refer"].sum(),
    "referral made": (referrals["consent_to_refer"] &
                      referrals["referral_made"]).sum(),
    "referral accepted": (referrals["referral_made"] &
                          referrals["referral_accepted"]).sum(),
    "reached a service": (referrals["referral_accepted"] &
                          referrals["days_to_first_service"].notna()).sum(),
}
for name, count in gates.items():
    print(f"{name:24} {count:>5}")
library(dplyr)

referrals |> summarise(
  cases = n(),
  consented = sum(consent_to_refer),
  made = sum(consent_to_refer & referral_made),
  accepted = sum(referral_made & referral_accepted),
  reached = sum(referral_accepted & !is.na(days_to_first_service))
)
Porte Cas Part de la porte précédente
Cas enregistrés 1 850 —
Consentement au référencement 1 638 88,5 %
Référencement effectué 1 142 69,7 %
Référencement accepté 757 66,3 %
Service atteint 717 94,7 %

C’est la cascade du premier cours du module 4, dans un autre secteur — des dénominateurs enchaînés, chaque porte mesurée face à la précédente. L’arithmétique est la même. La première porte ne l’est pas.

Le consentement n’est pas une mesure de performance

Les 212 cas sans consentement peuvent être comptés de trois façons, et une seule est défendable.

Comme des échecs. L’aboutissement de bout en bout devient 717 / 1 850 = 38,8 %. Cela traite la décision d’une personne comme un manquement du programme.

Comme des exclusions. L’aboutissement devient 717 / 1 638 = 43,8 % sur les cas ayant consenti. C’est le chiffre de performance.

Comme un constat à part entière. 11,5 % ont refusé, et pourquoi est une question de conception du service qui mérite d’être posée séparément.

consenting = referrals["consent_to_refer"]
reached = referrals["referral_accepted"] & referrals["days_to_first_service"].notna()

print(f"on all cases:        {reached.sum() / len(referrals):.1%}")
print(f"on consenting cases: {reached.sum() / consenting.sum():.1%}")
print(f"declined:            {(~consenting).sum()} ({(~consenting).mean():.1%})")
referrals |> summarise(
  all_cases = mean(referral_accepted & !is.na(days_to_first_service)),
  consenting = sum(referral_accepted & !is.na(days_to_first_service)) / sum(consent_to_refer)
)

Compter un cas sans consentement comme un échec du circuit fait deux erreurs à la fois. Cela fausse la performance de cinq points, et cela enregistre la décision autonome d’une personne comme un défaut du système qui lui a offert un choix.

Les deux comptent et la seconde davantage. Un indicateur qui traite le refus comme un échec crée une pression sur les travailleurs sociaux pour obtenir le consentement, ce qui est l’inverse du sens même du consentement éclairé.

Rapportez les trois nombres

Referral pathway, 1,850 cases

  Consented to referral            88.5%   1,638
  Declined                         11.5%     212     reported separately
  Reached a service, of consenting 43.8%     717
  Reached a service, of all cases  38.8%             for reference only

Publiez le taux de consentement comme une ligne à part. Un taux de consentement qui baisse est un signal sur la confiance envers le service, et il est invisible si le consentement ne sert jamais que de filtre.

Là où le consentement n’est pas la porte

Deux situations où ce raisonnement ne s’applique pas, à énoncer pour que la règle ne soit pas sur-appliquée.

Les cas de protection de l’enfance concernant un jeune enfant relèvent d’une détermination de l’intérêt supérieur plutôt que du consentement de l’enfant, et le champ de consentement enregistre la décision de l’accompagnant. La logique du dénominateur est la même et le fondement éthique est différent.

Les urgences vitales donnent lieu à un référencement salvateur sans attendre un consentement au transfert de données. Ces cas figurent dans le circuit et la colonne de consentement ne les gouverne pas.

by_category = referrals.groupby("case_category")["consent_to_refer"].agg(
    ["mean", "size"]
)
print((by_category * [100, 1]).round(1))
referrals |> summarise(consent = mean(consent_to_refer), n = n(),
                       .by = case_category)

Vérifiez si le taux de consentement diffère par catégorie avant d’appliquer une règle unique à toutes. Là où il diffère, la décision de dénominateur peut devoir différer aussi, et le rapport doit dire quels cas ont été traités de quelle façon.

Les contradictions à résoudre d’abord

impossible = (referrals["days_to_first_service"].notna() &
              ~referrals["referral_accepted"])
no_referral = impossible & ~referrals["referral_made"]
no_consent = impossible & ~referrals["consent_to_refer"]

print(f"time to service but referral not accepted: {impossible.sum()}")
print(f"  of which no referral was made at all:    {no_referral.sum()}")
print(f"  of which there was no consent:           {no_consent.sum()}")
referrals |> filter(!is.na(days_to_first_service), !referral_accepted) |>
  count(referral_made, consent_to_refer)

Onze cas consignent un délai jusqu’au premier service sur un référencement qui n’a jamais été accepté. Six d’entre eux ne portent aucun référencement effectué, et un n’avait pas de consentement. Ce sont des contradictions logiques et elles doivent être résolues avant qu’un taux d’aboutissement quelconque soit crédible, car chacune est simultanément un numérateur et un non-dénominateur.

La résolution est un jugement et doit être consignée. Croire la date de service implique que les champs du circuit sont peu fiables ; croire les champs du circuit implique que la date de service est une faute de saisie. Dites ce que vous avez cru et combien de cas cela a déplacés.

La suite

Le circuit perd des cas à chaque porte. La leçon suivante trouve la porte où la plus grande part se perd, et le groupe de personnes pour qui chaque porte est pire.

Animer cette leçon

La leçon en diaporama, la prose étant reléguée dans les notes du présentateur plutôt que projetée. Produit à partir de cette page, dont il ne peut donc pas s'écarter.

Lancer le diaporamaLire les diapositives

Le PDF ne requiert aucun logiciel et se projette depuis n'importe quel poste. Le fichier PowerPoint est fait pour être modifié : appliquez la charte de votre organisation, retirez une section pour une séance plus courte, ou fusionnez deux leçons en atelier.