Review Console

Compact rows by default — expand any card for full validation detail. Status shows on the left edge.

Reviewer checklist (per entry)

  1. Read the Definition + Aliases. Anything you'd call this metric and not find → flag a missing alias.
  2. Verify the Canonical DAX + Tables touched. Make sure it pulls the right field for what the name means.
  3. Compare Live observed against the matching tile in Karen's exec dashboard / PBI report. Take a screenshot.
  4. Drop the screenshot into evidence/measures/<id>/YYYY-MM-DD-pbi.png (or evidence/dimensions/<id>/...).
  5. Update validation.evidence[] in the catalog file and flip validation.status to validated.
  6. Run npm run validate — drift pass should re-confirm the live number against expected.

Financial — production & collections

10 2·8
Top-line dollars: production, gross production, collections, payments, write-offs, adjustments.

Production

validated
production · dollars · pbi · v0.2.0
$657,102,379.84 within tolerance (-0.18%)
vs expected $658,291,429.51 · tol ±0.5%
Canonical DAX
[Net Production]
Show full review detailHide detail
Definition
Gross production minus adjustments. The SGA-default meaning of the word 'production' across financial reports, executive dashboards, and daybreak. Equivalent to PBI measure [Net Production].
Aliases (acceptable synonyms)
productionprodnet productionnet prod
⚠ Synonym blacklist — do NOT silently treat as this
"gross production" gross-production
Source-of-truth fields
Tables touchedTransactions Dates
PBI measuresNet Production
Validation anchor
Anchor typettm-network-sum · as of 2026-05-02
Expected$658,291,429.51
Tolerance±0.5%
Live observed$657,102,379.84 within tolerance (-0.18%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
PBI 'Days Open SPLY' report, Apr 2026, SGA legacy: Net Prod / Days Open = $9,924; PBI Days Open = 2,618 → implied PBI Net Prod = $25,979,432. Registry live = $25,979,875. Match within 0.0017% — penny-precision.
Evidence on file
  • manual-note · Penny-perfect match against PBI Days Open SPLY report (Apr 2026, SGA legacy) $25,979,432 (PBI implied) vs $25,979,875 (registry) — Δ 0.0017%
    evidence/measures/production/2026-05-03-screenshot-validation.md
Notes
Validated via PBI screenshot ratio cross-check. Replace manual-note with screenshot of network-total tile when available.
Probe DAX (live anchor query)
EVALUATE SUMMARIZECOLUMNS(
  Practices[Practice Code],
  Practices[Location Name],
  FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY()),
  "Production_T12M", [Net Production]
) ORDER BY [Production_T12M] DESC

Gross Production

validated
gross-production · dollars · pbi · v0.2.0
$774,189,649.4 within tolerance (-0.18%)
vs expected $775,584,956.3 · tol ±0.5%
Canonical DAX
[Gross Production]
Show full review detailHide detail
Definition
Total production billed before adjustments and write-offs. Distinct from `production` (= net production). Used for production-target tracking and SPLY comparisons.
Aliases (acceptable synonyms)
gross productiongross prodgp
Source-of-truth fields
Tables touchedTransactions Dates
PBI measuresGross Production
Validation anchor
Anchor typettm-network-sum · as of 2026-05-02
Expected$775,584,956.3
Tolerance±0.5%
Live observed$774,189,649.4 within tolerance (-0.18%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
PBI 'Production Adjustment Outliers' report, May 2025 - Apr 2026, SGA legacy: gross→net adjustment band -14.1% to -15.4%. Registry math: ($775.58M - $658.29M) / $775.58M = 15.1%, inside band.
Evidence on file
  • manual-note · Adjustment-ratio match against PBI Production Adjustment Outliers (TTM, SGA) Adjustment ratio 15.1% vs PBI band -14.1% to -15.4%
    evidence/measures/gross-production/2026-05-03-screenshot-validation.md
Notes
Validated via adjustment-ratio. Replace with direct screenshot of a Total-Gross-Production tile when available.
Probe DAX (live anchor query)
EVALUATE SUMMARIZECOLUMNS(
  Practices[Practice Code],
  Practices[Location Name],
  FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY()),
  "Gross_Production_T12M", [Gross Production]
) ORDER BY [Gross_Production_T12M] DESC

Collections

under review
collections · dollars · pbi · v0.2.0
$655,075,480.34 within tolerance (-0.19%)
vs expected $656,322,826.41 · tol ±0.5%
Canonical DAX
CALCULATE(SUM(Transactions[amount]) * -1, Transactions[Transaction Type] = "Payment")
Show full review detailHide detail
Definition
Total dollar amount collected. Computed as -1 × SUM(Transactions[amount]) where Transaction Type = 'Payment' (payments are stored as negative amounts). Workaround for the broken native [Gross Collections] measure which fails inside SUMMARIZECOLUMNS grouped contexts.
Aliases (acceptable synonyms)
collectionsmoney collectedpayments received
⚠ Synonym blacklist — do NOT silently treat as this
"gross collections" collections
Source-of-truth fields
Tables touchedTransactions Dates
Known-broken (avoid)
  • [Gross Collections] — fails in grouped context per agent.md
Validation anchor
Anchor typettm-network-sum · as of 2026-05-02
Expected$656,322,826.41
Tolerance±0.5%
Live observed$655,075,480.34 within tolerance (-0.19%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Cross-check via collection-rate: collections / production = 99.7% — plausible for SGA RCM. Direct PBI anchor pending; Waterfall report is wrong validation surface (cohort intersection).
Evidence on file
  • manual-note · Finding: Waterfall report not appropriate validation; need simpler total-collections tile 99.7% implied collection rate (vs production)
    evidence/measures/collections/2026-05-03-screenshot-finding.md
Notes
DAX corrected to Transaction Type = 'Payment' * -1 (original Description_Types path returned $11M garbage). Math is internally consistent. See finding file for next-step PBI anchor needed.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(CALCULATE(SUM(Transactions[amount]) * -1, Transactions[Transaction Type] = "Payment"), FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY())))

