EDORA Learn β Pipelines
Diversion Pathways (Pipeline Node)
Pipeline 02
Transparency note: completion rates below 20 participants are pooled to protect confidentiality; series breaks occur when eligibility criteria change.
Overview
Diversion routes eligible youth away from formal adjudication toward structured accountability and support programs. These programs vary widelyβfrom informal warning and counseling to structured evidence-based models like MST (Multisystemic Therapy) or ART (Aggression Replacement Training). The goal is to resolve cases without creating lasting records while addressing underlying needs. This section describes how cases enter, proceed through, and exit diversion pathways, emphasizing measurable consistency and equity.
What We Track
Eligibility & Screening
- Define eligibility criteria used by prosecutors/intake
- Confirm validated risk tools are applied (note version)
- Examples: SAVRY, YLS/CMI
- List exclusion factors
- Offense type (statutory disqualifiers)
- Prior history thresholds
Program Models
- Identify diversion type
- Informal (warning, brief counseling)
- Contract-based (agreements, community service)
- Restorative (RJ conference, circles)
- Evidence-based (e.g., MST, ART)
- Specify required dosage
- Sessions per week
- Total weeks or service hours
Completion Metrics
- Track successful completions vs. neutral exits vs. failures
- Failure reasons: new offense, withdrawal, noncompliance
- Measure average time to completion
Equity Monitoring
- Compute entry and completion rate ratios
- By race/ethnicity
- By gender
- By geography (urban/rural)
- Document overrides when eligible youth are petitioned
Re-referral
- Track new referrals or petitions within 6β12 months after completion or failure
- Align follow-up windows with program end date
Typical Flow
- Referral received and screened for diversion eligibility
- Apply eligibility rules (offense, prior history, local policy)
- Confirm validated risk/needs tool version; note any disqualifiers
- Record capacity constraints that prevent otherwise-eligible youth
- Program assignment based on risk/needs and capacity
- Match to program model (informal, contract, restorative, evidence-based)
- Set expected dosage (sessions/week, total weeks or hours)
- Provide plain-language terms; capture youth/caregiver consent
- Engagement period tracked by sessions and milestones
- Attendance, milestone completion, and barriers (transportation, schedule)
- Adjust plan/dosage as needed; document any pauses or transfers
- Completion or failure documented; case closed or returned
- Completion statuses: successful, neutral exit, failure
- Failure reasons: new offense, withdrawal, noncompliance
- If failed or withdrawn, return for petition decision with audit trail
- Follow-up window (6β12 months) for re-referrals/new petitions
- Anchor to program end date (completion/closure)
- Track re-referral, petition, or adjudication events within window
Fields
Field | Type | Required | Codeset | Description |
---|---|---|---|---|
pipeline_place_id | uuid | β | β | Unique identifier for this pipeline place row. |
pipeline_stage_id | enum | β | stages.yml#stage_key(8)
| One of the 8 canonical stages. |
pipeline_place_key | enum | β | pipeline_places.yml#place_key(45)
| Canonical key for this place (maps to route/slug). |
youth_id | string | β | β | Salted/hashed or state UID. No plaintext PII. |
staff_id | string | β | Staff primary actor for this place, if applicable. | |
occurred_datetime | datetime | β | β | Timestamp when this diversion episode was opened/recorded. |
jurisdiction_code | string | β | β | County/parish/circuit or standardized local code. |
location_site_id | string | β | Site/facility/office identifier. | |
actor_role_code | enum | roles.yml#actor_role(7)
| Role primarily responsible for this place. | |
legal_case_id | string | β | Docket/case identifier if already created. | |
source_system | string | β | β | Origin system name. |
source_file | string | β | Source batch/file id if flatfile. | |
extract_run_id | string | β | ETL run id for lineage. | |
series_break_flag | boolean | β | Comparability break applies to this row. | |
series_break_reason | enum | series_breaks.yml#reason(4)
| Reason for break when flagged. | |
diversion_eligibility_code | enum | β | diversion_eligibility.yml#eligibility(4)
| Eligibility screen outcome for diversion (eligible, ineligible_*, capacity_block). |
exclusion_factor_codes | array<string> | diversion_exclusions.yml#exclusion(8)
| Enumerated exclusion factors (offense disqualifiers, prior thresholds, victim objection). For CSV, semicolon-delimit. | |
risk_tool_name | enum | instruments.yml#risk_tool_name(2)
| Validated risk/needs instrument applied (e.g., YLS/CMI, SAVRY). | |
risk_tool_version | string | β | Version identifier or effective date for the risk tool. | |
risk_total_score | integer | β | Total score produced by the risk/needs instrument (raw or scaled). | |
diversion_model_code | enum | β | diversion_models.yml#model(7)
| Diversion model (informal, contract, restorative, evidence_based subtype). |
evidence_based_model_code | enum | ebp_models.yml#model(2)
| If evidence-based, specify model (e.g., MST, ART). | |
program_start_datetime | datetime | β | Start timestamp for diversion programming/services. | |
dosage_planned_sessions_per_week | number | β | Planned sessions per week. | |
dosage_planned_total_weeks | number | β | Planned total weeks. | |
dosage_planned_service_hours | number | β | Planned total service hours. | |
dosage_completed_sessions | number | β | Completed sessions. | |
dosage_completed_hours | number | β | Completed service hours. | |
milestone_code | enum | program_milestones.yml#milestone(6)
| Latest milestone achieved during participation. | |
completion_status_code | enum | completion_statuses.yml#status(3)
| successful, neutral_exit, or failure. | |
completion_datetime | datetime | β | Timestamp when diversion episode was closed. | |
failure_reason_code | enum | failure_reasons.yml#reason(3)
| If failure, reason (new_offense, withdrawal, noncompliance). | |
override_flag | boolean | β | True if eligible youth were petitioned/declined contrary to guidance. | |
override_reason_code | enum | overrides.yml#reason(4)
| Reason for override; approver stored in audit trail. | |
program_end_datetime | datetime | β | Episode end anchor for follow-up windows (often same as completion_datetime). | |
followup_window_code | enum | followup_windows.yml#window(4)
| Window used for check (e.g., months_6, months_12). | |
followup_check_datetime | datetime | β | Timestamp when the re-referral check was performed. | |
re_referral_flag | boolean | β | True if a new referral/petition occurred within the window. | |
re_referral_type_code | enum | re_referral_types.yml#type(3)
| new_referral, new_petition, technical_violation. | |
re_referral_reference_id | string | β | Identifier of the new referral/petition episode detected in follow-up. | |
routed_to_next_node_code | enum | next_routes.yml#route(3)
| If not participating or after failure, where the case was routed (prosecutorial_screening, petition, other). | |
Download CSVwhat_we_track.csv |
Data & Methods
Diversion indicators use referral-based denominators and report both program-level and jurisdiction-level outcomes. Completion is a binary indicator with duration recorded in days.
- Eligibility drift: when rules, screening tools, or thresholds change, flag series breaks to avoid misreading trend shifts.
- Small cells: suppress or pool per Suppression & Small-n.
- Comparability: for multi-year views, follow Trend Interpretation & Baseline Selection, and prefer stable baselines (e.g., referral cohorts).
- Follow-up framing: align 6β12 month re-referral windows to the program end date; handle censored/attrited cases consistently.
- Overrides & capacity: capture why eligible youth were petitioned and when capacity limits blocked assignment (for equity review).