CRM migration
Field-level mapping, validation, and rollback between Visual Practice and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Visual Practice
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between Visual Practice and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Visual Practice is a healthcare-specific CRM designed for medical and dental practices, with native HIPAA compliance, patient scheduling, treatment-case deal tracking, and clinical note attachments. Dynamics 365 Sales is Microsoft's general-purpose CRM built on Dataverse, using Accounts, Contacts, Leads, and Opportunities with a role-based security model that differs fundamentally from Visual Practice's patient-centric model. The migration carries everything Visual Practice stores natively — patient contacts, practice accounts, treatment cases, appointment history, clinical notes, and custom fields — into Dynamics 365 Sales standard entities with Microsoft security roles applied post-migration. The harder problems are mapping HIPAA-required patient data handling to Dynamics 365 field-level security, converting Visual Practice treatment cases (which function as both deals and projects) into Opportunities with custom fields, preserving the patient-practice N:N relationship using Account Contact Relationships, and getting Dynamics 365 Sales Professional's 15-custom-table limit accounted for before migration commits. We sequence the migration Accounts → Contacts → Opportunities with owner resolution by email match, run a field-level diff on a sample set, then cut over with a 24–48 hour delta pickup window. Workflows, sequences, and scheduling automations do not migrate — those require a Dynamics 365 rebuild using Power Automate.
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.
Source platform
Visual Practice platform overview
Scorecard, SWOT, gotchas, and pricing for Visual Practice.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Visual Practice object lands in Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Visual Practice
Patient
Microsoft Dynamics 365 Sales
Contact
1:1Visual Practice patients map directly to Dynamics 365 Contacts. Dynamics 365 requires an AccountId (Account lookup) on most contact records — patients without a primary practice association get attached to a default 'Unaffiliated Patients' Account record. HIPAA-protected fields (SSN, insurance IDs) require field-level security configuration in Dynamics 365 before migration.
Visual Practice
Practice
Microsoft Dynamics 365 Sales
Account
1:1Visual Practice practices map to Dynamics 365 Accounts. Address fields, industry classification, and practice size translate directly. Multi-location practices in Visual Practice may have parent-child hierarchy — this maps to the Account.ParentAccountId lookup in Dynamics 365. Practices without a National Provider Identifier get a placeholder in the Account.Website field for identification.
Visual Practice
Treatment Case
Microsoft Dynamics 365 Sales
Opportunity
1:1Visual Practice treatment cases function as hybrid deal-project records with procedure codes, insurance estimates, and case-status stages. Dynamics 365 Opportunities use StageName pick-list values and close probabilities. We map each treatment case stage to a corresponding Opportunity StageName value — stage probability is derived from the source case outcome history. Procedure codes and insurance estimates migrate as custom fields on the Opportunity.
Visual Practice
Patient-Practice Association
Microsoft Dynamics 365 Sales
Account Contact Relationship
1:1Visual Practice supports N:N patient-to-practice associations (a patient can have multiple practices). Dynamics 365 Contacts have a single primary AccountId plus Account Contact Relationships for additional affiliations. We migrate the primary (most recent) practice as AccountId and surface all secondary practice links as Account Contact Relationship records with a Role field indicating 'Primary Care' or 'Referring Practice'.
Visual Practice
Appointment
Microsoft Dynamics 365 Sales
Appointment (Activity)
1:1Visual Practice appointments map to Dynamics 365 Appointments (a type of Activity). Original start/end times, appointment type, provider (owner), and patient link are preserved. Appointment status (scheduled, completed, cancelled) migrates to the ActivityPointer.StateCode field. Past appointment history is imported as completed activities.
Visual Practice
Clinical Note
Microsoft Dynamics 365 Sales
Note
1:1Visual Practice clinical notes map to Dynamics 365 Notes attached to the Contact record. Rich-text formatting is preserved where the source format is compatible. If Visual Practice stores notes as encrypted HIPAA-protected content, the note body is base64-decoded before migration — field-level security is applied to the Note.Text field post-migration.
Visual Practice
Insurance Record
Microsoft Dynamics 365 Sales
Custom Table: Patient Insurance
1:1Visual Practice insurance records (payer, policy number, group number, coverage details) have no direct Dynamics 365 equivalent. We create a Patient_Insurance__c custom table in Dataverse linked to Contact via a lookup field. Insurance status and payer name map to custom fields on this table. If Dynamics 365 Sales Enterprise is in use, this counts against the custom table limit.
Visual Practice
Treatment Procedure
Microsoft Dynamics 365 Sales
Custom Table: Treatment Procedure
1:1Individual procedure codes attached to a treatment case require a custom Treatment_Procedure__c table linked to the Opportunity. Each procedure row captures the CDT code, description, fee, and insurance coverage estimate. This table is scoped to the Opportunity so report builders can aggregate procedure revenue by opportunity.
Visual Practice
Staff/Provider
Microsoft Dynamics 365 Sales
SystemUser
1:1Visual Practice staff and providers resolve by email match to Dynamics 365 SystemUsers. Unmatched staff members are flagged before migration — the team either creates Dynamics 365 user accounts first or assigns records to a fallback owner. Provider specialty and credentials migrate as custom fields on the SystemUser record for routing logic.
Visual Practice
Attachment/File
Microsoft Dynamics 365 Sales
Note (with file attachment)
1:1Visual Practice file attachments (forms, X-rays, insurance cards) re-upload to Dynamics 365 as Note annotations with file attachments. Dynamics 365 default file size limit is 128MB per annotation. Files exceeding this limit are flagged and split or linked via SharePoint document management if configured.
Visual Practice
Custom Patient Property
Microsoft Dynamics 365 Sales
Custom Field on Contact
1:1Visual Practice custom patient properties (e.g., referral source, preferred contact method, medical alerts) migrate as custom fields on the Contact entity using Dataverse field creation. Each field is typed — text, picklist, number — based on the source property type. HIPAA-flagged properties get field-level security applied in Dynamics 365.
Visual Practice
Communication Log
Microsoft Dynamics 365 Sales
Email (Activity)
1:1Visual Practice communication logs (patient messages, portal communications, and intake form submissions) map to Dynamics 365 Email activities attached to the Contact record. Timestamp, direction (inbound/outbound), and content subject line are preserved. The communication body migrates as Email.Description; encrypted communications require decryption before import. Attachments within communication threads are extracted and re-attached as Note annotations.
| Visual Practice | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Practice | Account1:1 | Fully supported | |
| Treatment Case | Opportunity1:1 | Fully supported | |
| Patient-Practice Association | Account Contact Relationship1:1 | Fully supported | |
| Appointment | Appointment (Activity)1:1 | Fully supported | |
| Clinical Note | Note1:1 | Fully supported | |
| Insurance Record | Custom Table: Patient Insurance1:1 | Fully supported | |
| Treatment Procedure | Custom Table: Treatment Procedure1:1 | Fully supported | |
| Staff/Provider | SystemUser1:1 | Fully supported | |
| Attachment/File | Note (with file attachment)1:1 | Fully supported | |
| Custom Patient Property | Custom Field on Contact1:1 | Fully supported | |
| Communication Log | Email (Activity)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.
Visual Practice gotchas
Clinical imaging files require coordinated binary extraction
Electronic claims data has retention and HIPAA constraints
Specialty module data varies by deployment
Integrations with imaging hardware require per-device confirmation
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Stand up Dynamics 365 schema and security model first
Before any data moves, your Dynamics 365 admin (or our team) creates the custom tables (Patient_Insurance__c, Treatment_Procedure__c), configures field-level security on PHI fields, defines the Opportunity Sales Process stages matching your Visual Practice treatment case workflow, and sets up Account Contact Relationship visibility on the Contact form. We deliver a Dynamics 365 schema setup checklist based on your Visual Practice custom property count and HIPAA field inventory so the destination environment is ready before field mapping validation runs.
Resolve owners and staff by email match to Dynamics 365 SystemUsers
Visual Practice providers and staff are matched against Dynamics 365 SystemUsers by email address. Any provider or staff member without a corresponding Dynamics 365 user account is flagged in a pre-migration reconciliation report — your team creates the user accounts first, or we assign their records to a designated fallback owner. No patient record, treatment case, or appointment lands in Dynamics 365 without an owner resolved.
Migrate Accounts and Contacts before Opportunities and Activities
Dynamics 365 requires Accounts before Contacts (via AccountId lookup) and Contacts before Opportunities (via CustomerId on Opportunity). We sequence the migration so Account records land first, then Contacts with primary AccountId assignments and Account Contact Relationship records for secondary affiliations, then Treatment Cases as Opportunities with procedure custom tables linked. Appointment and note activities attach last to their parent Contact records. This ordering ensures foreign key constraints resolve correctly and pipeline reports reflect the full relationship graph at go-live.
Run a sample migration with field-level diff on 100–500 records
A representative slice of patients, practices, treatment cases, and clinical notes migrates first. We generate a field-level diff between the Visual Practice source fields and the Dynamics 365 destination fields — you verify that HIPAA field mapping, patient-practice relationship resolution, treatment case stage assignment, and owner resolution all match your expectations before the full run commits. The diff report flags any field where the source value does not appear exactly in the destination field so you can approve or adjust the mapping before mass import.
Cut over with delta-pickup for in-flight records during go-live window
The full migration runs against Dynamics 365 using Bulk API for high-volume record creation. A delta-pickup window of 24–48 hours captures any Visual Practice records modified during the cutover — new patients, updated treatment cases, or last-minute appointments that occurred between the initial export and go-live. All migration operations are logged in an audit trail. If reconciliation fails — a field is blank that should not be, a relationship is missing — one-click rollback reverts the Dynamics 365 environment to its pre-migration state so the team can re-import with corrected mapping.
Platform deep dives
Visual Practice
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
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 Visual Practice and Microsoft Dynamics 365 Sales .
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
Visual Practice: Not publicly documented.
Data volume sensitivity
Visual Practice 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 Visual Practice to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Visual Practice to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Visual Practice
Other ways to arrive at Microsoft Dynamics 365 Sales
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.