Adjustment % of Gross

under review
adjustment-pct · ratio · pbi · v0.1.0
13.12% within tolerance (0.00%)
vs expected 13.12% · tol ±5%
Canonical DAX
DIVIDE([Gross Production] - [Net Production], [Gross Production])
Show full review detailHide detail
Definition
(Gross Production - Net Production) / Gross Production. The percentage of billed production lost to insurance contractual adjustments, write-offs, and discounts.
Aliases (acceptable synonyms)
adjustment rateadjustments % of grossadj pctwriteoff rate
Source-of-truth fields
Tables touched
PBI measuresGross Production Net Production
Validation anchor
Anchor typevalue
Expected13.12%
Tolerance±5%
Live observed13.12% within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
PBI 'Production Adjustment Outliers' report shows TTM SGA -14.1% to -15.4% range. Registry math gives 15.1%, mid-band. Auto-probed 2026-05-03: observed=0.13120650601010836.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/adjustment-pct/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
derived. Already cross-checked against PBI band; promote after probe confirms. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", DIVIDE([Gross Production] - [Net Production], [Gross Production]))

Insurance Payments

under review
insurance-payments · dollars · pbi · v0.1.0
$202,419,979.86 within tolerance (0.00%)
vs expected $202,419,979.86 · tol ±1%
Canonical DAX
CALCULATE(SUM(Transactions[amount]) * -1, Transactions[Transaction Type] = "Payment", Transactions[transaction_category] = "Insurance")
Show full review detailHide detail
Definition
Total insurance payments collected. Subset of total collections where transaction_category = 'Insurance'. Stored as negative in Transactions[amount], so multiplied by -1.
Aliases (acceptable synonyms)
insurance collectionsins paymentsinsurance paidinsurance
Source-of-truth fields
Tables touchedTransactions
Validation anchor
Anchor typettm-network-sum
Expected$202,419,979.86
Tolerance±1%
Live observed$202,419,979.86 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Earlier probe showed transaction_category='Insurance' TTM SUM = -$232.92M (negative is the stored sign). Auto-probed 2026-05-03: observed=202419979.8588616.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/insurance-payments/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
anchor from probe. Awaiting screenshot. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(CALCULATE(SUM(Transactions[amount]) * -1, Transactions[Transaction Type] = "Payment", Transactions[transaction_category] = "Insurance"), FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY())))

Patient Payments

under review
patient-payments · dollars · pbi · v0.1.0
$414,459,345.58 within tolerance (0.00%)
vs expected $414,459,345.58 · tol ±1%
Canonical DAX
CALCULATE(SUM(Transactions[amount]) * -1, Transactions[Transaction Type] = "Payment", Transactions[transaction_category] = "Patient")
Show full review detailHide detail
Definition
Total patient (out-of-pocket) payments collected. Subset of collections where transaction_category = 'Patient'.
Aliases (acceptable synonyms)
patient collectionspt paymentsout of pocketpatient paid
Source-of-truth fields
Tables touchedTransactions
Validation anchor
Anchor typettm-network-sum
Expected$414,459,345.58
Tolerance±1%
Live observed$414,459,345.58 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Earlier probe showed transaction_category='Patient' TTM SUM = -$415.12M. Auto-probed 2026-05-03: observed=414459345.58420146.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/patient-payments/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
anchor from probe. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(CALCULATE(SUM(Transactions[amount]) * -1, Transactions[Transaction Type] = "Payment", Transactions[transaction_category] = "Patient"), FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY())))

Write-Offs

under review
write-offs · dollars · pbi · v0.1.0
$1,370,603.87 within tolerance (0.00%)
vs expected $1,370,603.87 · tol ±1%
Canonical DAX
CALCULATE(SUM(Transactions[amount]) * -1, Transactions[transaction_category] = "Write Off")
Show full review detailHide detail
Definition
Total write-offs (uncollectible production written off). transaction_category = 'Write Off'.
Aliases (acceptable synonyms)
write offswriteoffswriteoffwo
Source-of-truth fields
Tables touchedTransactions
Validation anchor
Anchor typettm-network-sum
Expected$1,370,603.87
Tolerance±1%
Live observed$1,370,603.87 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Earlier probe: Write Off TTM SUM = -$1.37M. Auto-probed 2026-05-03: observed=1370603.8701024556.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/write-offs/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(CALCULATE(SUM(Transactions[amount]) * -1, Transactions[transaction_category] = "Write Off"), FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY())))

Discounts

under review
discounts · dollars · pbi · v0.1.0
$7,416,473.7 within tolerance (0.00%)
vs expected $7,416,473.7 · tol ±1%
Canonical DAX
CALCULATE(SUM(Transactions[amount]) * -1, Transactions[transaction_category] = "Discount")
Show full review detailHide detail
Definition
Total discounts applied. transaction_category = 'Discount'.
Aliases (acceptable synonyms)
patient discountscourtesy discounts
Source-of-truth fields
Tables touchedTransactions
Validation anchor
Anchor typettm-network-sum
Expected$7,416,473.7
Tolerance±1%
Live observed$7,416,473.7 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Earlier probe: Discount TTM SUM = -$7.44M. Auto-probed 2026-05-03: observed=7416473.699818189.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/discounts/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(CALCULATE(SUM(Transactions[amount]) * -1, Transactions[transaction_category] = "Discount"), FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY())))

