> ## Documentation Index
> Fetch the complete documentation index at: https://docs.harbinge.rs/llms.txt
> Use this file to discover all available pages before exploring further.

# Reports

> Filter and export asset confirmation status and PMI compliance data for audits

## Overview

The Reports page gives admins and leads two views of your asset fleet:

* **Asset Status** — confirmation status per asset (confirmed, mismatch, never confirmed), filterable by location, tech, and recency
* **PMI Compliance** — upcoming and overdue preventive maintenance inspections, sortable by due date with a summary bar showing fleet health at a glance

Reports are accessed from the dashboard sidebar under **Reports**. Switch between views using the tab bar at the top of the page.

***

## Asset Status

Every asset in the system has one of three statuses:

| Status              | Meaning                                                                                                                                                                                                                                                                           |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Confirmed**       | The asset has at least one successful presence confirmation on record. The most recent attestation was a match — a tech was in the asset's recorded location when they scanned it.                                                                                                |
| **Mismatch**        | The asset has been scanned, but the most recent attestation was a mismatch — the tech who scanned it was not in the asset's recorded location. The location may be stale.                                                                                                         |
| **Never confirmed** | The asset exists in Forager's registry but has never received a successful match attestation. It may have been imported from a CMDB, added manually, or first seen during a scan that triggered a new-asset or mismatch event — but a clean confirmation has never been recorded. |

A "Never confirmed" asset is not necessarily lost or misplaced. It may simply not have been encountered yet during normal field work. High counts of never-confirmed assets on a floor typically indicate that area hasn't been swept.

***

## Asset Status tab

### Filters

Use the filter bar to narrow the table. All filters combine — you can filter to "all Mismatch assets on Floor 2 not seen in 90 days" by setting both Status and Not seen in N days together. The active filter set is reflected in the page URL, so filtered views can be bookmarked or shared.

| Filter                 | What it does                                                                                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Location**           | Shows only assets whose recorded location is within the selected node. Selecting a floor shows assets in all rooms on that floor. Selecting a room shows only that room. |
| **Status**             | Filters to Confirmed, Mismatch, or Never confirmed assets only.                                                                                                          |
| **Tech**               | Shows only assets whose most recent confirmation was performed by a specific team member.                                                                                |
| **Not seen in N days** | Shows assets that have not received a successful confirmation in the selected number of days — or have never been confirmed. Options: 30, 90, 180, or 365 days.          |
| **PMI Status**         | Filters to assets by their preventive maintenance schedule status: Overdue, Due within 30 days, On schedule, or No schedule.                                             |
| **PMI Due Before**     | Shows assets whose next PMI date falls on or before the selected date. Useful for pulling a list of devices due before a specific inspection window.                     |

***

### Columns

| Column                | Description                                                                                                                                                               |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Asset Tag**         | The asset's identifier, typically matching the barcode on the physical device.                                                                                            |
| **Recorded Location** | The location currently on record for this asset — the full path from building to room.                                                                                    |
| **Status**            | Current confirmation status (see above).                                                                                                                                  |
| **Last Confirmed**    | How long ago the most recent successful match attestation was recorded.                                                                                                   |
| **Last Tech**         | The team member who performed the most recent confirmation.                                                                                                               |
| **Confirmations**     | Total number of successful match attestations ever recorded for this asset.                                                                                               |
| **Mismatches**        | Total number of mismatch events ever recorded. A high mismatch count relative to confirmations may indicate the asset moves frequently or its recorded location is wrong. |

***

### Exporting to CSV

Click **Export CSV** to download the current filtered view as a `.csv` file. The export respects all active filters — if you've filtered to Floor 2 assets not seen in 365 days, the export contains only those rows.

The file is named `forager-report-YYYY-MM-DD.csv` with today's date.

CSV columns: Asset Tag, Recorded Location, Status, Last Confirmed (ISO timestamp), Last Tech, Confirmations, Mismatches.

***

