# Signal — Terax AI Context

> Dev and terminal work only. Strategy, brand, and pilot decisions stay in Claude Code.
> Use @path references in the AI Composer to pull in specific files before asking questions.

---

## What Signal Does

Signal is a B2B CGM documentation readiness tracker for DMEPOS suppliers. A supplier exports their order data as a CSV (from Brightree or similar), Signal evaluates each patient against documentation requirements (6-month qualifying visit, PECOS enrollment, SWO, resupply eligibility), and produces a stoplight report so staff can prioritize outreach before claims are submitted.

Signal identifies gaps. It does not contact anyone.

**Core value:** Shifts supplier staff time from reactive (denial appeals after the fact) to proactive (preventing denial conditions before supplies ship).

---

## PHI Architecture — Non-Negotiable

- STTIL never stores patient names, SSNs, DOBs, or contact info
- Sole crosswalk key: `patient_id` (the DME's internal MRN or account number)
- AI/calculation layer sees: `patient_id`, `device_type`, `shipment_date`, `quantity`, `payer` — nothing else
- All logs hash `patient_id` before storing — never raw
- If a proposed change would require storing additional PHI fields, stop and flag it

---

## Level 1 Stack (Active)

| Layer | Tool |
|-------|------|
| Hosting | Hostinger VPS — data never leaves VPS |
| Language | Python (FastAPI) |
| Database | PostgreSQL (encrypted at rest, audit logs) |
| Orchestration | n8n self-hosted (24-hr batch trigger) |
| Notifications | Self-hosted Mailcow — encrypted email to DME staff only |
| Frontend | signal-ui/ |

---

## Active Files — Start Here

```
python-backend/core/coverage_calculator.py   # main eligibility logic
python-backend/core/audit_logger.py          # hashed logging
python-backend/config/payer_rules.json       # wear days and payer rules — reference for all calculations
signal-ui/                                   # frontend
research/dmepos-research-v3.md               # full market context + verified stat index (updated May 2026)
research/cgm-market-research-synthesis-v1.md # stat verification summary (May 2026)
docs/hipaa-deployment-analysis-v1.md         # compliance reference
docs/sttil-brand-system-v1.md                # brand (read-only reference)
pitch/                                       # pitch assets and whitepaper
```

---

## Market Context — Key Verified Stats (May 2026)

Use these. Do not invent or derive alternatives.

| Stat | Source | Use For |
|------|--------|---------|
| 30.86% pre-pay error rate | CGS MAC Jurisdiction B Q2 2024 | Denial prevention pitch — measures near-submission risk |
| 32.8% error rate / 68.6% from docs | CERT 2019 | LinkedIn and public copy — "nearly 1 in 3", "over two-thirds from docs" |
| 67.6% absent documentation | CMS 2024 MLN | Whitepaper / gate framing — post-payment audit |
| $1.9B DMEPOS improper payments | OIG FY2024 | Market context only |

**Do not use:** "94.2%" (derived, not citable), "63% write-off" (modeled, not citable).

Full verified stat table: `research/dmepos-research-v3.md` Section 14.

---

## Urgency Anchors (Active)

- Synapse Health mandatory for Medicare CGM: August 1, 2026
- PA exemption cycle (90% affirmation rate): June 1, 2026 first cycle
- 7 new HCPCS codes added to Required PA List: April 13, 2026
- DMEPOS enrollment moratorium in effect: February 27, 2026
- CGM competitive bidding: January 1, 2028

---

## What Is Tabled — Do Not Build

| Item | Why |
|------|-----|
| Dexcom OAuth API | Requires vendor agreement + PHI scope expansion |
| Prescriber fax automation | Phase 2 — Level 1 manual outreach sufficient |
| Patient-facing SMS | PHI to third party — needs BAA + consent layer |
| Consortium / Level 2-3 features | Needs 15+ paying Level 1 suppliers first |
| Convex | Not needed until real-time sync requirements emerge |

---

## VPS — Common Terax Commands

```bash
# Connect
ssh root@72.62.134.75

# Check running Signal services
ssh root@72.62.134.75 "docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'"

# View Signal API logs (live)
ssh root@72.62.134.75 "docker logs signal-api --tail 50 -f"

# Restart Signal API
ssh root@72.62.134.75 "docker compose -f /opt/signal/docker-compose.yml restart signal-api"

# Check Caddy (reverse proxy)
ssh root@72.62.134.75 "docker logs caddy --tail 30"

# Run local tests before deploy
cd python-backend && pytest core/ -v
```

---

## Dev Rules

- Work Level 1 scope only
- Reference `payer_rules.json` for all wear-day calculations — do not hardcode
- Use "resupply" not "refill" (CGM supply allowances are exempt from Medicare refill rules)
- Never suggest adding PHI fields beyond `patient_id`
- Flag any vendor integration that would require a new BAA
- If asked about Phase 2/3 scope, acknowledge and defer — do not spec or build
