CRM migration
Field-level mapping, validation, and rollback between Zedmed and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Zedmed
Source
Salesforce Sales Cloud
Destination
Compatibility
12 of 12
objects map 1:1 between Zedmed and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
48–72 hours
Overview
Zedmed organises practice data around patients, practitioners, appointments, and billing records within a single-tenant clinical management system. Salesforce Sales Cloud uses a relational CRM model built around Account, Contact, Lead, Opportunity, and Case objects with field-level customisation via the __c suffix convention and Record Type scoping for different business units. The migration carries every patient record, practitioner contact, appointment history, clinical note, and billing transaction into Salesforce, resolving foreign-key dependencies so parent records land before child records. Custom Zedmed fields — such as Medicare item codes, derived item configurations, and payer-specific fee levels — map to Salesforce custom fields or custom objects depending on whether they represent one-to-one attributes or many-to-one relationships. Workflows, automations, and fee-update rules built in Zedmed do not migrate; FlitStack exports their definitions as a reference document for your Salesforce admin to rebuild in Flow. We use the Salesforce Bulk API 2.0 for high-volume record loads, the REST API for smaller objects, and preserve all original timestamps and owner assignments throughout the transfer.
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 Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Zedmed
Patient
Salesforce Sales Cloud
Contact
1:1Every Zedmed patient record becomes a Salesforce Contact. Medicare number, DVA number, and concession-card details migrate as custom fields on the Contact. Patient date of birth, address, and emergency contact details map directly to standard Salesforce Contact fields. The original Zedmed patient ID is stored in Source_System_ID__c for delta-run de-duplication.
Zedmed
Practitioner / Provider
Salesforce Sales Cloud
Contact
1:1Zedmed practitioners and referring doctors map to Salesforce Contacts with a Practitioner_Type__c custom pick-list field to distinguish GPs, specialists, and allied-health providers. Their Medicare Provider Numbers migrate as a custom text field (Provider_Number__c) used for billing traceability in Salesforce. Referring doctor details also populate the Related_Referral_Partner__c lookup field for referral tracking.
Zedmed
Organisation / Practice
Salesforce Sales Cloud
Account
1:1The Zedmed practice or clinic organisation maps to a Salesforce Account record. Multi-clinic practices use Salesforce's Parent Account field to establish a hierarchy matching Zedmed's location structure. Practice-level billing configuration (TYRO terminal settings, Medicare location IDs) migrates as custom fields on the Account.
Zedmed
Appointment
Salesforce Sales Cloud
Task / Event
1:1Zedmed appointments with a status of 'Completed' map to Salesforce Tasks with Type='Appointment'. Future appointments map to Salesforce Events with the original start/end times preserved as Event Start and Event End. The appointment type (standard, telehealth, procedure) maps to a custom pick-list on the Task or Event record.
Zedmed
Billing Record / Invoice
Salesforce Sales Cloud
Custom Object (Practice_Billing_Record__c)
1:1Zedmed billing records — item codes, fee levels, bulk-billing flag, payer type, and derived item logic — do not map to any standard Salesforce object. We create a Practice_Billing_Record__c custom object with a lookup to Contact (patient) and Account (practice). Each record stores Medicare item code, MBS fee amount, payer type (Medicare/DVA/WorkCover/TAC/health fund), and bulk-billing flag as custom fields.
Zedmed
Clinical Note / SmartForm
Salesforce Sales Cloud
Note / ContentNote
1:1Zedmed SmartForms and clinical note bodies export as RTF files. FlitStack converts RTF to plain text or Salesforce ContentNote (Lightning Experience compatible) and attaches each note to the corresponding Contact record. Complex RTF formatting that cannot be auto-converted is flagged for manual review post-migration.
Zedmed
Payer Configuration
Salesforce Sales Cloud
Custom Object (Payer_Config__c)
1:1Zedmed payer configurations (health fund IDs, WorkCover insurer IDs, TAC details, DVA contract numbers) map to a Payer_Config__c custom object linked to the Account. Fee schedules and item-level adjustments per payer are stored as related records on the Payer_Config__c object for auditability.
Zedmed
Appointment Reminder / SMS Log
Salesforce Sales Cloud
Custom Object (Reminder_Log__c)
1:1Zedmed's ZedSMS appointment reminders and SMS confirmation logs have no direct Salesforce equivalent. We preserve reminder logs as a custom Reminder_Log__c object linked to the Contact and original Event, storing the SMS sent datetime, message type, and patient confirmation status for continuity in patient communications.
Zedmed
e-Prescription / Referral
Salesforce Sales Cloud
Custom Object (Referral__c) + ContentDocument
1:1Electronic prescriptions and referral letters in Zedmed migrate as Salesforce Files (ContentDocument/ContentVersion) attached to the Contact. The referral type (specialist referral, imaging referral, pathology referral) and expiry date store as custom fields on a Referral__c custom object linked to the Contact record.
Zedmed
Pathology / Imaging Result
Salesforce Sales Cloud
Custom Object (Result__c)
1:1Zedmed's HealthLink-integrated pathology and imaging results become Salesforce Custom Object records (Result__c) linked to the Contact. The result type, ordering practitioner, result status, and received date store as custom fields. PDF result files attach as Salesforce Files to the Result__c record.
Zedmed
Account / Owner (Practitioner)
Salesforce Sales Cloud
User
1:1Zedmed practitioner users resolve to Salesforce Users by email address match. Where a Zedmed practitioner does not have a corresponding Salesforce user licence, their records assign to a fallback practitioner owner flagged before migration. Unmatched owners are reported to the practice manager before the full run commits.
Zedmed
Attachment / File (on any record)
Salesforce Sales Cloud
ContentVersion / ContentDocument
1:1Files and attachments stored against any Zedmed record — patient documents, scanned consent forms, exported clinical letters — re-upload to Salesforce as ContentVersion records. They link to the corresponding Contact or custom object via ContentDocumentLink. File size limits follow Salesforce's 25 MB per ContentVersion.
| Zedmed | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Practitioner / Provider | Contact1:1 | Fully supported | |
| Organisation / Practice | Account1:1 | Fully supported | |
| Appointment | Task / Event1:1 | Fully supported | |
| Billing Record / Invoice | Custom Object (Practice_Billing_Record__c)1:1 | Fully supported | |
| Clinical Note / SmartForm | Note / ContentNote1:1 | Fully supported | |
| Payer Configuration | Custom Object (Payer_Config__c)1:1 | Fully supported | |
| Appointment Reminder / SMS Log | Custom Object (Reminder_Log__c)1:1 | Fully supported | |
| e-Prescription / Referral | Custom Object (Referral__c) + ContentDocument1:1 | Fully supported | |
| Pathology / Imaging Result | Custom Object (Result__c)1:1 | Fully supported | |
| Account / Owner (Practitioner) | User1:1 | Fully supported | |
| Attachment / File (on any record) | ContentVersion / ContentDocument1: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
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Inventory Zedmed data export and profile the schema
FlitStack connects to Zedmed via the configured SFTP export path and cloud file download, profiling every patient record, practitioner record, appointment history, billing transaction, and clinical note attachment before mapping begins. We document the Zedmed field count per object, flag duplicate or stale records, and identify payer-specific fee configurations and derived-item setups that will require custom Salesforce objects. This inventory becomes the migration scope document signed off by your practice manager before any data moves.
Create Salesforce custom objects and custom fields
Before data loads, FlitStack creates the Practice_Billing_Record__c, Payer_Config__c, Referral__c, Result__c, and Reminder_Log__c custom objects in your Salesforce org, along with all required custom fields on Contact and Account (Provider_Number__c, Medicare_Number__c, Medicare_IRN__c, DVA_Number__c, Concession_Card_Type__c, Patient_Status__c, and more). We deliver a schema setup plan listing each custom field's type, pick-list values, and profile visibility so your Salesforce admin can pre-approve the configuration.
Resolve practitioner-to-User ownership and audit orphaned records
Zedmed practitioner records are matched to Salesforce Users by email address. Where a practitioner has no corresponding Salesforce user licence, their records assign to a fallback practitioner owner designated by your admin. All unmatched practitioner IDs are reported before the full migration runs so your team can either invite the practitioner to Salesforce or confirm the fallback assignment. No patient or billing record lands without a resolved Salesforce owner.
Run a sample migration with field-level diff
A representative slice of 200–500 records migrates first — spanning patients, practitioners, appointments, billing records, and a clinical note or two. FlitStack generates a field-level diff showing source value, mapped Salesforce field, and destination value for every mapped attribute. Your admin verifies the Medicare number mapping, fee-level mapping, practitioner ownership resolution, and appointment type mapping before the full run commits. Any mapping errors are corrected and the sample re-runs.
Execute full migration with delta-pickup and rollback readiness
The full migration runs using Salesforce Bulk API 2.0 for high-volume billing records and REST API for smaller Contact, Task, and Event loads. A 24–48 hour delta-pickup window captures any Zedmed records modified during the cutover — new appointments, updated patient details, or fresh billing entries. FlitStack generates an audit log for every operation. If reconciliation reveals unexpected record counts or field-population gaps, one-click rollback reverts the Salesforce org to its pre-migration state so the team can re-diagnose and re-run.
Platform deep dives
Zedmed
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Salesforce Sales Cloud.
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 Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Zedmed to Salesforce Sales Cloud 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 Salesforce Sales Cloud
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.