Quezon City Local Government Unit

QC iReport
Analytics Dashboard
User Guide

A complete guide to reading, interpreting, and sharing the QC iReport analytics dashboard — live data powered by Dynamics 365.
System: QC iReport (D365) Audience: Department heads, supervisors, management Version: 2026

Table of Contents

  1. What Is the QC iReport Dashboard?
  2. How to Sign In and Load a Report
    • Auto-Refresh
    • Recent Reports (Report History)
    • Dark Mode & Keyboard Shortcuts
    • Print Report
  3. Summary Indicators
    • Period-over-Period Comparison
    • KPI Sparklines & Progress Arcs
    • Data Quality Callout
  4. Case Volume & Status
    • Cases by Date Opened
    • Status Distribution
    • By Department
    • Case Resolution Funnel
    • Filing Heat Map
  5. Classification & Department Breakdown
    • Classification Breakdown Table
  6. Department × Classification Detail Table
  7. Key Observations
  8. Service Performance Monitoring
    • Performance KPI Cards
    • Resolution Time Distribution
    • Open Case Aging
    • Backlog by Department & Age Band
    • Avg Resolution Time by Department
  9. SLA Breach — Open Cases Past 72 Hours
    • At-Risk Cases (48–72h)
  10. Department Scorecard — A/B/C Tier Ranking
  11. Department Performance Table
  12. Staff Performance
    • Response-Time Percentiles (p50/p75/p90)
  13. Overdue Case Escalation
  14. Cases by District & Geographic Heat Map
    • District Caseload & Status Charts
    • Geographic Heat Map
  15. Case Drill-Down & Activity Timeline
  16. Sharing & Exporting a Report
    • Open Cases CSV Export
    • Print-Ready Report
  17. Executive Overview Tools
    • Report Card Grade
    • KPI Health Banner & Inflow/Outflow Rate
    • Session Snapshot Comparison
    • Executive Narrative Summary
    • Email Mayor
    • Period-over-Period Trend Chart (incl. SLA compliance line)
  18. KPI Targets & Configurable SLA
  19. Advanced Analytics
    • Resolution Time by Classification
    • SLA Compliance Trend
    • District × SLA Breach Heat Map
    • Mobile & Tablet Layout
  20. Glossary of Terms

1What Is the QC iReport Dashboard?

The QC iReport Dashboard is an analytics tool built for the Quezon City Local Government Unit. It connects directly to the QC iReport case management system (Microsoft Dynamics 365) and displays real-time data about citizen complaints and service requests — without requiring staff to export any files.

The dashboard is designed for department heads, supervisors, and executive management to monitor case volumes, track how quickly departments are resolving citizen concerns, and identify patterns that need attention.

What it shows

  • How many cases were filed in a selected period, with comparison to the previous equivalent period and 6-period sparkline trend
  • What stage each case is at (New, Validating, In Progress, Resolved, etc.)
  • Which departments are handling the most cases — and how fast they resolve them
  • Department A/B/C tier scorecard based on composite resolution, SLA, and actioned rates
  • Which types of issues citizens report most frequently
  • Where cases originate geographically — an interactive heat map using GPS coordinates from each incident
  • All open cases that have exceeded the 72-hour SLA threshold, plus an at-risk list (48–72h)
  • Staff performance ranking — who is resolving the most cases and how quickly
  • Cases with no department activity in 7+ days, grouped by department (Overdue Escalation)
  • A data quality callout when a significant portion of cases are missing classification or district data
  • A searchable list of every individual case with a full chronological activity timeline
  • Automatic background refresh every 5 minutes to keep data current
  • Dark mode, keyboard shortcuts, print-optimized layout, and report history cache

Data source

All data is pulled live from QC iReport (Dynamics 365) using your QC LGU Microsoft account. No spreadsheet uploads are required. The data is always current as of when you generate the report.

Access requirement: Generating a new report requires a QC LGU Microsoft account. Viewing a shared report link does not require an account — anyone with the link can view it.

2How to Sign In and Load a Report

QC iReport Dashboard DATE RANGE 2025-01-01 2025-01-31 Last Month This Month Last 7 Days Load Report Signed in as Juan dela Cruz juan.delacruz@qc.gov.ph  Sign in with Microsoft Sign Out
Connect Screen — Sign In Card
  1. Open the dashboard at https://lemon-sea-0d243ce00.1.azurestaticapps.net/ in any modern browser.
  2. Click "Sign in with Microsoft." You will be redirected to the Microsoft login page. Enter your QC LGU email and password.
  3. You are returned to the dashboard and your name appears at the top of the connect card.
  4. Choose a date range. Use the date pickers to select your reporting period, or click one of the preset buttons: Today, Last 7 Days, This Month, Last Month, or This Quarter.
  5. Click "Load Report." The dashboard fetches all case data for the selected period. A progress message shows while data is loading.
  6. The full dashboard appears automatically once all data is loaded.
💡
Tip: For monthly reporting, use the Last Month preset button. This automatically selects the first and last day of the previous calendar month.

Signing out

Click the Sign Out button (visible next to your name on the connect screen, or use the "New Report" button on the dashboard to return to the connect screen). Your session is only stored in your browser tab and is cleared when you close it.

Auto-Refresh

Once a report is loaded, the dashboard automatically refreshes in the background every 5 minutes. A countdown chip in the header (↻ 4:59) shows how long until the next refresh. When the timer reaches zero, all data — cases, activities, KPIs, and charts — is silently re-fetched from D365 without interrupting your view.

QC iReport Dashboard ↻ 4:32 Share Auto-refresh countdown chip
Auto-Refresh Countdown Chip in Dashboard Header
  • Click the chip at any time to trigger an immediate refresh instead of waiting for the countdown.
  • Auto-refresh is paused when you click "New Report" and return to the connect screen.
  • If your session token expires while the dashboard is open, a yellow banner will appear. Click it to re-authenticate via a pop-up without losing your current report view.
  • Auto-refresh does not apply to shared report links — those are a static snapshot.

Recent Reports (Report History)

The connect screen automatically stores your last 5 generated reports in your browser's local storage. These appear under the date range picker as "Recent Reports."

  • Click any cached report entry to load it instantly — no D365 connection or re-authentication required.
  • Cached reports include all case data and activity data, so all performance metrics and the drill-down table work exactly as if you had re-fetched the data.
  • Report history is stored only in your browser and is not shared with other devices or users.

Dark Mode & Keyboard Shortcuts

The dashboard supports a dark mode that is easier on the eyes in low-light environments and reduces screen glare in meeting rooms.

  • Click the 🌙 button in the dashboard header to toggle dark mode on or off. Your preference is saved and will be restored the next time you open the dashboard.
  • Press D anywhere on the dashboard to toggle dark mode with the keyboard.

Keyboard shortcuts let you navigate the dashboard without scrolling:

KeyAction
1 – 0Jump to dashboard sections 1–10 (in order of appearance)
DToggle dark / light mode
? or /Open the keyboard shortcuts reference panel
EscClose any open panel (share modal, timeline, shortcuts)
💡
Tip: Keyboard shortcuts are disabled when your cursor is inside a text input, date picker, or dropdown — so typing in filters will not accidentally navigate the page.

Print Report

Click the Print button in the dashboard header (or press Ctrl+P / Cmd+P) to open the print dialog.

The dashboard includes a print-optimized layout that automatically:

  • Removes all interactive elements (buttons, filters, refresh chip, modals)
  • Inserts page breaks before major sections so content doesn't split awkwardly
  • Preserves chart colors exactly as displayed on screen
  • Formats tables so their headers repeat on every page
