Skip to main content

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)

IDNameDOBAgeCurrent TierMonthly Fee
p1Sage Spitzer2026-01-282 moOrion$295
p2Carter Conoly2026-02-151 moOrion$295
p3Kian Yellanki2025-04-2711 moLyra$225
p4Gianna Sarria2026-02-261 moOrion$295
p5Thomas Bradley Hughes2025-06-049 moLyra$225
p6Callan James Geddes2025-06-159 moLyra$225
p7Eden Aspen Frank2025-10-075 moLyra$225
p8Ashton Key Saltzgiver2025-10-065 moLyra$225
p9Harper Wilkinson2025-10-185 moLyra$225
p10Lyla Gene Vukmaravich2025-10-205 moLyra$225
p11Lavanya Peddina2025-11-254 moLyra$225
p12Suma Passerine Blue2025-12-273 moLyra$225
p13Artuin Magnus Bravick2023-01-163y 2moSirius$175
p14Charlie Zinn Tinlin2021-04-294y 11moPegasus$150
p15Max Smith2014-06-1411y 9moPegasus$150
p16Olena Kozma2023-09-022y 6moSirius$175
p21Riya Surana2024-08-151y 7moSirius$175

Seed Prospects (4)

NameStageNotes
Montgomery JacksonMeet & GreetCharged 1 time visit fee
Alexandria CacesScheduled VisitBaby born - interested, will see at 2 mo. Home birth.
Riley WInquiryDue April 27
Sena MillimanReady to EnrollWestlake. 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
}
TierAge RangeMonthly FeeBadge
Orion0-2 months$295orion
Lyra3-12 months$225lyra
Sirius1-4 years$175sirius
Pegasus5-18 years$150pegasus
Polaris19-22 years$100polaris

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
}
StageLabelFlow
inquiryInquiryEntry point
meet-and-greetMeet & GreetFirst meeting
scheduled-visitScheduled VisitVisit booked
ready-to-enrollReady to EnrollConvert 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

TagResolves 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
}
StepDayLabelApplicable Stages
00Welcome InquiryAll stages
12Meet Dr. PInquiry, Meet & Greet
25Why DPC WorksInquiry, Meet & Greet, Scheduled Visit
310What Families SayInquiry, Meet & Greet, Scheduled Visit
421Gentle Follow-UpAll stages

Patient Journey Stages

Lifecycle communication map from newborn through childhood:

AgeTitleTemplatesTier Change
Day 1Welcome to StarlightWelcome, What to ExpectOrion $295/mo
Day 3-5First Week Check-InFirst Week Check-In
2 WeeksFirst Wellness Visit2 Week Follow-Up
2 Months2-Month WellnessWellness Reminder
3 MonthsPlan ChangeBilling Change, Review RequestOrion → Lyra $225/mo
4 Months4-Month WellnessWellness Reminder
6 Months6-Month WellnessWellness Reminder
9 Months9-Month WellnessWellness Reminder
1 YearFirst Birthday + Plan ChangeBirthday, Billing, WellnessLyra → Sirius $175/mo
15 Months15-Month WellnessWellness Reminder
18 Months18-Month Wellness (M-CHAT)Wellness Reminder
2 Years2-Year WellnessWellness Reminder
2.5 Years2.5-Year WellnessWellness Reminder
4 YearsPlan ChangeBilling ChangeSirius → Pegasus $150/mo
5+ YearsAnnual WellnessWellness Reminder

Home Visit Checklist

Structured checklist for newborn home visits:

CategoryItems
FeedingBreastfeeding latch, Formula prep, Feeding frequency, Weight gain
Vitals & GrowthWeight, Temperature, Heart rate/breathing, Head circumference
Newborn ExamJaundice, Umbilical cord, Skin check, Fontanelle
Safety & SleepSafe sleep position, Crib safety, Car seat, Smoke/CO detectors
Parent WellnessPostpartum mood, Support system, Questions addressed, Follow-up plan

Historical Revenue Data

Real revenue data from 2025 practice growth:

MonthSubscriptionsEnrollmentOtherTotal
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