Admin Doctor Specialities Catalog - hmislk/hmis GitHub Wiki
Admin — Doctor Specialities Catalog
The Doctor Specialities catalog (entity DoctorSpeciality) is the list of clinical specialities used by the channelling module to categorise consultants for booking and scheduling. It is a separate list from the All Specialities catalog (Admin — Specialities Catalog).
Channel users see this catalog on the Consultant edit screen and on every channel booking filter. The channelling team also covers the consultant-side workflow in Channel — Managing Consultants and Specialities.
Why two catalogs?
See the explanation in Admin — Specialities Catalog. The short version:
Speciality("All Specialities") is on every Staff record.DoctorSpecialityis on Consultant records only and drives channelling.
A typical installation duplicates the names across both catalogs so users see identical labels regardless of context.
Navigation
Top menu → Administration → Manage Staff → (Metadata tab) → Doctor Specialities.
Path: /admin/staff/admin_doctor_speciality.xhtml.
Privilege required: AdminStaff.
Layout of the screen
Two-column listbox + details form, identical in shape to the All Specialities screen:
- Left column: Add / Delete / Excel buttons, then a filterable listbox.
- Right column: details form with Speciality Name and Income Name, plus a Save button.
Adding a doctor speciality
- Click Add (green). The right-side form clears.
- Enter:
- Speciality Name — display name used on channel booking screens, the consultant editor, the doctor card. Required.
- Income Name — line label in channel income reports.
- Click Save. The speciality appears in the listbox.
Editing a doctor speciality
- Select the row in the listbox.
- Change the name or income name.
- Click Save. Changes propagate immediately; past channel bookings show the new label.
Deleting a doctor speciality
- Select the row.
- Click Delete (red) → confirm.
Soft-deleted (sets retired = true). The speciality vanishes from active channelling dropdowns. Existing consultants that referenced it continue to display the old name on past reports.
If you need to switch a group of consultants to a different speciality before deleting the old one, open each consultant from Manage Staff → Consultant and update the speciality field.
Excel export
The Excel button (green) on the toolbar exports the full catalog (regardless of the listbox filter) to an .xlsx file.
Recommended practice
- Match All Specialities exactly. Same case, same spelling, same punctuation. Users do not know about the two catalogs and become confused if a doctor's profile shows Cardiology in one place and Cardio in another.
- Keep the catalog short. Channel booking filters are dropdowns; a long list slows users down. Group fine distinctions in a single broader entry (e.g., one Internal Medicine rather than five sub-divisions).
- Avoid retiring without replacement. If you retire a speciality that consultants currently reference, channel filters and reports start showing blank values. Repoint the consultants first.
How Doctor Speciality is used downstream
| Use | Where |
|---|---|
| Consultant editor speciality dropdown | admin_doctor_consultant.xhtml |
| Per-shift OPD pay-doctor speciality filter | pay_doctor.xhtml |
| Person Institution speciality filter | person_institution.xhtml |
| All channel booking and scheduling filters | various channel pages |
| Channel income and session reports | various |
Limitations
- Same as All Specialities — flat list, no subspecialty, no code field, soft delete only.
- The "many-to-many doctor-to-speciality" interface that some channelling-side documentation describes is not implemented in the current schema: a
Consultanthas a singlespecialityvalue, not a collection.