Tip: For the best print output, use your browser's "Save as PDF" option in the print dialog. Set the page orientation to Landscape and scale to Fit to page width.

3Summary Indicators

The five cards at the top of the dashboard give an at-a-glance overview of the reporting period. These are the first things to check when opening a report.

TOTAL CASES 76 NEW 12 VALIDATING 8 IN PROGRESS 7 RESOLVED 49 64.5%
Summary Indicator KPI Cards
Total Cases
e.g. 76
COUNT(all records in period)
Total number of incident cases filed during the selected date range. This is your baseline figure — all other percentages are calculated from this number.
New
e.g. 12
COUNT(status = "New")
Cases that have been received but no action has been taken yet. A high number here means cases are piling up without being assigned or validated. Ideally this should be close to zero by end of period.
Validating
e.g. 8
COUNT(status = "Validating")
Cases currently being reviewed to confirm details before assignment. This is the first active step — a case here means someone is looking at it.
In Progress
e.g. 7
COUNT(status = "In Progress") + COUNT(status = "Resolving")
Cases actively being worked on by a department. Combines both "In Progress" and "Resolving" statuses. A healthy pipeline shows cases moving from New through to this stage.
Resolved
e.g. 49
COUNT(status = "Resolved") ÷ Total × 100%
Cases that have been fully resolved and closed. The percentage shown is the overall resolution rate for the period. The higher, the better.

Case status flow

Cases in QC iReport follow this general progression:

New Validating In Progress Resolving Resolved

Cases that remain at New for a long time indicate they have not been picked up by any department.

Period-over-Period Comparison

Each KPI card shows a small delta chip — a colored badge showing the percentage change between the current reporting period and the equivalent previous period of the same length.

TOTAL CASES 76 ▲ 8.6% NEW 12 ▲ 20% RESOLVED 49 64.5% ▲ 12.4% NEW 8 ▼ 15% IN PROGRESS 7 — 0%
Delta Chips — Period-over-Period Comparison Badges on KPI Cards

How the previous period is calculated: If your report covers Jan 1–Jan 31 (31 days), the previous period is Dec 1–Dec 31 (the 31 days immediately before). The dashboard fetches both periods from D365 when you load a report.

Delta chip color guide:

  • Green ▲ — Increase that is good (e.g. more Resolved cases)
  • Red ▲ — Increase that is bad (e.g. more New/unactioned cases)
  • Green ▼ — Decrease that is good (e.g. fewer new complaints)
  • Red ▼ — Decrease that is bad (e.g. fewer cases resolved than last period)
  • Grey — 0% — No change, or a neutral metric where direction doesn't imply good/bad
Note: If there are no cases in the previous period (e.g. you selected a range far in the past), the delta chip is hidden and no comparison is shown.

KPI Sparklines

Below the delta chip on each KPI card, a small sparkline bar chart shows the trend for that metric across the last 6 equivalent periods.

  • The sparkline uses the same period length as the selected report. For example, a monthly report shows the last 6 months; a weekly report shows the last 6 weeks.
  • An upward-trending sparkline on Resolved cases confirms sustained improvement. A downward trend signals a decline worth investigating.
  • Sparkline bars are shown in muted blue; the current period bar is highlighted in the metric's accent color so it is easy to identify.

Data Quality Callout

If more than 10% of cases in the current report are missing classification or district data, an amber warning banner appears just below the KPI cards.

  • Unclassified cases — cases where no Incident Category was set in D365. These appear as "(Not Classified)" in the Classification chart.
  • No-district cases — cases where the District lookup field was left blank. These appear as "(No District Assigned)" in the District charts.
  • Click the button on the banner to dismiss it for the current session.
Action guidance: If the data quality callout appears, notify the relevant departments to update case records in QC iReport. Unclassified or unlocated cases reduce the accuracy of all category and geographic analysis in the dashboard.

4Case Volume & Status

Three visualizations that show when cases are coming in, what stage they are at, and which departments are handling them.

Cases by Date Opened — Bar Chart

Cases by Date Opened 0 5 10 15 Jan 1 Jan 4 Jan 7 Jan 10 Jan 13
Cases by Date Opened — Bar Chart

What it shows: The number of new cases filed on each day within the reporting period. Each bar represents one day.

How it is measured: Uses the Date Filed (createdon) of each case. Bars are grouped by calendar date and counted.

What to look for:

  • Spikes on specific dates may indicate an event, weather incident, or major service disruption that generated many complaints.
  • A flat, steady line suggests a consistent volume that departments can plan for.
  • Gaps on weekends or holidays are normal.

Status Distribution — Donut Chart

Status Distribution 76 CASES Resolved — 49 (64%) New — 12 (16%) Validating — 8 (10%) In Progress — 7 (10%)
Status Distribution — Donut Chart

What it shows: The proportion of cases in each status as of the time the report was generated.

How it is measured: Each case's current statuscode from Dynamics 365 is grouped and counted. The slice size is proportional to the percentage of total cases.

What to look for:

  • A large New slice means many unactioned cases — this needs attention.
  • A large Resolved slice means good department performance.
  • Hovering over a slice shows the exact count and percentage.

By Department — Horizontal Bar Chart

Cases by Department TTMD 22 CEPMO 16 DPWH 12 BPLO 9 CSWDO 7 Others 10
Cases by Department — Horizontal Bar Chart

What it shows: A ranking of departments by total number of cases assigned to them.

How it is measured: Cases are grouped by the kti_department option set field in D365. The department with the most cases gets the full-width bar; all others are shown relative to it.

What to look for:

  • The top department may need more resources or process support.
  • Hover over an abbreviated department name to see its full name.

Case Resolution Funnel

A funnel visualization showing how cases move through the resolution pipeline — from the total filed, down to those with any action, down to those fully resolved.

  • Each stage of the funnel shows the count and percentage of cases that have reached or passed that stage.
  • A narrow neck between stages reveals where cases are stalling. For example, a wide gap between "Filed" and "Actioned" means many cases have not had any department response.
  • A healthy funnel has a wide bottom (Resolved) close in size to the top (Total Filed), showing most cases move to completion.

Filing Heat Map

A day-of-week × hour-of-day heat map showing when during the week citizens file the most cases in the reporting period.

  • Each cell represents one hour-block within one day of the week. Darker cells indicate more cases filed in that time window.
  • Identifies peak filing times — useful for staffing decisions, scheduling validations, and setting realistic response-time expectations.
  • Hover over any cell to see the exact count of cases filed in that day/hour combination.

5Classification & Department Breakdown

Incident Classification (Category) — Horizontal Bar Chart

Incident Classification Road Damage 19 Flooding 14 Illegal Parking 11 Garbage Collection 8 Noise Complaint 6 (Not Classified) 8
Incident Classification — Horizontal Bar Chart

What it shows: The most common types of complaints or service requests filed by citizens. Categories are ranked from most to least frequent.

How it is measured: Uses the Incident Category lookup field from D365 (_kti_incidentcategory_value). Cases without a category are grouped as "(Not Classified)".

What to look for:

  • The top category reveals the most pressing service concern for citizens in the period.
  • A large "(Not Classified)" bar means data encoding in D365 is inconsistent — staff need to ensure categories are set on every case.
  • Spikes in a specific category may signal an infrastructure or policy issue requiring proactive action.

Department by Status — Stacked Bar Chart

Department by Status New Validating In Progress Resolved TTMD CEPMO DPWH BPLO CSWDO
Department by Status — Stacked Bar Chart

What it shows: For each department, the breakdown of their cases by current status. Each bar is one department; each colored segment is a status.

