Signal/docs/pilot-guide-v1.md
Kisa cf171a3f87 add Phase 1 security hardening, mapping confidence, audit logging, pilot docs
- lock CORS to Vercel domain via ALLOWED_ORIGINS env var (removes allow_origins=*)
- add X-API-Key header auth on /api/upload and /api/export
- normalizer: add mapping confidence (high/inferred), new aliases for Acct #,
  Member ID, External Patient Ref, DME Description, dispensedate; 63/63 CSV files pass
- coverage_calculator: add RULE_VERSION = "v0.1", rule_version on every CoverageResult
- main.py: audit logging wired on upload + export, rule_version + mapping_summary in response
- generate_samples.py: 25 CSV files now use 25 different real-world header formats
- add generate_10k.py for 10,000-patient synthetic dataset
- add tests/smoke_test.py (passes against local backend)
- add docs/pilot-guide-v1.md for Robert Robinson pilot onboarding
- add docs/daniel-pilot-readiness-whitepaper.md and .pdf

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 05:41:25 -04:00

159 lines
6.8 KiB
Markdown

# Signal Pilot Guide
**STTIL Solutions | Confidential | For Pilot Participants Only**
---
## What Signal Does
Signal is a documentation readiness tool for CGM suppliers. You upload a CSV of your patient shipment records, Signal checks each record against documentation requirements, and returns a prioritized worklist showing which patients need attention before supplies go out or claims go in. The goal is to catch gaps before they become denials.
---
## How the Pilot Works
The pilot runs on historical data using de-identified patient records. You keep all real patient information in your system. Signal sees only synthetic identifiers you assign.
The five steps are:
1. Prepare your data file (replace real patient IDs with synthetic ones)
2. Upload the file to Signal
3. Review the worklist Signal returns
4. Export the work queue to your billing system
5. Compare Signal's flags to your actual claim outcomes
---
## Step 1: Prepare Your Data File
Signal does not need real patient names, Social Security numbers, dates of birth, or contact information. It works from shipment records only.
Before exporting, your billing staff will:
**Replace real patient IDs with synthetic ones.** Assign sequential placeholders before the export:
| Real Patient ID | Synthetic ID to Use |
|----------------|---------------------|
| Your internal MRN or account number | P001, P002, P003... |
Keep your own crosswalk table matching synthetic IDs back to real patient IDs. Signal will return its worklist using the synthetic IDs. You cross-reference back to real patients in your system.
**Export these fields from your billing system:**
| Field | What Signal Needs | Example |
|-------|------------------|---------|
| Patient identifier | Your synthetic ID | P001 |
| Device type | CGM device name | Dexcom G7, Libre 3, G6 |
| Shipment date | Date supplies went out | 03/15/2026 |
| Quantity | Units shipped | 3 |
| Payer | Insurance or plan name | Medicare Part B, Aetna |
Signal accepts common column name variations. If your export calls the shipment date "Service Date" or "DOS," Signal will recognize it.
**Optional: offset shipment dates.** If you prefer, shift all dates by a fixed number of days before exporting (for example, subtract 30 days from every date). Signal's coverage calculations use relative intervals, so the flags will still be accurate.
---
## Step 2: Upload Your File
1. Go to the Signal URL your STTIL Solutions contact provided
2. Click **Import CSV** in the left sidebar
3. Select your prepared export file
4. Signal will process the file and display your worklist
If Signal cannot read a column, it will show you what it detected and what it could not map. You will see which fields were confirmed and which need review.
---
## Step 3: Read the Worklist
Signal assigns each patient record one of four status labels:
| Status | What It Means | Action |
|--------|--------------|--------|
| **Supply Lapsed** | Coverage window has expired. This patient cannot receive a new shipment until prescriber contact is confirmed. | Contact prescriber immediately |
| **Renewal Due** | The 6-month qualifying visit window is approaching or has passed. Documentation must be confirmed before the next resupply. | Request visit documentation |
| **Resupply Ready** | Patient is within the resupply window. Supplies can be initiated now. | Initiate shipment |
| **Active** | Coverage is on track. No immediate action needed. | No action required |
Each row also shows:
- Days until coverage ends (or days overdue)
- The reason Signal assigned that status
- The recommended next action for your staff
Patients are sorted by urgency, with Supply Lapsed and Renewal Due at the top.
---
## What Signal Is Checking
For each patient record, Signal evaluates five documentation requirements:
1. **Qualifying visit** — The 6-month physician encounter required before resupply. Signal tracks whether the renewal window is approaching or has already passed.
2. **Standard Written Order (SWO)** — The order on file must match the current shipment. Signal flags records where the SWO status is uncertain based on available data.
3. **PECOS enrollment** — The prescriber must have active enrollment at the time of shipment.
4. **Prior authorization** — PA must cover the current shipment codes and must not have expired.
5. **Proof of Delivery** — Documentation must be complete before the claim is filed.
For the pilot, Signal calculates based on the shipment data you provide. Fields not included in your export will appear as unknown and will not affect other calculations.
---
## Step 4: Export and Cross-Reference
When you are ready to act on the worklist:
1. Click **Export** in the top-right corner of the Signal dashboard
2. Download the work queue CSV
3. Open the file in your billing system or spreadsheet tool
4. Use your crosswalk table to match Signal's synthetic patient IDs back to your real patient records
5. Assign the work queue items to your billing staff
The export file includes: patient identifier, device, payer, status, days until coverage ends, recommended action, and the reason code Signal used.
---
## Step 5: Validate Signal's Accuracy
After the pilot period (30 to 60 days), we will review Signal's flags against your actual claim outcomes together. This is how we confirm the tool is working correctly for your patient population and payer mix.
We will look at:
- **Flag accuracy** — Did patients Signal flagged actually have documentation gaps?
- **False positives** — Did Signal flag patients who turned out to be fine?
- **False negatives** — Were there denials that Signal did not flag?
- **Time saved** — How long did it take to review the worklist versus your current process?
You do not need to track this in a special format. During our review call, you can walk through a sample of flagged records and tell us what actually happened. That feedback is what we use to improve Signal's rules for your workflow.
---
## Your Data. Your Patients.
Everything Signal receives during this pilot is:
- Synthetic IDs only (no real patient names, SSNs, or DOBs)
- Used only to generate the worklist and return it to you
- Deleted within 30 days of pilot conclusion
Your crosswalk table (synthetic ID to real patient ID) stays in your system. STTIL Solutions never sees it.
---
## Success Metrics
| Metric | Target |
|--------|--------|
| Coverage flag accuracy | 85% or higher |
| Records successfully processed from your export | 90% or higher |
| Staff review time per worklist | Under 15 minutes |
| Staff confidence in recommended actions | Positive rating |
---
## Questions and Support
Contact: Kisa at STTIL Solutions
Email: [contact provided separately]
If Signal cannot read your file format or if a column is not mapping correctly, send us the header row from your export (no patient data needed) and we will update the mapping for your system.