33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
"""Tests for pfs.nprm — NPRM Addendum B loader → pfs.rvu_proposed (#592)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import duckdb
|
|
|
|
from pfs import nprm
|
|
|
|
|
|
def _fixture(tmp_path):
|
|
p = tmp_path / "CY2026_NPRM_Addendum_B.csv"
|
|
p.write_text(
|
|
"HCPCS,MOD,DESCRIPTION,STATUS CODE,WORK RVU,"
|
|
"NON-FAC PE RVU,FAC PE RVU,MP RVU\n"
|
|
"99213,,Office visit est,A,1.3,1.5,0.55,0.1\n"
|
|
"0001A,,Admin covid,X,0.0,0.0,0.0,0.0\n"
|
|
)
|
|
return p
|
|
|
|
|
|
def test_load_rvu_proposed_loads_and_reloads(tmp_path, monkeypatch):
|
|
path = _fixture(tmp_path)
|
|
monkeypatch.setattr(nprm, "_discover_addendum_b", lambda: path)
|
|
con = duckdb.connect()
|
|
out = nprm.load_rvu_proposed(con)
|
|
assert out["rows"] == 2
|
|
row = con.execute(
|
|
"SELECT hcpcs, work_rvu, cms_rule_id FROM pfs.rvu_proposed WHERE hcpcs='99213'"
|
|
).fetchone()
|
|
assert row == ("99213", 1.3, "CMS-1832-P")
|
|
nprm.load_rvu_proposed(con) # idempotent delete-and-reload
|
|
assert con.execute("SELECT count(*) FROM pfs.rvu_proposed").fetchone()[0] == 2
|