How it is measured: Cases are grouped by department and status simultaneously. Each segment's height is the count of cases in that status for that department.

What to look for:

  • A department whose bar is mostly New is not actioning cases.
  • A department with a tall Resolved segment is performing well.
  • Hover over any segment to see the exact count.

Classification Breakdown Table

Below the classification and department charts, a sortable table lists all complaint categories found in the current period, ranked by case count. Each row shows:

ColumnWhat it means
ClassificationThe complaint category (Incident Classification) as recorded in D365.
CasesNumber of cases with this classification in the current period.
% of TotalThis category's share of all cases in the period.
Share barA visual width bar proportional to the percentage, for quick comparison.

Click any column header to sort. The note below the table shows the overall volume change vs the prior period (e.g. "Case volume up 12% vs prior period — 83 → 93 cases").

6Department × Classification Detail Table

Department × Classification Detail Table DEPARTMENT CLASSIFICATION NEW VALIDATING IN PROGRESS TOTAL TTMD Road Damage, Illegal Parking 3 2 3 22 CEPMO Flooding, Garbage Collection 2 3 1 16 DPWH Road Damage, Flooding 4 1 2 12 Others Various 3 2 2 26 TOTAL 12 8 8 76
Department × Classification Detail Table

What it shows: A matrix of every department vs. their case counts broken down by status. Each row is one department; columns show each status and a total.

How it is measured: Counts are the same as the charts above — cases grouped by department × status. The Classification column lists all incident categories handled by that department.

ColumnWhat it means
DepartmentThe department abbreviation and full name (e.g. TTMD — Traffic & Transport Management Department)
ClassificationThe distinct incident categories handled by that department in this period
New / Validating / etc.Number of cases in each status for that department. A dash (—) means zero.
TotalTotal cases assigned to the department in the period
TOTAL rowSum across all departments for each status column
💡
Tip: This table is ideal for printing or copying into an executive briefing. It gives the complete picture in a compact format.

7Key Observations

Key Observations Top Department TTMD accounts for the highest caseload with 22 cases (29% of total). Unactioned Cases 16% of cases remain in New status — no action recorded yet. Top Category Road Damage is the most reported issue type with 19 cases (25% of total).
Key Observations — Auto-generated Insight Cards

What it shows: Automatically generated plain-language findings based on the data in the current report. These highlight the most significant patterns without requiring the reader to interpret all the charts manually.

How they are generated: The dashboard calculates specific conditions from the data — such as which department has the highest caseload, what percentage of cases are still unactioned, and which issue category is most common — and writes a sentence describing each finding.

Observation cards use three color styles:

  • Blue border — General performance note (e.g. top department by volume)
  • Red border — Concern that requires attention (e.g. high percentage of unactioned cases)
  • Gold border — Notable positive or neutral pattern (e.g. most active responding department)
Note: Key Observations are auto-generated from the numbers only — they provide a starting point for discussion, not a final judgment. Always read them alongside the full charts.

8Service Performance Monitoring

This section measures how well departments are serving citizens — not just how many cases they have, but how fast and how thoroughly they respond and resolve them. It uses data from both the Incidents table and the Case Activities table in D365.

Performance KPI Cards

RESOLUTION RATE 64% AVG RESOLUTION TIME 8.6d SLA ≤72h RATE 27% AVG FIRST RESPONSE 4.2h ACTIONED RATE 38% ACTIVITIES LOGGED 142 1.9 / case
Service Performance — Six KPI Cards
Resolution Rate
e.g. 64%
Resolved Cases ÷ Total Cases × 100
The percentage of all cases in the period that have been fully resolved. This is the primary performance indicator. Target: as high as possible, ideally above 80% for a mature period.
Avg Resolution Time
e.g. 8.6 days
Mean of (Date Closed − Date Filed) for all Resolved cases
The average time it takes to fully close a case after it is filed. Computed only for resolved cases using the D365 deactivatedon (close date) and createdon (file date) fields. Lower is better.
SLA ≤72h Rate
e.g. 27%
Cases resolved within 72 hours ÷ Total Resolved × 100
The percentage of resolved cases that were closed within 3 days (72 hours) of being filed. This is the Service Level Agreement benchmark. Color-coded: green ≥70%, amber ≥40%, red <40%.
Avg First Response
e.g. 4.2 h
Mean of (Earliest Activity Date − Case Filed Date)
The average time between when a case is filed and when the first Case Activity is logged against it. A Case Activity is any action recorded by a department (validation, field visit, etc.). Measures how quickly departments acknowledge new cases. Shows "—" if no activities are recorded.
Actioned Rate
e.g. 0%
Cases with ≥1 Activity ÷ Total Cases × 100
The percentage of cases that have at least one Case Activity logged. A case with no activities has received no documented action. A low actioned rate means departments are not recording their work — or genuinely not working on cases. Color-coded: green ≥60%, amber ≥30%, red <30%.
Activities Logged
e.g. 142
COUNT(all Case Activity records linked to cases in period)
Total number of Case Activity records logged across all cases in the period. Also shows the average activities per case. Higher activity counts indicate departments are actively documenting their work.

Resolution Time Distribution — Bar Chart (Histogram)

Resolution Time Distribution 0 5 10 10 <6h 7 6–24h 6 1–3d 4 3–7d 2 7–30d 1 >30d
Resolution Time Distribution — Histogram

What it shows: How quickly resolved cases were closed, grouped into six time ranges. Each bar is one time bucket; the height is the number of cases resolved in that timeframe.

How it is measured: For every resolved case, the resolution time is computed as deactivatedon − createdon (in hours). Cases are then sorted into buckets:

  • <6 hours — Resolved same day, very quickly
  • 6–24 hours — Resolved within the same working day
  • 1–3 days — Resolved within the SLA window
  • 3–7 days — Slightly over SLA
  • 7–30 days — Significantly delayed
  • >30 days — Long-standing unresolved cases eventually closed

What to look for: A healthy distribution has most bars on the left (fast resolution). A distribution heavy on the right means cases are sitting open too long before being closed.

Open Case Aging — Donut Chart

Open Case Aging 27 OPEN <7 days — 12 cases (44%) 7–30 days — 9 cases (33%) 30–90 days — 4 cases (15%) >90 days — 2 cases (8%)
Open Case Aging — Donut Chart

What it shows: Of all currently open (unresolved) cases in the report, how old are they? Each slice represents an age range.

How it is measured: For every case that is not Resolved, the age is calculated as today's date − date filed (in days). Cases are grouped into four brackets:

  • <7 days — Recently opened, still within normal processing window
  • 7–30 days — Older cases that need follow-up
  • 30–90 days — Stale cases — escalation may be needed
  • >90 days — Critical backlog — immediate attention required

What to look for: Any cases in the red (>90 days) or orange (30–90 days) bucket should be investigated and escalated. These are citizen complaints that have been waiting for months.

Open Case Backlog by Department & Age Band

A stacked bar chart showing the open case backlog split by department and age band. Each bar represents one department; the segments show how many of their open cases fall into each age bracket relative to the configured SLA threshold:

  • Fresh (0 – ⅓ SLA) — cases still early in the resolution window
  • Approaching (⅓ – ⅔ SLA) — cases entering the risk zone
  • Near SLA (⅔ – SLA) — cases about to breach
  • Overdue (SLA+) — cases already past the SLA threshold

This chart answers the question "which departments have the oldest backlog?" at a glance. Departments with tall red segments need immediate attention. The age bands adjust automatically when you change the SLA threshold in the Targets modal.

💡
Tip: Compare this chart to the SLA Breach section below — the Breach section lists individual case details, while this chart shows the backlog pattern across departments.

