diff --git a/docs/superpowers/specs/2026-07-02-cyclone-rendering-npi-extraction-design.md b/docs/superpowers/specs/2026-07-02-cyclone-rendering-npi-extraction-design.md index 3596178..d5e6779 100644 --- a/docs/superpowers/specs/2026-07-02-cyclone-rendering-npi-extraction-design.md +++ b/docs/superpowers/specs/2026-07-02-cyclone-rendering-npi-extraction-design.md @@ -94,7 +94,7 @@ No `UPDATE` statements in the migration — backfill is a separate, deliberate s - `backend/src/cyclone/parsers/parse_837.py` — add a new `_consume_rendering_provider` (or analogous) function for Loop 2420A; wire into the existing claim assembly path so the rendering NPI lands on `Claim`. - `backend/src/cyclone/parsers/models_835.py` — extend `ClaimPayment` with `service_provider_npi`. - `backend/src/cyclone/db.py` — `Claim.rendering_provider_npi`, `Remittance.rendering_provider_npi`. No claim_payments ORM — service_provider_npi persists only via `Remittance.raw_json["service_provider_npis"]` (D5). -- `backend/src/cyclone/writer.py` / `writer_835.py` — set the new typed columns and the `raw_json` mirrors at write time. `writer_835.py` aggregates per-CLPs into `Remittance.rendering_provider_npi` (comma-separated, D4) and emits the `service_provider_npis` list into `raw_json` (D5). +- `backend/src/cyclone/writer.py` / `writer_835.py` — set the new typed columns and the `raw_json` mirrors at write time. `writer_835.py` writes the per-CLP `service_provider_npi` into `Remittance.rendering_provider_npi` (D4, single value) and into `raw_json["service_provider_npis"]` (D5). - `backend/src/cyclone/reconcile.py` — extend `_content_keys_match` (D6). - `backend/src/cyclone/cli.py` — new `backfill-rendering-npi` subcommand. - `backend/src/cyclone/migrations/0019_add_rendering_and_service_provider_npis.sql` — D9.