Data Models
Extracted from the prototype's hardcoded JavaScript data structures. These define the intended database schema.
Patient
The core entity. Represents both active members and prospects.
interface Patient {
id: string; // e.g., 'p1', 'p2', ...
firstName: string;
lastName: string;
dob: string; // ISO date: 'YYYY-MM-DD'
status: 'active' | 'prospect';
parent: string; // Parent/guardian name
phone: string;
email: string;
notes: string; // Legacy single note field
feeOverride: number | null; // Custom monthly fee (null = auto-calculate from tier)
notesList: Note[]; // Array of timestamped notes
familyId?: string; // Links to family group for sibling discounts
referredBy?: string; // Referral source tracking
// Prospect-only fields
pipelineStage?: 'inquiry' | 'meet-and-greet' | 'scheduled-visit' | 'ready-to-enroll';
dueDate?: string; // Expected due date if expecting
}
Seed Patients (17 active)
| ID | Name | DOB | Age | Current Tier | Monthly Fee |
|---|---|---|---|---|---|
| p1 | Sage Spitzer | 2026-01-28 | 2 mo | Orion | $295 |
| p2 | Carter Conoly | 2026-02-15 | 1 mo | Orion | $295 |
| p3 | Kian Yellanki | 2025-04-27 | 11 mo | Lyra | $225 |
| p4 | Gianna Sarria | 2026-02-26 | 1 mo | Orion | $295 |
| p5 | Thomas Bradley Hughes | 2025-06-04 | 9 mo | Lyra | $225 |
| p6 | Callan James Geddes | 2025-06-15 | 9 mo | Lyra | $225 |
| p7 | Eden Aspen Frank | 2025-10-07 | 5 mo | Lyra | $225 |
| p8 | Ashton Key Saltzgiver | 2025-10-06 | 5 mo | Lyra | $225 |
| p9 | Harper Wilkinson | 2025-10-18 | 5 mo | Lyra | $225 |
| p10 | Lyla Gene Vukmaravich | 2025-10-20 | 5 mo | Lyra | $225 |
| p11 | Lavanya Peddina | 2025-11-25 | 4 mo | Lyra | $225 |
| p12 | Suma Passerine Blue | 2025-12-27 | 3 mo | Lyra | $225 |
| p13 | Artuin Magnus Bravick | 2023-01-16 | 3y 2mo | Sirius | $175 |
| p14 | Charlie Zinn Tinlin | 2021-04-29 | 4y 11mo | Pegasus | $150 |
| p15 | Max Smith | 2014-06-14 | 11y 9mo | Pegasus | $150 |
| p16 | Olena Kozma | 2023-09-02 | 2y 6mo | Sirius | $175 |
| p21 | Riya Surana | 2024-08-15 | 1y 7mo | Sirius | $175 |
Seed Prospects (4)
| Name | Stage | Notes |
|---|---|---|
| Montgomery Jackson | Meet & Greet | Charged 1 time visit fee |
| Alexandria Caces | Scheduled Visit | Baby born - interested, will see at 2 mo. Home birth. |
| Riley W | Inquiry | Due April 27 |
| Sena Milliman | Ready to Enroll | Westlake. Due April 27. Enrolled. |
Pricing Tiers
interface PricingTier {
name: string; // 'Orion' | 'Lyra' | 'Sirius' | 'Pegasus' | 'Polaris'
minMonths: number; // Age range start (inclusive)
maxMonths: number; // Age range end (exclusive)
fee: number; // Monthly fee in dollars
badge: string; // CSS class for tier badge
tagline: string; // Display description
}
| Tier | Age Range | Monthly Fee | Badge |
|---|---|---|---|
| Orion | 0-2 months | $295 | orion |
| Lyra | 3-12 months | $225 | lyra |
| Sirius | 1-4 years | $175 | sirius |
| Pegasus | 5-18 years | $150 | pegasus |
| Polaris | 19-22 years | $100 | polaris |
Family Savings Configuration
interface FamilySavings {
siblingDiscount: 0.25; // 25% off additional children
familyMax: 500; // $500/mo family cap
annualPrepayDiscount: 0.05; // 5% off annual prepay
enrollmentFee: 100; // $100 one-time per family
travelFee: 50; // $50 for in-home visits (3mo+)
}
Wellness Schedule
Standard AAP pediatric wellness visit months:
const WELLNESS_MONTHS = [2, 4, 6, 9, 12, 15, 18, 24, 30];
Each patient gets wellness checks calculated from their DOB at these month milestones.
Pipeline Stages
interface PipelineStage {
key: string; // 'inquiry' | 'meet-and-greet' | 'scheduled-visit' | 'ready-to-enroll'
label: string;
icon: string;
color: string; // CSS variable reference
}
| Stage | Label | Flow |
|---|---|---|
| inquiry | Inquiry | Entry point |
| meet-and-greet | Meet & Greet | First meeting |
| scheduled-visit | Scheduled Visit | Visit booked |
| ready-to-enroll | Ready to Enroll | Convert to active |
Message Templates
interface MessageTemplate {
id: string;
name: string;
category: 'wellness' | 'onboarding' | 'billing' | 'general' | 'review' | 'nurture';
body: string; // Supports merge tags: {{parent_name}}, {{patient_name}}, {{tier_name}}, {{monthly_fee}}, {{next_wellness}}
}
Default Templates (12+)
Categories: Wellness reminders, Onboarding sequences, Billing notices, General (missed apt, birthday), Review requests, Nurture sequences.
Merge Tags
| Tag | Resolves To |
|---|---|
{{parent_name}} | Parent/guardian name |
{{patient_name}} | Patient full name |
{{tier_name}} | Current pricing tier name |
{{monthly_fee}} | Current monthly fee |
{{next_wellness}} | Next wellness check description |
Nurture Sequence
Automated email drip for prospects:
interface NurtureStep {
step: number; // 0-4
day: number; // Days after inquiry
templateId: string;
label: string;
icon: string;
stages: string[]; // Which pipeline stages trigger this step
}
| Step | Day | Label | Applicable Stages |
|---|---|---|---|
| 0 | 0 | Welcome Inquiry | All stages |
| 1 | 2 | Meet Dr. P | Inquiry, Meet & Greet |
| 2 | 5 | Why DPC Works | Inquiry, Meet & Greet, Scheduled Visit |
| 3 | 10 | What Families Say | Inquiry, Meet & Greet, Scheduled Visit |
| 4 | 21 | Gentle Follow-Up | All stages |
Patient Journey Stages
Lifecycle communication map from newborn through childhood:
| Age | Title | Templates | Tier Change |
|---|---|---|---|
| Day 1 | Welcome to Starlight | Welcome, What to Expect | Orion $295/mo |
| Day 3-5 | First Week Check-In | First Week Check-In | — |
| 2 Weeks | First Wellness Visit | 2 Week Follow-Up | — |
| 2 Months | 2-Month Wellness | Wellness Reminder | — |
| 3 Months | Plan Change | Billing Change, Review Request | Orion → Lyra $225/mo |
| 4 Months | 4-Month Wellness | Wellness Reminder | — |
| 6 Months | 6-Month Wellness | Wellness Reminder | — |
| 9 Months | 9-Month Wellness | Wellness Reminder | — |
| 1 Year | First Birthday + Plan Change | Birthday, Billing, Wellness | Lyra → Sirius $175/mo |
| 15 Months | 15-Month Wellness | Wellness Reminder | — |
| 18 Months | 18-Month Wellness (M-CHAT) | Wellness Reminder | — |
| 2 Years | 2-Year Wellness | Wellness Reminder | — |
| 2.5 Years | 2.5-Year Wellness | Wellness Reminder | — |
| 4 Years | Plan Change | Billing Change | Sirius → Pegasus $150/mo |
| 5+ Years | Annual Wellness | Wellness Reminder | — |
Home Visit Checklist
Structured checklist for newborn home visits:
| Category | Items |
|---|---|
| Feeding | Breastfeeding latch, Formula prep, Feeding frequency, Weight gain |
| Vitals & Growth | Weight, Temperature, Heart rate/breathing, Head circumference |
| Newborn Exam | Jaundice, Umbilical cord, Skin check, Fontanelle |
| Safety & Sleep | Safe sleep position, Crib safety, Car seat, Smoke/CO detectors |
| Parent Wellness | Postpartum mood, Support system, Questions addressed, Follow-up plan |
Historical Revenue Data
Real revenue data from 2025 practice growth:
| Month | Subscriptions | Enrollment | Other | Total |
|---|---|---|---|---|
| Jan 2025 | $53.22 | $0 | $0 | $53.22 |
| Mar 2025 | $212.89 | $300 | $0 | $512.89 |
| Apr 2025 | $639.99 | $0 | $100 | $739.99 |
| May 2025 | $970.00 | $0 | $0 | $970.00 |
| Jun 2025 | $1,128.50 | $100 | $0 | $1,228.50 |
| Jul 2025 | $998.54 | $100 | $0 | $1,098.54 |
| Aug 2025 | $1,195.80 | $100 | $250 | $1,545.80 |
| Sep 2025 | $1,195.00 | $0 | $175 | $1,370.00 |
| Oct 2025 | $1,537.90 | $100 | $350 | $1,987.90 |
| Nov 2025 | $1,980.50 | $200 | $0 | $2,180.50 |
| Dec 2025 | $2,460.00 | $100 | $7.43 | $2,567.43 |
| Jan 2026 | $2,545.00 | $200 | $0 | $2,745.00 |