Avg Resolution Time by Department — Bar Chart

Avg Resolution Time by Department 0h 72h 144h SLA 50h CEPMO 68h BPLO 96h CSWDO 180h TTMD 110h DPWH
Avg Resolution Time by Department — Color-coded Bar Chart

What it shows: The average resolution time (in hours) per department. Only departments that have at least one resolved case are included.

How it is measured: For each department, takes all resolved cases and computes the mean of deactivatedon − createdon. Displayed in hours; tooltips show the value in human-readable form (e.g. "5.6 days").

Color coding:

Green — Resolved within 72 hours (meets SLA)
Amber — Resolved within 72–144 hours (slightly over SLA)
Red — Over 144 hours (6+ days, significant delay)

What to look for: Departments with red bars should be reviewed for process issues, understaffing, or case complexity. Departments with green bars are meeting or exceeding the service standard.

9SLA Breach — Open Cases Past 72 Hours

The SLA Breach section lists every currently open case that has been waiting for more than 72 hours (3 days) without being resolved. This is your priority escalation list — these are citizen complaints where the service level agreement has already been missed.

⚠ SLA Breach — Open Cases Past 72 Hours CASE # DEPARTMENT STATUS DATE FILED AGE ACTIVITIES CAS-00892 TTMD In Progress Jan 14, 2025 196 hrs 3 CAS-00911 CSWDO Validating Jan 16, 2025 128 hrs 1 CAS-00924 DPWH New Jan 17, 2025 84 hrs 0 CAS-00931 BPLO In Progress Jan 17, 2025 79 hrs 2 >144 hrs — Critical 96–144 hrs — Overdue 72–96 hrs — Breached
SLA Breach Table — Open Cases Sorted by Age (Most Overdue First)

What it shows: All open (unresolved) cases whose age exceeds 72 hours at the time the report is loaded. Cases are sorted most-overdue first so the most urgent appear at the top.

Age badge color coding:

Amber — 72–96 hours: Just breached SLA. Prompt follow-up needed.
Orange — 96–144 hours: Significantly overdue. Escalate to department head.
Red — >144 hours (6+ days): Critical breach. Immediate action required.

The Activities column shows how many case activity records exist for the case. A value of 0 means no department has taken any documented action — these cases deserve immediate attention regardless of status.

Action guidance: Any case showing in this list should be assigned or escalated. A case stuck at "New" or "Validating" with 0 activities for over 72 hours indicates it has not been picked up by any department staff.

At-Risk Cases (48–72h)

Immediately below the SLA Breach table, a second list highlights cases that are approaching the SLA threshold — open cases aged between 48 and 72 hours. These are not yet in breach but will become SLA violations within the next 24 hours if not resolved.

  • At-risk cases are shown with a blue age badge to distinguish them from the red/orange/amber badges of actual SLA breaches.
  • Use this list proactively — resolving or documenting activity on at-risk cases prevents them from appearing in the SLA Breach list on the next report.
  • Cases with 0 activities in this list are especially urgent — they have no documented action and are almost at the 72-hour limit.
💡
Tip: Review the At-Risk Cases list at the start of each day. Any case here that still shows 0 activities needs immediate department assignment before the 72-hour SLA window expires.

10Department Scorecard — A/B/C Tier Ranking

The Department Scorecard provides an at-a-glance tier rating for every department, displayed as compact cards just before the full Department Performance Table. Each department receives a composite score and is assigned a tier — A, B, or C — based on three key performance metrics.

How the tier is calculated

The composite score is the average of three rates, each expressed as a percentage (0–100):

Resolution Rate
Resolved ÷ Total Cases × 100
What percentage of the department's cases were fully resolved in the reporting period.
SLA ≤72h Rate
Cases resolved within 72h ÷ Total Resolved × 100
What percentage of the department's resolved cases were closed within the 72-hour SLA window.
Actioned Rate
Cases with ≥1 Activity ÷ Total Cases × 100
What percentage of the department's cases have at least one Case Activity logged in D365.

The composite score formula: Composite = ROUND( (Resolution Rate + SLA Rate + Actioned Rate) ÷ 3 )

Tier thresholds

Tier A  (score ≥ 70)  — Strong overall performance across all three dimensions
Tier B  (score 40–69)  — Satisfactory, with clear room for improvement in at least one dimension
Tier C  (score < 40)  — Needs significant improvement — low resolution, SLA compliance, or activity logging

Each scorecard card displays: the department abbreviation, the tier letter (A/B/C) with color coding, the composite score, and a mini three-bar chart showing the individual component rates side by side.

Note on SLA Rate: If a department has no resolved cases in the period, the SLA rate component is excluded and the composite is computed from just Resolution Rate and Actioned Rate. This prevents departments with zero resolutions from being penalized on a dimension that has no data.

11Department Performance Table

Department Performance Table DEPARTMENT CASES RESOLVED RES. RATE AVG TIME SLA ≤72h ACTIVITIES ACTIONED% 1ST RESP TTMD 22 14 36% 7.5d 21% 48 45% 6.2h CEPMO 16 13 81% 2.1d 75% 31 69% 3.1h DPWH 12 7 58% 4.6d 43% 22 50% 8.4h · · · more departments · · · TOTAL / AVG 76 49 64% 8.6d 27% 142 38% 4.2h
Department Performance Table — Full Scorecard

What it shows: A comprehensive scorecard for every department — all performance metrics side by side in one table. Departments are ranked by total case volume (highest first).

ColumnHow it is measuredWhat is good
Department Full name and abbreviation from D365 kti_department option set
Cases Total cases assigned to this department in the period Context-dependent — volume reflects citizen demand, not performance
Resolved Cases with status = Resolved for this department High relative to Cases
Resolution Rate Resolved ÷ Cases × 100% Green ≥70%  ·  Amber ≥40%  ·  Red <40%
Avg Resolution Time Mean of (deactivatedon − createdon) for resolved cases Lower is better; 72h or less is the SLA
SLA ≤72h % of this dept's resolved cases closed within 72 hours Green ≥70%  ·  Amber ≥40%  ·  Red <40%
Activities Total Case Activity records linked to cases of this department Higher = more documented work
Actioned Rate % of this dept's cases that have at least one Case Activity Green ≥60%  ·  Amber ≥30%  ·  Red <30%
Avg First Response Mean time from case filed to first activity logged (in hours/days) Lower is better; shows same-day response
Note on Activities data: The Activities columns (Activities, Actioned Rate, Avg First Response) require that departments log Case Activities in QC iReport when they take action on a case. If a department has 0 activities but cases are being resolved, it means work is happening but not being recorded in D365. Encourage consistent activity logging for accurate tracking. Activity data is fully included in shared links — recipients see the complete performance table including all activity metrics.

12Staff Performance

The Staff Performance table ranks individual staff members by their contribution to case resolution during the reporting period. It is derived from the modifiedBy field in D365 — the user who last modified each resolved case is counted as its resolver.

Staff Performance RANK STAFF MEMBER RESOLVED TOTAL HANDLED RESOLUTION RATE AVG RES TIME 1 Maria Santos 18 22 81.8% 28.4 hrs 2 Jose Reyes 14 17 82.4% 41.1 hrs 3 Ana Cruz 11 16 68.8% 55.2 hrs 4 Pedro Lim 8 14 57.1% 63.7 hrs 1st 2nd 3rd All others
Staff Performance Table — Ranked by Cases Resolved

Columns explained:

