Core concepts
Assisted living is state-regulated. There is no single federal citation ontology like CMS F-tags for SNFs. This board exists because davvvNET loads and normalizes state sources into one operator-ready spine — then puts Survey Risk product logic on top, with honest blanks where the data cannot support a rate.
- Facility (state roster)
-
A licensed assisted living / residential care community on the state facility list.
Joined to findings when we can resolve a facility key (license / name rules vary by state).
Roster counts use
DimFacility; citation volumes may include rows that have not yet joined a facility key. - Finding
- One row in the fact table from a state source: a citation, deficiency, survey event, report link, or related inspection artifact. Not every finding is a “citation” for rate math — see citation grain below.
- Citation grain (
IsCitationGrain) -
Operator-facing “real citation / deficiency” rows: finding types that contain
citation, plus selected deficiency-style types (survey_deficiency,state_licensure_deficiency,sod_tag,deficiency). Report links and pure event rows stay in Findings but are excluded from Citations. - State tag code (
StateTagCode) -
The regulator’s own tag / rule / deficiency code as published by that state
(e.g. Oregon
C0150, Florida class codes, California statute-style codes). This is the native language administrators already use in survey packets — not a made-up national renumbering. - Tag key
-
Stable join key for the unified tags database:
State | StateTagCode | FindingType. Powers distinct-tag counts, repeat-tag logic, and the Tags page detail. - Inspection key
- Proxy for a survey visit: facility key + survey date (when dated). Used for inspections, yield (citations per inspection), and cascade-style measures — states rarely publish a clean SurveyId.
- Coverage level
- Per-state data readiness chip: Full citation data, Partial citation data, Public records pending, Links only, or Multiple states. Drives whether rates and risk scores are allowed to calculate.
- Not CMS
- This is not a CMS extract, not Five-Star, and not SNF F-tag parity. Same product shape as Survey Risk for SNFs — different data reality for ALF.
Coverage honesty & the gate
Multi-state ALF data is uneven. The board never paints empty or partial states as “clean.” Volume counts can still show (facilities, findings, citations). Rates and risk scores stay blank until every selected state is coverage-safe.
Coverage Gate Pass (1 = safe for rates/scores)
Selected states = VALUES ( DimFacility[State] )
Safe = states with ReportCoverageLevel in { A_bulk_findings, B_partial_findings }
AND FindingRowCount > 0
Gate = 1 only when every selected state is Safe
Else Gate = 0 → gated measures return BLANK() (never fake 0%)
| Measure | Operator meaning | Calculation / note |
|---|---|---|
Coverage Gate Pass / Is Coverage Safe |
1 = you may trust rates and Survey Risk Score for the current selection. | See formula above. Driven by facility-state slicer. |
Coverage Banner |
Full-sentence strip at the top of pages — what is usable right now. | Multi-state: volumes show, rates blank. Single state: full / partial / pending / undated messaging. |
Coverage Level Selected |
Friendly chip: Full citation data · Partial · Public records pending · Links only · Multiple states. | Maps internal coverage level to operator language (never shows raw A/B/F codes on the chip). |
Coverage Label |
Scoreboard column text for each state (Full / Partial / Public records pending…). | Per-row state coverage from DimStateCoverage. |
Coverage Status Label |
Short chip/tooltip status. | Citation data available / Public records pending / Coverage incomplete / Select a state. |
A Bulk States / B Partial States / FOIA Blackout States / C Links-Only States |
How many states sit in each readiness bucket under the current filter. | Distinct count of states by ReportCoverageLevel. |
Coverage States Safe / Unsafe / % States Coverage Safe |
How much of the current selection is rate-safe. | Safe count vs selected state count. |
Coverage Honesty Score |
0–100 data-quality composite for the filter (dates filled, severity mapped, capacity filled). | Weighted: date fill 40 + severity map 35 + capacity fill 25. |
Coverage Finding Rows (Dim) / Coverage Facility Count (Dim) |
Catalog totals from the coverage dimension for the selection. | Sum of dim rows via treat-as on state. |
Rolling 12-month (R12) window
Most heat KPIs use a rolling 12 months ending at a governed As Of Date. As Of is capped at today so corrupt future survey dates cannot pull the window forward.
Shared R12 variables (every R12 measure)
AsOf = MIN ( TODAY(), MAX ( SurveyDate ) with SurveyDate ≤ TODAY()+30 ) StartD = AsOf − 365 days Include rows where SurveyDate > StartD and SurveyDate ≤ AsOf If SurveyDate is blank → row is excluded from R12 (all-time volume measures still count it)
| Measure | Operator meaning | Calculation |
|---|---|---|
As Of Date |
Right edge of the R12 window — “what day is the board living on?” | Capped max survey date (see above). |
R12 Start Date |
Left edge of the window. | As Of − 365 |
Prior R12 Start / End |
Previous 12-month band for trajectory (year-over-year style). | AsOf−730 … AsOf−365 |
% Findings With Survey Date |
How much of the finding volume is dated enough for R12. Critical for CA-class undated loads. | Dated findings ÷ all findings |
Findings With / Missing Survey Date |
Absolute counts behind the date-fill percentage. | Count with / without SurveyDate |
Example: A state with full citation rows but 100% null survey dates will show all-time Findings / Citations, while Findings R12 and Citations R12 stay blank or zero — the banner says so instead of inventing a fake rolling year.
Volume & footprint
Volume measures are not coverage-gated. They always count what is in the model for the current filter so operators can see scale even when rates must stay blank.
| Measure | What it tells an ALF operator | Calculation |
|---|---|---|
Facilities Roster |
How many facilities are on the licensed roster in filter (state / facility slicers). | DISTINCTCOUNT ( DimFacility[FacilityKey] ) |
Findings |
All finding rows in context — citations, events, links, etc. | COUNTROWS ( FactFinding ) |
Citations |
Citation-grain rows only (see core concepts). | Count where IsCitationGrain = TRUE |
Non Citation Findings |
Everything that is not citation-grain (links, events, residual rows). | Findings − Citations |
Findings R12 / Citations R12 |
Rolling-year heat for findings / citations. | R12 filter on SurveyDate (+ citation grain for Citations R12) |
Inspections / Inspections R12 |
How many survey-visit proxies (not how many tags). | DISTINCTCOUNT ( InspectionKey ) non-blank (± R12) |
Facilities With Findings / Citations (+ R12) |
How many buildings actually appear on the finding side of the join. | DISTINCTCOUNT ( FacilityKey ) with filters |
Complaint Findings / … R12 |
Findings flagged complaint-related by the source pipeline. | IsComplaint = TRUE (± R12) |
Open Like Findings / … R12 |
Open-like worklist volume (state “still open / POC-like” semantics — not a CMS open field). | OpenLike = TRUE (± R12) |
Citations Prior R12 |
Citations in the prior 12-month band — baseline for trajectory. | Prior R12 window + citation grain |
Total Capacity / Facilities With / Missing Capacity |
Bed / capacity footprint for bed-adjusted rates; gaps show where bed rates must blank. | Sum / counts on DimFacility[Capacity] |
Fresh Findings / Citations 90d |
Very recent activity (last 90 days of the As Of window). | SurveyDate in (AsOf−90, AsOf] |
Link Density per Facility |
Non-citation artifacts per facility — useful when a state is links-heavy. | Non-citation findings ÷ facilities |
States Selected / States In Coverage Dim |
How many states are in the slicer vs how many exist in the coverage catalog. | Distinct state counts |
Severity (state-native, soft-mapped)
States do not share a CMS scope/severity A–L grid. The model stores the state’s native severity text and applies a soft weight (1–4) only when the text matches known patterns (e.g. L1–L4, class language). Unmapped severity stays blank — we do not invent “100% mapped.”
| Measure | Operator meaning | Calculation |
|---|---|---|
Severity Weight Sum / … R12 |
Total soft severity exposure on citation-grain rows. | Sum of SeverityWeight (± R12, citation grain) |
Avg Severity Weight R12 |
Average mapped weight per citation in R12 — intensity, not volume. | Severity Weight Sum R12 ÷ Citations R12 (gated) |
Severity Weight per 100 Beds R12 |
Capacity-adjusted severity pressure. | Weight sum R12 ÷ capacity × 100 (gated; blanks if no capacity) |
High Severity Citations R12 |
Citations with mapped weight ≥ 3 (higher-harm bands in the soft map). | R12 citation-grain where weight ≥ 3 |
High Severity Share R12 |
Share of R12 citations that are high-severity mapped. | High sev ÷ Citations R12 (gated) |
Severity Mapped Citations / % Citations Severity Mapped |
How much of citation volume has a usable weight — trust signal for severity math. | Count non-blank weight ÷ Citations |
Decayed Severity / Citation / Complaint Exposure |
Recent findings weigh more (half-life slider) — “what still hurts.” | 0.5 ^ (days / half-life) × exposure; half-life from ParamDecay |
Do not treat soft weights as a national CMS S/S grid. Peer percentiles and within-state comparisons are the safe operator read; absolute weight sums across FOIA/partial mixes are not.
Survey mix, complaint & yield
| Measure | Operator meaning | Calculation |
|---|---|---|
Complaint Share R12 |
What share of R12 findings is complaint-flagged — complaint pressure mix. | Complaint R12 ÷ Findings R12 (gated) |
Complaint Share of Citations R12 |
Same idea on citation-grain only. | Complaint citations R12 ÷ Citations R12 (gated) |
Citations per Inspection R12 |
Survey “heaviness” — tags per visit proxy. | Citations R12 ÷ Inspections R12 (gated) |
Citations per Facility R12 / per Inspected Facility R12 |
Portfolio density vs density among buildings that actually had findings. | Citations R12 ÷ roster or ÷ facilities with findings R12 (gated) |
Citation Trajectory Delta / % R12 |
R12 citations vs prior R12 — direction of travel for the selection. | Current − prior; % change (trajectory % is gated) |
Complaint Amplification Index |
Whether complaint-tagged citations run denser than overall citation yield (invention). | Coverage-gated index on complaint vs standard density |
Inspection Yield Efficiency |
Your citations/inspection vs peer group yield. | My yield ÷ peer yield (gated; needs peer context) |
Open-like findings & aging
“Open-like” is an operator worklist definition from source flags
(OpenLike) — not a universal state field named Open. Use it for follow-up queues,
not as a legal “still open with the agency” guarantee in every jurisdiction.
| Measure | Operator meaning | Calculation |
|---|---|---|
Open Like Findings R12 |
Open-like volume in the rolling year. | R12 + OpenLike |
Open Stale 90d R12 |
Open-like findings older than 90 days from As Of — aging risk. | Open-like in R12 with SurveyDate < AsOf − 90 |
Open Share R12 |
Open-like as a share of R12 findings. | Open-like R12 ÷ Findings R12 (gated) |
Facilities With Open Findings |
How many buildings have any open-like row. | Distinct facility keys with OpenLike |
Open Aging Burden |
Sum of age (days) across open-like rows — backlog weight, not just count. | Sum of (AsOf − SurveyDate) for open-like (gated) |
Last Survey Date / Days Since Last Survey |
How long since the latest dated finding in context. | Max SurveyDate; AsOf − that date |
Facilities Survey Overdue 365 |
Buildings with last dated activity older than ~365 days (or never in fact). | Days since last survey > 365 pattern |
Survey Due Pressure / Pre-Survey Pressure Score |
Operational pressure from time-since-survey + trend/repeats — not a probability of citation. | Gated composites; see model for weights |
Rates (coverage-gated)
Every measure in this section returns BLANK when Coverage Gate Pass ≠ 1. That is intentional: blank means “do not rank on this yet,” not “zero risk.”
| Measure | Operator meaning | Calculation |
|---|---|---|
Citations per Facility R12 |
Average citation load per roster facility. | Citations R12 ÷ Facilities Roster |
Citations per Inspected Facility R12 |
Average among facilities that had findings in R12. | Citations R12 ÷ Facilities With Findings R12 |
Citations per Inspection R12 |
Yield per survey-visit proxy. | Citations R12 ÷ Inspections R12 |
Citations per 100 Beds R12 |
Capacity-adjusted citation rate (prefer when capacity is filled). | Citations R12 ÷ Total Capacity × 100 |
Facilities Cited Rate R12 |
Share of roster facilities with at least one R12 citation. | Facilities With Citations R12 ÷ Facilities Roster |
Findings per Facility |
All-time findings density on the roster. | Findings ÷ Facilities Roster |
Inspection Coverage Rate R12 |
Share of roster with any R12 finding activity. | Facilities With Findings R12 ÷ Facilities Roster |
Avg Inspections per Facility R12 |
Visit intensity among facilities with R12 activity. | Inspections R12 ÷ Facilities With Findings R12 |
Citation Density Index R12 |
Composite density index for dashboards (combines rate signals). | Gated composite — see model |
Silent Clean Rate R12 |
Share of inspected facilities with zero citation-grain rows in R12 — can mean quality or thin parsing; pair with honesty score. | Inspected-not-cited ÷ inspected (gated) |
Survey Risk Score & peers
Survey Risk Score is a peer-relative 0–100 prioritization score for facilities (or thin peers blank out). It is not a CMS star rating and not a fine schedule.
Score construction (operator read)
Peers = same PeerKey (state + license type + bed band) Components (percentile within peers): Volume ← Citations R12 Severity ← Severity Weight Sum R12 Recency ← Decayed Severity Exposure Repeat ← Repeat Tag Events R12 ← uses unified tags Complaint← Complaint Findings R12 Default weights: Vol 0.20 · Sev 0.20 · Rec 0.20 · Repeat 0.25 · Complaint 0.15 (ParamScoreWeight can override) Score = weighted average of available component percentiles BLANK if coverage gate fails OR peer group too thin (< 10)
| Measure | Operator meaning | Notes |
|---|---|---|
Peer Count / Peer Thin Flag |
How many facilities share the peer bucket; thin → ranks blank. | Protects small bed-bands from fake percentiles. |
* Peer Pctile (Volume, Severity, Recency, Repeat, Complaint) |
Where this facility sits vs peers on each lever (0–100 style). | All coverage-gated. |
Survey Risk Score |
Composite peer risk — higher = more relative pressure in the peer set. | ~50 ≈ peer median components when fully populated. |
Survey Risk Score Peer Rank |
1 = highest risk score in the peer set. | Dense rank descending. |
Contribution Volume / Severity / Recency / Repeat / Complaint |
How much each lever adds to the score — “why is this building elevated?” | Weighted slice of each percentile. |
Risk Band |
Critical / Elevated / Watch style band from score thresholds. | Critical ≥80 · Elevated ≥60 · Watch ≥40 (model SWITCH). |
Capacity-Adjusted Peer Gap |
Facility bed-rate vs peer bed-rate gap (invention). | Gated; capacity-sensitive. |
State Risk Concentration HHI |
How concentrated R12 citations are among facilities in a state. | Higher HHI → few buildings dominate state volume. |
Worklist & operator flags
| Measure | Operator meaning | Notes |
|---|---|---|
Worklist Priority Score |
Who to call first — risk score plus operational boosts (open, complaint, overdue, high-sev). | Coverage-gated composite. |
Watch Flag |
Binary “on the watch list” from score / open / complaint / aging rules. | 1 = watch; blank when gate fails. |
Facilities With Complaint R12 |
Buildings with complaint-flagged R12 activity. | Distinct facility keys. |
Facilities With Repeat Tags |
Buildings with repeat tag events — same code keeps coming back. | Driven by unified TagKey logic. |
Facilities Never Surveyed (in fact) |
Roster facilities with no finding join in the model (yet). | Does not mean the state never surveyed — means we have no linked finding row. |
Fine Exposure Index |
Illustrative severity×volume index only — not dollars, not a fee schedule. | Do not use in financial statements. |
Citation Clustering Score |
Whether citations pile into one heavy survey vs spread across visits. | Peak survey share of total (gated). |
Chain-Like Ownership Flag |
Exploratory ownership text pattern flag — not a verified chain hierarchy. | Use carefully in demos. |
Decay Half-Life Days / Score Weight * |
Parameters operators (or demos) can slide — half-life and score mix. | From ParamDecay / ParamScoreWeight. |
Model Disclaimer |
Short fixed string for footers/tooltips. | “Not CMS · state-licensed AL · rates blank when coverage unsafe” |
State-grain scoreboard measures
The Risk Overview state scoreboard attributes R12 volumes by
finding State (not only facility-key join). That keeps orphan findings
(state known, facility key not resolved) visible on the state row.
Implementation uses TREATAS on FactFinding[State] plus
REMOVEFILTERS ( DimFacility ) so the facility relationship does not hide orphans.
| Measure | Scoreboard column | Meaning |
|---|---|---|
Findings R12 By State |
Find R12 | R12 findings for that state code on the finding. |
Citations R12 By State |
Cit R12 | R12 citation-grain for that state. |
Complaint Findings R12 By State |
Cmp | R12 complaint findings for that state. |
Open Like Findings R12 By State |
Open | R12 open-like for that state. |
% Findings With Survey Date By State |
Dated % | Date-fill for that state’s findings (all-time in state grain). |
Facilities page matrices stay facility-linked on purpose — operator scorecards should not invent a building match. Titles call out facility-linked volume so the grain is honest next to state-grain scoreboard numbers.
Where measures appear by page
| Page | Primary measures / fields |
|---|---|
| Risk Overview | Coverage Banner / Level; Facilities, Findings R12, Citations R12, Inspections R12, Complaint R12, Open-like R12; Full/Partial/Pending chips + Honesty Score; Citations / Findings / Complaints by state; trajectory; state scoreboard (Coverage Label, Fac, Find/Cit/Cmp/Open R12 By State, Dated %) |
| Severity | Severity Weight Sum R12, High Severity R12, % mapped, Citations R12, Decayed sev, Facilities; weight / high-sev / map-by-state charts; state severity board |
| Tags | Unified national tags spine — Citations R12 / Tag Citations Display, Distinct Tags, State Tag Codes, Repeat Tags R12, Top Tag Share, Complaint R12, Facilities cited; top StateTagCode chart; finding-type mix; finding detail (StateTagCode, SeverityNative, flags) |
| Survey mix | Findings / Citations / Inspections / Complaint R12; gated rate cards when single-state safe; complaint share, findings vs complaints, cit per inspection; state mix matrix |
| Open & aging | Open-like R12, Open stale 90d, Facilities open, Complaint / Citations R12, Survey overdue; by-state open charts; open-like worklist table |
| Facilities | Coverage Banner / Level; Facilities, Findings/Citations/Complaint/Open all-time, % dated, R12 volumes; ownership / license / state charts; facility roster matrix (facility-linked); peer score when one state + facility context |
Data notes
- Primary facts/dims:
FactFinding,DimFacility,DimTag(unified national tags),DimStateCoverage, date + parameter tables. - Unified tags: native
StateTagCodepreserved per state; national database = one model for all loaded states, not a synthetic national renumbering. - Citation grain is model-defined (
IsCitationGrain) for operator rates — broader than “FindingType = citation” alone. - Severity is soft-mapped from state-native text; % mapped is the honesty check before ranking on weight.
- R12 requires SurveyDate; undated loads still support all-time volume and tag browsing.