Contractual Adjustments

under review
contractual-adjustments · dollars · pbi · v0.1.0
$35,792,224.55 within tolerance (0.00%)
vs expected $35,792,224.55 · tol ±1%
Canonical DAX
CALCULATE(SUM(Transactions[amount]) * -1, Transactions[transaction_category] = "Contractual")
Show full review detailHide detail
Definition
Insurance contractual adjustments (the difference between billed and contracted rates). transaction_category = 'Contractual'.
Aliases (acceptable synonyms)
contractualcontractual writeoffsins contractual
Source-of-truth fields
Tables touchedTransactions
Validation anchor
Anchor typettm-network-sum
Expected$35,792,224.55
Tolerance±1%
Live observed$35,792,224.55 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Earlier probe: Contractual TTM SUM = -$35.86M. Auto-probed 2026-05-03: observed=35792224.5462544.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/contractual-adjustments/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(CALCULATE(SUM(Transactions[amount]) * -1, Transactions[transaction_category] = "Contractual"), FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY())))

Revenue per Visit

under review
revenue-per-visit · dollars · pbi · v0.1.0
$263.21 within tolerance (0.00%)
vs expected $263.21 · tol ±1%
Canonical DAX
DIVIDE([Net Production], DISTINCTCOUNT(Transactions[Visit Id]))
Show full review detailHide detail
Definition
Net Production divided by distinct visits. Same as production-per-visit; alias.
Aliases (acceptable synonyms)
rev per visitrpv$ per visit
Source-of-truth fields
Tables touchedTransactions
PBI measuresNet Production
Validation anchor
Anchor typevalue
Expected$263.21
Tolerance±1%
Live observed$263.21 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=263.2148722091845.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/revenue-per-visit/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
duplicates production-per-visit. Consider consolidating with an alias. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", DIVIDE([Net Production], DISTINCTCOUNT(Transactions[Visit Id])))

Mix & efficiency

7 7
Per-day, per-visit, new-patient mix, hygiene/emergency mix, provider days.

Production per Day

under review
production-per-day · dollars · pbi · v0.1.0
$10,842.01 within tolerance (0.00%)
vs expected $10,842.01 · tol ±1%
Canonical DAX
DIVIDE([Net Production], [Office Days Open])
Show full review detailHide detail
Definition
Net Production divided by Office Days Open. Standard OM productivity metric. Reproduces the 'Net Prod / Days Open' column in PBI Days Open SPLY report.
Aliases (acceptable synonyms)
net prod per dayproduction / days openppdprod per day
Source-of-truth fields
Tables touched
PBI measuresNet Production Office Days Open
Validation anchor
Anchor typevalue
Expected$10,842.01
Tolerance±1%
Live observed$10,842.01 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
PBI Days Open SPLY shows Apr 2026 SGA = $9,924/day. Already cross-checked: production / days_open = $25,979,875 / 2,695 = $9,640 (registry rollup); using PBI's days = $9,924 (matches PBI exactly). Auto-probed 2026-05-03: observed=10842.014438446153.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/production-per-day/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
derived. Per-practice values match PBI penny-perfect; network-rollup ratio differs slightly because of office-days-open eligibility delta. See office-days-open finding for context. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", DIVIDE([Net Production], [Office Days Open]))

Production per Visit

under review
production-per-visit · dollars · pbi · v0.1.0
$263.21 within tolerance (0.00%)
vs expected $263.21 · tol ±1%
Canonical DAX
DIVIDE([Net Production], DISTINCTCOUNT(Transactions[Visit Id]))
Show full review detailHide detail
Definition
Net Production divided by distinct visit count. Captures average revenue per patient encounter.
Aliases (acceptable synonyms)
net prod per visitppvprod per visitrevenue per visit
Source-of-truth fields
Tables touchedTransactions
PBI measuresNet Production
Validation anchor
Anchor typevalue
Expected$263.21
Tolerance±1%
Live observed$263.21 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=263.2148722091845.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/production-per-visit/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
derived. Probe captures TTM value as anchor. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", DIVIDE([Net Production], DISTINCTCOUNT(Transactions[Visit Id])))

Visits

under review
visits · count · pbi · v0.1.0
2,153,400 within tolerance (0.00%)
vs expected 2,153,400 · tol ±1%
Canonical DAX
DISTINCTCOUNT(Transactions[Visit Id])
Show full review detailHide detail
Definition
Distinct patient visit count. One visit may have multiple transaction rows (procedure + insurance posting + patient pay) but counts as a single encounter.
Aliases (acceptable synonyms)
visit countencounterspatient encountersby visit
Source-of-truth fields
Tables touchedTransactions
Validation anchor
Anchor typettm-network-sum
Expected2,153,400
Tolerance±1%
Live observed2,153,400 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=2153400.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/visits/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
anchor from probe. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(DISTINCTCOUNT(Transactions[Visit Id]), FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY())))

Unique Patients

under review
unique-patients · count · pbi · v0.1.0
764,128 within tolerance (0.00%)
vs expected 764,128 · tol ±1%
Canonical DAX
DISTINCTCOUNT(Transactions[Patient Id])
Show full review detailHide detail
Definition
Distinct patient count seen during the period (any visit). Different from new-patients (which counts first-time visitors only).
Aliases (acceptable synonyms)
unique patient countactive patientsdistinct patients
Source-of-truth fields
Tables touchedTransactions
Validation anchor
Anchor typettm-network-sum
Expected764,128
Tolerance±1%
Live observed764,128 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=764128.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/unique-patients/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
anchor from probe. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(DISTINCTCOUNT(Transactions[Patient Id]), FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY())))