ColumnWhat it means
RankPosition ordered by number of resolved cases (highest first). Gold badge = 1st, silver = 2nd, bronze = 3rd.
Staff MemberThe D365 username who last modified the resolved case. This is a proxy for the person who closed the case.
ResolvedNumber of cases resolved by this staff member in the period.
Total HandledTotal cases this staff member touched (resolved + still open). Gives context for the resolution rate.
Resolution RateResolved ÷ Total Handled × 100%. A high rate means most of what the person handles gets resolved.
Avg Resolution TimeMean time (hours) from case creation to resolution for the cases they closed. Lower is better.

Response-Time Percentiles (p50 / p75 / p90)

Three additional columns show the statistical distribution of resolution times for each staff member — a more reliable picture than the average alone:

ColumnWhat it means
p50 (Median)Half of this person's cases were resolved faster than this time, half slower. More robust than the average because it isn't distorted by a few very slow cases.
p7575% of their cases were resolved within this time. A high p75 signals that a meaningful portion of their cases take much longer than typical.
p9090% of their cases were resolved within this time. The p90 highlights worst-case outlier behavior — high p90 means occasional very slow resolutions even if the median looks acceptable.

All three columns are color-coded: green = within SLA threshold, amber = within 2× SLA, red = beyond 2× SLA. The columns show a dash (—) for staff members with fewer than 2 resolved cases.

Important limitation: The modifiedBy field reflects whoever last saved a resolved case — not necessarily the sole person who worked on it. Cases handled collaboratively or reassigned multiple times may attribute resolution to the final editor. Use this data as a directional indicator, not a definitive individual performance metric.

13Overdue Case Escalation

The Overdue Case Escalation section highlights open cases that have had no recorded activity for 7 or more days. These are cases that appear to be stalled — no department has logged any action in over a week.

⏱ Overdue Case Escalation — No Activity in 7+ Days TTMD 3 CASE # STATUS DATE FILED LAST ACTIVITY DAYS IDLE CAS-00812 In Progress Jan 4, 2025 Jan 10, 2025 14 days CAS-00845 New Jan 8, 2025 None recorded 16 days CSWDO 2 CASE # STATUS DATE FILED LAST ACTIVITY DAYS IDLE CAS-00878 In Progress Jan 6, 2025 Jan 11, 2025 13 days
Overdue Case Escalation — Cases Grouped by Department

How "idle" is measured: The dashboard checks the most recent activity log date in gActByInc for each open case. If the last activity was 7 or more days ago — or if there are no activities at all — the case is included in the overdue list.

Cases are grouped by department so supervisors can immediately see which units have the most stalled cases. A count badge next to the department name shows the number of overdue cases in that group.

"None recorded" in the Last Activity column means no Case Activity has ever been logged for that case in D365. This typically indicates the case was never assigned or actioned.

Escalation guidance: Department heads should be notified for any group showing 3 or more overdue cases. Cases with "None recorded" and status "New" for 7+ days likely require immediate assignment.

14Cases by District & Geographic Heat Map

District Caseload District 1 18 District 2 13 District 3 11 District 4 9 District 5 7 (No District) 8 District by Status D1 D2 D3 D4 D5
Cases by District — Caseload & Status Breakdown

District Caseload — Bar Chart

What it shows: The total number of cases filed per district in the reporting period.

How it is measured: Uses the District lookup field (_kti_incidentdistrict_value) from D365. Cases without a district are grouped as "(No District Assigned)".

What to look for: Districts with high volumes may need more resources deployed. A large "(No District Assigned)" bar means data quality is poor — staff need to set the district on cases.

District × Status — Stacked Bar Chart

What it shows: For each district, the breakdown of cases by current status — same concept as the Department by Status chart, but geographically organized.

What to look for: Districts with a large New portion indicate areas where citizen complaints are not being acted on. This can help prioritize geographic coverage.

Geographic Heat Map

Below the district bar charts, an interactive map of Quezon City shows the density of cases geographically, using the exact GPS coordinates recorded on each incident in D365.

🌍
Interactive Geographic Heat Map
Leaflet.js map with CartoDB basemap — heat layer shows case density by GPS coordinates
District Density Map — Interactive Leaflet Map with Heat Layer

What it shows: A smooth heat layer overlaid on a street map of QC. Areas with more incident reports appear in warmer colors (red/yellow); sparse areas appear in cooler colors (dark blue).

How it works: Each incident in D365 that has a kti_latitude and kti_longitude value populated contributes one point to the heat map. Cases without GPS coordinates are excluded from the map (though they are still counted in all other sections of the dashboard).

GPS data fields:

  • kti_latitude — The latitude of the location where the case was reported (decimal degrees, e.g. 14.6181)
  • kti_longitude — The longitude of the location where the case was reported (decimal degrees, e.g. 121.0687)

Using the map:

  • Scroll to zoom in and out; click and drag to pan.
  • Zoom in to see street-level clustering of incidents in specific neighborhoods.
  • Hot spots (red/yellow areas) indicate neighborhoods generating the most complaints — useful for targeted enforcement or resource deployment.
Note: If the reporting period contains no cases with GPS coordinates, the map falls back to an approximate district-centroid view — circles placed at the approximate geographic center of each Quezon City district, sized by case count. In both the GPS and fallback views, district bubbles are now colored by SLA breach rate (green/amber/red) rather than just case volume. Click any bubble to see the breach count and rate. For full details see Section 20.

15Case Drill-Down & Activity Timeline

Case Drill-Down All Departments ▼ All Statuses ▼ All Classifications ▼ All Districts ▼ × Clear 76 cases CASE NO. CLASSIFICATION DEPT. STATUS DISTRICT DATE FILED MODIFIED BY CAS-001201 Road Damage TTMD RESOLVED District 2 Jan 3, 2025 J. Santos CAS-001202 Flooding CEPMO NEW District 1 Jan 4, 2025 M. Reyes CAS-001203 Illegal Parking TTMD IN PROGRESS District 3 Jan 5, 2025 R. Cruz · · · 73 more cases · · · ← Prev Page 1 of 6 Next →
Case Drill-Down — Filterable & Paginated Case List

What it shows: A searchable, filterable list of every individual case in the report. This is used to investigate specific cases, verify data, or look up a particular department's or district's cases.

Using the filters

Four dropdown filters appear above the table. You can filter by any combination:

  • Department — Show only cases from one department
  • Status — Show only cases in a specific status (e.g. only "New" cases)
  • Classification — Show only cases of a specific type
  • District — Show only cases from a specific district

Click ✕ Clear to remove all filters and show all cases again. The case count updates automatically to show how many cases match your current filters.

Column reference

ColumnDescriptionSource in D365
Case No.Unique case ticket number (e.g. CAS-001234-XYZ)ticketnumber
ClassificationThe incident category / type of complaint_kti_incidentcategory_value
Dept.Department abbreviation (hover to see full name)kti_department
StatusCurrent case status shown as a color-coded badgestatuscode
DistrictGeographic district of the case_kti_incidentdistrict_value
Date FiledWhen the case was created in D365createdon
Last UpdateWhen the case was last modifiedmodifiedon
Modified ByName of the staff member who last updated the case_modifiedby_value

The table shows 15 cases per page. Use the Previous / Next buttons at the bottom of the table to navigate between pages.

Activity Timeline — Per-Case History

Each row in the drill-down table is clickable. Clicking any case row opens an Activity Timeline panel showing every action logged against that case in chronological order.

Activity Timeline — CAS-001201 TTMD  ·  Road Damage  ·  4 activities × Resolved Jan 5, 2025  ·  3:14 PM In Progress Jan 4, 2025  ·  9:00 AM Validating Jan 3, 2025  ·  2:45 PM New Jan 3, 2025  ·  10:22 AM Click outside or press Esc to close
Activity Timeline Modal — Full Case Activity History

