EDORA
Skip to content

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

  1. Review case plan; verify service completion & compliance benchmarks
    • Confirm dosage delivered vs. planned; check outstanding conditions
  2. Document closure type
    • Successful, early termination, unsuccessful, transfer, or neutral exit
    • Apply harmonized codes for cross-program comparability
  3. Approve closure via supervisory review; generate summary
    • Signed closure summary; final progress note/evaluation attached
  4. Transmit closure data to centralized system; update indicators
    • Flag for inclusion in follow-up cohorts (90/180-day outcomes)
  5. Monitor post-exit outcomes (90–180 days) for sustained success or re-engagement
    • Education/employment status; re-referrals/petitions; program re-entry
Schema source: program-completion

Fields

FieldTypeRequiredCodesetDescription
pipeline_place_iduuidUnique identifier for this pipeline place row.
pipeline_stage_idenum
stages.yml#stage_key(8)
  • intake
  • detention
  • adjudication
  • disposition
  • supervision
  • commitment_and_placement
  • reentry
  • closure
One of the 8 canonical stages.
pipeline_place_keyenum
pipeline_places.yml#place_key(45)
  • intake
  • pre_petition_diversion_and_deflection
  • diversion
  • youth_assessment_tools
  • prosecutorial_screening
  • status_offenses
  • adjudication
  • case_planning
  • family_engagement
  • case_timeliness
  • language_access
  • restorative_justice
  • detention_screening
  • community_atds
  • electronic_monitoring
  • court_appearance_and_fta
  • initial_hearing
  • pretrial_supervision
  • probation
  • intensive_supervision
  • …and 25 more
Canonical key for this place (maps to route/slug).
youth_idstringSalted/hashed or state UID. No plaintext PII.
staff_idstringSupervising/approving officer.
occurred_datetimedatetimeTimestamp the closure decision was recorded/approved.
jurisdiction_codestringCounty/parish/circuit or standardized local code.
legal_case_idstringCase/docket identifier if applicable.
source_systemstringOrigin system name.
source_filestringSource batch/file id if flatfile.
extract_run_idstringETL run id for lineage.
series_break_flagbooleanComparability break applies to this row.
series_break_reasonenum
series_breaks.yml#reason(4)
  • definition_change
  • vendor_change
  • coverage_change
  • policy_change
Reason for break when flagged.
closure_outcome_codeenum
completion_statuses.yml#status(3)
  • successful
  • neutral_exit
  • failure
successful, neutral_exit, or unsuccessful (harmonized outcome).
closure_type_codeenum
closure_types.yml#type(6)
  • Completed_full
  • Time_based
  • Early_termination
  • Transfer_lower_supervision
  • Administrative_closure
  • Unsuccessful_termination
Completed_full, Time_based, Early_termination, Transfer_lower_supervision, Administrative_closure, Unsuccessful_termination.
harmonization_set_keyenum
closure_harmonization_sets.yml#set_key(1)
  • default_v1
Mapping set used to normalize provider/system-specific codes.
closure_summary_signed_flagbooleanSigned closure summary captured (youth/caregiver where applicable).
final_progress_note_idstringIdentifier for final progress note/evaluation document.
supervisor_approval_flagbooleanSupervisory approval recorded.
supervisor_approval_datetimedatetimeWhen supervisor approved closure.
supervisor_staff_idstringApproving supervisor identifier.
requirements_met_flagbooleanProgram requirements/milestones completed.
time_based_completion_flagbooleanTime-served/time-on-program threshold used.
dosage_planned_amountnumberPlanned total dosage for the episode (same unit used below).
dosage_delivered_amountnumberDelivered dosage at closure.
dosage_unit_codeenum
dosage_units.yml#unit(4)
  • sessions_per_week
  • hours_per_week
  • total_hours
  • total_weeks
Unit for dosage (hours, sessions, days, credits).
early_termination_reason_codeenum
early_termination_reasons.yml#reason(6)
  • sustained_compliance
  • goal_attainment
  • minimal_risk
  • treatment_response
  • court_ordered
  • other
Earned discharge rationale (sustained_compliance, goal_attainment, low_risk, etc.).
transfer_destination_codeenum
transfer_destinations.yml#dest(4)
  • lower_supervision
  • other_jurisdiction
  • voluntary_services
  • administrative_transfer
Destination for transfer (lower_supervision, other_jurisdiction, voluntary_services).
administrative_closure_reason_codeenum❌ missing in _index.ymlRelocation, age_out, adult_transfer, record_merge, etc.
unsuccessful_reason_codeenum
failure_reasons.yml#reason(3)
  • new_offense
  • withdrawal
  • noncompliance
If unsuccessful, reason (noncompliance, absconding, withdrawal).
appeal_filed_flagbooleanAppeal of closure filed.
appeal_outcome_codeenum
appeal_outcomes.yml#outcome(5)
  • upheld
  • modified
  • denied
  • pending
  • withdrawn
Appeal outcome (upheld, modified, denied, pending, withdrawn).
reentry_pathway_flagbooleanFormal re-entry path to program recorded.
closure_datetimedatetimeTimestamp when the program episode was closed.
followup_90d_due_datedateDue date for 90-day outcomes capture.
followup_180d_due_datedateDue 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.

Related