Provider Days Worked

under review
provider-days-worked · count · pbi · v0.1.0
9,080 within tolerance (0.00%)
vs expected 9,080 · tol ±5%
Canonical DAX
CALCULATE(DISTINCTCOUNT(Transactions[Provider_Key]), FILTER(Transactions, Transactions[amount] <> 0))
Show full review detailHide detail
Definition
Distinct (provider, day) pairs with non-zero production. Captures total provider-days of activity. Reproduces 'Provider Days Worked' in PBI Days Open SPLY report.
Aliases (acceptable synonyms)
provider daysdoctor days workeddr days
Source-of-truth fields
Tables touchedTransactions
Validation anchor
Anchor typevalue
Expected9,080
Tolerance±5%
Live observed9,080 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
PBI Days Open SPLY shows Apr 2026 SGA-legacy total Provider Days Worked = 9,555. Auto-probed 2026-05-03: observed=9080.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/provider-days-worked/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
DAX may need refinement; provider-day distinct count over Transactions is approximate. May need to switch to (Practice, Provider, Date) tuple. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(DISTINCTCOUNT(Transactions[Provider_Key]), FILTER(Transactions, Transactions[amount] <> 0)))

Production from New Patients

under review
production-from-new-patients · dollars · pbi · v0.1.0
$57,917,978.08 within tolerance (0.00%)
vs expected $57,917,978.08 · tol ±1%
Canonical DAX
CALCULATE([Net Production], Transactions[New or Returning] = "New")
Show full review detailHide detail
Definition
Net Production filtered to new patients (Transactions[New or Returning] = 'New'). Used for new-patient revenue tracking.
Aliases (acceptable synonyms)
np productionnew patient productionproduction new patients
Source-of-truth fields
Tables touchedTransactions
PBI measuresNet Production
Validation anchor
Anchor typettm-network-sum
Expected$57,917,978.08
Tolerance±1%
Live observed$57,917,978.08 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=57917978.079474546.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/production-from-new-patients/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
anchor from probe. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE SUMMARIZECOLUMNS(
  Practices[Practice Code],
  Practices[Location Name],
  FILTER(ALL(Dates), Dates[Date] >= EDATE(TODAY(), -12) && Dates[Date] <= TODAY()),
  "Production_From_New_Patients_T12M", CALCULATE([Net Production], Transactions[New or Returning] = "New")
) ORDER BY [Production_From_New_Patients_T12M] DESC

New-Patient Share of Production

under review
np-share-of-production · ratio · pbi · v0.1.0
11.07% within tolerance (0.00%)
vs expected 11.07% · tol ±5%
Canonical DAX
DIVIDE(CALCULATE([Net Production], Transactions[New or Returning] = "New"), [Net Production])
Show full review detailHide detail
Definition
Production from new patients / total Net Production. Indicator of new-patient acquisition leverage.
Aliases (acceptable synonyms)
np sharenp pct of productionnew patient share
Source-of-truth fields
Tables touchedTransactions
PBI measuresNet Production
Validation anchor
Anchor typevalue
Expected11.07%
Tolerance±5%
Live observed11.07% within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=0.11073429934808346.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/np-share-of-production/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
derived. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", DIVIDE(CALCULATE([Net Production], Transactions[New or Returning] = "New"), [Net Production]))

Patient counts

1 1
New patients and patient population.

New Patients

under review
new-patients · count · pbi · v0.2.0
244 within tolerance (+2.52%)
vs expected 238 · tol ±5%
Canonical DAX
[New Patients]
Show full review detailHide detail
Definition
Count of patients seen for the first time in the period. Standard SGA new-patient definition aligned with the Power BI [New Patients] measure.
Aliases (acceptable synonyms)
new patientsnew ptsnpnew patient count
Source-of-truth fields
Tables touched
PBI measuresNew Patients
Known-broken (avoid)
  • [Net Patient Gain] — uses SELECTEDVALUE internally, fails in SUMMARIZECOLUMNS
  • [New Patients SPLY] — same issue
Validation anchor
Anchor typemtd-network-sum · as of 2026-05-02
Expected238
Tolerance±5%
Live observed244 within tolerance (+2.52%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Live PBI bridge probe 2026-05-02 — MTD network sum, day 2 of May 2026. Wider tolerance (5%) appropriate for low-volume start-of-month windows.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/new-patients/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
MTD on day 2-of-month — anchor will retest at month-end as a more stable reference. Awaiting screenshot.
Probe DAX (live anchor query)
EVALUATE SUMMARIZECOLUMNS(
  Practices[Practice Code],
  Practices[Location Name],
  FILTER(ALL(Dates), Dates[Date] >= DATE(YEAR(TODAY()), MONTH(TODAY()), 1) && Dates[Date] <= TODAY()),
  "New_Patients_MTD", [New Patients]
) ORDER BY [New_Patients_MTD] DESC

Appointments (SAP)

12 12
SAP_Cleaned_FullLoad_Output table — scheduled, completed, cancelled, confirmed, rescheduled, no-shows, hygiene, emergency.

Appointments Scheduled

under review
appointments-scheduled · count · pbi · v0.2.0 · time axis SAP_Cleaned_FullLoad_Output[date]
2,973,731 within tolerance (+0.00%)
vs expected 2,973,625 · tol ±1%
Canonical DAX
CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Status] <> "Passive")
Show full review detailHide detail
Definition
Count of scheduled (non-passive, latest-row) appointments. Time filter applies to SAP_Cleaned_FullLoad_Output[date], not Dates[Date]. is_confirmed is a string in SAP — quoting matters.
Aliases (acceptable synonyms)
appointmentsapptsscheduled appointmentsappts scheduled
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typerow-count · as of 2026-05-02
Expected2,973,625
Tolerance±1%
Live observed2,973,731 within tolerance (+0.00%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Apr 2026 PBI Confirmations report shows 11,869 scheduled appointments (Status = 'Scheduled' slicer); registry returns 2,696 — does not match. PBI's Status slicer is backed by a custom measure that maps 200+ raw status values into 4 canonical buckets; `Deduced_Status` gets us close but still doesn't match (42,893). DAX needs alignment with PBI's custom measure.
Evidence on file
  • manual-note · Finding: PBI 'Status: Scheduled' is a custom-measure bucket, not a raw column filter Registry 2,696 vs PBI 11,869 (Apr 2026)
    evidence/measures/appointments-scheduled/2026-05-03-screenshot-finding.md
Notes
Safe to use for forward-looking 'next N days' counts. NOT safe for 'currently scheduled' validation against the Confirmations report. Need PBI .pbix or measure expression to fix.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Status] <> "Passive"))