The timeline shows activities in newest-first order (most recent action at the top). Each entry shows:

  • The activity status (e.g. Validating, In Progress, Resolved) — color-coded to match the status badges used throughout the dashboard
  • The date and time the activity was logged in D365

Each drill-down row also shows a small activity count badge (e.g. 3 acts) indicating how many activity records exist for that case. Cases showing 0 have no logged department action.

To close the timeline, click the × button in the top-right corner of the panel, click anywhere outside the modal, or press Esc.

💡
Tip: The activity timeline also appears when clicking on cases in the SLA Breach list and in the Overdue Case Escalation list — not just in the main drill-down table.

16Sharing & Exporting a Report

Share This Report × SHAREABLE LINK https://lemon-sea-0d243ce00.1.azurestaticapps.net/#eJy... Link size: 24.3 KB  ·  Includes all case and activity data 📋 Copy 💾 PNG 📄 PDF
Share Report Modal — Copy Link, PNG, or PDF

Any generated report can be shared as a single link. The link embeds all case data and activity data directly inside it — no login, no QC account, no file download required for the recipient. Recipients see the complete dashboard including all performance metrics.

How to share

  1. Generate a report (sign in, set date range, click Load Report).
  2. Click the Share button in the top-right header of the dashboard.
  3. A pop-up appears showing the shareable link, its size in KB, and a character count.
  4. Click Copy to copy the link to your clipboard.
  5. Paste the link into an email, messaging app, or document and send it.

Who can view a shared link?

Anyone with the link can open the full dashboard — no Microsoft account or QC LGU login is required. This means you can share reports with:

  • Executives or officials on personal devices
  • External stakeholders who do not have a QC LGU account
  • Staff viewing on mobile phones without corporate authentication configured
Data sensitivity: Shared links contain all case data (case numbers, departments, statuses, districts). Treat them like any official government document — only share with people who are authorized to view the data. The link does not expire automatically.

What is included in a shared link

Shared links include everything visible in the dashboard at the time of generation:

DataIncluded in shared link?
All case records (status, dept, district, dates)✓ Yes
Resolution Rate & Resolution Time✓ Yes
SLA compliance rate✓ Yes
Case Activities (incl. activity statuses in timeline)✓ Yes
Department Performance Table (all columns)✓ Yes
All charts and Key Observations✓ Yes
Case Drill-Down table✓ Yes
Period-over-Period Trend Chart & KPI Sparklines✓ Yes
Executive Narrative Summary✓ Yes
Report Card Grade & Health Banner✓ Yes (re-computed from data)

How the link works

Both case data and case activity data are compressed and encoded directly into the URL (using deflate compression + base64 encoding). Nothing is sent to any server when the link is shared or opened — the data lives entirely in the URL itself. The recipient's browser decodes and renders the full dashboard locally.

Note: Shared links reflect the data at the moment the report was generated. If new cases are filed, statuses change, or new activities are logged after sharing, the link will still show the original snapshot. To share updated data, generate a new report and share a new link.

Open Cases CSV Export

In the Export dropdown, click "Open Cases CSV" to download a spreadsheet containing only the currently open and unresolved cases. Unlike the full CSV export (which includes all filtered cases), this export is pre-filtered to status ≠ Resolved and includes an extra "Age (hours)" column showing how long each case has been open. This is useful for sending to department heads as a follow-up action list.

Print-Ready Report

Click "Print" in the Export dropdown (or press Ctrl+P) to open the browser's print dialog. The dashboard applies a print-optimized layout automatically:

  • Navigation, toolbar, export buttons, and filter controls are hidden
  • The narrative Copy button and snapshot banner are hidden
  • Section breaks are inserted at major report sections to improve pagination
  • Charts retain their colors (color-accurate printing is forced on)
  • Table headers repeat on every printed page

For best results, use landscape orientation and set margins to "Minimum" or "None" in the browser print dialog. The PDF option in the Export dropdown uses html2canvas + jsPDF for a programmatic export if you prefer a one-click approach.

Exporting to image or PDF

Use the PNG or PDF buttons in the dashboard header to export the entire dashboard as an image file or PDF document. This is useful for attachments in official reports or presentations where a link is not appropriate.

18Executive Overview Tools

Several features are designed specifically for quick executive review — giving the Mayor, department heads, and supervisors a one-glance health check without needing to scroll through all sections.

Report Card Grade

A large letter grade (A+ through F) appears directly below the KPI grid. It is a composite score computed from three weighted metrics:

  • Resolution Rate vs target (how close actual res. rate is to your set target)
  • SLA compliance vs target (how close actual SLA rate is to your set target)
  • SLA breach count (each breach deducts 10 points from 100)

The resulting 0–100 score maps to letter grades: A+ ≥ 93, A ≥ 90, B ≥ 80, C ≥ 70, D ≥ 60, F below 60. The grade and score number are color-coded green, amber, or red. The grade card also shows a summary line: total open cases, SLA breaches, and resolution/SLA rates at a glance.

The grade is computed against your configured KPI targets. If no targets are set, default thresholds are used (80% resolution rate, 90% SLA). Set targets in Tools → Set KPI Targets for a meaningful grade.

KPI Health Banner

A colored banner (green / amber / red) below the KPI grid that shows the overall health status of the current report with individual chips for each metric:

  • On Track (green) — all configured targets are being met
  • At Risk (amber) — some targets are being missed
  • Critical (red) — majority of targets are not being met

Each chip shows a check (✓), warning triangle (△), or alert (⚠) icon beside the metric name and current value. The banner also includes an Inflow/Outflow chip (see Section 20) showing the ratio of new cases to resolved cases. The banner only appears after a report is loaded.

Session Snapshot Comparison

A thin banner at the top of the dashboard (below the header) that compares the current report to the last time you viewed a report in this browser. It shows the change in:

  • Total cases (red = more cases filed, green = fewer)
  • Resolved cases (green = more resolved, red = fewer)
  • SLA breaches (red = more breaches, green = fewer)

The baseline is updated automatically each time you load a report. Click "Update baseline" on the banner to reset the reference point to the current data without reloading.

The snapshot is stored in your browser's localStorage. It is device-specific and not shared between computers or browsers.

Executive Narrative Summary

A plain-English paragraph generated automatically from the current data, ready to paste into a briefing document, email, or presentation. It covers:

  • Total cases filed in the reporting period
  • Resolution count, resolution rate, and SLA compliance vs target
  • Number of open cases and in-progress cases
  • Volume trend compared to the prior period (if trend data is available)

Click the Copy button on the narrative card to copy the full paragraph to your clipboard. The narrative is also included in shared links so recipients see it without needing to regenerate it.

Email Mayor

The "Email Mayor" button on the Report Card banner opens your default email client with a pre-written message containing:

  • Subject line with the reporting period and letter grade (e.g. "QC iReport Summary — March 2026 — Grade: B+")
  • The full executive narrative paragraph
  • Key metrics: resolution rate, SLA rate, open cases, breach count
  • Top 5 departments by caseload
  • Timestamp of report generation

Fill in the Mayor's email address in the To field and add any additional context before sending. The email body is plain text formatted for readability.

Period-over-Period Trend Chart

A line chart showing case volume across multiple periods, positioned below the Summary Indicators. It uses the same historical period data that powers the KPI sparklines and displays four trend lines:

  • Total cases per period (blue)
  • Resolved cases per period (green)
  • New / Unactioned cases per period (red)
  • In Progress cases per period (amber)

