From e35e5e03b38d06a412968ea36fca7dbefee08d96 Mon Sep 17 00:00:00 2001 From: Nora Date: Wed, 8 Jul 2026 02:24:44 -0600 Subject: [PATCH] test(sp41): expand parametric coverage to 20 visits (10 batch-1 + 10 batch-2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The fixture-driven test now exercises both spot-check batches: - spot_check_visits.csv (10 NOT_IN_835 visits) - spot_check_visits_batch2.csv (10 DENIED+PARTIAL visits) All 20 visits run through build_claim_output → serialize_837 → SP40 local validator (25 R-codes) → structural_spot_check. Full backend suite: 1568 passed (was 1567). --- backend/tests/fixtures/spot_check_visits_batch2.csv | 11 +++++++++++ backend/tests/test_rebill_spot_check.py | 8 +++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 backend/tests/fixtures/spot_check_visits_batch2.csv diff --git a/backend/tests/fixtures/spot_check_visits_batch2.csv b/backend/tests/fixtures/spot_check_visits_batch2.csv new file mode 100644 index 0000000..4f16cd5 --- /dev/null +++ b/backend/tests/fixtures/spot_check_visits_batch2.csv @@ -0,0 +1,11 @@ +"Client","Visit Date","Payer","Authorized","Member ID","Auth Start Date","Auth End Date","Authorization #","ICD-10","Service","Procedure Code","Modifiers","Client Classes","Billable Hours","Billable Amount","Invoice #","Claimed" +"O'Keefe , Laura","05/09/2026","COHCPF","yes","Y477643","03/10/2026","08/31/2026","9","R69","IHSS PCP T1019","T1019","KX, SC, U2","IHSS DR","8.5333","$237.57","INV-2026-05-09-Y477643","Yes" +"O'Keefe , Laura","05/02/2026","COHCPF","yes","Y477643","03/10/2026","08/31/2026","9","R69","IHSS PCP T1019","T1019","KX, SC, U2","IHSS DR","8.5","$236.64","INV-2026-05-02-Y477643","Yes" +"Wilson, Michelle","06/25/2026","COHCPF","yes","R649327","07/01/2025","06/30/2026","3","R69","SLS Respite S5150","S5150","U8","SLS/CES","8.1","$235.55","INV-2026-06-25-R649327-B2","Yes" +"Stoumbaugh, Kiera","02/25/2026","COHCPF","yes","Y188426","02/01/2026","01/31/2027","2","R69","IHSS PCP T1019","T1019","KX, SC, U2","IHSS Salida, IHSS SR","8","$222.72","INV-2026-02-25-Y188426-B2","Yes" +"Hannegrefs, Austyn","05/12/2026","COHCPF","yes","Y552218","06/01/2025","05/31/2026","6","R69","SLS Respite S5150","S5150","U8","SLS/CES","7.5667","$220.04","INV-2026-05-12-Y552218","Yes" +"Stoumbaugh, Kiera","04/03/2026","COHCPF","yes","Y188426","02/01/2026","01/31/2027","2","R69","IHSS Attendant H0038","H0038","U2","IHSS Salida, IHSS SR","6","$218.40","INV-2026-04-03-Y188426","Yes" +"Wilson, Michelle","03/05/2026","COHCPF","yes","R649327","07/01/2025","06/30/2026","3","R69","SLS Respite S5150","S5150","U8","SLS/CES","7.3333","$213.25","INV-2026-03-05-R649327","Yes" +"Wilson, Michelle","06/11/2026","COHCPF","yes","R649327","07/01/2025","06/30/2026","3","R69","SLS Respite S5150","S5150","U8","SLS/CES","7.3333","$213.25","INV-2026-06-11-R649327-B2","Yes" +"Wilson, Michelle","06/22/2026","COHCPF","yes","R649327","07/01/2025","06/30/2026","3","R69","SLS Respite S5150","S5150","U8","SLS/CES","7.3333","$213.25","INV-2026-06-22-R649327-B2","Yes" +"Wilson, Michelle","03/02/2026","COHCPF","yes","R649327","07/01/2025","06/30/2026","3","R69","SLS Respite S5150","S5150","U8","SLS/CES","7.3167","$212.77","INV-2026-03-02-R649327","Yes" \ No newline at end of file diff --git a/backend/tests/test_rebill_spot_check.py b/backend/tests/test_rebill_spot_check.py index f5debf0..dfaccb1 100644 --- a/backend/tests/test_rebill_spot_check.py +++ b/backend/tests/test_rebill_spot_check.py @@ -380,7 +380,13 @@ def _load_visit_rows_from_csv(path) -> list[VisitRow]: return out -@pytest.mark.parametrize("fixture_csv", ["tests/fixtures/spot_check_visits.csv"]) +@pytest.mark.parametrize( + "fixture_csv", + [ + "tests/fixtures/spot_check_visits.csv", # 10 batch-1 (NOT_IN_835) + "tests/fixtures/spot_check_visits_batch2.csv", # 10 batch-2 (DENIED+PARTIAL) + ], +) def test_every_visit_in_fixture_passes_full_pipeline(fixture_csv): """For each visit in the fixture CSV, the full pipeline (build → serialize → SP40 local validator) passes.