Appointments Completed

under review
appointments-completed · count · pbi · v0.3.0 · time axis SAP_Cleaned_FullLoad_Output[date]
1,837,615 within tolerance (+0.01%)
vs expected 1,837,485 · tol ±1%
Canonical DAX
CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "Completed")
Show full review detailHide detail
Definition
Count of appointments where Deduced_Status = 'Completed'. Latest-row only. The canonical 'kept appointment' count for OM scorecards.
Aliases (acceptable synonyms)
completedcompleted appointmentscompleted apptscompletionskept appointments
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typerow-count · as of 2026-05-02
Expected1,837,485
Tolerance±1%
Live observed1,837,615 within tolerance (+0.01%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Live PBI bridge probe 2026-05-02 — full-history Deduced_Status='Completed' count. ~62% of total scheduled (1837485 / 2973625) — plausible completion rate for an active SAP table including past appointments.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/appointments-completed/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
Awaiting human screenshot.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "Completed"))

Appointments Cancelled

under review
appointments-cancelled · count · pbi · v0.3.0 · time axis SAP_Cleaned_FullLoad_Output[date]
148,209 within tolerance (+0.00%)
vs expected 148,204 · tol ±1%
Canonical DAX
CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "Cancelled")
Show full review detailHide detail
Definition
Count of appointments where Deduced_Status = 'Cancelled'. Latest-row only. Includes both advance-notice cancellations and same-day cancellations (see same-day-cancellations for the latter subset).
Aliases (acceptable synonyms)
cancelledcancellationscanceled appointmentscanceled appts
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typerow-count · as of 2026-05-02
Expected148,204
Tolerance±1%
Live observed148,209 within tolerance (+0.00%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Live PBI bridge probe 2026-05-02 — full-history Deduced_Status='Cancelled' count. ~5% of total scheduled (148204 / 2973625) — within typical dental cancellation-rate range.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/appointments-cancelled/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
Awaiting human screenshot.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "Cancelled"))

Same-Day Cancellations

under review
same-day-cancellations · count · pbi · v0.3.0 · time axis SAP_Cleaned_FullLoad_Output[date]
42,492 within tolerance (0.00%)
vs expected 42,492 · tol ±1%
Canonical DAX
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])
Show full review detailHide detail
Definition
Count of appointments cancelled on the same day they were scheduled (Cancelled_Date == appointment date). Subset of total cancellations. Critical signal for OM intervention since same-day cancels carry the highest revenue impact.
Aliases (acceptable synonyms)
same day cancelsame-day cancelsdclast minute cancelday of cancel
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typerow-count · as of 2026-05-02
Expected42,492
Tolerance±1%
Live observed42,492 within tolerance (0.00%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Live PBI bridge probe 2026-05-02 — full-history same-day cancel count. 28.7% of total cancellations (42492 / 148204) — typical SGA same-day-cancel share.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/same-day-cancellations/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
Note: depends on Cancelled_Date being populated when cancelled=1. Spot-check before human-validating.
Probe DAX (live anchor query)
EVALUATE ROW("Value", 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]))

Appointments Confirmed

under review
appointments-confirmed · count · pbi · v0.2.0 · time axis SAP_Cleaned_FullLoad_Output[date]
1,376,628 within tolerance (+0.03%)
vs expected 1,376,271 · tol ±1%
Canonical DAX
CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Status] <> "Passive", SAP_Cleaned_FullLoad_Output[is_confirmed] = "1")
Show full review detailHide detail
Definition
Count of confirmed appointments (is_confirmed = '1'). is_confirmed is a string in the SAP table, not a boolean — quoting matters.
Aliases (acceptable synonyms)
confirmedconfirmed appointmentsconfirmed appts
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typerow-count · as of 2026-05-02
Expected1,376,271
Tolerance±1%
Live observed1,376,628 within tolerance (+0.03%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Apr 2026 PBI Confirmations report shows 6,654 confirmed; registry returns 564. Inherits the same 'Status: Scheduled' custom-measure issue as appointments-scheduled — both share that scoped denominator.
Evidence on file
  • manual-note · Finding: same root cause as appointments-scheduled — custom Status measure Registry 564 vs PBI 6,654 (Apr 2026)
    evidence/measures/appointments-confirmed/2026-05-03-screenshot-finding.md
Notes
is_confirmed='1' filter logic is correct. When parent appointments-scheduled is fixed, this measure inherits the fix. Confirmation rate may still be approximately correct since both numerator and denominator share the same scope error.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Status] <> "Passive", SAP_Cleaned_FullLoad_Output[is_confirmed] = "1"))

Appointments Rescheduled

