---
title: "PRM Appointment Console"
description: "How to use the PRM Appointment Console (/admin/prm/appointment/console) — searching an organisation's or a doctor's appointments by date, reading the results, the date-range limits that apply to each search, and where booking, referrals and notifications are handled."
date: 2026-11-06
lastModified: 2026-11-06
category: "product"
author: "Dr. Umesh Bilagi"
beta: true
---

## Overview

The **Appointment Console** is the PRM screen for finding appointments that are already booked — by organisation for a single day, or by doctor across a date range.

**Path:** `PRM → Appointment → Console` — `/admin/prm/appointment/console`

It is a **read-only view**. It does not book, reschedule or cancel appointments, and it is not limited to referred patients: whatever is booked for the organisation or the doctor is what it lists. Booking and referral handling happen in the places listed under [What this screen does not do](#what-this-screen-does-not-do).

## The two searches

The page carries two independent search panes and one results table underneath them.

### Organisation appointments — one day at a time

1. Open **PRM → Appointment → Console**.
2. Under **Organization Appointments**, pick the **Date**.
3. Select **Get Appointments**.
4. The table lists every appointment in your organisation for that date.

This pane sets the start and end date to the same day, so an organisation-wide search is **always a single day**. That is deliberate — see [Date-range limits](#date-range-limits).

### Doctor appointments — a date range for one doctor

1. Under **Doctor Appointments**, set **Start** and **End**.
2. Choose the **Doctor** from the list. The list is every doctor in the organisation that is not marked **Inactive**, sorted by name. It is not filtered by the dates you picked, so a doctor with no availability in that range still appears and simply returns no rows.
3. Select **Get Appointments**.
4. The table lists that doctor's appointments in the range.

All three fields are required; leaving any of them empty prompts you instead of searching.

Opening the page without a search shows **today** (IST) for the whole organisation.

## Reading the results

| Column | What it shows |
|--------|---------------|
| Start Date | The appointment's start time, shown in **IST** |
| Status | The appointment's status as recorded on the booking |
| Doctor Name | The practitioner booked for the appointment |
| Patient Name | Patient name, followed by the patient id and the patient's PHR address |
| Patient Mobile | The patient's registered mobile number |
| Description | The appointment comment entered on the booking |

The table is not paginated while it fits — it renders up to 2,500 rows at once, so a wide doctor-wise search can be a long page. Narrow the dates rather than scrolling if you are looking for one person.

## Date-range limits

The search backend rejects ranges that are too wide to return quickly. The limit depends on which identifiers the search carries:

| Search | Maximum range |
|--------|---------------|
| Doctor only | 31 days |
| Doctor + patient | 180 days |
| Patient only | 93 days |
| Organisation (neither) | 1 day |

The console's two panes use **Doctor only** and **Organisation**, which is why the organisation pane offers a single date and the doctor pane is capped at 31 days. The doctor + patient and patient-only rows are reachable by URL (`?startdate=…&enddate=…&patientid=…`), not from the on-screen controls.

The range is counted in whole days on the dates you entered, and applied in IST.

## Errors

A problem with the search is reported as a **warning bar at the top of the page** — the console does not fail to load.

- **"Enter a valid start date and end date."** — a date was missing or unreadable. Re-enter both dates.
- **"For This query max date range is 31 days. Narrow the dates and search again."** (or 1 / 93 / 180 days, whichever limit was hit) — the range is wider than the search allows. Shorten it, or switch to the doctor-wise pane if you were searching organisation-wide.

Fix the dates and search again; nothing is lost.

## What this screen does not do

The console shows appointments. These related tasks live elsewhere:

| Task | Where |
|------|-------|
| Record an incoming referral and move its lead status | `PRM → Receive Patient → Create` — `/admin/prm/refer-patient/receive-patient/create` (existing records: **Search**) |
| Refer a patient out | Not in the PRM menu today. The page is at `/admin/prm/refer-patient/send-patient/create` |
| Schedule follow-ups | `PRM → Doctor Schedule → Create` — `/admin/prm/schedule/create` (existing slots: **Search**) |
| Notification history for contacts | **Notifications** in the main menu — `/admin/prm/notification/search/0` |
| The patient behind an appointment | [Patient Dashboard](/docs/patient-dashboard) |

An appointment is not linked to a referral or a lead on this screen, and the console does not record a visit against a referral — update the lead status in the receive-patient flow when the patient actually turns up.

## Related guides

- [PRM (Patient Relationship Management)](/docs/prm) — contacts, referrals, lead and deal status
- [Patient Dashboard](/docs/patient-dashboard) — the patient's clinical record
- [Doctor Revenue & Expense](/docs/doctor-revenue) — how referring-doctor (PRM) commission is paid
