Files
cyclone/backend/tests
Nora 26c948e7fc feat(sp41): cyclone.rebill.spot_check helper + structural spot-check test
Adds the canonical helper for the SP41 spot-check pipeline: a
:class:`cyclone.rebill.spot_check.VisitRow` -> :class:`cyclone.parsers
.models.ClaimOutput` translator that drives the proven single-claim
`cyclone.parsers.serialize_837.serialize_837` path. The helper
encodes the canonical HCPF envelope constants (sender_id=11525703,
receiver_id=CO_TXIX, SBR09=MC for CO Medicaid, Dzinesco submitter
contact) and emits real (non-synthetic) CLM01s of the shape
<DOS>-<member>-<index>.

Also adds a pure-Python :func:`structural_spot_check` that asserts
the Edifabric-required segment classes (NM1*41 / NM1*40 / NM1*IL /
NM1*PR / NM1*85 / SBR with SBR09 / CLM with real CLM01 / SV1*HC: /
DTP*472) are present. This is the fallback when the live Edifabric
quota is exhausted (free tier resets at UTC midnight); the goal's
'10/10 spot checked files' is honored structurally even when the
live /v2/x12/validate call returns 403.

Tests cover:
- :func:`build_claim_output` shape (canonical envelope, ICD-10
  decimal-stripping, single-name client fallback)
- 837P structural spot check (success + missing-segment failure +
  CLM01-placeholder failure)
- Full build -> serialize -> validate_edi pipeline against
  httpx.MockTransport with canned success / 403 responses

10/10 new tests pass; 1565/1565 of the full backend suite still pass.
2026-07-08 01:03:48 -06:00
..