CRM migration

Migrate from DGL Practice Manager to Freshsales

Field-level mapping, validation, and rollback between DGL Practice Manager and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.

DGL Practice Manager logo

DGL Practice Manager

Source

Freshsales

Destination

Freshsales logo

Compatibility

92%

11 of 12

objects map 1:1 between DGL Practice Manager and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

DGL Practice Manager is a UK-based medical practice management system built for consultants, practice managers, and medical secretaries to manage Electronic Patient Records (EPR), appointment diaries, clinical procedures, billing, and compliance workflows. It stores patient demographics, clinical notes, appointment records, insurer billing data, and correspondence in a practice-centric data model optimized for healthcare delivery rather than sales pipeline management. Freshsales is a Freshworks CRM product targeting SMBs and mid-market sales teams, with standard objects for Leads, Contacts, Accounts, Deals, and custom objects. It uses lifecycle stages to track contact progression, deal pipelines with multiple stages and probability weights, and Freddy AI for lead scoring on Pro and Enterprise plans. The fundamental challenge of this migration is the domain gap: medical practice management and sales CRM use completely different object taxonomies. FlitStack AI maps DGL patients to Freshsales Contacts, referring practices to Accounts, and appointment records to Sales Activities (Tasks and Events). Clinical notes migrate as Notes attachments or custom fields. DGL's custom fields and billing configuration require Freshsales custom field creation. DGL's workflow automations and appointment rules do not migrate and must be rebuilt in Freshsales using workflows and territory assignment rules. The migration runs via API reads from DGL's export format into Freshsales Contacts, Accounts, and custom objects, with a delta-pickup window capturing any records created during cutover.

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

DGL Practice Manager logo

DGL Practice Manager

What's pushing teams away

  • Frequent reliability failures including application crashes, inability to access the patient database, and Word integration breaking without warning erode trust in day-to-day use.
  • Outdated interface and non-intuitive feature placement make routine tasks feel laborious compared to modern browser-based alternatives.
  • Extortionate per-invoice charges for insurer submissions add up significantly for high-volume billing practices and create an ongoing cost burden.
  • Prohibitive data extraction fees charged when leaving make switching away financially punishing and function as a de facto lock-in mechanism.
  • Absence of a patient-facing portal, native dictation integration, and modern workflow automation leaves DGL behind competitors offering these features as standard.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How DGL Practice Manager objects map to Freshsales

Each row shows how a DGL Practice Manager object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

DGL Practice Manager

Patient Record

maps to

Freshsales

Contact

1:1
Fully supported

DGL patient records map directly to Freshsales Contacts. Patient name fields translate to FirstName and LastName. DGL stores one primary contact per patient; Freshsales Contacts similarly hold person-level records. Original patient create dates preserve as a custom datetime field since Freshsales CreatedDate reflects migration time.

DGL Practice Manager

Patient Address

maps to

Freshsales

Contact (Address Fields)

1:1
Fully supported

DGL patient address fields (address_line1, address_line2, city, postcode, country) map to Freshsales Contact address fields. Freshsales supports multi-line address storage on Contact records with city, state, zip, and country fields natively. During migration, FlitStack AI validates each address component, ensuring that postal codes conform to Freshsales format requirements. If any required address fields are missing, the system flags them for correction prior to final import, preventing incomplete contact records.

DGL Practice Manager

Patient Phone / Email

maps to

Freshsales

Contact (Phone, Mobile Number, Email)

1:1
Fully supported

DGL patient phone numbers and email addresses migrate to Freshsales Contact Phone, Mobile Number, and Email fields. Freshsales validates email format during import; invalid emails are flagged for correction before the full migration commits. FlitStack AI also checks phone number formats against international standards, converting local formats to E.164 when necessary to ensure compatibility with Freshsales telephony integration.

DGL Practice Manager

Consultant / Practitioner

maps to

Freshsales

Account

1:1
Fully supported

DGL consultant or practitioner records map to Freshsales Accounts when the practice structure includes multiple practitioners. Each consultant diary becomes a Freshsales Account record with the consultant name as the Account Name and specialty as a custom field. If the practice uses sub-consultants or team leads, FlitStack AI can create hierarchical Account relationships to reflect reporting structures within Freshsales.

DGL Practice Manager

Appointment Record

maps to

Freshsales

Event / Task

1:1
Fully supported

DGL appointment diary entries (appointment date, time, duration, appointment type) translate to Freshsales Events with start_time, end_time, and event title. Completed appointments or follow-up tasks map to Freshsales Tasks with due dates and task types derived from the appointment status in DGL.

DGL Practice Manager

Clinical Note

maps to

Freshsales

Note / Attachment

1:1
Fully supported

DGL clinical notes and consultation summaries migrate as Freshsales Notes attached to the corresponding Contact record. Original note timestamps and practitioner ownership are preserved in the Freshsales Note metadata. Rich-text formatting is converted to plain text if the target field does not support HTML.

