The Question Nobody Can Answer

Ask a health system leader how many appointments are open right now and you’ll usually get a utilization rate — a 90-day rolling average, or a percentage of templates filled. What you won’t get is a slot-level answer: which providers have open time today, in which specialties, for which visit types.

That gap matters more than most people realize. Marketing teams end up spending against guesses. Campaigns push dermatology when cardiology has a two-week opening. Budget chases specialties that are already booked out. The signal that would let you spend intelligently — a real-time view of what’s genuinely available — simply doesn’t exist in most organizations’ standard reporting stack.

Luma solves this by going directly to the source: the open-scheduling pages patients actually use.

What We Capture

Luma continuously scrapes your MyChart open-scheduling pages and records every available appointment slot it finds. For each slot, we capture:

This is a continuous scan, not a one-time snapshot. The platform revisits your scheduling pages on a regular cadence so the data reflects what’s actually bookable right now — not what was open last Tuesday.

Going directly to the scheduling page patients use is the only way to know what they’re actually seeing. Everything else is a lag indicator.

Why Freshness Matters

Scheduling data has a short half-life. A slot that was open Monday morning may be booked by Monday afternoon. A block that was closed for a provider vacation opens back up as soon as the calendar clears. Any view that’s more than a few days old can be actively misleading.

To guard against this, Luma applies a freshness filter: only slots seen within the last approximately three days count as “active.” Slots that haven’t been confirmed by a recent scan are automatically excluded from the capacity view, even if they were seen before. Slots that go unseen for 30 days are pruned entirely.

The result is a view that never shows you stale data as if it were current. If a slot isn’t in the active window, it doesn’t count.

What Leadership Sees

The capacity view rolls up slot-level data into the outputs that actually matter for operational and marketing decisions:

Together, these outputs give leadership a complete, current picture of supply — the kind of view that used to require manual chart audits or EHR report extraction, now available continuously and automatically.

Illustrative Example — Not Real Data
Specialty-level capacity snapshot across two service lines
No Availability
Dermatology
0 providers with open capacity in the next 14 days
Earliest new patient: > 30 days out
Open Capacity
Family Medicine
6 providers with availability
240+ open slots across new patient & follow-up
Earliest: this week

Numbers and specialty names are illustrative only. In practice, the contrast between booked-out and genuinely-open service lines varies by organization and week. The point is that the difference is invisible without slot-level data — and it determines where campaign spend should go.

From Capacity to Campaigns

Knowing what’s open is only useful if it changes what you spend. That’s the second half of the Luma loop.

The real-time capacity signal feeds directly into Luma’s campaign engine. When the platform builds or updates a campaign, it checks which specialties and providers currently have open slots. Budget and ad targeting follow that supply signal — not last quarter’s utilization report, not a marketer’s intuition about which service lines need volume.

If Family Medicine has 240 open slots this week and Dermatology is booked out for a month, the campaign engine directs spend toward Family Medicine. When Dermatology opens back up, the signal updates and spending can shift. The capacity view and the campaign layer are connected, not siloed.

This is what it means to spend against supply rather than against assumptions.