Stage 1b: Expanding Scope
How to add payers, networks, billing codes, and providers to a Clear Rates run. Scope is defined by the spine inputs — add an entity here and it flows through the entire pipeline.
How Scope Changes Propagate
1
Identify what to add
Payer? Network? New billing codes? New provider type? Each entity type has different files to edit.
2
Edit spine inputs
The right files depend on entity type: payer.sql for payers, network_mappings.py + variables_XXX.sql for networks, cld-utils SQL for codes, spines team for providers.
3
Re-run cld-utils (if codes)
Codeset tables are built by the cld-utils DAG, separate from the sub-DAG. Rebuild the codeset and update the params.py pointer.
→ tq_intermediate.cld_utils.*
4
Run Clear Rates sub-DAG
New entities flow through the full pipeline: spines → ROS → raw data → transformations → imputations → accuracy → rate selection.
→ prod_combined_abridged
note
Networks require the most coordination. A network is defined in network_mappings.py (single source of truth) and in ppo_payer_keywords in variables_XXX.sql for hospital MRF matching. If keywords don't match the normalized plan_name, hospital rates silently fail to map — no error is raised.
Quick Reference
| Entity | Primary file(s) | Additional file(s) | Re-run cld-utils? |
|---|---|---|---|
| Payer | payer.sql | network_mappings.py, variables_XXX.sql | No |
| Network | network_mappings.py | variables_XXX.sql | No |
| Billing codes | cld-utils SQL | params.py (pointer update) | Yes |
| Provider type | code.sql, rate_object_space.sql | plausibility tables, accuracy rules | No |
See the sub-pages for step-by-step instructions for each entity type.