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

# Hospital reports and analytics

> Open any hospital report, choose its period and scope, export the rows, and understand which reports your care areas give you.

export const AuditNote = ({action = 'This action'}) => <div className="ck-callout ck-callout--info" role="note">
    <p className="ck-callout__body">
      {action} is written to your workspace's audit log with your name, the
      record touched and the time — a HIPAA requirement, and one you can review
      yourself under <strong>Audit Log</strong>. See{' '}
      <a href="/platform/security/audit-log">Audit log</a>.
    </p>
  </div>;

export const StillStuck = ({topic}) => <div className="ck-callout ck-callout--note" role="note">
    <p className="ck-callout__body">
      <strong>Still stuck{topic ? ` with ${topic}` : ''}?</strong>{' '}
      Check <a href="/platform/help/troubleshooting">Troubleshooting</a> first —
      it covers the failures we see most often. If that does not resolve it,{' '}
      <a href="/platform/help/contact-support">contact support</a> and include
      your workspace name and the time the problem happened, so we can find the
      matching entry in your audit log.
    </p>
  </div>;

export const TaskHeader = ({before, time, after}) => <div className="ck-task">
    {before ? <div className="ck-task__cell">
        <div className="ck-task__title">Before you start</div>
        <p className="ck-task__body">{before}</p>
      </div> : null}

    {time ? <div className="ck-task__cell">
        <div className="ck-task__title">Takes about</div>
        <p className="ck-task__body">{time}</p>
      </div> : null}

    {after ? <div className="ck-task__cell">
        <div className="ck-task__title">When you're done</div>
        <p className="ck-task__body">{after}</p>
      </div> : null}
  </div>;

export const Path = ({steps = []}) => <span className="ck-path">
    {steps.map((s, i) => <span key={i} className="ck-path__step">
        {i > 0 ? <span className="ck-path__sep" aria-hidden="true">
            ›
          </span> : null}
        {s}
      </span>)}
  </span>;

export const Availability = ({editions = ['all'], plans, roles, note}) => {
  const list = editions.includes('all') ? ['clinic', 'pharmacy', 'lims'] : editions;
  return <div className="ck-avail" role="note" aria-label="Feature availability">
      <span className="ck-avail__label">Available in</span>

      {list.map(e => <span key={e} className={`ck-pill ck-pill--${e}`}>
          {EDITION_LABELS[e] || e}
        </span>)}

      {plans ? <span className="ck-avail__label">Plan</span> : null}
      {plans ? <span className="ck-pill ck-pill--plan">{plans}</span> : null}

      {roles ? <span className="ck-avail__label">Who</span> : null}
      {roles ? <span className="ck-pill ck-pill--role">{roles}</span> : null}

      {note ? <span className="ck-avail__note">{note}</span> : null}
    </div>;
};

<Availability editions={['clinic']} plans="Enterprise" roles="Owners, managers and accountants" />

**Analytics** is the menu of every report your hospital can open. The sidebar entry is a single link rather than a menu — the page it opens *is* the menu, and it lists only the reports that exist for you.

<Path steps={['Sidebar', 'Executive', 'Analytics']} />

<TaskHeader before="The care areas your hospital runs, switched on under Settings → Facility" time="Two minutes per report" after="A report read on the period you chose, and a spreadsheet of its rows if you need one" />

## What you're looking at

The heading reads **Analytics**, and the line beneath counts them for you: "17 reports available for this clinic. Each one covers a period you choose and can be exported."

Cards are grouped under **Clinical**, **Operations** and **Money**. Each card names the report, gives a one-line description, and shows small badges for its scope tabs where it has them.

**Empty state.** A hospital with every care area switched off sees **No reports available** — "Reports follow the care areas this clinic runs. Turn one on in Settings → Facility."

## The reports a hospital gets

**Clinical**

