kert
aa013d1c28
CI / skinny-install (aco) (push) Successful in 2m37s
CI / skinny-install (bcda) (push) Successful in 2m13s
CI / skinny-install (bib) (push) Successful in 1m59s
CI / skinny-install (bls) (push) Successful in 1m59s
CI / skinny-install (cms) (push) Successful in 1m37s
CI / skinny-install (cli) (push) Successful in 2m19s
CI / lint-test (push) Failing after 3m33s
CI / skinny-install (api) (push) Successful in 1m39s
CI / skinny-install (ccw) (push) Successful in 2m5s
CI / skinny-install (perf) (push) Successful in 1m35s
CI / skinny-install (conf) (push) Successful in 2m22s
CI / skinny-install (rex) (push) Successful in 2m34s
Deploy / build-scan-report (push) Failing after 3m43s
CI / skinny-install (pfs) (push) Successful in 2m10s
feat: OPPS file download + ingestion — 6 years of addenda into DuckDB (refs #264)
Download: CMS OPPS addenda ZIPs (CY2021-2026) from cms.gov/files/zip/
Ingest: parse Addendum A (APC weights) + Addendum B (HCPCS-APC crosswalk)
with header detection for CMS preamble rows across format drift.
Tables loaded:
- opps.apc_weight: 5,507 rows (804→1,041 APCs, 6 years)
- opps.addendum_b: 108,168 rows (17K→19K HCPCS codes per year)
- opps.skin_sub_addendum_b: 1,549 rows — skin sub SI history
Key finding — CY2026 reclassification visible in status indicators:
- 2021-2025: SI=N (packaged, 145→245 codes), SI=B (bundled, 52)
- 2026: SI=S1 (new separately payable supply, 272 codes) — the flat rate
SI=N drops to 31, SI=D (deleted) = 10 codes
2026-03-25 22:40:19 -04:00
..
2026-03-25 02:11:09 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-23 20:04:32 -04:00
2026-03-25 15:57:34 -04:00
2026-03-25 14:53:34 -04:00
2026-03-25 15:02:05 -04:00
2026-03-25 11:33:32 -04:00
2026-03-25 15:02:05 -04:00
2026-03-25 16:14:08 -04:00
2026-03-25 11:56:49 -04:00
2026-03-24 17:33:55 -04:00
2026-03-25 22:40:19 -04:00
2026-03-25 11:56:49 -04:00
2026-03-25 11:56:49 -04:00
2026-03-25 21:54:44 -04:00
2026-03-03 22:05:49 -05:00
2026-03-24 17:33:55 -04:00
2026-03-21 23:31:00 -04:00
2026-03-25 00:29:13 -04:00
2026-03-24 17:33:55 -04:00
2026-03-03 22:05:49 -05:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-03 22:05:49 -05:00
2026-03-03 22:05:49 -05:00
2026-03-03 22:05:49 -05:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-25 10:09:20 -04:00
2026-03-03 22:05:49 -05:00
2026-03-24 17:33:55 -04:00
2026-03-25 09:44:18 -04:00
2026-03-25 22:40:19 -04:00
2026-03-24 15:00:26 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:02:30 -04:00
2026-03-24 22:33:42 -04:00
2026-03-24 17:02:30 -04:00
2026-03-24 22:45:42 -04:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00
2026-03-03 22:05:49 -05:00
2026-03-03 22:05:49 -05:00
2026-03-25 14:04:32 -04:00
2026-03-12 17:25:30 -04:00
2026-03-24 17:33:55 -04:00
2026-03-25 14:04:32 -04:00
2026-03-03 22:05:49 -05:00
2026-03-24 17:33:55 -04:00
2026-03-24 17:33:55 -04:00