Migrate your Function 365 data
UK-focused medical CRM built for NHS and private healthcare practices, with patient management, appointment scheduling, and clinical workflow tools.
In its favor
Why people choose Function 365
The signal that keeps Function 365 on the shortlist. Sourced from G2, Capterra, and customer scoping calls.
Built specifically for UK private healthcare and Functional Medicine practices since 2016, with GDPR compliance baked in and HIPAA support for US users.
Bundles booking, consultations, AI-assisted clinical notes, prescriptions, billing, and lab orders into one platform, removing the cost and overhead of stitching together Cliniko/Pabau-style components.
Built-in telehealth and patient portal mean remote consultations and patient self-serve work without separate Doxy.me or Calendly add-ons.
AI-assisted charting and clinical notes speed up encounter documentation, which is a major time drag for solo practitioners and small clinics.
Transparent published tiers with per-licence pricing visible on function365.co.uk/shop (rare in UK healthcare PMS).
Functional Medicine + private-healthcare niche means general medical practices, NHS-primary settings, or non-UK clinics often have a tighter fit with Cliniko, Pabau, or country-specific PMS.
Implementation requires a paid specialist session (£55/session) plus optional onsite training (£350) — small clinics that expected pure self-serve may find the onboarding gate frustrating.
Smaller installed base than Cliniko, Pabau, or Halaxy means fewer integrations, fewer third-party services, and less peer benchmarking for procurement.
No public API documentation surfaced in research; integration with lab vendors, payment processors, or downstream EHRs may require vendor coordination.
Solo Practitioner tier (£132/month) is steeper than freemium-style PMS competitors; smallest practices may find the entry price hard to justify against single-clinician alternatives.
Reasons to switch
Why people leave Function 365
The recurring reasons buyers give for replacing Function 365. Presented as facts, not knocks.
Platform scorecard
Strengths, weaknesses, and where Function 365 fits
Grades across six dimensions, plus a SWOT-style view of where the platform shines and where it falls short.
SWOT — strengths, weaknesses, and use-case fit
Strengths
Weaknesses
Where it works
Where it struggles
Pricing tiers
Function 365 pricing overview
Function 365 publishes tiered licence pricing on function365.co.uk/shop: Solo Practitioner at £132/month, Small Practice (2–5 licences) at £95/month per licence, and Large Practice (5+ licences) at £85/month per licence. Implementation Specialist sessions are billed at £55 each and onsite dedicated training at £350.
Solo Practitioner
Tier 1 of 5
£132/month
What's included
Need help selecting your CRM?
Book a free 30 minute consultationPricing is informational. FlitStack AI does not bill on Function 365's schedule — see our quote-based pricing →
What gets migrated
Function 365 object support
Object-by-object support for Function 365 migrations. Per-pair details surface during scoping.
Patients
Fully supportedPatient records are the primary object in any medical CRM including Function 365. We migrate core demographics, contact details, and NHS Numbers as a structured 10-digit identifier field. Custom patient properties are mapped individually during the scoping call.
Appointments
Fully supportedAppointment history is date-sequenced and migrated with patient association preserved. Recurring appointment patterns are detected and re-created at the destination where the target CRM supports recurrence rules.
Encounters
Mapping requiredClinical encounters represent discrete visit records with provider, date, and notes. Where encounters span multiple date ranges or contain nested subsections, we flatten or re-associate them to match the destination schema.
Prescriptions
Mapping requiredPrescription records contain medication name, dosage, frequency, and prescriber linkage. We map these to the destination's medication or prescription object and flag any custom prescription-related fields that require manual mapping.
Treatment Plans
Mapping requiredTreatment plans may store structured phases alongside free-text clinical goals. We preserve the structured plan phases and migrate the goal text as a long-text field, noting the association back to the patient record.
Insurance Claims
Mapping requiredInsurance claim records include payer, policy reference, claim status, and submitted amounts. We map claim status values explicitly to avoid mis-match errors at the destination when status terminology differs between platforms.
Documents
Mapping requiredDocument attachments associated with patient records are downloaded and re-uploaded to the destination CRM with original filenames and patient associations preserved. File-size limits at the destination are enforced during the chunking pass.
Custom Properties
Mapping requiredCustom fields added to any of the above objects are listed during scoping, and field-level value mapping is applied where source and destination property types differ, such as multi-select lists or date-only fields.
| Object | Support | Notes |
|---|---|---|
| Patients | Fully supported | Patient records are the primary object in any medical CRM including Function 365. We migrate core demographics, contact details, and NHS Numbers as a structured 10-digit identifier field. Custom patient properties are mapped individually during the scoping call. |
| Appointments | Fully supported | Appointment history is date-sequenced and migrated with patient association preserved. Recurring appointment patterns are detected and re-created at the destination where the target CRM supports recurrence rules. |
| Encounters | Mapping required | Clinical encounters represent discrete visit records with provider, date, and notes. Where encounters span multiple date ranges or contain nested subsections, we flatten or re-associate them to match the destination schema. |
| Prescriptions | Mapping required | Prescription records contain medication name, dosage, frequency, and prescriber linkage. We map these to the destination's medication or prescription object and flag any custom prescription-related fields that require manual mapping. |
| Treatment Plans | Mapping required | Treatment plans may store structured phases alongside free-text clinical goals. We preserve the structured plan phases and migrate the goal text as a long-text field, noting the association back to the patient record. |
| Insurance Claims | Mapping required | Insurance claim records include payer, policy reference, claim status, and submitted amounts. We map claim status values explicitly to avoid mis-match errors at the destination when status terminology differs between platforms. |
| Documents | Mapping required | Document attachments associated with patient records are downloaded and re-uploaded to the destination CRM with original filenames and patient associations preserved. File-size limits at the destination are enforced during the chunking pass. |
| Custom Properties | Mapping required | Custom fields added to any of the above objects are listed during scoping, and field-level value mapping is applied where source and destination property types differ, such as multi-select lists or date-only fields. |
Gotchas
What to watch for in Function 365 migrations
Issues we've hit on past Function 365 migrations, tagged by severity. FlitStack AI handles every one — surfacing them up front because buyer engineering teams want to know.
AI-assisted notes are proprietary — verify clinical-record export coverage
NHS Number format must be preserved exactly
Implementation specialist time is paid extra at £55/session
GDPR consent timestamps are regulatory artefacts
| Severity | Issue |
|---|---|
| High | AI-assisted notes are proprietary — verify clinical-record export coverage |
| High | NHS Number format must be preserved exactly |
| Medium | Implementation specialist time is paid extra at £55/session |
| Medium | GDPR consent timestamps are regulatory artefacts |
Leaving Function 365?
Where Function 365 customers move next
12 destinations Function 365 can migrate to.
How a Function 365 migration works
Four steps, Function 365-specific
Connect
Not publicly documented into Function 365. Scopes limited to read-only on the data we move.
Map
We translate Function 365-specific structures (custom fields, objects, value lists) to the destination's model.
Sample
Test with a 50–200 record subset to validate Function 365 quirks before production.
Migrate
Full migration with Function 365 rate-limit handling. Rollback available throughout.
FAQ
Function 365 migration FAQ
Answers to the questions buyers ask most during Function 365 migration scoping. Not seeing yours? Book a call.
Can't find your answer?
Walk through your Function 365 migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationReady when you are
Migrate Function 365.
Without the rebuild.
Free scoping call with a migration engineer. Tell us about your Function 365 setup and destination — written quote back within a business day.