SGA · Operation Daybreak · Block A · Online Scheduling Detector

OSA Online Scheduling Coverage

Vendor-signature scan of 239 SGA practices flagged as missing or unknown in the OSA catalog · generated 2026-05-25
Practices Scanned
0
SGA practices not in OSA catalog or marked "none"
Have Online Booking
0
31.4% — vendor signature detected
On SGA Stack
0
Catalog patch fix — zero engineering
No Booking Widget
0
Patient-acquisition leak
Est. NP Leakage
$0
73 absent × 3 NP/mo × $1,200 LTV
Focus Priority
By Vendor
By ROD
No Booking · 73
Catalog Patches · 67
Methodology

Two paths — pick both

Path A · Engineering (zero code)
67 practices already running SGA-stack vendors
Neurality (53), TrueLark (8), and Modento (6) widgets are live on these sites today. The OSA catalog says "none" because nobody patched it. Existing scrapers already cover all three vendors — only a metadata backfill is required.
Path B · Marketing / Ops
73 practices with no online booking at all
No widget detected on any of 13 candidate URL paths. At a conservative 3 new patients per month × $1,200 LTV per practice, this cohort represents ~$3.15M/yr of unrealised new-patient demand. Marketing/ops decision, not engineering.

Top RODs by absent-booking exposure

SGA-stack catalog patches by vendor

Vendor distribution

Status mix

All vendor hits

CodePracticeStateRODVendorCategoryEvidence

Coverage by ROD

ROD detail · all 294 in-scope practices

RODIn scopeWith bookingAbsentUnresolvedCoverage %

No online booking — Karen / Ron action list

These practices show no widget signature on /, /book, /booking, /book-online, /book-appointment, /appointments, /appointment, /schedule, /schedule-online, /contact, /contact-us, /new-patients, or /new-patient. Marketing/website-vendor remediation list.

CodePracticeStateRODPractice TypeWebsite

SGA-stack catalog patches

These 67 practices have a detectable Modento, Neurality, or TrueLark widget live on their public site today. The OSA catalog currently lists them as platform=none or absent. Patch the catalog → existing scrapers light them up immediately.

CodePracticeStateRODVendorSig TypeEvidence

How the scan worked

  1. URL resolution. Three sources: (1) OM-email-derived domains from the SGA Location Mapping xlsx (157 OM emails parsed), (2) umbrella-site scrapes (mydentalpartners.com, sgadental.com, modisdental.com, yourmagnoliasmile.com, coastaljaw.com, missloudental.com, etc.), (3) targeted web search with practice name + city + state for the long tail. 148 of 239 practices resolved to a fetchable URL; the other 91 are listed as unresolvable for ops.
  2. Page fetch. Node 18 native fetch over 13 candidate paths per host: /, /book, /booking, /book-online, /book-appointment, /appointments, /appointment, /schedule, /schedule-online, /contact, /contact-us, /new-patients, /new-patient. 12-second timeout, 600KB body cap, 8 concurrent workers, 0.8s pacing between practices.
  3. Signature matching. 26-vendor pattern dictionary (vendor-signatures.json). Patterns are script_src, iframe_src, subdomain_link, button_text, or text_marker. SGA-stack vendors (Modento, Neurality, TrueLark, CareStack, NexHealth) are prioritised over third-party when multiple hits occur on the same page.
  4. Verdict. First match wins. "absent" is only set after at least one successful page load returned a 2xx with no signature match. "website_unresolvable" is split between hosts that never resolved (75) and hosts that timed out / errored during the scan window (16).
  5. Evidence. Each row in osa-coverage-gap-resolved.csv records the matched URL fragment / script src and the public site URL. No PHI captured — only public website HTML. Phase A compliant.
  6. Resumability. Progress is checkpointed to progress.json after every 10 practices; the scanner can resume mid-run without re-scanning completed practices.

Bucket counts

StatusCountAction owner
SGA STACK67Engineering — OSA catalog backfill
THIRD-PARTY8Small enough to flag, not scrape
ABSENT73Marketing — patient-acquisition leak
UNRESOLVABLE91Ops — supply URLs
NOT SCANNED55Late-resolution rows; sweep in next run
TOTAL294

Source artefacts

  • personal/SGA/online-scheduling-detector/vendor-signatures.json — 26-vendor pattern dictionary
  • personal/SGA/online-scheduling-detector/detect.js — Node 18 scanner (resumable, 0.8s pacing, 12s timeout)
  • personal/SGA/online-scheduling-detector/known-urls.json — 340-key URL resolutions
  • personal/SGA/daybreak/analysis/osa-coverage-gap-resolved.csv — 294-row resolved practice CSV
  • personal/SGA/online-scheduling-detector/SGA-Online-Scheduling-Audit.xlsx — polished 6-tab practice list