One source of truth.
Every artifact regenerated from it.
REV.health's fundraising materials all flow from a single canonical-inputs.json.
Edit one number and the deck, the proformas, the site, and the PDF all update — no drift, no stale copies.
Key artifacts
Investor Portal
Deck, proformas (2M / 3M / 4M), patient-encounter walkthrough, and a live scenario explorer that toggles pricing model × raise tier.
investor.rev.health ↗Proformas (xlsx)
Three investor-editable workbooks — one per raise tier. $595/mo + 4.9% SaaS model; every output cell is a live Excel formula off the single Assumptions sheet.
Download from portal ↗Public Marketing Site
New Angular sales site — one idea per snap screen, buyer-first, detail behind modals. CTA: request early access. KISS, responsive.
revhealth-marketing-v2.netlify.app ↗EMR Comparison — anonymized · all-in
All 30+ EMR/RCM platforms, names hidden, every hidden cost rolled into a total all-in $/provider/mo. Harsh on efficiency, AI-as-add-on and TCO — REV pinned on top.
compare.rev.health ↗Live EHR Demo
Angular 21 EHR app — book → check-in → encounter → AI scribe note → coding → claim → RCM → payment. Pick a persona to enter.
demo.rev.health ↗How every artifact stays in sync
One authored file feeds the C# engine, which emits a canonical JSON. Every downstream artifact — sites, proformas, deck, PDF — is generated from that JSON. Editing one number regenerates all of them.
the single source of truth"] B["RevHealth.Model
C# .NET 8 engine"] C["canonical-model.json
both pricing models × 3 tiers"] D[("Azure Blob
model-data")] E["/api/model/public
anonymous"] F["/api/model/investor
auth-gated"] G["ClosedXML
proforma xlsx · 3 tiers"] H["Python regen
deck (pptx) + pdf"] I["Public marketing site"] J["EMR competitive page"] K["Investor portal
deck + proformas + explorer"] L[("Azure Blob
investor-assets")] A --> B B --> C C --> D D --> E D --> F C --> G C --> H E --> I E --> J F --> K G --> L H --> L L --> K classDef source fill:#0b2540,stroke:#4ea1ff,color:#eaf2ff; classDef engine fill:#0A8A83,stroke:#5ce0b8,color:#ffffff; classDef json fill:#12324F,stroke:#4ea1ff,color:#eaf2ff; classDef store fill:#16395A,stroke:#5ce0b8,color:#eaf2ff; classDef api fill:#1f4d7a,stroke:#4ea1ff,color:#eaf2ff; classDef artifact fill:#02C39A,stroke:#0A8A83,color:#06231B; classDef gated fill:#02C39A,stroke:#0A8A83,color:#06231B; class A source; class B engine; class C json; class D,L store; class E,F api; class G,H artifact; class I,J,K gated;
Master list
No sites match your search.
Redeploy reference
Each site is a static folder under docs/<site>. Stage into a C:\ temp dir, then
netlify deploy --prod with the site ID. Demo v3 (Angular) must be built first (nx build).
| Site | Directory | Netlify Site ID | Status |
|---|---|---|---|
| Investor Portal (private deck + proformas) | docs/investor-portal-v2 | investor-portal-v2 | current |
| Marketing v1 | docs/marketing-v1 | revhealth-marketing-v1 | current |
| EMR Compare (standalone) | docs/emr-compare-standalone-v1 | revhealth-emr-compare-v1 | current |
| Demo v3 (Angular — build first) | dist/apps/rev-health-v3/browser | 8f603ad0-c762-4fea-9452-321b9f446784 | current |
| Demo v1 (HTML/JS) | docs/demo | 245c062b-62b6-40d4-b184-05c7345db4b3 | legacy |
| Greenfield Family Medicine | docs/demo | 9fec2be1-2008-458d-9785-a6fc7fe092d4 | current |
| Elevation (Scottsdale) | docs/demo | 14634a74-da97-4680-a221-e8e96e86eefc | current |
| Operating Model v2 | docs/operating-model-v2 | 80ecba85-f6dc-498f-9435-2ab609695a77 | new |
| Operating Model v1 | docs/operating-model-v1 | 32ce1ed0-f1f7-4851-8ed4-fd9af44d379c | new |
| Marketing v1.1 | docs/website-v1.1 | 77447424-c5dd-4a72-8da9-0d87a460ebdb | new |
| EMR Compare — Full (AI vs Non-AI) | docs/emr-compare-v2.1-deploy | ba43ce73-7032-4704-a851-c14f371f6b04 | current |
| EMR Compare — Public | docs/emr-compare-public-v1.1 | 82ccc389-edf4-4c4d-a5ff-e93cade65ba8 | current |
| PRD v2 | docs/prd-v2 | 98a2f8a0-b726-483f-911c-0543b400c7fc | current |
| PRD v1 | docs/prd | 83ee5161-6679-4e09-9240-d77515c45992 | legacy |
| Pitch Deck V1.2.1 | docs/pitchdeckV1.2.1 | b5f55005-42d0-428e-85ab-35a1435c05ec | legacy |
| Pitch Deck v1.1.1 | docs/pitchdeck-v1.1.1 | 69d8444d-43f6-4902-b390-d3ead4c12dff | legacy |
| Pitch Deck v1.1 | docs/pitchdeck-v1.1 | 108f26c2-d22f-409d-9582-2cadcca943a9 | legacy |
| EMR Compare v2 | docs/emr-compare-v2-deploy | 4493624c-624e-4fc9-9e03-f1d27aa702fd | legacy |
| EMR Compare v1.1 | docs/emr-compare-v1.1 | 8817b4c1-05a0-4b23-b0e2-bf6d9a07997d | legacy |
| EMR Compare v1 | docs/emr-compare | 5ed9871d-ab6f-4902-9453-5384d2406cb9 | legacy |
| Marketing Website (legacy) | docs/website + root *.png | 6574f77b-7066-4dbf-b669-9e8f3db267f6 | legacy |
| Pitch Deck Archive v1.1 | archive/pitchdeckV1.1 | e148ae57-0225-4a19-a4f3-f1f5f72e6b8c | legacy |