Admin Specialities Catalog - hmislk/hmis GitHub Wiki
Admin — Specialities Catalog
The All Specialities catalog (entity Speciality) is the master list of clinical and professional specialities used on every Staff record — doctors, consultants, and non-doctor staff alike. It is different from the Doctor Specialities catalog (Admin — Doctor Specialities Catalog), which the channelling module uses.
Why two catalogs?
| Catalog | Entity | Used on | Used in screens |
|---|---|---|---|
| All Specialities | Speciality |
Staff.speciality |
The full staff editor (/admin/staff/staff.xhtml), the doctor speciality dropdown on the Doctors (Excluding Consultants) screen, all-staff reports, the OPD pay screen's speciality filter on the inward / OPD all-due path. |
| Doctor Specialities | DoctorSpeciality |
Consultant.speciality (via the consultant editor) |
The channelling module's booking screens, the consultant editor, the per-shift OPD pay screen's filter. |
The two catalogs exist for historical reasons. They are independent — adding Cardiology to one does not add it to the other. Most installations duplicate the names across both so users see identical labels regardless of which screen they are on.
Navigation
Top menu → Administration → Manage Staff → (Metadata tab) → All Specialities.
Path: /admin/staff/admin_speciality.xhtml.
Privilege required: AdminStaff.
Layout of the screen
Two-column layout:
- Left. Listbox of all specialities (with filter), preceded by Add / Delete / Download buttons.
- Right. Details form (ID, Speciality Name, Income Name) and a Save button.
Adding a speciality
- Click Add (green). The right-side form clears.
- Fill in:
- Speciality Name — display name as it should appear everywhere (e.g.,
Cardiology). - Income Name — used as the line label in financial / income reports when the income is attributed to this speciality.
- Speciality Name — display name as it should appear everywhere (e.g.,
- Click Save. The speciality appears in the listbox.
The ID field is read-only on the right; it is the internal database identifier and is shown for reference.
Editing a speciality
- Pick the speciality in the left listbox.
- Change the name or income name on the right.
- Click Save. Changes propagate everywhere the speciality is referenced. Past bills and reports do not need rebuilding — they always resolve the live name.
Editing a name across thousands of records is instant because each
Staffrow references the speciality by its ID, not by its name.
Deleting a speciality
- Pick the speciality.
- Click Delete (red) → confirm the dialog.
This soft-deletes the speciality (sets retired = true). It will not appear in active dropdowns. Staff records that already reference the deleted speciality continue to display it on past reports, but the dropdown on new edits will no longer suggest it.
To clear the speciality from all staff before deleting, edit the affected staff records first.
Downloading the speciality list
The Download button (green) on the toolbar exports the current listbox to an Excel file. The export does not respect the listbox filter — it always exports the full catalog.
Recommended naming conventions
- Plural forms. Cardiology (not Cardiologies). The catalog name should describe the discipline, not the holder.
- No abbreviations. Spell out Ear, Nose and Throat rather than ENT, unless your reports already use the abbreviation.
- Match Doctor Specialities exactly (case, spelling, punctuation) — the two are independent but should look identical from the user's point of view.
How Speciality is used downstream
| Use | Where |
|---|---|
| Filter on full Staff List | staff_list.xhtml column filter |
| Filter on inward / OPD all-due payment | payment_staff_bill.xhtml and inward_bill_professional_payment.xhtml |
| Filter on financial WHT report | reports/financialReports/wht.xhtml |
| Speciality-wise income report | reports/statisticsReports/speciality_wise_demographic_data.xhtml |
| Sort and group on payroll reports | various HR salary reports |
| Display on staff lists and bill headers | various |
Limitations
- No subspecialty hierarchy. Specialities are a flat list.
- No code field, only a Name and an Income Name. If you need codes, prefix the name (e.g.,
01 - Cardiology). - Soft delete only — there is no in-app reactivate or hard delete.
Related articles
- Admin — Doctor Specialities Catalog — the parallel channelling catalog
- Admin — Practitioner Module Configuration Overview
- Practitioner — Register Other Staff
- Practitioner — Register a Doctor