evidence/measures/<id>/YYYY-MM-DD-pbi.png (or evidence/dimensions/<id>/...).validation.evidence[] in the catalog file and flip validation.status to validated.npm run validate — drift pass should re-confirm the live number against expected.production · dollars · pbi · v0.2.0gross-production[Net Production]Transactions, Datesttm-network-sumevidence/measures/production/2026-05-03-screenshot-validation.mdgross-production · dollars · pbi · v0.2.0[Gross Production]Transactions, Datesttm-network-sumevidence/measures/gross-production/2026-05-03-screenshot-validation.mdcollections · dollars · pbi · v0.2.0collectionsCALCULATE(SUM(Transactions[amount]) * -1, Transactions[Transaction Type] = "Payment")Transactions, Datesttm-network-sumevidence/measures/collections/2026-05-03-screenshot-finding.mdnew-patients · count · pbi · v0.2.0[New Patients]mtd-network-sumevidence/measures/new-patients/<date>-pbi.png, fill validation.evidence[], flip status.office-days-open · days · pbi · v0.2.0[Office Days Open]mtd-network-sumevidence/measures/office-days-open/2026-05-03-screenshot-finding.mdappointments-scheduled · count · pbi · v0.2.0CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Status] <> "Passive")SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputrow-countevidence/measures/appointments-scheduled/2026-05-03-screenshot-finding.mdappointments-completed · count · pbi · v0.3.0CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "Completed")SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputrow-countevidence/measures/appointments-completed/<date>-pbi.png, fill validation.evidence[], flip status.appointments-cancelled · count · pbi · v0.3.0CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "Cancelled")SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputrow-countevidence/measures/appointments-cancelled/<date>-pbi.png, fill validation.evidence[], flip status.same-day-cancellations · count · pbi · v0.3.0CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[cancelled] = 1, SAP_Cleaned_FullLoad_Output[Cancelled_Date] = SAP_Cleaned_FullLoad_Output[date])SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputrow-countevidence/measures/same-day-cancellations/<date>-pbi.png, fill validation.evidence[], flip status.appointments-confirmed · count · pbi · v0.2.0CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Status] <> "Passive", SAP_Cleaned_FullLoad_Output[is_confirmed] = "1")SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputrow-countevidence/measures/appointments-confirmed/2026-05-03-screenshot-finding.mdappointments-rescheduled · count · pbi · v0.1.0CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "ReScheduled")SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputrow-countevidence/measures/appointments-rescheduled/<date>-pbi.png, fill validation.evidence[], flip status.cancellation-rate · ratio · pbi · v0.1.0DIVIDE(CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "Cancelled"), CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] IN { "Completed", "Cancelled", "ReScheduled" }))SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputvalueevidence/measures/cancellation-rate/<date>-pbi.png, fill validation.evidence[], flip status.same-day-cancel-rate · ratio · pbi · v0.1.0DIVIDE(CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[cancelled] = 1, SAP_Cleaned_FullLoad_Output[Cancelled_Date] = SAP_Cleaned_FullLoad_Output[date]), CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] IN { "Completed", "Cancelled", "ReScheduled" }))SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputvalueevidence/measures/same-day-cancel-rate/<date>-pbi.png, fill validation.evidence[], flip status.completion-rate · ratio · pbi · v0.1.0DIVIDE(CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "Completed"), CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] IN { "Completed", "Cancelled", "ReScheduled" }))SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputvalueevidence/measures/completion-rate/<date>-pbi.png, fill validation.evidence[], flip status.production-per-day · dollars · pbi · v0.1.0DIVIDE([Net Production], [Office Days Open])valueevidence/measures/production-per-day/<date>-pbi.png, fill validation.evidence[], flip status.production-per-visit · dollars · pbi · v0.1.0DIVIDE([Net Production], DISTINCTCOUNT(Transactions[Visit Id]))Transactionsvalueevidence/measures/production-per-visit/<date>-pbi.png, fill validation.evidence[], flip status.adjustment-pct · ratio · pbi · v0.1.0DIVIDE([Gross Production] - [Net Production], [Gross Production])valueevidence/measures/adjustment-pct/<date>-pbi.png, fill validation.evidence[], flip status.insurance-payments · dollars · pbi · v0.1.0CALCULATE(SUM(Transactions[amount]) * -1, Transactions[Transaction Type] = "Payment", Transactions[transaction_category] = "Insurance")Transactionsttm-network-sumevidence/measures/insurance-payments/<date>-pbi.png, fill validation.evidence[], flip status.patient-payments · dollars · pbi · v0.1.0CALCULATE(SUM(Transactions[amount]) * -1, Transactions[Transaction Type] = "Payment", Transactions[transaction_category] = "Patient")Transactionsttm-network-sumevidence/measures/patient-payments/<date>-pbi.png, fill validation.evidence[], flip status.write-offs · dollars · pbi · v0.1.0CALCULATE(SUM(Transactions[amount]) * -1, Transactions[transaction_category] = "Write Off")Transactionsttm-network-sumevidence/measures/write-offs/<date>-pbi.png, fill validation.evidence[], flip status.discounts · dollars · pbi · v0.1.0CALCULATE(SUM(Transactions[amount]) * -1, Transactions[transaction_category] = "Discount")Transactionsttm-network-sumevidence/measures/discounts/<date>-pbi.png, fill validation.evidence[], flip status.contractual-adjustments · dollars · pbi · v0.1.0CALCULATE(SUM(Transactions[amount]) * -1, Transactions[transaction_category] = "Contractual")Transactionsttm-network-sumevidence/measures/contractual-adjustments/<date>-pbi.png, fill validation.evidence[], flip status.visits · count · pbi · v0.1.0DISTINCTCOUNT(Transactions[Visit Id])Transactionsttm-network-sumevidence/measures/visits/<date>-pbi.png, fill validation.evidence[], flip status.unique-patients · count · pbi · v0.1.0DISTINCTCOUNT(Transactions[Patient Id])Transactionsttm-network-sumevidence/measures/unique-patients/<date>-pbi.png, fill validation.evidence[], flip status.revenue-per-visit · dollars · pbi · v0.1.0DIVIDE([Net Production], DISTINCTCOUNT(Transactions[Visit Id]))Transactionsvalueevidence/measures/revenue-per-visit/<date>-pbi.png, fill validation.evidence[], flip status.provider-days-worked · count · pbi · v0.1.0CALCULATE(DISTINCTCOUNT(Transactions[Provider_Key]), FILTER(Transactions, Transactions[amount] <> 0))Transactionsvalueevidence/measures/provider-days-worked/<date>-pbi.png, fill validation.evidence[], flip status.production-from-new-patients · dollars · pbi · v0.1.0CALCULATE([Net Production], Transactions[New or Returning] = "New")Transactionsttm-network-sumevidence/measures/production-from-new-patients/<date>-pbi.png, fill validation.evidence[], flip status.np-share-of-production · ratio · pbi · v0.1.0DIVIDE(CALCULATE([Net Production], Transactions[New or Returning] = "New"), [Net Production])Transactionsvalueevidence/measures/np-share-of-production/<date>-pbi.png, fill validation.evidence[], flip status.hygiene-appointments · count · pbi · v0.1.0CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[type] IN { "hygiene", "HYGIENE with LOCAL", "HYGIENE ROOT PLANE", "Prophylaxis", "SPT", "SPT Only - No Exam Needed", "SPT and Exam", "Perio Maint" })SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputrow-countevidence/measures/hygiene-appointments/<date>-pbi.png, fill validation.evidence[], flip status.emergency-appointments · count · pbi · v0.1.0CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[type] = "Emergency")SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputrow-countevidence/measures/emergency-appointments/<date>-pbi.png, fill validation.evidence[], flip status.no-shows · count · pbi · v0.1.0CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Status] IN { "No Show", "NO SHOW", "Missed Appointment", "MISSED" })SAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)SAP_Cleaned_FullLoad_Outputrow-countevidence/measures/no-shows/<date>-pbi.png, fill validation.evidence[], flip status.location · dimension · v0.2.0Practices[Location Name] → column "Location Name"Practices[Practice Code]Practices[Practice Code] · joins, IDs (not for display)Practices[Legal Location] · legal/contracts (not for display)active-practicesPractices[Closures] = "Open" && NOT (Practices[Practice Type] IN { "Corp", "Lab" })row-countevidence/dimensions/location/2026-05-02-probe-note.mdprovider · dimension · v0.2.0Providers[Team Member] → column "Team Member"Providers[Provider_Key]Providers[Provider_Key] · joins (composite Practice|Prov) (not for display)Providers[NPI] · external IDs (if populated) (not for display)Providers[PMS Harvested Name] · raw PMS-harvested name (often unmapped) (not for display)Providers[Full Name] · alternate display (often blank) (not for display)active-providersNOT ISBLANK(Providers[Team Member]) && Providers[Team Member] <> "" && Providers[Status] = "Active"row-countevidence/dimensions/provider/2026-05-02-probe-note.mdpatient-type · dimension · v0.2.0Transactions[New or Returning] → column "New or Returning"patient-type-domainNOT ISBLANK(Transactions[New or Returning])row-countevidence/dimensions/patient-type/2026-05-02-probe-note.mddate · dimension · v0.2.0Dates[Date] → column "Date"Transactions[EntryDate] · active relationship to Dates[Date] — use this only (not for display)Transactions[ProcedureDate] · BROKEN — never USERELATIONSHIP this; fails silently (not for display)calendar-datesDates[Date] >= DATE(2020, 1, 1) && Dates[Date] <= TODAY()row-countevidence/dimensions/date/2026-05-02-probe-note.mddivision · dimension · v0.1.0Practices[Division] → column "Division"Practices[Practice Code]active-divisionsNOT ISBLANK(Practices[Division]) && Practices[Closures] = "Open"row-countlegacy-company · dimension · v0.1.0Practices[Legacy Company] → column "Legacy Company"Practices[Practice Code]Practices[Legacy Entity] · fine-grained legacy sub-classificationlegacy-company-domainNOT ISBLANK(Practices[Legacy Company])row-countpractice-type · dimension · v0.1.0Practices[Practice Type] → column "Practice Type"Practices[Practice Code]practice-type-domainNOT ISBLANK(Practices[Practice Type])row-count