## PMI Compliance tab

The PMI Compliance tab shows every asset that has a PMI schedule on record, sorted by due date — most overdue first.

### Summary bar

Four tiles at the top of the tab show fleet-wide PMI health at a glance:

| Tile                           | Meaning                                       |
| ------------------------------ | --------------------------------------------- |
| **Overdue** (red)              | Assets whose `next_pmi_date` is in the past   |
| **Due within 30 days** (amber) | Assets due within the next 30 days            |
| **On schedule** (green)        | Assets with a future PMI date beyond 30 days  |
| **No schedule** (gray)         | Assets that have no `next_pmi_date` on record |

### Create Sprint from Overdue

When there are overdue assets, a **Create Sprint from Overdue** button appears in the tab header next to Export CSV. Clicking it:

1. Pulls all assets currently showing **Overdue** status
2. Creates a new Remediation Sprint named `PMI Overdue — YYYY-MM-DD` (today's date)
3. Pre-populates the sprint with every overdue asset, unassigned
4. Redirects you to the sprint detail page so you can assign items to techs immediately

The button is disabled (grayed out) when the overdue count is zero — there is nothing to queue.

<Tip>
  Use this button at the start of any pre-audit sweep. The sprint gives techs a bounded, scan-required work queue and produces a timestamped attestation record for every item they resolve — exactly what auditors ask for.
</Tip>

Once the sprint is created, manage assignments and track resolution from **Dashboard → Sprints**. See [Remediation Sprints](/admin/remediation-sprints) for the full workflow.

### Columns

| Column            | Description                                                                                       |
| ----------------- | ------------------------------------------------------------------------------------------------- |
| **Asset Tag**     | Asset identifier                                                                                  |
| **Asset Name**    | Device name from the asset record                                                                 |
| **Location**      | Last recorded location                                                                            |
| **Next PMI**      | The date the next inspection is due (`YYYY-MM-DD`)                                                |
| **Interval**      | Recurrence schedule: Quarterly (90d), Semi-annual (180d), Annual (365d), 2-year (730d), or custom |
| **Status**        | Overdue / Due Soon / OK badge                                                                     |
| **Days**          | Days until due (positive) or days overdue (shown in red)                                          |
| **Last Attested** | How long ago a tech physically confirmed this device                                              |

The table is sorted most-overdue first by default.

### Exporting PMI data

Click **Export CSV** on the PMI Compliance tab to download a PMI-specific file (`forager-pmi-YYYY-MM-DD.csv`). This export is formatted for compliance handoff — it includes the human-readable interval label (e.g., "Semi-annual"), days overdue or remaining as a signed number, and the last attestation timestamp.

To add PMI schedules to your assets, see [Assets — Importing PMI data](/dashboard/assets#pmi-columns).

***

## Common report queries

**Devices overdue for confirmation (annual audit)**
Set *Not seen in* → **365 days**. Export the result as the list of assets requiring a physical walkdown before the audit.

**Devices with stale locations**
Set *Status* → **Mismatch**. These assets were found somewhere other than their recorded location — their CMDB record may need updating.

**Coverage check for a specific floor**
Set *Location* → the floor node. Review the Status column to see which rooms have well-confirmed assets and which have gaps.

**Assets a specific tech has confirmed**
Set *Tech* → the team member's name. Useful for verifying field work coverage during a scheduled sweep.

**All assets with overdue PMI (for a Joint Commission prep walk)**
Switch to the **PMI Compliance** tab. The table is already sorted most-overdue first. Export the CSV for your compliance binder.

**Devices due for PMI before a specific date**
On the Asset Status tab, set *PMI Due Before* to your cutoff date. Export the filtered list to share with your biomedical or facilities team.

**PMI coverage gap — assets with no schedule**
On the Asset Status tab, set *PMI Status* → **No schedule**. These assets exist in Forager but have no `next_pmi_date` on record. Add them via CMDB re-import with PMI columns populated.
