docs: mark SP3 shipped; tick all plan checkboxes

This commit is contained in:
Tyler
2026-06-20 08:25:15 -06:00
parent a665881d24
commit 446a02d0a2
2 changed files with 158 additions and 129 deletions
+33 -4
View File
@@ -123,16 +123,45 @@ backup API).
## Roadmap
Sub-project 2 (DB + reconciliation) is **shipped**. The other two:
Sub-projects 2 and 3 are **shipped**. Next up:
- **Sub-project 3 — More 837P/835 features.** Additional 837P validation
rules (REF*G1 enforcement, BHT06), 835 CAS deep-parsing, 999 ACK, and
270/271 eligibility.
- **Sub-project 3 (shipped) — More 837P/835 features.**
- **837P validation rules:** R034 enforces `REF*G1` on frequency-code
7/8 claims; R035 enforces `BHT06` transaction-type-code is in the
allowed set per payer config.
- **835 CAS deep-parsing:** every CAS adjustment now surfaces with its
CARC reason code + label (e.g. `CO-29: The time limit for filing has
expired`), surfaced via `GET /api/remittances/{id}` and rendered as
an expansion row on the Remittances page.
- **999 ACK transaction set:** full inbound parser + outbound
serializer. Auto-generated on 837 ingest when `?ack=true` is passed
to `POST /api/parse-837`. Persisted to the `acks` table, browsable
on a new `/acks` page, and downloadable as the regenerated raw
999 text.
- **270/271 eligibility (API-only):** `POST /api/eligibility/request`
builds a 270 from a JSON payload (subscriber, provider, payer,
service type); `POST /api/eligibility/parse-271` ingests the
response and returns structured `coverage_benefits`.
- **Sub-project 4 — Frontend features.** Per-claim detail drawer, batch
diff view, real-time streaming of NDJSON GET responses, advanced
filters (date range, multi-status, saved filter sets), keyboard-driven
navigation.
### SP3 endpoints
- `POST /api/parse-837?ack=true` — existing 837 parse, plus optional
auto-generated 999 ACK persisted alongside the batch.
- `POST /api/parse-999` — parse an inbound 999 ACK and persist it.
- `GET /api/acks` — list ACKs.
- `GET /api/acks/{id}` — ACK detail, including the regenerated
`raw_999_text`.
- `POST /api/eligibility/request` — build a 270 from JSON.
- `POST /api/eligibility/parse-271` — ingest a 271 and return parsed
coverage benefits.
The UI gains a new **Acks** page (sidebar entry) that lists persisted
ACKs and lets you download the regenerated 999 text.
## License
No license file yet; this is internal-use software. Add a `LICENSE` file