# Department Preferences ## Overview **Department Preferences** allow individual departments to customize HMIS features without affecting other departments or the entire institution. Each department can configure settings specific to their workflows and operational needs. **Key Concept:** Instead of a one-size-fits-all approach, departments with different requirements (pharmacy, nursing, finance, etc.) can enable or disable features independently. ## Who Uses Department Preferences? - **Department Heads/Administrators** — Configure preferences for their department - **Department Staff** — Benefit from customized workflows configured by their department head - **System Administrators** — Understand scope of department preferences vs. application-wide settings ## How Are They Different from Application-Wide Config? | Aspect | Application Settings | Department Preferences | |--------|----------------------|------------------------| | **Scope** | Applies to entire institution | Applies only to one department | | **Managed by** | System administrators (Admin privilege) | Department head/admin (Admin privilege) | | **Access** | `/admin/application_configuration` | `/admin/department_preferences` | | **Use Case** | Global rules, email gateways, system behavior | Department-specific workflows, feature toggles | ## Available Department Preferences ### Pharmacy Department #### Allow Disposal Issue to Same Department **Setting Key:** `Pharmacy - Allow Issue to Same Department` **Default:** Disabled (false) **What it does:** - When **enabled**, staff in a pharmacy can create disposal issues within their own department - When **disabled** (default), staff can only create disposal issues to other departments **Why use this?** - Some departments need to internally track disposal/waste management - Other departments prefer strict inter-departmental transfers for audit trails **Related:** See [Pharmacy Disposal Issue — Same Department](Pharmacy-Disposal-Issue-Same-Department.md) ## Managing Department Preferences See [Department Preferences — Administrator Guide](Department-Scoped-Preferences-Administrator-Guide.md) for step-by-step instructions on accessing and modifying preferences. ## Technical Details **Storage:** Department preferences are stored in the `ConfigOption` table with: - `scope` = `DEPARTMENT` - `department` = the department entity reference - `optionKey` = preference name (e.g., "Pharmacy - Allow Issue to Same Department") - `optionValue` = "true" or "false" **Code:** Preferences are queried and managed via `ConfigOptionApplicationController` methods: - `getBooleanValueByKeyForDepartment(key, department, defaultValue)` - `setBooleanValueByKeyForDepartment(key, department, value)` **Access Control:** Modifying department preferences requires the `Admin` privilege on your user account. ## Future Preferences This framework supports adding new department-specific preferences as needed: - Finance department — payment method restrictions - Nursing — specific admission workflows - OPD — consultation room assignments Submit requests to your system administrator for new preferences. --- **See Also:** - [Application Configuration](Application-Configuration.md) - [System Administration](System-Administration.md) - [Privileges and Access Control](Privileges-and-Access-Control.md)