Academy / Sync App Flow & Deployment / Full Sync vs. Partial Sync

Full Sync vs. Partial Sync

Lesson 5.2 ⏱ ~8 min

💡 Why This Matters

The decision to do a full sync vs. partial sync has major performance implications. Understanding the factors that drive this decision helps you design efficient integrations and debug sync performance issues.

🎯 What You'll Learn

  • Full sync: fetching all records for an entity from the PMS every cycle
  • Partial sync: fetching only records modified/added since the last sync cycle
  • The ideal model: full sync once (first onboarding), partial sync forever after
  • Factors driving sync frequency decisions: data change rate, API throttling, slow APIs, data volume, single-threaded execution
  • Why cloud PMSs generally support partial sync but on-prem PMSs often don't

Watch Video

Open in Google Drive 💡 Open in Drive for AI-powered transcript search and summaries

📋 Lesson Summary

Full sync fetches all records; partial (delta) sync fetches only what's changed since the last run. The ideal: full sync once at onboarding, partial sync every cycle thereafter. But this isn't always possible. Factors that prevent partial sync: PMS APIs that don't support modified-time queries, on-prem tables without last-modified columns, or tables where the column isn't updated properly. SyncApp runs in a single thread — a slow entity can delay others. Cloud PMSs almost always support partial sync for patients and appointments. On-prem PMSs commonly require full syncs due to schema limitations.

🏷 Key Concepts

Full Sync Partial Sync (Delta Sync) Last Modified Time API Throttling Single-Threaded Execution API Capability Limitations On-Prem vs. Cloud Sync Strategy

Key Takeaways

01Always prefer partial sync — full sync is a fallback when the PMS doesn't support last-modified queries
02On-prem PMSs frequently lack last-modified columns or don't update them correctly — expect full syncs there
03API throttling from PMS vendors means you must balance sync frequency against rate limits
04SyncApp's single-threaded design means slow entities can starve faster ones — configure frequencies accordingly
05For new integrations, check whether the PMS API supports delta queries before assuming partial sync is possible