CRM migration
Field-level mapping, validation, and rollback between Zedmed and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.
Zedmed
Source
HubSpot
Destination
Compatibility
10 of 10
objects map 1:1 between Zedmed and HubSpot.
Complexity
BStandard
Timeline
48–72 hours
Overview
Zedmed stores patient records, appointments, practitioners, clinical notes, and Medicare billing in a single practice-management model. Each Zedmed appointment ties to a payer (Medicare, DVA, health fund, WorkCover) and one or more Medicare item codes with associated MBS fees and derived items. HubSpot splits this data across Contacts (patients), Companies (practices), Deals (appointments), and custom properties. We map every patient to a HubSpot contact with original timestamps and all custom properties, practitioners to HubSpot owners by email match, and appointments to deals with clinical notes and Medicare billing data stored as custom fields. The payer structure requires the most manual planning — Zedmed's multi-payer model has no native HubSpot equivalent and collapses to one primary payer per deal, with additional payers preserved as a custom text field for manual reconciliation. We also handle the mapping of patient demographics, referral sources, and billing history to ensure complete data continuity across the new CRM platform.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Zedmed object lands in HubSpot, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Zedmed
Patient
HubSpot
Contact
1:1Each Zedmed patient record maps directly to a HubSpot contact. We transfer first name, last name, date of birth, address, Medicare number, and health fund membership, storing each as a custom property on the contact. Any patient record lacking an email address gets flagged during the pre-migration audit for manual owner assignment. The patient's original created date is preserved on the HubSpot contact record.
Zedmed
Practice
HubSpot
Company
1:1Zedmed practice or clinic maps to HubSpot company. We map the practice name, physical address, phone, and website. Multi-location practices each map to a separate HubSpot company with shared owner assignments to ensure each physical location has its own CRM entity for tracking patient interactions and appointments per site.
Zedmed
Practitioner
HubSpot
Contact + Owner
1:1Zedmed practitioner maps to a HubSpot contact (for referral tracking) and a HubSpot user (deal owner). Owner resolution happens by email match — the practitioner email address in Zedmed must correspond to an active HubSpot user account. Unmatched practitioners are flagged before migration.
Zedmed
Appointment
HubSpot
Deal
1:1Each Zedmed appointment maps to a HubSpot deal. We store appointment date as the deal close date, appointment type as deal name, and appointment status as a custom pick-list field. The patient contact and practice company are linked via HubSpot's standard association model.
Zedmed
Clinical Note
HubSpot
Note
1:1Zedmed clinical notes and SmartForms map to HubSpot notes attached to the corresponding deal. We preserve original note timestamps and note authorship. RTF formatting and mergefields are stripped — plain text content is retained and linked to the appointment deal.
Zedmed
Referral
HubSpot
Contact + Custom Field
1:1Referring doctor details from Zedmed map to a HubSpot contact record (the referring practitioner) and a custom field on the patient contact storing the referring doctor name and referral date. Cross-references between referring practitioner and patient are preserved via contact-to-contact association.
Zedmed
Billing Record
HubSpot
Deal Custom Fields
1:1Zedmed billing data — Medicare item codes, MBS fees, bulk billing indicator, private fee levels (P1/P2/P3), derived items, and payment status — maps to custom fields on the HubSpot deal. HubSpot has no native billing or Medicare billing field, so all billing values require custom deal properties.
Zedmed
Payer
HubSpot
Contact Custom Field + Deal Custom Field
1:1Zedmed payer links (Medicare, DVA, health fund, TAC, WorkCover) have no native HubSpot equivalent. Primary payer maps to a custom insurance provider field on the contact; additional payers are preserved as a JSON-encoded custom text field for manual reconciliation after migration.
Zedmed
Appointment Reminder
HubSpot
HubSpot Workflow (rebuild required)
1:1Zedmed appointment reminder SMS configuration is a platform-specific setting with no HubSpot equivalent. FlitStack exports the reminder configuration (timing, channels, message templates) as a reference document for rebuilding reminder workflows in HubSpot's workflow tools after migration is complete. This reference document serves as the blueprint for recreating all automated patient communications in HubSpot.
Zedmed
Medicare Bulk Billing / Derived Item Rules
HubSpot
HubSpot Workflow (rebuild required)
1:1Zedmed bulk billing and derived item logic tied to appointment type and patient eligibility is a platform-specific billing automation. HubSpot has no native billing rule engine — this logic must be rebuilt as HubSpot workflows or handled outside the CRM.
| Zedmed | HubSpot | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Practice | Company1:1 | Fully supported | |
| Practitioner | Contact + Owner1:1 | Fully supported | |
| Appointment | Deal1:1 | Fully supported | |
| Clinical Note | Note1:1 | Fully supported | |
| Referral | Contact + Custom Field1:1 | Fully supported | |
| Billing Record | Deal Custom Fields1:1 | Fully supported | |
| Payer | Contact Custom Field + Deal Custom Field1:1 | Fully supported | |
| Appointment Reminder | HubSpot Workflow (rebuild required)1:1 | Fully supported | |
| Medicare Bulk Billing / Derived Item Rules | HubSpot Workflow (rebuild required)1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Zedmed gotchas
No public API — database extraction requires Zedmed support
v39 forces ZedSMS-only SMS after upgrade
Clinical WP Templates require RTF format and may be incompatible
Browser cloud restrictions affect document printing
P1/P2/P3 private fee levels require explicit mapping
HubSpot gotchas
Marketing Contacts billing model is migration-critical
Feature tier gating is not visible until onboarding
Mandatory onboarding fees inflate year-one cost
HubSpot CSV importer cannot migrate engagements or attachments
Custom objects require Enterprise and a pre-existing schema
Pair-specific challenges
Migration approach
Audit Zedmed data and build the field mapping plan
We extract a full dataset from Zedmed — patient records, appointments, practitioners, referral data, and billing records. We document every custom field, appointment status value, and payer configuration. This audit produces the field-level mapping specification that governs the migration script: which Zedmed fields map to HubSpot native properties, which require custom fields, and which payer values need value mapping or collapse logic.
Set up HubSpot schema: companies, contacts, and custom properties
Before any data moves, we create the HubSpot custom properties required for Zedmed data that has no native equivalent. This includes Medicare number, health fund membership, DVA status, WorkCover claim number, TAC claim number, appointment status pick-list, Medicare item code, MBS fee amount, bulk billing flag, private fee amount, and payment status on the deal object. We also pre-create the deal pipelines and stage values that correspond to Zedmed appointment statuses, ensuring the pipeline stages match your existing workflow before data begins flowing into HubSpot.
Resolve practitioners and import in dependency order
HubSpot requires accounts before contacts (for the primary company link) and contacts before deals (for association). We sequence the migration: practices to companies first, then patients to contacts with Medicare and insurance data as custom properties, then practitioners as HubSpot contacts with corresponding user accounts. Practitioner email matching determines deal ownership — unresolved practitioners are flagged for your team to create HubSpot user accounts before the deal migration runs.
Run a sample migration and generate a field-level diff
We run the migration on a representative slice—typically 50 to 100 records spanning patients, appointments, clinical notes, and billing records. We generate a field-level diff between the Zedmed source and the HubSpot destination so you can verify Medicare item code mapping, payer collapse behavior, appointment status value mapping, and practitioner owner assignment before the full run commits. This sample validation gives your team confidence that all custom field mappings and data transformations are working correctly before we process the complete dataset.
Execute full migration with delta pickup and audit log
The full migration runs against HubSpot's API with batch processing to handle large record volumes efficiently. A delta-pickup window of 24 to 48 hours captures any Zedmed records created or modified during cutover, ensuring HubSpot reflects Zedmed's final state at go-live. Every operation is logged in a detailed audit trail with rollback capability, allowing us to revert specific record sets if issues are discovered post-migration. We validate record counts, association integrity between contact-to-company and deal-to-contact links, and Medicare field completeness against the original Zedmed dataset before requesting your sign-off on the completed migration.
Platform deep dives
Zedmed
Source
Strengths
Weaknesses
HubSpot
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Zedmed and HubSpot.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Zedmed: Not publicly documented.
Data volume sensitivity
Zedmed doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Zedmed to HubSpot migration scoping. Not seeing yours? Book a call.
Walk through your Zedmed to HubSpot migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Zedmed
Other ways to arrive at HubSpot
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.