Table of Contents
Industry
Healthcare Services and Clinical Operations
Project Type
CRM Implementation, Patient Journey Alignment, System Integrations, Operational Automation
Core Platforms
- CRM: HubSpot
- Electronic Health Records: Oracle Health
- Scheduling System: Third-party appointment platform
- CMS: HubSpot CMS
Business Context
The organization operates a network of clinics across multiple locations, handling a steady volume of patient inquiries coming from:
- website forms
- call center interactions
- campaign-driven traffic
Internally, the setup was typical of a growing healthcare group.
- marketing was generating demand
- front desk teams were managing appointments
- clinical systems were maintaining patient records
All of this existed, but nothing was truly connected.
From an operational standpoint, this created a gap where no single system could clearly answer:
- where a patient is in their journey
- whether they converted into an actual visit
- which marketing efforts were driving real outcomes
Where Things Started Breaking
The issues were not about missing systems. They were about lack of continuity between them.
When a patient submitted a form:
- HubSpot captured the lead
- appointment booking happened in a separate tool
- clinical interaction lived inside Oracle Health
There was no clean thread connecting these steps.
The front desk often had to:
- manually call patients
- re-enter data into different systems
- reconcile information across tools
This led to delays, duplication, and inconsistent tracking.
Approach Taken
Instead of replacing core systems like Oracle Health or the scheduling platform, the approach was to make HubSpot the coordination layer across all patient-facing interactions.
The idea was simple:
- let clinical systems remain the source of truth for medical data
- let HubSpot manage the journey, communication, and visibility
To make that work, an integration layer was introduced between systems.

The integration layer handled:
- event-based syncing
- data transformation
- validation before pushing data across systems
Structuring Patient Data in CRM
One of the first steps was making sure HubSpot could actually represent healthcare workflows properly.
So instead of just using contacts, additional structure was introduced.
| Entity | Purpose |
| Contact | Patient profile |
| Appointment | Visit record |
| Treatment Category | Type of service |
| Location | Clinic branch |
On top of this, key attributes were tracked:
- patient status
- appointment status
- treatment association
- source of acquisition
This allowed HubSpot to move beyond lead tracking into journey tracking.
Website to CRM Connection
The website was rebuilt on HubSpot CMS to ensure tight integration.
When a patient submitted a form:

Instead of generic lead capture, forms were structured to collect:
- service interest
- preferred clinic
- urgency level
This immediately influenced downstream workflows.
Appointment Synchronization
Appointments were still booked in the external scheduling system, but now connected back to CRM.
When an appointment was created:
Appointment booked
↓
Event triggered from scheduling system
↓
Integration layer processes payload
↓
Appointment record created or updated in HubSpot
↓
Patient status updated
Similarly, updates from CRM such as rescheduling requests were pushed back to the scheduling system.
This removed the need for manual reconciliation.
Oracle Health Integration
Oracle Health remained the clinical backbone, and that boundary was respected.
Only non-sensitive operational signals were synced into HubSpot.
| Data | Direction |
| Patient registration | Oracle Health to CRM |
| Visit completion | Oracle Health to CRM |
| Treatment category | Oracle Health to CRM |
What Actually Happens in Flow
Patient completes visit in Oracle Health
↓
Integration layer captures event
↓
Minimal structured data extracted
↓
HubSpot updated with visit status and treatment type
No clinical records were moved. Only journey-relevant markers.
Lifecycle Visibility
With everything connected, the full journey became trackable:
Inquiry
↓
Appointment Scheduled
↓
Visit Completed
↓
Treatment Tagged
↓
Follow-up Triggered
This was something the organization did not have earlier in any single place.
Automation Layer
Once the data started flowing correctly, automation became meaningful.
Examples included:
- appointment confirmations
- pre-visit reminders
- post-consultation follow-ups
- re-engagement for missed appointments
These were triggered based on actual system events, not assumptions.
Marketing Attribution Finally Working
Earlier, marketing could not see beyond lead generation.
Now, with integration in place:
| Stage | Visibility |
| Lead source | Captured at entry |
| Appointment | Synced from scheduling |
| Visit completion | Synced from Oracle Health |
This allowed the team to understand:
- which campaigns led to real visits
- which channels brought high-value patients
Reporting
Dashboards were structured for different teams.
Marketing focused on:
- lead to appointment conversion
- source performance
Operations focused on:
- appointment completion rates
- location performance
Leadership could finally see the full funnel in one place.
Data Handling Considerations
Given the healthcare environment, careful boundaries were maintained:
- clinical data remained inside Oracle Health
- HubSpot stored only engagement and operational data
- access controls were applied based on role
- all integrations were logged for traceability
Outcome
The change was not just technical. It changed how teams operated.
| Area | Before | After |
| Patient tracking | Fragmented | Unified |
| Appointment handling | Manual coordination | System-driven |
| Follow-ups | Inconsistent | Automated |
| Marketing visibility | Limited | End-to-end |
Final Takeaway
HubSpot in this case was not just implemented as a marketing tool.
It became the central coordination layer between patient acquisition, scheduling, and clinical systems.
By connecting it with Oracle Health and the scheduling platform, the organization moved from disconnected operations to a continuous, trackable patient journey, without compromising on how clinical systems are meant to function.



Blog
Case Studies
Career