EDORA Learn — Pipelines
Program Completion & Early Termination (Accountability & Exit)
Pipeline 05D
Pipeline Transparency note: definitions of “completion” and “successful discharge” differ across agencies. We annotate where documentation standards or thresholds changed, creating series breaks.
Overview
Program completion data mark the endpoint of youth participation in supervision or services. Definitions vary by jurisdiction and program type—some require full dosage, others allow early termination for sustained compliance or earned discharge. Understanding these definitions is critical for comparing program performance and tracking outcomes over time. This page describes measurable completion logic, documentation, and analysis conventions.
What We Track
Completion Definitions
- Full requirements met (dosage, milestones, conditions)
- Time-based completion (time served / time-on-program)
- Case closure for sustained compliance & stability
Verification & Documentation
- Signed closure summaries (youth/caregiver where applicable)
- Supervisory approval captured (name, timestamp)
- Final progress note / evaluation uploaded to record
Early Termination
- Earned discharge for sustained compliance & goal attainment
- Transfer to lower supervision (document rationale & criteria)
- Administrative closure (relocation, age-out/adult jurisdiction)
Failures & Appeals
- Non-compliance, absconding, or program withdrawal (reason codes)
- Formal appeal or re-entry pathway documented
Comparability
- Harmonized closure status codes across systems/providers
- Aligned outcome types (successful / neutral / unsuccessful)
Typical Flow
- Review case plan; verify service completion & compliance benchmarks
- Confirm dosage delivered vs. planned; check outstanding conditions
- Document closure type
- Successful, early termination, unsuccessful, transfer, or neutral exit
- Apply harmonized codes for cross-program comparability
- Approve closure via supervisory review; generate summary
- Signed closure summary; final progress note/evaluation attached
- Transmit closure data to centralized system; update indicators
- Flag for inclusion in follow-up cohorts (90/180-day outcomes)
- Monitor post-exit outcomes (90–180 days) for sustained success or re-engagement
- Education/employment status; re-referrals/petitions; program re-entry
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 | — | Supervising/approving officer. | |
occurred_datetime | datetime | ✅ | — | Timestamp the closure decision was recorded/approved. |
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. | |
closure_outcome_code | enum | ✅ | completion_statuses.yml#status(3)
| successful, neutral_exit, or unsuccessful (harmonized outcome). |
closure_type_code | enum | ✅ | closure_types.yml#type(6)
| Completed_full, Time_based, Early_termination, Transfer_lower_supervision, Administrative_closure, Unsuccessful_termination. |
harmonization_set_key | enum | closure_harmonization_sets.yml#set_key(1)
| Mapping set used to normalize provider/system-specific codes. | |
closure_summary_signed_flag | boolean | — | Signed closure summary captured (youth/caregiver where applicable). | |
final_progress_note_id | string | — | Identifier for final progress note/evaluation document. | |
supervisor_approval_flag | boolean | ✅ | — | Supervisory approval recorded. |
supervisor_approval_datetime | datetime | — | When supervisor approved closure. | |
supervisor_staff_id | string | — | Approving supervisor identifier. | |
requirements_met_flag | boolean | — | Program requirements/milestones completed. | |
time_based_completion_flag | boolean | — | Time-served/time-on-program threshold used. | |
dosage_planned_amount | number | — | Planned total dosage for the episode (same unit used below). | |
dosage_delivered_amount | number | — | Delivered dosage at closure. | |
dosage_unit_code | enum | dosage_units.yml#unit(4)
| Unit for dosage (hours, sessions, days, credits). | |
early_termination_reason_code | enum | early_termination_reasons.yml#reason(6)
| Earned discharge rationale (sustained_compliance, goal_attainment, low_risk, etc.). | |
transfer_destination_code | enum | transfer_destinations.yml#dest(4)
| Destination for transfer (lower_supervision, other_jurisdiction, voluntary_services). | |
administrative_closure_reason_code | enum | ❌ missing in _index.yml | Relocation, age_out, adult_transfer, record_merge, etc. | |
unsuccessful_reason_code | enum | failure_reasons.yml#reason(3)
| If unsuccessful, reason (noncompliance, absconding, withdrawal). | |
appeal_filed_flag | boolean | — | Appeal of closure filed. | |
appeal_outcome_code | enum | appeal_outcomes.yml#outcome(5)
| Appeal outcome (upheld, modified, denied, pending, withdrawn). | |
reentry_pathway_flag | boolean | — | Formal re-entry path to program recorded. | |
closure_datetime | datetime | ✅ | — | Timestamp when the program episode was closed. |
followup_90d_due_date | date | — | Due date for 90-day outcomes capture. | |
followup_180d_due_date | date | — | Due date for 180-day outcomes capture. | |
Download CSVwhat_we_track.csv |
Data & Methods
Completion indicators use program-based denominators. Each closure record includes outcome type, completion flag, closure reason, and closure date. Where programs redefine thresholds or documentation rules, we mark series breaks. Comparisons across jurisdictions require harmonized codes and version-tracking, as detailed in Metadata & Documentation and Series Breaks & Definition Changes. Small-n suppression rules follow Suppression & Small-n. Longitudinal follow-up and cohort retention practices are discussed in Attrition & Censoring.