diff --git a/backend/src/cyclone/db.py b/backend/src/cyclone/db.py index f6c0bee..508b89a 100644 --- a/backend/src/cyclone/db.py +++ b/backend/src/cyclone/db.py @@ -249,6 +249,7 @@ class Claim(Base): service_date_to: Mapped[Optional[date]] = mapped_column(Date, nullable=True) charge_amount: Mapped[Decimal] = mapped_column(Numeric(12, 2), nullable=False, default=Decimal("0")) provider_npi: Mapped[Optional[str]] = mapped_column(String(16), nullable=True) + rendering_provider_npi: Mapped[Optional[str]] = mapped_column(String(16), nullable=True) payer_id: Mapped[Optional[str]] = mapped_column(String(32), nullable=True) state: Mapped[ClaimState] = mapped_column( Enum(ClaimState, native_enum=False), nullable=False, default=ClaimState.SUBMITTED @@ -344,6 +345,7 @@ class Remittance(Base): claim_id: Mapped[Optional[str]] = mapped_column( String(64), ForeignKey("claims.id"), nullable=True ) + rendering_provider_npi: Mapped[Optional[str]] = mapped_column(String(16), nullable=True) status_code: Mapped[str] = mapped_column(String(4), nullable=False) status_label: Mapped[Optional[str]] = mapped_column(String(32), nullable=True) total_charge: Mapped[Decimal] = mapped_column(Numeric(12, 2), nullable=False, default=Decimal("0")) diff --git a/backend/src/cyclone/migrations/0019_add_rendering_and_service_provider_npis.sql b/backend/src/cyclone/migrations/0019_add_rendering_and_service_provider_npis.sql new file mode 100644 index 0000000..63c7034 --- /dev/null +++ b/backend/src/cyclone/migrations/0019_add_rendering_and_service_provider_npis.sql @@ -0,0 +1,7 @@ +-- version: 19 +-- SP32: render & service-provider NPI extraction. +-- Nullable: existing rows stay NULL until backfill runs. +-- No indexes (used for set-equality, not range queries; nullable). + +ALTER TABLE claims ADD COLUMN rendering_provider_npi TEXT; +ALTER TABLE remittances ADD COLUMN rendering_provider_npi TEXT; \ No newline at end of file