DGL Practice Manager

Insurance / Billing Record

maps to

Freshsales

Custom Field on Contact / Deal

1:1
Fully supported

DGL insurer billing data (insurer name, policy number, claim status, invoice amount) requires Freshsales custom fields on Contact or Deal objects. These fields do not map to standard Freshsales objects and must be created before migration. Invoice submission history migrates as custom text fields or a linked custom object if the practice requires detailed billing tracking.

DGL Practice Manager

Referral Source

maps to

Freshsales

Custom Field on Contact

1:1
Fully supported

DGL referral source tracking (referring practitioner, referral date, referral type) migrates as Freshsales custom fields on Contact. If DGL uses a structured referral source pick-list, the values map to a Freshsales custom pick-list with value-by-value translation to maintain reporting continuity.

DGL Practice Manager

Correspondence / Letter Template

maps to

Freshsales

Email Template (Reference Only)

1:1
Fully supported

DGL correspondence templates and patient letters do not migrate to Freshsales as functional templates because Freshsales email templates use different merge field syntax. We export the template content as a Note attachment on the Contact record for reference; your team rebuilds them as Freshsales email templates post-migration.

DGL Practice Manager

DGL User / Practitioner Owner

maps to

Freshsales

Freshsales User (Owner)

1:1
Fully supported

DGL user and practitioner accounts resolve to Freshsales Users by email match. Unmatched practitioners are flagged before migration — your team either creates Freshsales users first or assigns records to a fallback owner. Owner assignment on Contacts, Accounts, and Events preserves the practitioner responsible for each patient record.

DGL Practice Manager

Practice Location / Clinic

maps to

Freshsales

Account (Business Account)

many:1
Fully supported

DGL clinic or practice location records merge into Freshsales Accounts when multiple practitioners share a single clinic. The practice location name becomes the Account Name, and location-specific custom fields (clinic address, phone) map to corresponding Account fields. Individual practitioners within that clinic become Contacts linked to the clinic Account.

DGL Practice Manager

Workflow / Automation Rule

maps to

Freshsales

Freshsales Workflow

1:1
Fully supported

DGL workflow automations, appointment reminders, and clinical procedure triggers do not migrate. These must be rebuilt in Freshsales using the Workflows module (available on Growth and above). We export DGL workflow definitions as a structured reference document for your Freshsales admin to use during the rebuild phase.

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.

DGL Practice Manager logo

DGL Practice Manager gotchas

High

Per-invoice insurer submission charges inflate costs silently

High

Extortionate data extraction fee creates lock-in barrier

High

No public API means migration relies on DGL's goodwill

Medium

SQL infrastructure update in progress may alter the schema

Medium

Document generation depends on Microsoft Word on the local machine

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • Clinical notes migrate as plain-text attachments, not structured records

    DGL stores clinical notes, consultation summaries, and procedure records as rich-text content tied to patient journeys. Freshsales Notes objects store plain text without DGL's clinical metadata structure. While FlitStack AI preserves the note body, timestamps, and practitioner ownership, the clinical context flags (procedure type, diagnosis codes, treatment flags) require Freshsales custom fields to maintain parity. Practices relying on structured clinical data for reporting will need to identify which metadata fields are critical before migration so custom fields can be created on the Contact object in advance.

  • Appointment diary mapping requires Freshsales workflow rebuild

    DGL appointment rules (reminder intervals, rescheduling logic, conflict detection) live in DGL's diary management module and do not export as transferable data. Freshsales Events and Tasks track appointments but lack DGL's specialized diary conflict detection. FlitStack AI migrates appointment records as historical Events with original timestamps and practitioner links, but the active reminder and scheduling automation must be rebuilt using Freshsales Workflows and territory assignment rules after migration completes. Planning this rebuild early prevents delays after the migration window closes.

  • Insurance billing data requires custom object design before import

    DGL insurer billing records (insurer name, policy number, claim status, invoice amount, payment date) are practice-specific data with no direct Freshsales equivalent. Freshsales Deals can track revenue amounts but insurer-specific fields (policy numbers, pre-authorization codes, insurer contact details) need a custom object or custom fields on Contact. Practices with complex insurer relationships must define their custom object schema before migration so FlitStack can map the fields during the import phase.

  • Referral source pick-list values need Freshsales custom field definition

    DGL referral source tracking uses a pick-list of referring practitioners, GP practices, or hospital departments. Freshsales has no standard referral source field on Contact — it requires a custom pick-list field (Referral_Source__c) with values created to match DGL's list exactly. If DGL uses free-text referral fields, those values will migrate as text and can be later analyzed for standardization into a pick-list in Freshsales. Proper mapping of these values is essential for reporting continuity and for downstream sales outreach accuracy.

  • Patient-to-Contact lifecycle stage routing does not apply

    DGL tracks patients through referral, consultation, and treatment phases but has no equivalent to Freshsales Contact Lifecycle Stages (Subscriber, Lead, MQL, SQL, Customer). When migrating to Freshsales, all DGL patients land as Freshsales Contacts or Accounts without a lifecycle stage designation unless you define one based on patient type. Practices using Freshsales for marketing outreach will need to assign lifecycle stages post-migration or use custom fields to track patient status equivalents from DGL.

