Last updated: 25 August 2026
Doctor fees in NICE HMS are commission-based, not salary-based. Every billable item (test, procedure, service) can carry a commission percentage for up to two doctor roles:
perceatgeToLedger).prmPercent).The commission is stored as a percentage on each invoice line. The actual amount paid to the doctor is then booked manually through a "Doctor Expense Booking" journal voucher — NICE HMS does not auto-compute or auto-pay doctor commission.
"Consignee" and "consultant" are the same role in NICE HMS — the doctor who attends the patient and earns commission per item. This is the encounter's attending participant (FHIR code ATND).
consigneeLedger) with its percentage (perceatgeToLedger).A separate role — the doctor who referred the patient (FHIR participant code REF). Each item line can also carry:
refDocName — the referring doctor's name.prmPercent — the referring doctor's commission percentage.The doctor↔item↔revenue mapping lives on the item table (one row per invoice line):
| Field | Meaning |
|---|---|
ledgerId / consigneeLedger | The consignee (consultant) account |
perceatgeToLedger | Consignee commission % |
refDocName | Referring doctor name |
prmPercent | Referring doctor commission % |
totalItemAmount, gstAmount | Line value used in reports |
The percentages are copied from the item master (ORG_PANEL_AND_TEST) when the invoice is created. See Billing Overview and Item Management.
Doctor revenue is attributed to the voucher date (the date the invoice/receipt was recorded) — not the admission or discharge date.
MAX(voucher.date) for that encounter).There is no admission-date / discharge-date logic anywhere in the doctor-revenue reports.
Some doctor reports only include encounters that are fully settled (no outstanding balance):
| Report | Balance rule |
|---|---|
| Consignee Report | balance <= 0 (fully paid or over-paid) |
| Consignee Month Wise | encounterBalance = 0 (exactly settled) |
| PRM Doc Month Wise | encounterBalance = 0 |
| Primary Consultant Insights | No balance filter (shows revenue regardless of payment) |
Balance is computed as INVOICE + PAYMENT − CREDIT_NOTE − RECEIPT.
Reports can be split by encounter type using the encounter display name:
OPD visit … → outpatientAdmission visit … → inpatientThe Encounter Month Wise report filters by encounterName LIKE 'OPD%' or 'Admission%'. The Primary Consultant Insights report covers OPD and IPD together and does not split them.
In the settled-report view (Consignee / PRM Month Wise), any outstanding balance excludes the entire encounter — the balance must be exactly 0. A partially paid encounter stays out of the report until it is fully settled.
The Primary Consultant Insights report ignores payment status entirely.
| Report | Route | What it shows |
|---|---|---|
| Primary Consultant Revenue Insights | /admin/mis-reports/creditors/primary-consultant-insights-report | Item revenue per attending consultant for the year (OPD + IPD, no balance filter) |
| Doctor Dues | /admin/mis-reports/creditors/doctor | What the hospital owes each consignee: crAmount − drAmount |
| Consignee Report / Month Wise | /admin/mis-reports/creditors/consignee-month-wise | Settled consignee commission, month-bucketed |
| PRM Doc Month Wise | /admin/mis-reports/creditors/prm-month-wise | Settled referring-doctor (PRM) commission, month-bucketed |
| Encounter Month Wise | /admin/mis-reports/month-wise/encounter-month-wise | Revenue vs collection vs balance, OPD or IPD |
See MIS Reports for the full report catalogue.
Doctor commission is not paid automatically. An accountant records each payment as a manual journal voucher:
/admin/accounts/journal-doctor/).DOCTOR_EXPENSE_BOOK voucher that credits the doctor's consignee account (records the amount owed).DOCTOR_EXPENSE_CANCEL voucher to reverse a previously booked amount.PAYMENT voucher to settle the balance.The amount is whatever the accountant enters — the code does not multiply total × percent automatically.
Doctor Dues (consignee ledger balance) is computed as:
crAmount = sum of DOCTOR_EXPENSE_BOOK + RECEIPT vouchersdrAmount = sum of DOCTOR_EXPENSE_CANCEL + PAYMENT vouchersbalance = crAmount − drAmount → the amount currently owed to the doctor| Table | Role |
|---|---|
item | One row per invoice line; carries consignee ledger, percentages, referring doctor, and line amounts |
voucher | All financial transactions (INVOICE, RECEIPT, PAYMENT, DOCTOR_EXPENSE_BOOK, DOCTOR_EXPENSE_CANCEL, …) |
patientDetails | Universal ledger/account table; accountType includes CONSIGNEE (doctors) |
ORG_PANEL_AND_TEST | Item/service master; supplies ledger, commission %, and prices |
doctorDetails | Hospital staff doctors (clinical, not the revenue ledger) |
refferingDoctor | Referring-doctor directory (PRM master) |