under review
appointments-rescheduled · count · pbi · v0.1.0 · time axis SAP_Cleaned_FullLoad_Output[date]
3 within tolerance (0.00%)
vs expected 3 · tol ±1%
Canonical DAX
CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "ReScheduled")
Show full review detailHide detail
Definition
Count of appointments where Deduced_Status = 'ReScheduled'. Latest-row only. Distinct from cancellations — these were moved to a new slot rather than dropped.
Aliases (acceptable synonyms)
rescheduledreschedulesrescheduled appointmentsmoved appointments
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typerow-count · as of 2026-05-03
Expected3
Tolerance±1%
Live observed3 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=3.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/appointments-rescheduled/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
needs probe + PBI screenshot. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Deduced_Status] = "ReScheduled"))

Cancellation Rate

under review
cancellation-rate · ratio · pbi · v0.1.0 · time axis SAP_Cleaned_FullLoad_Output[date]
7.46% within tolerance (0.00%)
vs expected 7.46% · tol ±0.1%
Canonical DAX
DIVIDE(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" }))
Show full review detailHide detail
Definition
Cancelled appointments / (completed + cancelled + rescheduled). Excludes still-Scheduled future appointments from the denominator. Standard OM cancellation-rate definition.
Aliases (acceptable synonyms)
cancel ratecancellation %cancellation pctcx rate
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typevalue
Expected7.46%
Tolerance±0.1%
Live observed7.46% within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=0.0746333895147966.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/cancellation-rate/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
derived measure. Anchor is per-period ratio, not network sum. Probe captures TTM ratio. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", DIVIDE(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" })))

Same-Day Cancellation Rate

under review
same-day-cancel-rate · ratio · pbi · v0.1.0 · time axis SAP_Cleaned_FullLoad_Output[date]
2.14% within tolerance (0.00%)
vs expected 2.14% · tol ±0.1%
Canonical DAX
DIVIDE(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" }))
Show full review detailHide detail
Definition
Same-day cancellations / (completed + cancelled + rescheduled). The high-revenue-impact subset of cancellations.
Aliases (acceptable synonyms)
sdc ratesame day cancel ratesame-day cx rate
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typevalue
Expected2.14%
Tolerance±0.1%
Live observed2.14% within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=0.02139763433572008.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/same-day-cancel-rate/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
derived measure. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", DIVIDE(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" })))

Completion Rate

under review
completion-rate · ratio · pbi · v0.1.0 · time axis SAP_Cleaned_FullLoad_Output[date]
92.54% within tolerance (0.00%)
vs expected 92.54% · tol ±0.1%
Canonical DAX
DIVIDE(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" }))
Show full review detailHide detail
Definition
Completed appointments / (completed + cancelled + rescheduled). Inverse measure to cancellation-rate; higher is better.
Aliases (acceptable synonyms)
completion %completion pctkept rateshow rate
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typevalue
Expected92.54%
Tolerance±0.1%
Live observed92.54% within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=0.925365099779588.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/completion-rate/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
derived. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", DIVIDE(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" })))

Hygiene Appointments

under review
hygiene-appointments · count · pbi · v0.1.0 · time axis SAP_Cleaned_FullLoad_Output[date]
49,660 within tolerance (0.00%)
vs expected 49,660 · tol ±5%
Canonical DAX
CALCULATE(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" })
Show full review detailHide detail
Definition
Count of appointments classified as hygiene-type. Filter list is a best-effort match across observed SAP type values; may need refinement when the canonical SGA hygiene-type list is documented.
Aliases (acceptable synonyms)
hygienehyg apptsprophy appointmentscleanings
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typerow-count
Expected49,660
Tolerance±5%
Live observed49,660 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=49660.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/hygiene-appointments/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
type-list is approximate; SAP type column has 100+ distinct values. Confirm the canonical SGA hygiene-type list with clinical ops before promoting. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(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" }))

Emergency Appointments

under review
emergency-appointments · count · pbi · v0.1.0 · time axis SAP_Cleaned_FullLoad_Output[date]
16,336 within tolerance (0.00%)
vs expected 16,336 · tol ±5%
Canonical DAX
CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[type] = "Emergency")
Show full review detailHide detail
Definition
Count of appointments where type = 'Emergency'. Useful for ops capacity / unplanned-load tracking.
Aliases (acceptable synonyms)
emergenciesemergency apptser appts
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typerow-count
Expected16,336
Tolerance±5%
Live observed16,336 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=16336.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/emergency-appointments/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
single 'Emergency' type. Some practices may use 'EMERGENCY' or other variants; refine if probe shows tiny numbers. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[type] = "Emergency"))

No-Shows

under review
no-shows · count · pbi · v0.1.0 · time axis SAP_Cleaned_FullLoad_Output[date]
44,886 within tolerance (0.00%)
vs expected 44,886 · tol ±5%
Canonical DAX
CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Status] IN { "No Show", "NO SHOW", "Missed Appointment", "MISSED" })
Show full review detailHide detail
Definition
Count of appointments with no-show status (raw Status field). Captures patients who did not arrive without canceling. Multiple raw values map to this concept across PMS systems.
Aliases (acceptable synonyms)
no shownoshowmissed appointmentsno-show count
Source-of-truth fields
Tables touchedSAP_Cleaned_FullLoad_Output
Time axisSAP_Cleaned_FullLoad_Output[date] (non-default — composer applies time filter on this column)
Validation anchor
Anchor typerow-count
Expected44,886
Tolerance±5%
Live observed44,886 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=44886.
Evidence
No screenshot on file yet. To promote to validated: take a screenshot of the matching tile in Karen's exec dashboard / PBI report, drop into evidence/measures/no-shows/<date>-pbi.png, fill validation.evidence[], flip status.
Notes
Status filter list pulled from observed values in Apr 2026 (No Show: 3,906, MISSED: 468, Missed Appointment: 113). Raw Status has many casing variants; refine list as more practices reveal new values. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Value", CALCULATE(COUNTROWS(SAP_Cleaned_FullLoad_Output), SAP_Cleaned_FullLoad_Output[IsLatest] = 1, SAP_Cleaned_FullLoad_Output[Status] IN { "No Show", "NO SHOW", "Missed Appointment", "MISSED" }))

