Dashboard troubleshooting
Twenty-one symptoms in five groups. If your message is not here, try the portal-wide symptom index.
Getting to the screen
Every panel on the home screen is empty or shows an error
You hold a guardian or a read-only account. This screen has no address of its own to redirect you away from, and it checks nothing before showing you a panel. Every figure behind it needs a rule neither of those two roles satisfies.
If you are a guardian, go to your own dashboard instead. A read-only account has nothing to switch to here; that role satisfies no rule anywhere in PTRS.
Half the panels work and half say "Unable to load"
This screen pulls together twelve modules, and each panel carries its own module's own rule. A staff member fails the two compliance panels; a regional director fails the three incident panels.
Expected. The panels you can see are exactly the ones your own role's rules admit.
The screen flashes a skeleton and then shows empty panels
The loading skeleton is a fixed eight-tenths-of-a-second timer that reads no actual loading state. After that time, panels render whether or not their figures have actually arrived.
Wait a moment and the panels fill in. On a slow connection there is no second skeleton to fall back on.
The site selector
Changing the site does not change what I see
Every one of this screen's own figures can be filtered by site, and nothing that calls them actually asks for one. The request stays identical; only which remembered copy of it you are looking at changes.
Five panels filter the results themselves after the fact, the headline tiles, the site overview, the ratio banner, Expected vs Actual and the welcome banner, so those do respond to the selector.
For a view that is genuinely limited to one site, use Attendance, a site's own Centers page, or Compliance instead.
The Activity Feed shows other sites' check-ins after I select a site
The feed takes the twenty most recent entries off a list the server has already capped at a hundred, organisation-wide, with no site filter applied at all.
Use the check-in feed on Attendance instead, which is site-aware.
The attendance chart does not change when I switch site
Two reasons together: the figures behind it are a 30-row organisation-wide slice to begin with, and the chart does not filter that slice by site either. It is also empty for a separate reason; see below.
Counts and badges that do not move
The Alerts tile shows a number and then "0 critical, 0 warning, 0 info"
The breakdown compares against lower-case words, and PTRS actually sends capitalised ones for this figure.
The total above the breakdown is a plain count and is correct.
Open Compliance for the actual breakdown.
Critical Incidents is 0 and there are open critical incidents
The tile filters on wording the incident record never actually produces, on both the severity and the status half of the comparison, so neither half can ever match.
Open Incidents instead.
A site in Violation has the same grey badge as a compliant one
The badge colour compares against lower-case words, and PTRS sends capitalised ones. Every row falls through to the same neutral colour, which is grey, while still printing the correct word on top of it.
The word on the badge is correct; read that rather than the colour. The score and the ordering, lowest first, are also correct.
The OCCL Deadlines panel says "N pending reports" and lists nothing
The count is real, drawn from the incident summary. The list beneath it is filtered against wording the incident record never actually produces, so it is always empty.
Open Incidents and filter on OCCL status there instead.
The OCCL Deadlines panel is amber and a report is a week overdue
Whether anything is overdue is worked out over that same always-empty list, and that is the only thing that ever turns this panel from amber to red.
Do not rely on this panel's colour. Incidents is the authority on OCCL deadlines.
Every incident on Recent Incidents has a blank badge
The type badge is keyed against lower-case, hyphenated labels, and the incident record actually uses sixteen different capitalised names instead. Neither lookup finds a match, so the badge has no colour and no text.
Click through to the incident itself to see its type.
The ratio banner and the headline tile disagree about the same site
The banner uses PTRS's own real verdict: a status worked out from the compliance flag and the actual required ratio for that age group. The headline tile ignores both and applies two fixed numbers instead, and the site overview card fires on whichever of the two rules trips first.
DELACARE's own required ratio changes by age group; a single fixed number is never going to match it in every room.
Trust the banner. It is the one using the rule PTRS itself actually applied.
Panels that are structurally empty
The attendance trend chart is empty and the sparkline is flat
Both read from a table meant to be filled in overnight, and nothing writes to that table anywhere in PTRS.
Today's live figures are on Attendance. There is no historical attendance figure anywhere in PTRS that reads from a different source, except the monthly statistical report and the Analytics heatmap, which both read raw check-in records directly instead.
The Activity Feed never shows a parent notification
This half of the feed reads from the guardian notification log. PTRS has never sent a notification of any kind, so nothing can ever appear here.
Nothing to fix. See Notifications.
Expected vs Actual shows a huge Expected figure and Absent 0
With no program schedules at a site, this panel falls back to counting every active member in the whole organisation as expected today, all assigned to the first active site.
Without a schedule there is no arrival window to close, so nobody is ever marked absent, and the arrival window reads the fixed text "Expected today".
Set up program schedules at the site, or read the Arrived count on its own and ignore the rest of the panel for now.
A meal is marked missed and it was served on time
This panel decides whether a meal's window has closed using your own browser's local time against three fixed clock times, not the meal times your site has actually configured.
The CACFP meal screen is the authority on what was logged and when.
The site headcount looks stale
This figure comes from the latest ratio reading for that site, with no limit on how old that reading may be. If the reading has not run recently, this is last week's number, and the at-capacity flag is worked out from it too.
The Activity Feed and Attendance both read live check-in records instead.
Live refresh
The screen does not update when a child checks in
Three causes, in order of likelihood.
You are not currently connected to this screen's live-update connection; that connection needs your own access token, and if it is missing nothing connects.
The event is scoped to a site you are not assigned to. The check-in message is sent only to the group for that specific site, and you are only placed into groups for the sites you can reach.
You left this screen and came back. Leaving this screen closes that connection, and it is not always reopened cleanly.
Reload the page. The two figures that refresh automatically every thirty seconds, ratios and today's attendance, will catch up regardless.
The headline tiles never update live
This screen listens for a KPI-update message, and the one thing meant to send it is never actually called by anything.
The other two message types this screen listens for do fire, and all three trigger the exact same behaviour: clearing every remembered figure on this screen at once. So a check-in at one of your own sites refreshes the tiles anyway, just not because of the message you might expect.
I can see another organisation's activity in the feed
This screen's live-update connection places each account into a group per site, and five of the six things that can send a message over it broadcast to everyone connected rather than to that group. Only the attendance sender actually targets the group.
Report it. This is a known, recorded gap.
Related
Checked against PTRS on 7 September 2026.