test(sp41): expand parametric coverage to 20 visits (10 batch-1 + 10 batch-2)

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).
This commit is contained in:
Nora
2026-07-08 02:24:44 -06:00
parent 579e5d7438
commit e35e5e03b3
2 changed files with 18 additions and 1 deletions
+11
View File
@@ -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"
1 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
2 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
3 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
4 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
5 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
6 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
7 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
8 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
9 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
10 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
11 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
+7 -1
View File
@@ -380,7 +380,13 @@ def _load_visit_rows_from_csv(path) -> list[VisitRow]:
return out 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): def test_every_visit_in_fixture_passes_full_pipeline(fixture_csv):
"""For each visit in the fixture CSV, the full pipeline (build → serialize → """For each visit in the fixture CSV, the full pipeline (build → serialize →
SP40 local validator) passes. SP40 local validator) passes.