Capacity

1 1
Office days open and other denominators.

Office Days Open

under review
office-days-open · days · pbi · v0.2.0
145 within tolerance (+3.57%)
vs expected 140 · tol ±5%
Canonical DAX
[Office Days Open]
Show full review detailHide detail
Definition
Count of days the practice was open and producing in the period. Used as denominator for per-day metrics.
Aliases (acceptable synonyms)
office days opendays openworking days
Source-of-truth fields
Tables touched
PBI measuresOffice Days Open
Validation anchor
Anchor typemtd-network-sum · as of 2026-05-02
Expected140
Tolerance±5%
Live observed145 within tolerance (+3.57%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Apr 2026 PBI Days Open SPLY report shows SGA-legacy = 2,618; registry = 2,695 (+2.94% high). Per-practice-day numbers are correct (Net Prod / per-practice ratio matches penny-perfect); rollup includes a few extra practice-days that PBI excludes via an eligibility filter.
Evidence on file
  • manual-note · Finding: +2.94% network-rollup drift vs PBI Days Open SPLY (Apr 2026, SGA) Registry 2,695 vs PBI 2,618 (Apr 2026 SGA legacy)
    evidence/measures/office-days-open/2026-05-03-screenshot-finding.md
Notes
Per-practice values are correct; only network rollup drifts ~3% high. Likely missing REC-prefix exclusion or partial-period acquired-practice filter. See finding file for next steps.
Probe DAX (live anchor query)
EVALUATE SUMMARIZECOLUMNS(
  Practices[Practice Code],
  Practices[Location Name],
  FILTER(ALL(Dates), Dates[Date] >= DATE(YEAR(TODAY()), MONTH(TODAY()), 1) && Dates[Date] <= TODAY()),
  "Office_Days_Open_MTD", [Office Days Open]
) ORDER BY [Office_Days_Open_MTD] DESC

Dimensions

7 4·3
The agreed grouping columns: location, provider, patient-type, date, division, legacy-company, practice-type.

Location

validated
location · dimension · v0.2.0
249 within tolerance (0.00%)
vs expected 249 · tol ±0%
Canonical field
Practices[Location Name]   -- displays "Location Name"
Practices[Practice Code]   -- join key
Show full review detailHide detail
Aliases (acceptable synonyms)
locationpracticeofficeby locationby practiceby office
Alternate fields (documented but not canonical)
Practices[Practice Code] joins, IDs (not for display)
Practices[Legal Location] legal/contracts (not for display)
Value domain
Definition idactive-practices
FilterPractices[Closures] = "Open" && NOT (Practices[Practice Type] IN { "Corp", "Lab" })
Expected count249
Total (no filter)273
Validation anchor
Anchor typerow-count · as of 2026-05-02
Expected249
Tolerance±0%
Live observed249 within tolerance (0.00%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Live PBI bridge probe 2026-05-02 — DISTINCTCOUNT(Practices[Location Name]) with active filter = 249. Matches documented active count in agent.md exactly.
Evidence on file
  • manual-note · Probe-time note documenting DAX + cross-check against agent.md 249 active reportable practices
    evidence/dimensions/location/2026-05-02-probe-note.md
Notes
Validated via DAX cross-check. Replace manual-note with screenshot evidence on next human pass.
Probe DAX (live anchor query)
EVALUATE ROW("Count_location", CALCULATE(DISTINCTCOUNT(Practices[Location Name]), Practices[Closures] = "Open" && NOT (Practices[Practice Type] IN { "Corp", "Lab" })))

Provider

validated
provider · dimension · v0.2.0
1,215 within tolerance (0.00%)
vs expected 1,215 · tol ±1%
Canonical field
Providers[Team Member]   -- displays "Team Member"
Providers[Provider_Key]   -- join key
Show full review detailHide detail
Aliases (acceptable synonyms)
providerdoctorddsteam memberby providerby doctor
Alternate fields (documented but not canonical)
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)
Value domain
Definition idactive-providers
FilterNOT ISBLANK(Providers[Team Member]) && Providers[Team Member] <> "" && Providers[Status] = "Active"
Expected count1,215
Validation anchor
Anchor typerow-count · as of 2026-05-02
Expected1,215
Tolerance±1%
Live observed1,215 within tolerance (0.00%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Live PBI bridge probe 2026-05-02 — DISTINCTCOUNT(Providers[Team Member]) with active filter = 1215. Plausible: ~250 practices × ~5 providers each.
Evidence on file
  • manual-note · Probe-time DAX evidence + sample team-member names 1215 active providers
    evidence/dimensions/provider/2026-05-02-probe-note.md
Notes
Providers table is keyed (Practice Code, Prov); use Provider_Key for joins, Team Member for display. Cross-check against HR roster pending.
Probe DAX (live anchor query)
EVALUATE ROW("Count_provider", CALCULATE(DISTINCTCOUNT(Providers[Team Member]), NOT ISBLANK(Providers[Team Member]) && Providers[Team Member] <> "" && Providers[Status] = "Active"))

Patient Type (New vs Returning)

validated
patient-type · dimension · v0.2.0
2 within tolerance (0.00%)
vs expected 2 · tol ±0%
Canonical field
Transactions[New or Returning]   -- displays "New or Returning"
Show full review detailHide detail
Aliases (acceptable synonyms)
patient typenew vs returningnew vs existingnp vs existingby patient type
Value domain
Definition idpatient-type-domain
FilterNOT ISBLANK(Transactions[New or Returning])
Expected count2
Validation anchor
Anchor typerow-count · as of 2026-05-02
Expected2
Tolerance±0%
Live observed2 within tolerance (0.00%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Live PBI bridge probe 2026-05-02 — VALUES(Transactions[New or Returning]) returned exactly 2 values: 'New' and 'Return'.
Evidence on file
  • manual-note · Probe-time DAX showing 2 distinct values: New, Return 2 values (New, Return)
    evidence/dimensions/patient-type/2026-05-02-probe-note.md
Notes
Column named 'New or Returning' but actual value is 'Return' (not 'Returning').
Probe DAX (live anchor query)
EVALUATE ROW("Count_patient_type", CALCULATE(DISTINCTCOUNT(Transactions[New or Returning]), NOT ISBLANK(Transactions[New or Returning])))

Date

validated
date · dimension · v0.2.0
2,315 within tolerance (+0.04%)
vs expected 2,314 · tol ±1%
Canonical field
Dates[Date]   -- displays "Date"
Show full review detailHide detail
Aliases (acceptable synonyms)
datedayby dateby dayby monthby year
Alternate fields (documented but not canonical)
Transactions[EntryDate] active relationship to Dates[Date] — use this only (not for display)
Transactions[ProcedureDate] BROKEN — never USERELATIONSHIP this; fails silently (not for display)
Value domain
Definition idcalendar-dates
FilterDates[Date] >= DATE(2020, 1, 1) && Dates[Date] <= TODAY()
Expected count2,314
Validation anchor
Anchor typerow-count · as of 2026-05-02
Expected2,314
Tolerance±1%
Live observed2,315 within tolerance (+0.04%)
Validated on2026-05-02
Validated byscott4885-auto (self)
Source of truth
Live PBI bridge probe 2026-05-02 — DISTINCTCOUNT(Dates[Date]) with calendar filter = 2314. Matches expected days from 2020-01-01 to 2026-05-02 inclusive.
Evidence on file
  • manual-note · Calendar arithmetic + DAX cross-check 2314 days (calendar exact)
    evidence/dimensions/date/2026-05-02-probe-note.md
Notes
Validation grows by 1 day per day; tolerance 1% absorbs drift between probes.
Probe DAX (live anchor query)
EVALUATE ROW("Count_date", CALCULATE(DISTINCTCOUNT(Dates[Date]), Dates[Date] >= DATE(2020, 1, 1) && Dates[Date] <= TODAY()))

Division

under review
division · dimension · v0.1.0
9 within tolerance (0.00%)
vs expected 9 · tol ±0%
Canonical field
Practices[Division]   -- displays "Division"
Practices[Practice Code]   -- join key
Show full review detailHide detail
Aliases (acceptable synonyms)
divisionby divisionregional division
Value domain
Definition idactive-divisions
FilterNOT ISBLANK(Practices[Division]) && Practices[Closures] = "Open"
Validation anchor
Anchor typerow-count
Expected9
Tolerance±0%
Live observed9 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=9.
Notes
probe to capture distinct division count. Used by leadership rollup reports. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Count_division", CALCULATE(DISTINCTCOUNT(Practices[Division]), NOT ISBLANK(Practices[Division]) && Practices[Closures] = "Open"))

Legacy Company

under review
legacy-company · dimension · v0.1.0
3 within tolerance (0.00%)
vs expected 3 · tol ±0%
Canonical field
Practices[Legacy Company]   -- displays "Legacy Company"
Practices[Practice Code]   -- join key
Show full review detailHide detail
Aliases (acceptable synonyms)
legacy companyby legacylegacy entityby company
Alternate fields (documented but not canonical)
Practices[Legacy Entity] fine-grained legacy sub-classification
Value domain
Definition idlegacy-company-domain
FilterNOT ISBLANK(Practices[Legacy Company])
Expected count3
Validation anchor
Anchor typerow-count
Expected3
Tolerance±0%
Live observed3 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=3.
Notes
domain expected to be {SGA, Modis, Gen4}. Critical for SPLY and 'Legacy Company is SGA' filters used across PBI reports. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Count_legacy_company", CALCULATE(DISTINCTCOUNT(Practices[Legacy Company]), NOT ISBLANK(Practices[Legacy Company])))

Practice Type

under review
practice-type · dimension · v0.1.0
8 within tolerance (0.00%)
vs expected 8 · tol ±0%
Canonical field
Practices[Practice Type]   -- displays "Practice Type"
Practices[Practice Code]   -- join key
Show full review detailHide detail
Aliases (acceptable synonyms)
practice typeby typespecialty
Value domain
Definition idpractice-type-domain
FilterNOT ISBLANK(Practices[Practice Type])
Validation anchor
Anchor typerow-count
Expected8
Tolerance±0%
Live observed8 within tolerance (0.00%)
Validated on2026-05-03
Validated byscott4885-auto (self)
Source of truth
Auto-probed 2026-05-03: observed=8.
Notes
used to exclude Lab/Corp from active-practice rollups. Domain probe captures all distinct values. Auto-promoted draft → under-review with probe-observed anchor. Awaiting human screenshot validation.
Probe DAX (live anchor query)
EVALUATE ROW("Count_practice_type", CALCULATE(DISTINCTCOUNT(Practices[Practice Type]), NOT ISBLANK(Practices[Practice Type])))