SyncApp and Data Service
Why This Matters
SyncApp doesn't own the Weave database — that's Data Service's domain. Understanding the contract between SyncApp and Data Service (the schema, the transformation responsibility) is essential for understanding what SyncApp must produce.
What You'll Learn
- How Data Service stores data: one SQL database per office, one table per entity type
- Why each entity (patient, appointment, provider) has a predefined schema in Data Service
- Why SyncApp is responsible for transforming raw PMS data into the Weave schema before sending it
- The difference between data content (name, phone) and data format (how it's structured) across PMSs
- SyncApp's dual responsibility: fetch data AND transform it to match Data Service's expected schema
Watch Video
Lesson Summary
Data Service maintains one SQL database per office, with one table per entity type (patients, appointments, providers, etc.). Each table has a fixed schema that Data Service expects — it will only accept data in that predefined format. SyncApp fetches data from PMSs where the format varies significantly between vendors. A patient record in OpenDental might look completely different in structure from one in InfiniteVT, even though both contain a name and phone number. SyncApp's job is to normalize this heterogeneous data into the consistent Weave schema before calling Data Service.