Admin Department Level Configuration - hmislk/hmis GitHub Wiki

Department-Level Configuration

Overview

Department-level configuration options apply to a single department within an institution. They provide the most granular control in the configuration hierarchy, overriding both institution and application defaults. This allows individual departments to have unique behaviours — for example, enabling a feature in the ICU but not in general wards.

When to Use

  • Enabling a feature for a specific department only (e.g. a specialist billing workflow)
  • Setting department-specific display or operational preferences
  • Overriding an institution default for one particular counter or ward

Navigating to Department Options

  1. Click AdministrationManage Institutions
  2. Select Department Options from the institution management index

Required privilege: AdminInstitutions

The Department Options Screen

  1. Select the Department from the dropdown (filtered to your logged-in departments)
  2. The table shows all ConfigOption records scoped to that department
  3. Edit values inline or add new department-specific options
  4. Save changes

Department Preferences

A companion page, Department Preferences, provides a simplified user interface for commonly used department-level settings (printer type, default views, etc.) without requiring direct ConfigOption editing.

Typical Department Configuration Keys

Key Effect
Printer type (e.g. Bill Printer Type) Controls whether bills print on A4, POS, or 5×5 paper for this department
Feature-specific toggles Enable/disable optional features for this department's workflows

The exact keys depend on which modules are configured for the department. System administrators can review all available keys in the Application Options screen.

Scope Priority Reminder

Department options sit at the top of the override hierarchy:

  1. USER scope (highest)
  2. DEPARTMENT scope ← you are configuring this level
  3. INSTITUTION scope
  4. APPLICATION scope (lowest)

Technical Notes (Admin/Developer)

Department-scoped options are stored as ConfigOption entities with optionScope = OptionScope.DEPARTMENT and a non-null department field. configOptionController.department holds the selected department. Access is via configOptionController.getBooleanValueByKey(key, department).

Related Features