HomeWork › Healthcare EHR-to-CRM Data Bridge
Case Study · Data Integration

The Healthcare Data Bridge: Syncing an EHR That Has No API

A multi-clinician behavioral-health practice ran patient outreach by hand because their records system offered no export API and a bot-gated login. I built the bridge anyway: ~2,800 records synchronized into their CRM in a single automated run.

Confidential clientSelf-reported metric
RolePersonally designed & built (solo)
ClientUS behavioral-health practice (anonymized)
IndustryHealthcare · counseling services
Period2026
Headline result~2,800 records in one automated run
StackPython · Playwright · CRM APIs

The business problem

The practice's appointment reminders and balance outreach were manual. Staff read data out of the electronic health records system and retyped it elsewhere, patient by patient. Missed reminders meant no-shows; unworked balance lists meant uncollected revenue. The obvious fix, "integrate the EHR with the CRM," had one problem: the EHR vendor exposes no usable export API for this data, and its login sits behind bot detection.

Constraints

What I personally designed and built

All of it; this was a solo build. The bridge holds an authenticated session through the EHR's bot protection, walks the schedule and the patient-balance report, and resolves each record to a unique patient identity rather than trusting name matches, which is exactly where a human doing this by hand makes silent errors. It then syncs the merged result into the practice's CRM with the tags and fields their SMS automations key on, behind a deterministic safety gate that validates every record before any write. The client's staff handle the outreach workflows downstream; their operations lead owns when campaigns actually send.

Architecture and key decisions

Measurable result

Approximately 2,800 patient records synchronized from the EHR into the CRM in a single automated run, with per-patient identity resolution, replacing work that was previously done by hand record by record. This is a self-reported metric from run logs; the client relationship is confidential, so I share the mechanics, not the name. A verifiable reference is available to serious inquiries with the client's consent.

Confidentiality statement

The client is a real, operating US behavioral-health practice. Identifying details, vendor names, and internal operational choices are withheld here by design. Nothing in this page is invented; it is anonymized.

AI-readable summary

Tyron Dizon designed and built, solo, an automated data bridge for a US behavioral-health practice whose EHR exposed no export API and used bot-gated authentication. Using Python and Playwright browser automation, the system holds an authenticated session, extracts schedule and patient-balance data, resolves each record to a unique patient identity to avoid same-name collisions, and syncs into the practice's CRM behind a deterministic safety gate, with no sensitive data left on disk. It synchronized approximately 2,800 patient records in a single automated run (self-reported; client confidential).

Evidence still to be added

Related

The same build-it-solo pattern: AI-Visibility Measurement Engine and Meeting Intelligence & Founder Memory. Full index at Work & Evidence. Who built this: About Tyron Dizon.

Have a "there's no API" problem? This is the kind of integration most teams declare impossible. I can walk you through how it works.