| Report           | Covers                                       | Scopes                                         | Needs the care area |
| ---------------- | -------------------------------------------- | ---------------------------------------------- | ------------------- |
| **Out-patient**  | OPD throughput by department                 | **Triage** · **Consultation**                  | —                   |
| **Consultation** | Encounter volume, by status                  | **Consultations** · **Telehealth** · **Notes** | —                   |
| **Nursing**      | Observation compliance and nursing notes     | **Triage** · **Nursing notes**                 | In-patient care     |
| **Wards**        | Occupancy, length of stay and turnover       | —                                              | In-patient care     |
| **Theatre**      | Case volume, delays and checklist compliance | —                                              | Surgical theatre    |
| **Diagnostics**  | Volume, turnaround and abnormal rate         | **Laboratory** · **Radiology**                 | —                   |

**Operations**

| Report                  | Covers                                            | Needs the care area |
| ----------------------- | ------------------------------------------------- | ------------------- |
| **Appointments**        | Volume, completion and no-show rate               | —                   |
| **Patients**            | New versus returning, and how the list is growing | —                   |
| **Pharmacy**            | Dispensing volume and stock-outs                  | In-house pharmacy   |
| **Staff**               | Headcount by role and activity                    | —                   |
| **Workload**            | Cross-department load and peak hours              | —                   |
| **Inventory**           | Valuation, turnover and expiry risk               | —                   |
| **Predictive Analysis** | Demand, revenue and stock forecasts               | —                   |

**Money**

| Report          | Covers                                           | Scopes                      |
| --------------- | ------------------------------------------------ | --------------------------- |
| **Revenue**     | Invoices, payments and what is still outstanding | **Invoices** · **Payments** |
| **Insurance**   | Claim volume, denials and aging                  | —                           |
| **Memberships** | Sign-ups, cancellations and recurring revenue    | —                           |
| **Store**       | Storefront orders and takings                    | —                           |

Turning a care area off under **Settings → Facility** removes its report along with its navigation group. That is the usual reason a report someone remembers has "disappeared" — see [Care areas](/hospital/get-started/care-areas).

<Note>
  A solo or team practice sees twelve reports where a hospital sees seventeen, by design. A report is a promise that the dataset behind it exists, and a solo practice has no out-patient department, no ward, no theatre and no dispensary. It gains two a hospital does not — **e-Prescribing** and **Insurance Claims**, the electronic claims one — and its set is documented in [Reports and analytics](/practice/insights/analytics).
</Note>

The **Insurance** report here follows the hospital's own in-house module — insurers you maintain, prices you negotiated, claims you prepared. See [Insurance](/hospital/insurance/overview).

## Open and read a report

Every report opens in the same workbench, so learning one teaches you all of them.

<Steps>
  <Step title="Choose a report">
    Select its card. The report's name and description appear at the top of the page.
  </Step>

  <Step title="Set the period">
    The select on the right offers **Last 30 days**, **Last 90 days** and **Last 12 months**. It opens on **Last 30 days**.
  </Step>

  <Step title="Pick a scope, where there is one">
    Reports with more than one view show tabs beneath the title — **Triage** / **Consultation**, **Laboratory** / **Radiology**, **Invoices** / **Payments**. The first tab is the default.
  </Step>

  <Step title="Read it in order">
    Summary tiles for the headline figures, then a chart headed "<em>report name</em> over time", then a breakdown headed "<em>report name</em> by category" — by department, status, ward or staff member. The table underneath holds the rows behind both charts.
  </Step>
</Steps>

Money is shown in your hospital's own currency — see [Currency](/platform/settings/currency). The footer states the rule the figures follow: "Figures are aggregates for the selected period. Periods longer than 12 months are shortened server-side."

**When there is nothing to show**, the workbench says **No data for this period** — "Try a longer period, or check back once there is activity." A report that loaded but has no rows to tabulate says **Nothing to tabulate** in place of the table. Neither is an error.

## Export the rows

