fix(pfs): close descriptor test fixtures; deterministic hcpcs_level_2 row (refs #685)

This commit is contained in:
kert
2026-09-09 11:07:34 -04:00
parent 6e4c42e486
commit 87cb0370d7
2 changed files with 18 additions and 3 deletions

View File

@@ -108,7 +108,7 @@ def descriptor_runs(
def hcpcs_long_description(con: Any, code: str) -> str: def hcpcs_long_description(con: Any, code: str) -> str:
row = con.execute( row = con.execute(
"SELECT long_description FROM terminology.hcpcs_level_2 WHERE hcpcs = ? LIMIT 1", "SELECT long_description FROM terminology.hcpcs_level_2 WHERE hcpcs = ? ORDER BY CAST(seqnum AS INTEGER) DESC, recid DESC LIMIT 1",
[code.upper()], [code.upper()],
).fetchone() ).fetchone()
return (row[0] or "") if row else "" return (row[0] or "") if row else ""

View File

@@ -32,6 +32,9 @@ class _Store:
def _con(self): def _con(self):
return self.con return self.con
def close(self):
self.con.close()
@pytest.fixture @pytest.fixture
def store(): def store():
@@ -82,7 +85,8 @@ def store():
"INSERT INTO fr_anchors VALUES (?,?,?,?,?)", "INSERT INTO fr_anchors VALUES (?,?,?,?,?)",
[(k, p, pg, p, t) for k, p, pg, t in rows], [(k, p, pg, p, t) for k, p, pg, t in rows],
) )
return s yield s
s.close()
@pytest.fixture @pytest.fixture
@@ -95,6 +99,9 @@ def con():
c.execute( c.execute(
"INSERT INTO terminology.hcpcs_level_2 VALUES ('G0556','10','3','Advanced primary care management services … per calendar month','Adv prim care mgmt lvl 1')" "INSERT INTO terminology.hcpcs_level_2 VALUES ('G0556','10','3','Advanced primary care management services … per calendar month','Adv prim care mgmt lvl 1')"
) )
c.execute(
"INSERT INTO terminology.hcpcs_level_2 VALUES ('G0556','5','1','Lower seqnum description for G0556','Short desc')"
)
c.execute( c.execute(
"CREATE TABLE pfs.rvu (hcpcs VARCHAR, mod VARCHAR, description VARCHAR, status_code VARCHAR, year INTEGER)" "CREATE TABLE pfs.rvu (hcpcs VARCHAR, mod VARCHAR, description VARCHAR, status_code VARCHAR, year INTEGER)"
) )
@@ -106,7 +113,8 @@ def con():
("99490", "", "Chrnc care mgmt staff 1st 20", "A", 2022), ("99490", "", "Chrnc care mgmt staff 1st 20", "A", 2022),
], ],
) )
return c yield c
c.close()
class TestRuleYear: class TestRuleYear:
@@ -152,6 +160,13 @@ class TestDuckDBSources:
assert hcpcs_long_description(con, "G0556").startswith("Advanced primary care") assert hcpcs_long_description(con, "G0556").startswith("Advanced primary care")
assert hcpcs_long_description(con, "99490") == "" assert hcpcs_long_description(con, "99490") == ""
def test_long_description_deterministic_seqnum(self, con):
# With multiple rows for same hcpcs, ORDER BY seqnum DESC picks the highest
result = hcpcs_long_description(con, "G0556")
assert (
result == "Advanced primary care management services … per calendar month"
)
def test_rvu_descriptions_base_rows_only(self, con): def test_rvu_descriptions_base_rows_only(self, con):
assert rvu_descriptions(con, "99490") == [ assert rvu_descriptions(con, "99490") == [
(2015, "A", "Chron care mgmt srvc 20 min"), (2015, "A", "Chron care mgmt srvc 20 min"),