Accuracy Scoring
Every rate column on every ROID row receives a numeric score (0–7) reflecting how trustworthy it is. Rate selection in Stage 7 simply picks the highest-scored non-NULL value per ROID.
Why Accuracy Scores Exist
Scenario A — Validated: Payer MRF reports $150 for CPT 99213 at Provider X. Hospital MRF independently reports $145. Agreement within ~3%. Both rates get score 7. Rate selection picks the payer rate.
Scenario B — Unvalidated: Payer MRF reports $150. No hospital MRF record for this ROID. Single-source rate within outlier bounds. Score 4. Usable, but will lose to any validated rate.
Scenario C — Outlier: Payer MRF reports $5,000 for a routine office visit. Medicare MPFS benchmark is $120. This is a 40x multiple — almost certainly a data error. Score 1. Rate selection deprioritizes this rate unless it's the only option.
The score system lets rate selection automatically prefer the most trustworthy value — no manual curation required.
Two Rounds of Scoring
1
Raw Accuracy (chunked by payer)
Runs immediately after combined_raw is built. Scores all raw and transformed rate columns. Computes payer_rates_array and hospital_rates_array for counterparty checking. Output is also used to filter long rates for imputation (only non-outlier rates feed in).
→ tmp_int_accuracy_raw
2
BRIT Combination
Benchmarks + Raw + Imputations + Transformations are merged into one wide table per ROID.
→ tmp_int_combined_brit
3
BRIT Accuracy (by rate/provider type)
Second scoring pass after BRIT is built. Separate SQL and criteria for Medical, Drugs, Labs, PG, DME, Urgent Care — each type has different outlier bounds and validation rules. Runs in parallel.
→ tmp_int_accuracy_brit_medical, _drugs, _labs, _physician_groups, _dme, _urgent_care
4
BRIT Accuracy Union
All type-specific BRIT accuracy tables merged into the final accuracy table.
→ tmp_int_accuracy_brit
Score Scale (0–7) vs Canonical Rate Score (1–5)
These are two different scales — a common point of confusion:
| Scale | Range | Where used | Purpose |
|---|---|---|---|
| Accuracy score | 0–7 (with decimal tiebreaker) | Internal pipeline tables (_validation_score columns) | Determines which rate wins in rate selection |
| Canonical rate score | 1–5 | Output tables (prod_combined_abridged, prod_combined_all) | User-facing confidence indicator for the selected rate |
The canonical rate score is a simplified translation of the winning rate's accuracy score — published so downstream users can filter by confidence without needing to understand the internal 0–7 system. The mapping is covered in the Score Hierarchy page.
- Sample Data
| roid | payer_id | provider_type | billing_code | bill_type | payer_negotiated_rate | payer_negotiated_rate_validation_score | hospital_case_rate_dollar | hospital_case_rate_dollar_validation_score |
|---|---|---|---|---|---|---|---|---|
| FBD5854D06F25705097C4C56 | 643 | Physician Group | 19303 | Professional | 1004.73 | 5 | NULL | 0 |
| 3108DC6953FD17BA03C30837 | 643 | Physician Group | 99214 | Professional | 85.51 | 5 | NULL | 0 |
| 250B15193710A188B35B7A41 | 643 | Physician Group | 70100 | Professional | 26.40 | 4.111 | NULL | 0 |
| 56BC70BFF72949C6C3876F2F | 643 | Physician Group | 78315 | Professional | 260.13 | 5 | NULL | 0 |
| 5A1317CE5224B63D1D2FC6D9 | 643 | Physician Group | 64640 | Professional | 203.54 | 5 | NULL | 0 |
| DCA708CAFE5134D34884185F | 643 | Physician Group | 76937 | Professional | 33.98 | 5 | NULL | 0 |
| 159677123F4B57D67FDA374E | 643 | Physician Group | 55866 | Professional | 1975.25 | 5 | NULL | 0 |
| 07CF61EE18A87ECFE1BEF3E8 | 643 | Physician Group | 76380 | Professional | 119.46 | 5 | NULL | 0 |
| E11D8683BBD6F03C2CA80E34 | 643 | Physician Group | 95925 | Professional | 81.79 | 5 | NULL | 0 |
| 16A6C472A1020588448B9C22 | 643 | Physician Group | 44390 | Professional | 545.31 | 5 | NULL | 0 |