CRM migration

Migrate from Zedmed to Salesforce Sales Cloud

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 logo

Zedmed

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

100%

12 of 12

objects map 1:1 between Zedmed and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Zedmed logo

Zedmed

What's pushing teams away

  • Browser-based cloud interface introduces friction — copy-paste restrictions, PDF printing requiring specific Chrome settings, and session timeouts disrupt clinical workflows.
  • Steep learning curve with limited training, particularly around billing setup, KPI monitoring, and customising the clinical layout to individual practitioner preferences.
  • No publicly documented API — all data extraction for migration requires engaging Zedmed support directly for database-level access, adding time and complexity to any switch.
  • Outdated interface and limited customisation options compared to newer medical platforms, leading practices seeking a more modern user experience to evaluate alternatives.
  • SMS functionality in v39 is restricted to ZedSMS only, forcing practices on legacy messaging providers to change vendor at upgrade time.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How Zedmed objects map to Salesforce Sales Cloud

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

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

Every 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

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

Zedmed 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

maps to

Salesforce Sales Cloud

Account

1:1
Fully supported

The 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

maps to

Salesforce Sales Cloud

Task / Event

1:1
Fully supported

Zedmed 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

maps to

Salesforce Sales Cloud

Custom Object (Practice_Billing_Record__c)

1:1
Fully supported

Zedmed 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

maps to

Salesforce Sales Cloud

Note / ContentNote

1:1
Fully supported

Zedmed 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

maps to

Salesforce Sales Cloud

Custom Object (Payer_Config__c)

1:1
Fully supported

Zedmed 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

maps to

Salesforce Sales Cloud

Custom Object (Reminder_Log__c)

1:1
Fully supported

Zedmed'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

maps to

Salesforce Sales Cloud

Custom Object (Referral__c) + ContentDocument

1:1
Fully supported

Electronic 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

maps to

Salesforce Sales Cloud

Custom Object (Result__c)

1:1
Fully supported

Zedmed'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)

maps to

Salesforce Sales Cloud

User

1:1
Fully supported

Zedmed 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)

maps to

Salesforce Sales Cloud

ContentVersion / ContentDocument

1:1
Fully supported

Files 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.

Gotchas + challenges

What specifically takes care here

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 logo

Zedmed gotchas

High

No public API — database extraction requires Zedmed support

High

v39 forces ZedSMS-only SMS after upgrade

Medium

Clinical WP Templates require RTF format and may be incompatible

Low

Browser cloud restrictions affect document printing

Medium

P1/P2/P3 private fee levels require explicit mapping

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • Billing record structure has no standard Salesforce home — requires a custom object

    Zedmed billing records bundle Medicare item codes, fee levels, bulk-billing flags, derived-item logic, and payer types into a single entity that does not map to any standard Salesforce object. Salesforce Opportunities are pipeline-oriented and assume a sales process, not an MBS billing ledger. We create a Practice_Billing_Record__c custom object with lookups to Contact and Account, storing MBS item codes, fee amounts, and payer type as custom fields. Your Salesforce admin should add this object to the relevant profiles and page layouts before go-live so practitioners can view billing history directly on the patient Contact.

  • Medicare Provider Numbers are practitioner identifiers with no standard Salesforce field

    Every Zedmed practitioner record carries a Medicare Provider Number used for Medicare online claiming via TYRO. Salesforce has no standard field for provider numbers on Contact records — it is not the CRM's domain. We store the Provider Number as a custom text field (Provider_Number__c) on the practitioner Contact. When rebuilding TYRO integration in Salesforce, your admin should reference this custom field in the Salesforce Health Cloud or custom claiming Flow rather than relying on a standard field that does not exist.

  • Clinical SmartForms export as RTF — complex formatting may not survive auto-conversion

    Zedmed SmartForms are built inside Zedmed Clinical as RTF documents and saved with merge fields. Salesforce Notes and ContentNote objects support plain text and basic HTML, not full RTF fidelity. FlitStack converts SmartForm RTF to ContentNote on migration. Complex formatting — tables, embedded graphics, non-standard fonts — may render differently in Salesforce. We flag SmartForms with complex RTF structures before the full migration runs so your admin can review and manually re-import if needed.

  • Appointment reminder SMS logs have no Salesforce standard equivalent — preserved as a custom object

    Zedmed ZedSMS logs each appointment reminder sent to a patient with confirmation status and timestamp. Salesforce has no native object for SMS reminder audit trails. We preserve these as Reminder_Log__c records linked to the Contact and the original Event, storing the sent datetime, message type, and patient Y/N confirmation. Your admin can build a Flow to surface reminder compliance rates in Salesforce reports if this is a KPIs for the practice.

  • Zedmed fee-update rules and Medicare MBS auto-update do not migrate

    Zedmed v39 automatically updates Medicare and DVA fees overnight when new MBS fee schedules are released. This automation is a Zedmed platform feature, not data — it has no Salesforce equivalent and does not export. After migration, your team must configure Salesforce custom metadata or a third-party MBS sync AppExchange package to handle fee schedule updates. We provide a reference document of Zedmed's current fee-update configuration to help your Salesforce admin set up an equivalent Flow or scheduled Apex job.

Migration approach

Six steps for a successful Zedmed to Salesforce Sales Cloud data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Context on both ends of the pair

Zedmed logo

Zedmed

Source

Strengths

  • Integrated Medicare, DVA, WorkCover, and health fund claiming with Tyro EFTPOS and MA Online directly in the billing workflow.
  • Dual deployment — Zedmed Cloud handles server maintenance and security; Zedmed On-premise gives full server control for practices preferring it.
  • Comprehensive clinical module covering e-prescribing, pathology results, referrals, chronic disease management, and drawing on images within one system.
  • Per-user pricing with discounted rates for part-time and admin staff, plus a free Doctor's App on iOS for practitioners.
  • Multi-location functionality allows single-app management across multiple clinic sites with separate or shared configurations.

Weaknesses

  • No publicly documented API — all data extraction for migration requires direct engagement with Zedmed support for database-level access.
  • Browser-based cloud interface introduces workflow friction: 2FA requires phone fallback, copy-paste and PDF printing need specific browser settings.
  • Interface is perceived as dated compared to newer medical platforms; limited customisation options for UI and workflow adaptation.
  • Upgrade paths introduce breaking changes — v39 deprecates legacy SMS providers in favour of ZedSMS only, forcing provider changes at migration time.
  • Limited third-party integrations beyond HealthLink, Tyro, and HL7 messaging — no modern REST API for EHR or analytics integrations.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Zedmed and Salesforce Sales Cloud.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Zedmed: Not publicly documented.

  • Data volume sensitivity

    B

    Zedmed doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Zedmed to Salesforce Sales Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Zedmed to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during Zedmed to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most Zedmed-to-Salesforce migrations complete within 48–72 hours of clock time for under 50,000 combined records (patients, practitioners, appointments, billing). Multi-clinic setups with 50,000–200,000 records and custom billing object configurations extend to 7–14 days. The longest planning step is designing the custom billing and practitioner objects in Salesforce before any data moves — that schema design typically takes 3–5 business days and runs concurrently with data profiling.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Zedmed.
Land in Salesforce Sales Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day