Date, Procedure Logs, Accounts & Aging
Why This Matters
Type 3 integrations require syncing several interconnected entities beyond appointments — accounts, aging buckets, procedure logs, and procedure codes — each feeding distinct downstream features like analytics, payment risk assessment, and automated messaging. Understanding how these entities relate and how they are fetched together (e.g., accounts piggybacking on aging sync) is essential for implementing and debugging Type 3 integrations correctly. Misunderstanding the data model here leads to incomplete syncs or missing feature coverage for offices.
What You'll Learn
- How accounts and aging data are defined and categorized into 30-day, 30–60-day, 60–90-day, and 90-plus-day buckets
- Why accounts and aging are synced together in a single sync flow rather than as separate entities, and how patients drive that fetch
- How the account entity models the relationship between a shared account ID and multiple person IDs within a family
- What procedure logs, procedure codes, procedure code groups, and appointment procedures represent and how they relate to appointments in a one-to-many structure
- How procedure codes and logs feed into analytics features
- What the Save the Date feature is, how it depends on the appointment created-at timestamp from the PMS, and what happens when that field is unavailable
- Why not all PMS integrations expose all these entities, and why Open Dental is used as the reference implementation
Watch Video
Lesson Summary
Accounts and aging are synced together in a single flow — in Open Dental Cloud, there is no dedicated account sync; instead, accounts are derived from the aging data. Each patient has an account, and a single account ID can map to multiple person IDs within a family, with a relationship field (e.g., self, spouse, parent) disambiguating them. Aging data categorizes outstanding patient balances into four buckets: current (0–30 days), 30–60 days, 60–90 days, and 90-plus days. The partial sync for aging works by first fetching recently added or updated patients, collecting their IDs, and then querying the aging table with a WHERE patient_number IN clause to retrieve their balance data; both account and aging records are then transformed and saved together. Procedure logs record per-procedure billing and status details within an appointment, with a one-to-many relationship between appointments and procedures — a single appointment can contain multiple procedures. Procedure codes are the unique identifiers for procedure types and can be grouped into procedure code groups; these, along with procedure logs, fee, and fee schedule entities, feed into Weave's analytics features. Save the Date is a messaging feature that sends a calendar reminder to a patient when a new appointment is created; it depends entirely on the created-at timestamp being present in the PMS API response — if that field is unavailable, the feature cannot function because the system cannot distinguish newly created appointments from existing ones, which would cause duplicate reminders.