Signal: Proactive Healthcare Infrastructure starting with DMEPOS suppliers dispensing CGM supplies for T1D patients. https://git.forgejo.sttilsolutions.com/sttil/Signal/
Find a file
Kisa bcb1a10fe6 feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow
- New CoverageFlag enum: SUPPLY_LAPSED, VISIT_REQUIRED, TRANSFER_PENDING,
  RENEWAL_CRITICAL/ELEVATED/SOON, RESUPPLY_READY, ACTIVE
- Doc state machine: 5-item payer-dependent status per patient (SWO, Visit,
  PECOS, PA, Diagnosis) with cascade chain
- Confirm Visit endpoint: staff enters prescriber-confirmed date, persisted in
  Supabase confirmed_visits table, survives all future CSV imports
- Supabase migration: 001_add_confirmed_visits.sql (run manually in SQL editor)
- Frontend: Badge rebuilt for 8 flags, DocStatusBar 5-dot display,
  ConfirmVisitModal, expandable WorklistTable rows
- Legal: LOI, NDA, BAA drafts at pitch/legal/ for Nixon Law Group review
- Compliance docs: privacy policy, incident response, data handling
- CSV generator: market_data.json + PA/NJ generator scripts
- 15/15 tests passing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 11:29:33 -04:00
.claude Update Signal brand language and add pitch/build artifacts 2026-05-28 10:14:16 -04:00
docs feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow 2026-06-07 11:29:33 -04:00
n8n-workflows update CLAUDE.md and coverage calculator; add n8n content radar workflow, vercel SPA rewrite, and ui workspace config 2026-06-02 00:41:49 -04:00
pitch feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow 2026-06-07 11:29:33 -04:00
python-backend feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow 2026-06-07 11:29:33 -04:00
research feat: add reason strings per patient, fix export headers, add signal-ui source 2026-05-26 09:45:02 -04:00
signal-ui feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow 2026-06-07 11:29:33 -04:00
test-data feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow 2026-06-07 11:29:33 -04:00
tests feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow 2026-06-07 11:29:33 -04:00
.gitignore feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow 2026-06-07 11:29:33 -04:00
CLAUDE.md feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow 2026-06-07 11:29:33 -04:00
Dockerfile feat: FastAPI backend + full deployment stack (Railway + Vercel) 2026-05-18 19:01:35 -04:00
LICENSE.md feat: Signal CGM Level 1 foundation — calculator, audit logger, payer rules, license 2026-04-11 19:48:31 -04:00
mempalace.yaml refactor: reorganize repo structure — flatten CGM-Denial-Prevention/ and Projects/ into docs/ pitch/ research/ 2026-05-12 05:10:00 -04:00
railway.toml feat: FastAPI backend + full deployment stack (Railway + Vercel) 2026-05-18 19:01:35 -04:00
README.md Update Signal brand language and add pitch/build artifacts 2026-05-28 10:14:16 -04:00
requirements.txt Add Phase 3: Clerk auth with org-scoped data isolation 2026-05-29 12:12:17 -04:00
TERAX.md Update Signal brand language and add pitch/build artifacts 2026-05-28 10:14:16 -04:00
vercel.json feat: FastAPI backend + full deployment stack (Railway + Vercel) 2026-05-18 19:01:35 -04:00

Signal CGM powered by STTIL Solutions

B2B CGM documentation worklist tool for DMEPOS suppliers. Ingests CSV shipment data (Brightree/WellSky exports), calculates coverage expiration per patient using device wear-day rules, and produces a prioritized worklist for proactive outreach — so small DME teams act before claims deny, not after.

Self-hosted. Data never leaves the supplier network.


What It Does

Most DMEPOS suppliers manage CGM coverage reactively: a claim denies, then staff scramble to appeal. Signal CGM flips that. The system watches coverage windows continuously and surfaces patients approaching expiration before the denial condition exists.

  • Ingests shipment CSV from Brightree or WellSky
  • Calculates coverage expiration per patient per device using payer-specific wear-day rules
  • Flags each patient: REFILL_WINDOW, VISIT_DUE, OUT_OF_COVERAGE, or OK
  • Delivers a prioritized worklist to DME staff via encrypted email
  • Staff handle outreach locally — Signal CGM never contacts patients directly

Stack

Layer Technology
Backend Python / FastAPI
Database PostgreSQL (encrypted at rest)
Orchestration n8n (self-hosted, 24-hour batch trigger)
Notifications Mailcow (self-hosted SMTP — staff email only)
Hosting Hostinger VPS — data stays on-prem

PHI Architecture

Signal CGM is designed to minimize PHI surface area:

  • Sole crosswalk key: patient_id (the supplier's internal MRN or account number). No names, SSNs, DOBs, or contact information enter the system.
  • DME staff maintain the patient_id ↔ real identity mapping in their own systems (Brightree, EHR, etc.).
  • The calculation layer sees: patient_id, device_type, shipment_date, quantity, payer — nothing else.
  • All audit logs hash patient_id before storage. Raw identifiers never appear in logs.

Coverage Flag Logic

Flag Meaning
REFILL_WINDOW Patient is within the refillable window — safe to ship
VISIT_DUE Physician visit renewal is approaching (Medicare: 180 days)
OUT_OF_COVERAGE Coverage has lapsed — outreach required before next shipment
OK No action needed at this time

Directory Structure

signal-cgm/
├── python-backend/
│   ├── core/
│   │   ├── coverage_calculator.py   # Coverage clock logic
│   │   ├── audit_logger.py          # PHI-safe audit logging
│   │   └── db_models.py             # PostgreSQL models
│   └── config/
│       └── payer_rules.json         # Wear-day rules by device and payer
├── n8n-workflows/                   # n8n batch trigger exports
└── CLAUDE.md                        # Active dev context

BAA Status (Level 1)

Vendor BAA Required Status
Hostinger VPS Yes — PHI host Pending
Anthropic API Only if AI layer touches PHI Not applicable (Level 1)
All other components Self-hosted — operator is STTIL N/A

© 2026 STTIL Solutions LLC. Proprietary software — see LICENSE.md.