---
title: "Data Panel"
description: "A one-table monitoring report of registration, OPD, IPD, discharge and document counts for a period, sliceable by doctor and by specialty, with missing data shown as such."
date: 2026-11-05
lastModified: 2026-11-05
category: "reports"
author: "Dr. Umesh Bilagi"
beta: true
---

## Overview

The **Data Panel** is a single table of the activity counts a hospital reports on: registrations, OPD
visits, IPD admissions, discharges, IPD documents, and billing. Each count covers one period (daily,
weekly, monthly, or yearly) and can be read in total, split by doctor, or split by specialty. It is built
for hospitals that reach NICE HMS through the API, where the panel is the agreed summary of what was
sent.

A row the system cannot measure is never shown as a zero. It says **not supplied by your system** and
explains why, so a gap is read as data you have not sent rather than as a measurement of none.

## Opening the page

Go to **MIS Reports** (`/admin/mis-reports`) and, in the **Clinical Activity** card, click **Data Panel**.
The page opens in a new tab on the current month, in Indian Standard Time (IST).

Who can open it: **admin**, **director**, **accountant**, and **receptionist_accountant**.

## Using the panel

- **Period** — Daily, Weekly, Monthly (default), or Yearly.
- **Date** — any date inside the period you want; the panel works out the window that contains it.
- **Slice by** — **Totals only** (default), **Doctor**, or **Specialty**. Slicing is done in the browser,
  so switching it does not reload the page or re-query the server.
- **Get** — applies the period and date, then reloads the table for that window.

The heading above the table names the window the data was actually built for (for example
*Monthly — November 2026 (1 Nov 2026 to 30 Nov 2026)*), so a period you have chosen but not yet applied
never relabels the table already on screen.

## The rows

| Group | Row | What it counts |
|---|---|---|
| Registration | Total New Registration | Patients registered in the period |
| Registration | Total Old Registration | Patients registered **before** the period who had an OPD or IPD visit inside it |
| Registration | ABHA linked New Registration | New registrations carrying an ABHA number |
| Registration | ABHA linked Old Registration | Old registrations whose patient carries an ABHA number |
| OPD | OP New Visit | OPD visits by a patient first registered in or after the period's start |
| OPD | OP Old Visit | OPD visits by a patient registered before the period |
| OPD | OP Consultation (Prescription) | `OPConsultation` documents |
| IPD | Normal Admissions (Count) | All admissions in the period |
| IPD | Emergency Admissions (Count) | Admissions whose source is reported as accident/emergency |
| IPD | ICU Admissions (Count) | **Not supplied** — no ICU field exists on an admission |
| Discharge | Discharge – Normal | All discharges in the period |
| Discharge | Discharge – LAMA | Discharges reported as left against medical advice |
| Discharge | Discharge – Death | Discharges reported as expired |
| IPD documents | Discharge Summary | `DischargeSummary` documents |
| IPD documents | Discharge Medicines | Counted from the discharge summary; medicines are not recorded separately |
| IPD documents | Death Certificates | **Not supplied** — no death certificate document is issued |
| IPD documents | Case Sheet | **Not supplied** — a case sheet is printed on demand and never stored |
| Billing | IP Pharmacy | **Excluded** — billing stays in your own system |
| Billing | Implant Invoice | **Excluded** — billing stays in your own system |

### Not supplied, excluded, and zero

- **Not supplied by your system** — the data is not recorded anywhere we can read, so no count exists.
  When a split was never reported for the period (for example, admissions came in but no admission ever
  reported its source), the split rows also say *not supplied* instead of showing 0.
- **Excluded** — the row is deliberately out of scope because the work happens in the hospital's own
  billing system.
- **A plain number** — a real measurement, including a measured zero.

## How events are attributed

Every event is credited to **one** practitioner: the first attending (ATND) doctor on the visit, or the
first Practitioner author on the document. This keeps the doctor columns adding up to the row total, so
the number you reconcile against is the row, not a sum of columns.

Events with no practitioner fall under **Unattributed**, which is sorted last because it is not a person
to scan for. A specialty comes from the doctor master; a doctor with no specialty recorded appears under
**Specialty not recorded**.

## Warnings

A yellow box under the table lists what limited the panel, for example:

- an organization with no GCP FHIR id — visits, admissions, discharges and documents cannot be collected;
- patients seen in the period with no active registration record, so their new/old split is unknown;
- admissions closed without a discharge date, which fit no discharge row;
- discharges with an outcome other than normal, LAMA, or death (a referral, for instance), which appear
  in the total only.

## Common Issues

- **Every row says "not supplied"** — the organization is missing its GCP FHIR id; set it up under
  **Admin → Organization** before using the panel.
- **A doctor column is missing** — that doctor has no `gcpFhirId` on the doctor master, so events cannot
  be attributed to them.
- **Discharges look low** — a discharge is counted on its discharge date, not on the encounter's status.
  An encounter closed without a discharge date is reported in the warnings instead.

## FAQ

**Q: Why is "ICU Admissions" never counted?**
A: No ICU field is recorded on an admission, so there is nothing to count. It is shown as not supplied
rather than as zero.

**Q: Why do old registrations count patients rather than visits?**
A: The row answers "how many already-registered patients used the hospital in this period", so each
patient is counted once even when they had several visits.

**Q: Does the panel change any data?**
A: No. It only reads registrations from the database and encounters and documents from the FHIR store.