The X-axis labels are P−5, P−4, P−3, P−2, P−1, Now — where "Now" is the current loaded period and each "P−N" is the equivalent prior period (same span length). This chart only appears when prior-period history data is available (i.e., when you generate a live report, not when first opening a shared link from before this feature was added).

💡
Tip: If the Total and Resolved lines diverge over time (Total rising, Resolved flat), the backlog is growing and needs attention. If they converge, resolution capacity is keeping up with demand.

KPI Progress Arcs

Small circular SVG arcs overlaid in the top-right corner of the Resolution Rate and SLA Compliance KPI cards, showing what percentage of the configured target has been achieved. The arc fills clockwise from the top; the percentage shown inside is "actual ÷ target × 100%". Color follows the same green/amber/red scale as the health chips.

The arcs only appear when KPI targets are set (see Section 19). If no targets are configured, no arc is shown.

19KPI Targets & Configurable SLA

The Set KPI Targets panel (accessed from Tools → Set KPI Targets in the header) lets you define performance benchmarks. These targets are used by the Report Card grade, the Health Banner chips, the KPI progress arcs, and the target badges on individual KPI cards.

Available targets

FieldWhat it controls
Resolution RateTarget % of cases that should be resolved. Default: 80%. Used to color the Resolution Rate KPI badge and compute the Report Card score.
SLA ComplianceTarget % of resolved cases that should meet the SLA threshold. Default: 90%. Used to color the SLA Rate badge.
Actioned RateTarget % of cases that should have at least one Case Activity logged. Default: 60%.
Max Total CasesAlert threshold for total caseload. A badge appears on the Total Cases KPI card when the count exceeds this number. Leave blank to disable.
SLA Threshold (hours)The number of hours within which a case should be resolved. Default: 72 hours (3 days). Changing this value updates every section that references the SLA: SLA Breach list, aging bands, performance table, narrative summary, and report card.

How the SLA threshold works

The SLA threshold is the single most important configuration value in the dashboard. It is used in:

  • SLA Compliance Rate — the % of resolved cases whose resolution time was ≤ the threshold
  • SLA Breach section — lists all open cases older than the threshold
  • At-Risk zone — cases within 24 hours of the threshold (threshold − 24h to threshold)
  • Aging by Department chart — the age bands are calculated as thirds of the threshold
  • Performance KPI cards — the SLA rate card and department performance table
  • Executive Narrative — references the actual configured threshold in the text
  • Snapshot comparison — breach count uses the current threshold

Targets are saved in your browser's localStorage and persist between sessions. They apply only to your browser — each user's targets are independent.

Important: Changing the SLA threshold does not retroactively modify historical data. It only changes how the dashboard classifies cases in the current loaded report. Sharing a link captures the data but not your target settings — recipients will see the report using their own saved targets (or defaults if none are set).

20Advanced Analytics

These features provide deeper operational insight for power users, enabling bottleneck detection, backlog trend analysis, and geographic risk identification.

Resolution Time by Classification

A horizontal bar chart located in the Classification & Department Breakdown section, below the Classification Breakdown table. It shows the average resolution time (in hours) for each complaint category, sorted from slowest to fastest (top to bottom). Only classifications with at least 2 resolved cases are shown; a maximum of 12 categories are displayed.

Bar colors follow the SLA threshold:

  • Green — average resolution time is within the SLA threshold
  • Amber — average exceeds the SLA threshold but is under 2× the threshold
  • Red — average exceeds 2× the SLA threshold (chronic backlog category)

Hover over any bar to see the exact average resolution time, the number of resolved cases in that category, and whether the category is within SLA. Use this chart to answer: "Which complaint types take the longest to close?" and to prioritize process improvements for chronic bottleneck categories.

The SLA threshold used for coloring is the value configured in Tools → Set KPI Targets → SLA Threshold. Changing the threshold will update the bar colors accordingly. The chart only appears when at least one classification has 2 or more resolved cases in the current period.

SLA Compliance Trend

The Period-over-Period Trend Chart (Section 18) now includes a SLA % compliance line as a dashed purple line plotted on a secondary Y-axis (right side, 0–100%). This line shows the percentage of resolved cases that met the SLA threshold for each historical period, giving you a direct view of whether SLA compliance is improving or declining over time.

The SLA % line only appears if historical period data is available (i.e., sparkline history has been loaded by fetching a live report — the line is not available on static shared links). The secondary axis is labeled in purple % values on the right edge of the chart and does not interfere with the case volume scale on the left.

If the SLA line is flat or missing for some periods, those periods had no resolved cases (or the historical fetch did not include enough data). Extend the reporting period or generate multiple reports over time to build up trend history.

Case Inflow vs Outflow Rate

The KPI Health Banner now includes an Inflow/Outflow chip showing the ratio of new cases filed (inflow) to cases resolved (outflow) in the current period:

  • Ratio < 0.95× (green ▼) — outflow exceeds inflow; the backlog is shrinking. Good sign.
  • Ratio ≈ 1× (amber ≈) — inflow and outflow are roughly balanced.
  • Ratio > 1.05× (red ▲) — inflow exceeds outflow; the backlog is growing. Action needed.

For example, an Inflow/Outflow of 1.43× means 43% more new cases are being filed than resolved — the backlog is growing. Hover over the chip to see the tooltip label "New cases filed vs resolved this period." This metric is especially useful for tracking whether a surge response is working.

District × SLA Breach Heat Map

The Geographic Heat Map (Section 14) district bubble overlays are now colored by SLA breach rate rather than raw case count. Breach rate = open cases exceeding the SLA threshold ÷ total cases in that district.

ColorBreach rateInterpretation
■ Green≤ 10%District is performing well; few open cases exceed SLA
■ Amber11–30%Moderate breach rate; some follow-up needed
■ Red> 30%High breach rate; district requires urgent attention

Click any district bubble to see a popup with the total case count, percentage of all cases, number of SLA breaches, and breach rate percentage. The bubble size still reflects the relative case volume (bigger = more cases), while the color communicates the severity of the SLA problem — making a small district with a high breach rate visually distinct from a large district with manageable compliance.

A district with very few cases (e.g., 2 cases, 1 breach = 50% breach rate) will show red even though the absolute impact is small. Always check the case count in the popup alongside the breach rate when prioritizing district interventions.

Mobile & Tablet Layout

The dashboard is optimized for desktop use but includes responsive breakpoints for tablets (≤768px) and phones (≤480px):

  • Tablets (768px) — 3-column grids collapse to 2-column; header buttons wrap to a second row; the health banner chips wrap to multiple rows.
  • Phones (480px) — all multi-column grids collapse to a single column; KPI cards display in a 2×3 grid; chart heights are reduced; the staff table hides the p50/p75/p90 percentile columns to avoid horizontal scrolling; the district map height is reduced to 280px; action buttons display in a horizontal scroll row.

The dashboard is best experienced on a desktop or large tablet in landscape orientation. On phones, the executive summary KPIs, trend chart, and health banner are fully usable; deep analysis sections (drill-down table, staff table) may require horizontal scrolling.

17Glossary of Terms

