EDORA Learn β Pipelines
Violation Response and Revocation (Post-Disposition Loop)
Pipeline 07
Transparency note: definitions of βtechnicalβ versus βnew-lawβ violations vary. Series breaks are annotated where grid structures, revocation thresholds, or sanction categories change.
Overview
Violations represent moments where youth fail to meet supervision conditions. Jurisdictions distinguish between technical violations (e.g., missed curfew, failed drug test) and new-law violations (committing a new offense). The policy emphasis has shifted toward proportional, graduated responses designed to prevent unnecessary revocations and placements. This page documents how those processes are structured and measured.
What We Track
Violation Type
- Classified as technical or new-law
- Technical: missed contact, curfew, program non-attendance
- New-law: cited/arrested for new offense
- Event date/time captured; source documentation linked (report, vendor alert, police notice)
Graduated Response Grid
- Tiered responses mapped to violation severity/frequency
- Examples:
- Verbal/written warning; skill session
- Increased contacts; schedule change
- Community service; day/evening reporting
- ATD switch; short-term respite
- Immediate revocation (criteria-limited)
Timeliness
- Days from violation β response or hearing
- Proportion resolved within 30 days (stage-specific targets)
Revocation Outcomes
- Returned to court; conditions modified; placement; new probation term
- Revocation-related confinement duration (ALOS/median; IQR)
Equity & Overrides
- Sanction use rate ratios by race/ethnicity, geography, gender; stage (admin vs. court) disaggregation
- Overrides / skipped tiers documented with rationale & approver; proportionality monitoring
Typical Flow
- Violation detected by officer or provider; type & date recorded
- Attach supporting documentation (attendance logs, alerts, police notice)
- Classification as technical vs. new-law; determine tier via grid
- Check prior violations within lookback window; apply escalation rules
- Administrative response (warning/service/condition change) or refer for revocation hearing
- Record response timeliness and any overrides with rationale
- Revocation hearing if applicable; decision to continue, modify, or revoke
- Update orders; set next review date; note confinement credit if any
- Outcome recorded with length, reason, and future eligibility
- Flag eligibility for early termination or reentry supports; schedule follow-up check
Fields
Field | Type | Required | Codeset | Description |
---|---|---|---|---|
pipeline_place_id | uuid | β | β | Unique identifier for this violation/response record. |
pipeline_stage_id | enum | β | stages.yml#stage_key(8)
| One of the 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 | β | Reporting/responding officer or case manager. | |
occurred_datetime | datetime | β | β | Date/time the violation occurred or was recorded. |
jurisdiction_code | string | β | β | County/parish/circuit or standardized local code. |
legal_case_id | string | β | Case/docket identifier if applicable. | |
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 (policy/tool change, etc.). | |
violation_classification_code | enum | β | violation_classifications.yml#class(2)
| technical or new_law. |
violation_type_code | enum | β | β missing in _index.yml | Specific violation (missed_contact, curfew, program_nonattendance, new_offense, other). |
violation_detail_codes | array<string> | violation_details.yml#detail(7)
| Optional detail tags (e.g., gps_tamper, positive_test); semicolon-delimited. | |
violation_report_source_code | enum | report_sources.yml#source(6)
| officer_report, provider_alert, police_notice, vendor_alert, court_notice, other. | |
source_document_ids | array<string> | β | IDs/links to supporting documents or alerts; semicolon-delimited. | |
response_grid_key | enum | response_grids.yml#grid(2)
| Policy grid identifier used for tiering. | |
response_tier_code | enum | response_tiers.yml#tier(5)
| Tier selected given severity/frequency (e.g., tier1_warning β¦ tier5_revocation). | |
response_action_codes | array<string> | graduated_responses.yml#action(5)
| Actions applied (warning, skill_session, increased_contacts, schedule_change, community_service, day_reporting, atd_switch, respite, file_revocation); semicolon-delimited. | |
response_datetime | datetime | β | Timestamp the administrative response was executed. | |
override_flag | boolean | β | Departure from grid/tier applied. | |
override_reason_code | enum | overrides.yml#reason(4)
| Rationale for override. | |
override_approver_staff_id | string | β | Approver staff id for override. | |
referred_for_hearing_flag | boolean | β | Case referred for court revocation/modification. | |
hearing_datetime | datetime | β | Date/time of revocation or modification hearing. | |
hearing_decision_code | enum | hearing_decisions.yml#decision(6)
| continue, modify_conditions, placement, new_probation_term, revoke, dismissed. | |
modified_condition_codes | array<string> | order_conditions.yml#condition(6)
| Conditions added/changed by decision; semicolon-delimited. | |
confinement_type_code | enum | confinement_types.yml#type(5)
| detention, residential, respite, jail_adult, other. | |
confinement_start_datetime | datetime | β | Start of revocation-related confinement (if any). | |
confinement_end_datetime | datetime | β | End of revocation-related confinement (if any). | |
next_review_date | date | β | Next scheduled review date after response/hearing. | |
subgroup_code | enum | subgroup_categories.yml#group(5)
| Race/ethnicity/gender/geography/rurality subgroup code for equity disaggregation. | |
Download CSVwhat_we_track.csv |
Data & Methods
Violation data are event-based, with each violation episode linked to a supervision spell. Technical violations follow definitions in Technical Violations vs. New Offenses. Timeliness measures use days-to-response metrics, truncated at 90 days for outliers. Revocation duration is calculated as total days of confinement attributable to the violation episode. To assess consistency, jurisdictions compare tier use rates and overrides. Series breaks and small-n suppression follow Series Breaks & Definition Changes and Suppression & Small-n. For proportional response design, see Outcome Measurement & Indicator Design.