EDORA Learn — Pipelines
Continuous Quality Improvement (CQI) & Policy Feedback
Pipeline 10
A pipeline that cannot learn will repeat its mistakes. CQI turns dashboards and audits into training, memos, and better outcomes.
Overview
This node captures how jurisdictions review stage metrics, investigate disparities, document fixes, and publish transparent updates when policy shifts create series breaks.
What We Track
Benchmarks & Rate Ratios (Equity-Ready Analytics)
- Benchmarks defined per stage (e.g., ≤10 days to school re-enrollment; ≤48h detention hearing)
- Parity bands / rate ratios set (reference = 1.00) across race/ethnicity, gender, language, disability, rural/urban
- Disaggregation rules documented (population vs. prior-stage denominators; cohort windows fixed)
Stage Reviews (Where We Look)
- Detention: eligibility/overrides, ALOS/median, ATD utilization, FTA rates after release
- Hearings: timeliness, continuance reasons, counsel presence, language access coverage
- Supervision: contact standards met, response grid adherence, service dosage vs. plan
- Reentry: first contact ≤7d, school re-enroll ≤10d, early stability (30/90/180)
Root-Cause & Action Logs (Closing the Gap)
- Structured analysis used (5 Whys / Fishbone / A3); hypothesis recorded prior to action
- Owner, due date, resources assigned; RACI noted for cross-agency tasks
- Pre/post metric chosen (e.g., median days, completion rate, disparity index) for effect validation
Training & Policy Memos (Turning Insight into Practice)
- Change documented: policy memo, SOP update, or script/template revision (version + effective date)
- Training roster & completion tracked; refresher cadence set (e.g., annual/biannual)
- Series break flagged in dashboards if definitions/tools changed
Transparency & Governance (Showing Our Work)
- Dashboards with confidence bands, small-n flags, and notes on comparability
- Public-facing summaries & stakeholder brief cadence (monthly/quarterly)
- Data governance minutes archived; action status (“on track / at risk / blocked”) visible
Feedback Loop
- Review stage metrics & disparities
- Compare to benchmarks and parity bands; confirm data quality (coverage, series breaks)
- Investigate drivers; form hypotheses
- Run 5 Whys/Fishbone; inspect flow bottlenecks (timeliness, capacity, eligibility rules)
- Draft & implement actions
- Publish policy/training updates; configure checklists/UI nudges; mark series breaks as needed
- Re-measure & validate impact
- Pre/post comparison or PDSA cycle; adjust benchmarks if sustained improvement observed
- Report out & iterate
- Share progress with stakeholders; log residual gaps; queue next cycle
Fields
Field | Type | Required | Codeset | Description |
---|---|---|---|---|
pipeline_place_id | uuid | ✅ | — | Unique identifier for this CQI review/action record. |
pipeline_stage_id | enum | ✅ | stages.yml#stage_key(8)
| One of the canonical stages; defaulted here to reentry_aftercare. |
pipeline_place_key | enum | ✅ | pipeline_places.yml#place_key(45)
| Canonical key for this place (maps to route/slug). |
occurred_datetime | datetime | ✅ | — | Anchor timestamp (e.g., review meeting date or action decision time). |
jurisdiction_code | string | ✅ | — | County/parish/circuit or standardized local code. |
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 due to policy/process/tool change. | |
series_break_reason | enum | series_breaks.yml#reason(4)
| Reason for series break. | |
review_domain_code | enum | ✅ | review_domains.yml#domain(10)
| Which stage/focus area is under review (detention, hearings, supervision, reentry, etc.). |
metric_code | enum | ✅ | metric_catalog.yml#metric(10)
| The specific stage metric being reviewed (e.g., reenroll_within_10d, detention_hearing_within_48h). |
benchmark_definition_code | enum | ✅ | benchmark_definitions.yml#benchmark(6)
| Benchmark selected/defined for this metric. |
parity_reference_group_code | enum | disparity_dimensions.yml#group⚠️ using disparity_dimensions.yml#dimension(5)
| Reference group for rate ratios (e.g., overall, White, etc.). | |
disaggregation_rule_code | enum | disaggregation_rules.yml#rule(4)
| Population vs. prior-stage denominators; fixed cohort window rule. | |
disparity_dimension_codes | array<string> | disparity_dimensions.yml#dimension(5)
| Dimensions examined (race_ethnicity, gender, language, disability, rural_urban); semicolon-delimited. | |
analysis_method_code | enum | root_cause_methods.yml#method(4)
| Structured method used (five_whys, fishbone, a3, pdsa). | |
hypothesis_document_id | string | — | Document or note reference recording the hypothesis before action. | |
action_type_code | enum | action_types.yml#type(5)
| Policy_memo, SOP_update, script_revision, checklist_nudge, training. | |
action_owner_staff_id | string | — | Responsible owner for this action. | |
action_due_date | date | — | Due date for action completion. | |
raci_roles | array<string> | raci_roles.yml#role(4)
| RACI roles assigned for cross-agency tasks; semicolon-delimited. | |
raci_assignee_staff_ids | array<string> | — | Staff ids aligned positionally to raci_roles; semicolon-delimited. | |
action_status_code | enum | action_statuses.yml#status(4)
| on_track, at_risk, blocked, complete. | |
change_document_id | string | — | ID/link for policy memo/SOP/script/versioned artifact. | |
change_version | string | — | Version or effective label for the change. | |
change_effective_date | date | — | Effective date of the policy/SOP/script change. | |
training_required_flag | boolean | — | Whether a training was required due to this change. | |
training_completion_cadence_code | enum | training_cadences.yml#cadence(4)
| Annual, biannual, quarterly, ad_hoc. | |
training_total_required_count | integer | — | Count of staff required to complete training. | |
training_completed_count | integer | — | Count of staff who completed training. | |
pre_post_metric_code | enum | metric_catalog.yml#metric(10)
| The metric chosen for pre/post comparison. | |
pre_period_start_date | date | — | Start of “pre” observation period. | |
pre_period_end_date | date | — | End of “pre” period (inclusive/exclusive per local rule). | |
post_period_start_date | date | — | Start of “post” observation period. | |
post_period_end_date | date | — | End of “post” observation period. | |
dashboard_publication_flag | boolean | — | True if dashboard was (or will be) publicly published. | |
confidence_band_method_code | enum | confidence_band_methods.yml#method(3)
| Method used to produce dashboard bands (binomial_ci, bootstrap, bayesian). | |
small_n_threshold_value | integer | — | Minimum cell size before suppression. | |
publication_cadence_code | enum | publication_cadences.yml#cadence(3)
| Monthly, quarterly, annual. | |
governance_minutes_document_id | string | — | Reference to governance minutes or decision log. | |
data_quality_issue_codes | array<string> | data_quality_issue_types.yml#issue(7)
| Coverage/gap notes (left/right censoring, match failures, definitional drift); semicolon-delimited. | |
data_steward_staff_id | string | — | Steward responsible for governance documentation. | |
Download CSVwhat_we_track.csv |