- add 3 signal pitch assets (workflow flowchart, market opportunity, win-win-win) as HTML + PNG - fix doc_state_machine cascade and supplied sentinel flags - fix CSVImport mapping review, WorklistTable colored bullets and expand row - fix App.jsx auth gate, api.js CORS handling - add signal E2E test script and stress test generator Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
267 lines
12 KiB
HTML
267 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Signal — Win-Win-Win</title>
|
|
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
|
<style>
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
body {
|
|
font-family: 'Plus Jakarta Sans', sans-serif;
|
|
background: #F0EAE1;
|
|
width: 1080px; height: 1080px;
|
|
overflow: hidden; position: relative;
|
|
}
|
|
.top-bar { position: absolute; top: 0; left: 0; right: 0; height: 5px; background: #2EA3A3; }
|
|
.signal-brand { position: absolute; top: 28px; right: 80px; text-align: right; z-index: 3; }
|
|
.brand-name { font-size: 18px; font-weight: 800; color: #1A5050; letter-spacing: 0.02em; }
|
|
.brand-sub { font-size: 9px; font-weight: 500; color: #8AABAB; letter-spacing: 0.12em; text-transform: uppercase; margin-top: 3px; }
|
|
.rings { position: absolute; top: 0; right: 0; pointer-events: none; }
|
|
.dots { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; opacity: 0.14; }
|
|
.footer { position: absolute; bottom: 22px; left: 70px; right: 70px; display: flex; justify-content: space-between; }
|
|
.footer span { font-size: 10px; color: #8AABAB; font-weight: 500; }
|
|
|
|
.content {
|
|
position: absolute;
|
|
top: 64px; left: 60px; right: 60px; bottom: 50px;
|
|
display: flex; flex-direction: column;
|
|
}
|
|
|
|
.headline { text-align: center; flex-shrink: 0; margin-bottom: 24px; }
|
|
.headline .eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #CB6B20; margin-bottom: 8px; }
|
|
.headline h1 { font-size: 32px; font-weight: 800; color: #1A5050; letter-spacing: -0.02em; }
|
|
.headline p { font-size: 13px; color: #5A7A7A; margin-top: 6px; font-weight: 500; }
|
|
|
|
/* Middle row: Suppliers | Signal | Payers */
|
|
.mid-row {
|
|
display: flex;
|
|
gap: 20px;
|
|
align-items: stretch;
|
|
flex-shrink: 0;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
/* Signal center column */
|
|
.center-col {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
width: 160px;
|
|
gap: 0;
|
|
}
|
|
.connector-v {
|
|
width: 1.5px;
|
|
height: 24px;
|
|
background: linear-gradient(to bottom, rgba(46,163,163,0.3), rgba(46,163,163,0.6));
|
|
flex-shrink: 0;
|
|
}
|
|
.medallion {
|
|
width: 110px; height: 110px;
|
|
border-radius: 50%;
|
|
background: #1A5050;
|
|
display: flex; flex-direction: column;
|
|
align-items: center; justify-content: center;
|
|
box-shadow: 0 0 0 6px #F0EAE1, 0 0 0 12px rgba(46,163,163,0.18), 0 0 0 20px rgba(46,163,163,0.07);
|
|
flex-shrink: 0;
|
|
}
|
|
.medallion .sig { font-size: 22px; font-weight: 800; color: #fff; }
|
|
.medallion .sig-sub { font-size: 7.5px; font-weight: 600; color: #2EA3A3; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 3px; text-align: center; line-height: 1.3; }
|
|
|
|
/* Horizontal connectors from medallion to cards */
|
|
.h-connector {
|
|
height: 1.5px;
|
|
flex: 1;
|
|
background: linear-gradient(to right, rgba(46,163,163,0.6), rgba(46,163,163,0.2));
|
|
}
|
|
.h-connector.right {
|
|
background: linear-gradient(to left, rgba(46,163,163,0.6), rgba(46,163,163,0.2));
|
|
}
|
|
|
|
/* Stakeholder cards */
|
|
.card {
|
|
flex: 1;
|
|
border-radius: 12px;
|
|
padding: 20px 18px;
|
|
display: flex; flex-direction: column;
|
|
}
|
|
.card.suppliers { background: #1A5050; }
|
|
.card.payers { background: #EAE4DB; border: 1.5px solid #B0A898; }
|
|
|
|
.card-label { font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 8px; }
|
|
.card.suppliers .card-label { color: #2EA3A3; }
|
|
.card.payers .card-label { color: #8A7A6A; }
|
|
|
|
.card-title { font-size: 16px; font-weight: 800; margin-bottom: 12px; line-height: 1.2; }
|
|
.card.suppliers .card-title { color: #fff; }
|
|
.card.payers .card-title { color: #1A5050; }
|
|
|
|
.win-list { display: flex; flex-direction: column; gap: 7px; }
|
|
.win-item { display: flex; align-items: flex-start; gap: 8px; font-size: 11.5px; font-weight: 500; line-height: 1.35; }
|
|
.win-check { width: 15px; height: 15px; border-radius: 3px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; font-size: 9px; font-weight: 800; }
|
|
.card.suppliers .win-check { background: #2EA3A3; color: #fff; }
|
|
.card.payers .win-check { background: #1A5050; color: #fff; }
|
|
.card.suppliers .win-item { color: rgba(255,255,255,0.85); }
|
|
.card.payers .win-item { color: #3A5050; }
|
|
|
|
/* Bottom patients card — full width */
|
|
.patients-row {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 0;
|
|
}
|
|
|
|
/* Down-connector from medallion area to patients */
|
|
.down-connector-wrap {
|
|
display: flex;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
height: 0;
|
|
position: relative;
|
|
margin-bottom: 8px;
|
|
}
|
|
.down-line {
|
|
width: 1.5px;
|
|
height: 20px;
|
|
background: linear-gradient(to bottom, rgba(203,107,32,0.6), rgba(203,107,32,0.3));
|
|
position: absolute;
|
|
top: 0;
|
|
}
|
|
|
|
.card.patients {
|
|
flex: none;
|
|
background: #F5EDE0;
|
|
border: 1.5px solid #CB6B20;
|
|
border-radius: 12px;
|
|
padding: 18px 22px;
|
|
}
|
|
.card.patients .card-label { color: #CB6B20; }
|
|
.card.patients .card-title { color: #6A3810; font-size: 17px; }
|
|
|
|
.patients-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 40px; }
|
|
.patients-grid .win-check { background: #CB6B20; color: #fff; }
|
|
.patients-grid .win-item { color: #6A3810; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div class="top-bar"></div>
|
|
<svg class="rings" width="1080" height="1080" viewBox="0 0 1080 1080" xmlns="http://www.w3.org/2000/svg">
|
|
<circle cx="920" cy="130" r="110" fill="none" stroke="#CB6B20" stroke-width="0.8" opacity="0.12"/>
|
|
<circle cx="920" cy="130" r="60" fill="none" stroke="#CB6B20" stroke-width="1.0" opacity="0.26"/>
|
|
<circle cx="920" cy="130" r="9" fill="#CB6B20" opacity="0.82"/>
|
|
</svg>
|
|
<svg class="dots" width="1080" height="1080" viewBox="0 0 1080 1080" xmlns="http://www.w3.org/2000/svg">
|
|
<defs>
|
|
<radialGradient id="fade" cx="89%" cy="12%" r="70%">
|
|
<stop offset="0%" stop-color="#1A5050" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#1A5050" stop-opacity="0"/>
|
|
</radialGradient>
|
|
<pattern id="hex" x="0" y="0" width="24" height="20.8" patternUnits="userSpaceOnUse">
|
|
<circle cx="12" cy="4" r="1.4" fill="#1A5050"/>
|
|
<circle cx="0" cy="10.4" r="1.4" fill="#1A5050"/>
|
|
<circle cx="24" cy="10.4" r="1.4" fill="#1A5050"/>
|
|
<circle cx="12" cy="16.8" r="1.4" fill="#1A5050"/>
|
|
</pattern>
|
|
<mask id="rm"><rect width="1080" height="1080" fill="url(#fade)"/></mask>
|
|
</defs>
|
|
<rect width="1080" height="1080" fill="url(#hex)" mask="url(#rm)"/>
|
|
</svg>
|
|
<div class="signal-brand">
|
|
<div class="brand-name">Signal.</div>
|
|
<div class="brand-sub">Powered by STTIL Solutions</div>
|
|
</div>
|
|
|
|
<div class="content">
|
|
|
|
<div class="headline">
|
|
<div class="eyebrow">The Signal Alignment</div>
|
|
<h1>Everybody wins when documentation is right.</h1>
|
|
<p>Signal is the only layer built for all three parties in the CGM supply chain.</p>
|
|
</div>
|
|
|
|
<!-- Mid row: Suppliers | Signal medallion | Payers -->
|
|
<div class="mid-row">
|
|
<div class="card suppliers">
|
|
<div class="card-label">DMEPOS Suppliers</div>
|
|
<div class="card-title">Protect revenue.<br>Work proactively.</div>
|
|
<div class="win-list">
|
|
<div class="win-item"><div class="win-check">✓</div><span>Gaps caught before claim filing — no surprise denials</span></div>
|
|
<div class="win-item"><div class="win-check">✓</div><span>Staff time shifts from appeals to upstream outreach</span></div>
|
|
<div class="win-item"><div class="win-check">✓</div><span>Supply shipped with confidence, not hope</span></div>
|
|
<div class="win-item"><div class="win-check">✓</div><span>First-pass claim rate improves over time</span></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- H connector left -->
|
|
<div style="display:flex;align-items:center;flex-shrink:0;width:28px;">
|
|
<div class="h-connector"></div>
|
|
</div>
|
|
|
|
<div class="center-col">
|
|
<div class="medallion">
|
|
<div class="sig">Signal.</div>
|
|
<div class="sig-sub">Documentation<br>Readiness</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- H connector right -->
|
|
<div style="display:flex;align-items:center;flex-shrink:0;width:28px;">
|
|
<div class="h-connector right"></div>
|
|
</div>
|
|
|
|
<div class="card payers">
|
|
<div class="card-label">Medicare & Payers</div>
|
|
<div class="card-title">Cleaner claims.<br>Lower admin load.</div>
|
|
<div class="win-list">
|
|
<div class="win-item"><div class="win-check">✓</div><span>Claims arrive with documentation already in order</span></div>
|
|
<div class="win-item"><div class="win-check">✓</div><span>Fewer appeals and resubmissions to process</span></div>
|
|
<div class="win-item"><div class="win-check">✓</div><span>Audit exposure reduced — records traceable upstream</span></div>
|
|
<div class="win-item"><div class="win-check">✓</div><span>PA affirmation rates trend toward CMS exemption threshold</span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Down connector -->
|
|
<div style="display:flex;justify-content:center;flex-shrink:0;margin-bottom:12px;">
|
|
<div style="width:1.5px;height:18px;background:linear-gradient(to bottom, rgba(203,107,32,0.5), rgba(203,107,32,0.2));"></div>
|
|
</div>
|
|
|
|
<!-- Patients card full width -->
|
|
<div class="card patients">
|
|
<div class="card-label">CGM Patients</div>
|
|
<div class="card-title" style="margin-bottom:14px;">Supply continuity. No gaps. No delays.</div>
|
|
<div class="patients-grid">
|
|
<div class="win-item"><div class="win-check" style="background:#CB6B20;color:#fff;width:15px;height:15px;border-radius:3px;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;">✓</div><span style="color:#6A3810;font-size:11.5px;font-weight:500;line-height:1.35;">CGM resupply arrives on schedule</span></div>
|
|
<div class="win-item"><div class="win-check" style="background:#CB6B20;color:#fff;width:15px;height:15px;border-radius:3px;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;">✓</div><span style="color:#6A3810;font-size:11.5px;font-weight:500;line-height:1.35;">No interruption in glucose monitoring</span></div>
|
|
<div class="win-item"><div class="win-check" style="background:#CB6B20;color:#fff;width:15px;height:15px;border-radius:3px;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;">✓</div><span style="color:#6A3810;font-size:11.5px;font-weight:500;line-height:1.35;">Qualifying visits tracked proactively — 6-month cycle never missed</span></div>
|
|
<div class="win-item"><div class="win-check" style="background:#CB6B20;color:#fff;width:15px;height:15px;border-radius:3px;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;">✓</div><span style="color:#6A3810;font-size:11.5px;font-weight:500;line-height:1.35;">Better health outcomes from uninterrupted CGM data</span></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Bottom insight bar -->
|
|
<div style="flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:10px;">
|
|
<div style="background:#1A5050;border-radius:10px;padding:22px 28px;display:flex;align-items:center;gap:28px;">
|
|
<div style="flex:1;">
|
|
<div style="font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#2EA3A3;margin-bottom:8px;">The bottom line</div>
|
|
<div style="font-size:16px;font-weight:700;color:#fff;line-height:1.4;">When a supplier resolves a documentation gap before filing, the payer receives a clean claim and the patient gets their supply on time. Signal makes that happen at scale — without adding staff, changing systems, or waiting for a denial.</div>
|
|
</div>
|
|
<div style="flex-shrink:0;text-align:center;padding-left:12px;border-left:1px solid rgba(255,255,255,0.15);">
|
|
<div style="font-size:13px;font-weight:700;color:rgba(255,255,255,0.5);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:6px;">Signal cost</div>
|
|
<div style="font-size:36px;font-weight:800;color:#CB6B20;line-height:1;">$1,788</div>
|
|
<div style="font-size:11px;color:rgba(255,255,255,0.55);margin-top:4px;font-weight:500;">per supplier / year<br>Worklist tier</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="footer">
|
|
<span>signal.sttilsolutions.com</span>
|
|
<span>© 2026 STTIL Solutions LLC</span>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|