Academy / Multi-Location Architecture / Office Data and SyncApp — Multi-Source Architecture

Office Data and SyncApp — Multi-Source Architecture

Lesson 3.1 ⏱ ~5 min

💡 Why This Matters

Real enterprise customers don't have just one database. Understanding how an organization's data can span multiple sources — each with data for multiple locations — is the foundation for understanding why we need three separate identifiers.

🎯 What You'll Learn

  • How a single organization can have multiple separate data sources (databases)
  • How each database can contain patient and appointment data for multiple physical locations
  • Why SyncApp needs one instance per data source, not one per location
  • How SyncApp tags each synced record with its source location for granular tracking
  • Why this architecture is described as 'complicated' — it took the presenter 6+ months to understand

Watch Video

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

📋 Lesson Summary

Large organizations may have data distributed across multiple databases. Each database may contain records for multiple physical locations. Because SyncApp syncs from a single source, you need one SyncApp per data source — not per location. If an organization has 3 data sources, 3 SyncApps are spun up. When each SyncApp pushes data into Weave, it tags every record with the source location so Weave knows which physical location the data belongs to. This location-tagged data becomes the building block for all UI configuration.

🏷 Key Concepts

Organization (Weave Customer) Data Source Multiple Databases Per Organization One SyncApp Per Data Source Location-Tagged Data Sync Granularity

Key Takeaways

01One SyncApp per data source — not per office and not per location
02A single database can contain data for many locations — the SyncApp reads all of it and tags each record by location
03Enterprise customers commonly have more complex setups than small independent offices
04This architecture is intentionally designed for isolation: each data source is synced independently

🔗 References & Resources