<Steps>
  <Step title="Choose the table view">
    The data table has its own tabs — **Over time**, **Breakdown** and **Summary**. Export takes the one you are on.
  </Step>

  <Step title="Set the period and scope first">
    The export covers exactly what is on screen: the period, the scope tab and the table view you selected. Set all three before exporting, or you will reconcile the wrong numbers.
  </Step>

  <Step title="Select Export">
    Choose **CSV — this view** or **Excel (.xlsx) — this view**. You are told **Exported**, with the row count and the period. Both open in Excel, Numbers or Sheets.
  </Step>
</Steps>

<AuditNote action="Opening a report" />

## Who can do this

**Role** decides whether **Analytics** opens at all. On Enterprise, an owner controls which roles reach the **Executive** group under **Settings → Role Navigation**: owners and managers can never be locked out, accountants reach it by default, and a role with no rule of its own is unrestricted. Clinical and bench roles are scoped to their own units and do not see it.

**Permission** decides what a person may do inside a module. Reports are read-only, so no per-person permission gates the reports a hospital sees — the list narrows by plan and by care areas. Where the product does gate a view it degrades rather than errors: a scope tab you may not open is not rendered, and the workbench moves you to the first tab you can. The related money permissions in your staff sheet are **View financial dashboard** and **View Payment Reports**.

Enforcement is **opt-in per person**: a colleague never saved in the permissions sheet is unrestricted, and the sheet warns **"Saving starts enforcing"** before that changes. A **denied action is recorded**; an allowed one is not, and hiding a module from a role's sidebar is a convenience rather than a security boundary.

## Check it worked

* The count line matches the number of cards on the page.
* Changing the period changes the summary tiles and redraws both charts.
* The exported file has the same row count the **Exported** message quoted.

## Common issues

<AccordionGroup>
  <Accordion title="This report could not be loaded.">
    A temporary read failure. Reload the page, or choose a shorter period and try again.
  </Accordion>

  <Accordion title="A report vanished from the list">
    Usually a care area was switched off under **Settings → Facility**; less often the subscription lapsed. See [Care areas](/hospital/get-started/care-areas).
  </Accordion>

  <Accordion title="We run a ward but there is no Wards report">
    **Wards** and **Nursing** both need the **In-patient care** care area switched on. Turn it on and the reports return with the navigation group.
  </Accordion>

  <Accordion title="No data for this period">
    The report loaded and found nothing in that window. Widen the period, or switch the scope tab — a **Consultation** report on the **Telehealth** scope is empty for a hospital that runs no video clinics.
  </Accordion>

  <Accordion title="The export has fewer rows than expected">
    It exports the table view you are on, for the selected period and scope. Switch to **Over time** or **Breakdown**, widen the period, then export again.
  </Accordion>

  <Accordion title="Selecting Analytics opens a page of cards, not a menu">
    That page is the menu. Each card opens a report.
  </Accordion>
</AccordionGroup>

## FAQ

<AccordionGroup>
  <Accordion title="Can I choose my own date range?">
    No. The three fixed periods keep every report comparable. For a bespoke range, export and filter in your spreadsheet.
  </Accordion>

  <Accordion title="Why do some reports have no period select?">
    A snapshot report ignores a period and reads **As it stands now** instead of showing a control that changes nothing. Every report a hospital opens covers a period; the snapshot form appears in the Pharmacy and Diagnostics editions.
  </Accordion>

  <Accordion title="Do reports contain patient names?">
    No. Every figure is an aggregate — counts, totals and averages. Named records live in the clinical modules.
  </Accordion>

  <Accordion title="Why do the tiles and the chart use different shapes?">
    The tiles are the headline for the whole period; the chart plots the same figures day by day. They come from one read, so they cannot disagree.
  </Accordion>

  <Accordion title="Is this the same list as the executive dashboard?">
    Yes. [Executive](/hospital/executive/dashboard) shows the same reports beneath its tiles, narrowed the same way.
  </Accordion>
</AccordionGroup>

<StillStuck />