Migration approach

Six steps for a successful DGL Practice Manager to Freshsales data migration

  1. Audit DGL data export and map to Freshsales schema

    FlitStack AI begins by analyzing your DGL export — patient records, appointment diaries, clinical notes, insurer billing data, and consultant accounts. We identify which DGL fields map directly to Freshsales Contacts, Accounts, and Events, and which require custom field creation. Your team approves the field mapping plan before any data moves, ensuring Freshsales custom fields are created first so the import can write to them correctly.

  2. Create Freshsales custom fields for clinical and billing data

    Before migration runs, your Freshsales admin (or our team) creates the custom fields required for DGL data that has no standard Freshsales equivalent — insurer names, policy numbers, referral sources, original patient create dates, and clinical note metadata. This includes defining pick-list values for referral sources and insurer names to match DGL's existing data exactly, preventing import errors from mismatched pick-list values.

  3. Resolve practitioner owners by email match

    DGL practitioner and consultant accounts are matched to Freshsales Users by email address. FlitStack AI generates an owner mapping report showing which DGL practitioners have matching Freshsales users and which do not. Unmatched practitioners require Freshsales user creation or fallback owner assignment before migration — no Contact, Account, or Event lands in Freshsales without an OwnerId. Accurate owner mapping also ensures that future task assignments and sales credit calculations follow the correct practitioner.

  4. Run sample migration with field-level verification

    A representative slice of patient records (typically 100–500) migrates first, spanning patients, appointments, clinical notes, and billing data. FlitStack AI generates a field-level diff report comparing source DGL values against Freshsales imported values so you can verify custom field population, appointment date accuracy, and owner assignment before the full run commits. Any discrepancies uncovered during this phase can be corrected before the full data load, reducing risk of data loss.

  5. Execute full migration with delta-pickup window

    The full migration runs against Freshsales, writing all patient records, consultant accounts, appointment events, clinical notes, and billing data. A 24–48 hour delta-pickup window captures any records created or modified in DGL during the cutover period. FlitStack AI generates an audit log of every record written, and one-click rollback is available if reconciliation identifies data integrity issues. All imported records are validated against Freshsales field constraints to prevent failures.

  6. Deliver migration artifacts and rebuild reference guide

    After migration, FlitStack AI delivers a complete field mapping manifest, an owner assignment report, a list of custom fields created, and a DGL workflow export document. This gives your Freshsales admin everything needed to rebuild appointment reminder rules and correspondence templates in Freshsales Workflows. The delta-pickup audit log confirms final record counts against DGL source totals. These artifacts also serve as a training resource for new Freshsales users joining the practice.

Platform deep dives

Context on both ends of the pair

DGL Practice Manager logo

DGL Practice Manager

Source

Strengths

  • Integrated clinical records, diary, billing, and document creation in a single cloud-hosted platform.
  • EDI-enabled insurer billing with automatic shortfall detection for insurance-heavy practices.
  • Multi-consultant, multi-diary configuration supports clinic and LLP structures at a single practice level.
  • Microsoft Word integration for letter drafting with customizable letterhead templates.
  • Automatic cloud updates eliminate local installation and maintenance overhead for practices.

Weaknesses

  • No documented public API limits programmatic access and complicates automated migration scoping.
  • No native patient self-service portal forces practices to manage inbound administrative contact manually.
  • Dictation requires a separate Dragon Medical integration rather than being built into the clinical workflow.
  • Ongoing per-invoice charges for insurer submissions add material cost for high-volume billing practices.
  • Frequent reliability issues including crashes and database access failures reported across multiple review sources.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a manual workaround.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across DGL Practice Manager and Freshsales.

  • Object compatibility

    B

    1 of 8 objects need a manual workaround.

  • 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

    DGL Practice Manager: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your DGL Practice Manager to Freshsales 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 DGL Practice Manager to Freshsales data migrations

Answers to the questions buyers ask most during DGL Practice Manager to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your DGL Practice Manager to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most DGL-to-Freshsales migrations complete within 48–72 hours of clock time for practices with under 25,000 patient records. Larger practices with 50,000+ records, multiple consultant diaries, or extensive custom billing fields extend to 5–10 days. The longest phase is typically Freshsales custom field creation and owner mapping before the sample migration runs. DGL's per-invoice billing data and clinical note metadata require schema preparation that adds 1–3 days to planning.

Adjacent paths

Related migrations to explore

Ready when you are

Move from DGL Practice Manager.
Land in Freshsales, 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