Dataset
Protection referral pathway monitoring — 2024
1,850 synthetic protection cases tracked from intake to first service, modelled to teach referral pathway performance under the data protection standards that govern this sector.
- Rows
- 2,958
- Variables
- 19
- Period
- 2024-01 to 2024-12
- Licence
- CC BY 4.0
- Completeness
- 94%
Standards and methodologies
Files
Files are versioned by filename. A corrected release ships as .v2.csv rather than replacing the file in place, so an analysis pinned to v1 keeps reproducing.
Data dictionary
| Variable | Type | Description | Allowed values |
|---|---|---|---|
case_id | string | Pseudonymous case reference, sequential and unlinked to anything outside this file. | — |
admin1 | categorical | First-level administrative area. No location below admin2 is recorded anywhere in this dataset. | — |
admin2 | categorical | Second-level administrative area, the finest geography this dataset carries. | — |
referral_month | string | Month the case entered the referral pathway, as YYYY-MM. No exact date is recorded. | — |
case_category | categorical | Deliberately coarse case category. No incident type, perpetrator detail or narrative is recorded. | gbv, child-protection, general-protection |
age_band | categorical | Age band of the person concerned. Exact age is never recorded. | 0-11, 12-17, 18-24, 25-59, 60+ |
sex | categorical | Sex of the person concerned. | f, m |
disability_reported | boolean | Whether a disability was reported at intake. Recorded with a different code in one area. | true, false |
service_requested | categorical | Service the case was referred toward. | health, psychosocial, legal, safety-and-security, livelihood-support |
consent_to_refer | boolean | Whether informed consent to refer was given. A case without consent is not a pathway failure and must be excluded from the completion denominator. | true, false |
referral_made | boolean | Whether a referral was actually issued to a service provider. | true, false |
referral_accepted | boolean | Whether the receiving provider accepted the referral and the person reached the service. | true, false |
days_to_first_servicedays | integer | Days from referral to first service received. Blank where the referral was not accepted, or where the date was never recorded. | — |
case_status | categorical | Status of the case at the end of the reporting year. | open, closed-resolved, closed-lost-contact, transferred |
caseworker_id | string | Case management register: pseudonymous caseworker the case is assigned to. The denominator for caseload. | — |
opened_month | string | Case management register: month the case was opened, as YYYY-MM. A month rather than a date, deliberately — an exact intake date plus an area plus a category can identify a survivor. | — |
closed_month | string | Case management register: month the case was closed. Blank where the case was still open at the December cut-off, which is censoring rather than a missing value. | — |
closure_reason | categorical | Case management register: why the case was closed. A caseworker's judgement, not an observation. Blank on open cases. | case-plan-objectives-met, lost-contact, survivor-withdrew, relocated, transferred-to-other-agency, closed-administratively |
case_plan_reviews | integer | Case management register: number of case plan reviews held. A quality measure that falls as caseload rises. | — |
Provenance
Data quality
- Every record is generated. No real person is described, and this file must never be used as a template for storing real case data — the safe version of that is a consent-governed case management system, not a CSV.
- What this dataset deliberately omits is the lesson. There are no names, no contact details, no free text, no incident date, no location below admin2, no exact age, no incident type and no perpetrator detail. None of those are required to measure whether a referral pathway works, and under GBV information management principles the incident-level fields are never shared outside the case management agency at all.
- Collecting less than you could is the discipline being modelled. `case_category` is coarser than any caseworker would use, because a pathway performance analysis does not need the detail and holding it creates risk with no analytical return.
- Consent gates the pathway. The completion denominator is cases that consented to referral, not all cases. Counting a non-consenting case as a pathway failure both misstates performance and misrepresents a person's decision.
- A case management register ships as a second file keyed on case_id, covering the 1,108 cases that consented and had a referral made. It records a **month rather than a date** on purpose: an exact intake date plus an area plus a category is often enough to identify a survivor, and monthly caseload analysis loses nothing by the coarsening.
- Caseload is the number that breaks first. Guidance puts an active GBV caseload near 25 cases per worker; Port-de-Paix averages 33.2 and peaks at 51, while Saint-Louis-du-Nord averages 14.8. The overloaded area also holds 1.78 case plan reviews per case against 2.31 to 2.45 elsewhere, and loses contact with 38.9% of the cases it closes.
- 472 of 1,108 cases (42.6%) were still open at the December cut-off. They are censored, not missing: a median time to closure computed on closed cases alone reads 4 months and is biased downward, because the cases that take longest are the ones that have not closed.
- Reported cases measure reporting. Saint-Louis-du-Nord opens a new service in July and its monthly intake goes from 5.8 to 10.2 cases — a 74% rise, against flat intake everywhere else. Nothing about prevalence changed. A case curve is a measure of service availability and reporting behaviour, and must be labelled as one.
- Reference figures: 88.5% of cases consented, and 46% of consenting cases reached a service. Completion ranges from about 23% for livelihood support to 62% for health, and from 31% to 57% across the six admin2 areas.
Known issues
- Cases where a disability was reported complete at about 31% against 48% where none was reported. This gap is deliberate and is the equity finding the dataset exists to surface.
- Sixty-two cases have a blank age_band. It is the field most often missing in real intake data and the one most disaggregations depend on.
- One area recorded disability as Yes and No rather than true and false, which fragments the disability disaggregation into four categories, two of them too small to interpret.
- Eleven cases record a time to first service even though the referral was never accepted, a logical contradiction that must be resolved before any completion rate is trusted. Six of them also show no referral made at all, and one had no consent.
- Forty accepted referrals have no time to first service recorded. The timeliness denominator is therefore smaller than the completion denominator, and using one for both misstates both.
- Hinche files 36.2% of its closures as closed-administratively against 3.8% to 9.8% elsewhere, and its lost-contact rate reads 20.2% against 22.1% to 38.9%. The catch-all is hiding the reason a supervisor needs. A closure reason is a judgement, so a distribution that differs sharply by area is a question about the office before it is a question about the cases.
- Seven cases carry a closing month earlier than their opening month. The contradiction is invisible unless the two columns are compared, and any duration computed from them is negative.
- One caseworker identifier appears under two areas, because a worker who transferred was re-registered rather than moved. A caseload computed per worker is right; a caseload computed per worker per area double-counts the establishment.
- Disaggregating closure reason by area and case category produces 102 cells, 30 of them holding one or two cases. In a GBV dataset a cell of one is a person, and the table must be suppressed or aggregated before it leaves the building.
Worked examples
Python
Referral completion and where the pathway breaks
Builds the consent-gated completion rate, decomposes it by service and area to locate the failing node, and tests the disability gap for significance.
Timeliness against the clinical standard
Measures the share of GBV health referrals reaching care within 72 hours, and shows how the figure changes depending on how missing service dates are treated.
R
Referral completion and where the pathway breaks
The same decomposition in dplyr, with the contradictory and missing records handled explicitly rather than dropped silently.