TermDefinition
Case / IncidentA single complaint or service request filed by a citizen through QC iReport. Each case has a unique ticket number (e.g. CAS-001234).
Case ActivityAn action logged by a department against a case (e.g. initial validation, field visit, status update). Stored in the kti_caseactivitieses table in D365.
createdonThe date and time when a case was first created in QC iReport. This is the "Date Filed."
deactivatedonThe date and time when a case was closed/resolved. Used to calculate resolution time.
modifiedonThe date and time when any field on the case was last changed.
Resolution TimeThe elapsed time from createdon to deactivatedon. Only meaningful for Resolved cases.
First Response TimeThe elapsed time from createdon (case filed) to the earliest Case Activity createdon (first action taken).
SLA (Service Level Agreement)The target resolution time. In this dashboard the SLA threshold is 72 hours (3 days). Cases resolved within this window are counted as SLA-compliant.
Actioned RateThe percentage of cases that have at least one Case Activity logged. Cases with 0 activities have no documented department action.
Resolution RateThe percentage of total cases that have status = Resolved in the reporting period.
kti_departmentThe D365 field that identifies which QC LGU department a case is assigned to. It is an option set (dropdown list), not a free-text field.
Option SetA fixed list of choices in D365 (like a dropdown). The department field is an option set; each choice has a numeric code and a label.
LookupA D365 field that links to another record (e.g. the District field links to a District record). The dashboard displays the linked record's name.
D365 / Dynamics 365Microsoft Dynamics 365 — the CRM platform that powers QC iReport on the backend. The dashboard connects to it via the Dataverse Web API.
Dataverse Web APIThe programming interface used to read case data from D365. The dashboard calls this API using your Microsoft account credentials to fetch records in real time.
Reporting PeriodThe date range selected on the connect screen. The dashboard only shows cases with a createdon date within this window.
Period ComparisonThe automatic comparison of the current reporting period's KPIs against the previous equivalent period of the same length. Displayed as delta chips (▲/▼ %) on each KPI card.
Delta ChipA small colored badge on a KPI card showing the percentage change between the current and previous period. Green = favorable change; Red = unfavorable change; Grey = no change or neutral metric.
SLA BreachA case that has been open (unresolved) for more than 72 hours, thereby exceeding the target Service Level Agreement window. The SLA Breach section lists all such cases sorted by age.
Overdue CaseAn open case with no recorded Case Activity in the past 7 or more days. Indicates a stalled case where no department action has been documented recently. See the Overdue Case Escalation section (Section 13).
Staff PerformanceA ranking table that groups resolved cases by the staff member who last modified them (modifiedBy). Used to assess individual contribution to case resolution. See Section 12.
Activity TimelineA modal panel that shows the full chronological list of Case Activities for a single case. Opened by clicking any case row in the drill-down table, the SLA Breach list, or the Overdue Escalation list.
Auto-RefreshThe dashboard's automatic background data refresh that runs every 5 minutes while a report is active. A countdown chip in the header shows the time until the next refresh. Click the chip to refresh immediately.
modifiedByThe D365 field that records which user account last saved changes to a case record. Used by the Staff Performance feature as a proxy for who resolved a case.
Report HistoryThe last 5 generated reports stored automatically in the browser's local storage. They appear on the connect screen under "Recent Reports" and can be loaded instantly without re-fetching data from D365. History is stored only in your browser and is not shared with other devices.
Dark ModeAn alternative color scheme that uses a dark background and lighter text, easier on the eyes in low-light environments. Toggled with the 🌙 button in the header or by pressing the D key. Preference is saved in the browser.
Keyboard ShortcutsSingle-key actions available while the dashboard is open. Keys 1–0 jump to sections 1–10; D toggles dark mode; ? or / opens the shortcut reference panel; Esc closes any open modal. Shortcuts are disabled while typing in an input field.
Data Quality CalloutAn amber warning banner that appears when more than 10% of cases are missing Incident Category (unclassified) or District (no district assigned) data. Dismissible for the current session by clicking ×.
Scorecard TierThe A/B/C rating assigned to each department based on a composite score (average of Resolution Rate, SLA ≤72h Rate, and Actioned Rate). Tier A ≥ 70, Tier B 40–69, Tier C < 40. Displayed in the Department Scorecard section (Section 10).
Geographic Heat MapAn interactive Leaflet.js map of Quezon City showing where cases are being filed, using GPS coordinates from each incident. The heat layer uses color gradients (dark blue → red → yellow) to indicate case density by location. Located in Section 14 (Cases by District & Geographic Heat Map).
kti_latitude / kti_longitudeD365 decimal fields on the incident record that store the GPS coordinates of the location where a case was reported. Used to plot incidents on the Geographic Heat Map. Cases without these fields populated are excluded from the map.
Case Resolution FunnelA funnel chart in Section 4 that shows how many cases progress through each pipeline stage — from total filed down to actioned down to resolved. Narrow sections between stages highlight where cases stall.
Filing Heat MapA day-of-week × hour-of-day grid in Section 4 that shows when during the week citizens file the most cases. Useful for identifying peak complaint times and optimizing staff scheduling.
KPI SparklineA small inline bar chart below each KPI card's delta chip, showing the trend for that metric over the last 6 equivalent periods (e.g. last 6 months for a monthly report). Helps identify whether a trend is improving or declining over time.
Report Card GradeAn A+–F letter grade shown on the dashboard based on a composite score of resolution rate, SLA compliance, and breach count vs configured targets. Located below the KPI grid. See Section 18.
KPI Health BannerA colored (green/amber/red) status bar below the KPI grid showing overall performance health with per-metric chips. "On Track" = all targets met; "At Risk" = some missed; "Critical" = majority missed.
Snapshot ComparisonA comparison banner showing how key metrics (total cases, resolved, breaches) have changed since the last time you loaded a report in the same browser. Baseline is stored in localStorage.
Executive NarrativeAn auto-generated 3–4 sentence plain-English paragraph summarizing the current report. Includes a Copy button. Located below the KPI grid and included in shared links.
SLA ThresholdThe configurable number of hours within which a case should be resolved. Default is 72 hours. Changeable in Tools → Set KPI Targets. Affects every SLA-related metric and chart in the dashboard.
p50 / p75 / p90Percentiles of resolution time for a staff member or department. p50 = median (half faster, half slower); p75 = 75th percentile; p90 = 90th percentile (worst-case performance indicator). Shown in the Staff Performance table.
Open Cases CSVA CSV export of only the open (unresolved) cases, including an "Age (hours)" column. Available from the Export dropdown. Useful for generating department follow-up lists.
Email MayorA one-click button on the Report Card banner that opens the default email client pre-filled with the report grade, narrative summary, key metrics, and top departments. Recipients need only add the Mayor's address before sending.
Aging by DepartmentA stacked bar chart showing open case backlog per department split into four age bands relative to the SLA threshold. Identifies which departments have the oldest unresolved cases. Located in the Service Performance section.
Classification Breakdown TableA sortable table below the classification charts showing each complaint category, its case count, and percentage share of the total for the current period. Includes a note on overall volume vs prior period.
Resolution Time by ClassificationA horizontal bar chart showing average resolution time per complaint category, color-coded by SLA compliance (green = within SLA, amber = over SLA, red = over 2× SLA). Helps identify chronically slow complaint types. Located in the Classification & Department Breakdown section. See Section 20.
Inflow/Outflow RateThe ratio of new cases filed (inflow) to cases resolved (outflow) in the current period. Displayed as a chip in the KPI Health Banner. A ratio >1 means the backlog is growing; <1 means it is shrinking. See Section 20.
SLA Breach RateThe percentage of cases in a district (or other group) that are open and have exceeded the SLA threshold. Used to color district bubbles on the Geographic Heat Map: green ≤10%, amber 11–30%, red >30%. See Section 20.
SLA Compliance TrendA dashed purple line on the Period-over-Period Trend Chart showing the SLA compliance % across historical periods. Plotted on a secondary right-side Y-axis (0–100%). Only visible when multiple prior periods have been fetched. See Section 20.