Admin Application Level Configuration - hmislk/hmis GitHub Wiki

Application-Level Configuration

Overview

Application-level configuration options apply to the entire HMIS installation — every institution, every department, and every user. These are the global settings that control system-wide behaviour such as feature toggles, bill numbering rules, and integration credentials.

When to Use

  • Enabling or disabling a system-wide feature for all users
  • Changing global billing rules (e.g. bill number format)
  • Setting integration credentials (SMS gateway, API keys)
  • Reviewing all active configuration keys to diagnose unexpected behaviour

Navigating to Application Options

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

Required privilege: AdminInstitutions (Admin privilege recommended)

The Application Options Screen

The screen shows all application-level ConfigOption records in a searchable, filterable table.

Table Columns

Column Description
Key The configuration key name — sort/filter to find a specific key
Value Type Boolean, String, Decimal, Short Text, Long Text
Value The current value
Description What this option controls

Actions (Header Buttons)

Button What It Does
List Application Options Reloads and displays all application options
Reload Config Forces all active sessions to use the latest config values — use after changes
Export Selected Downloads selected options as a file (for backup or environment migration)
Import Imports a previously exported config file
Delete Selected Deletes the selected option records (use with care)
Excel Exports the visible table to Excel
Duplicates Navigates to a screen that identifies duplicate option keys

Editing an Option

  1. Click a row in the table to select it
  2. An edit form appears (inline or in the right panel depending on UI version)
  3. Update the value
  4. Save

Common Application-Level Configuration Keys

Key Type Purpose
Allow admin to force password change Boolean Enables the "Force Password Reset" button in user management
Enable filtering logged users name on the View Users Page Boolean Shows the Name column with filter in the user list
Bill Number Suffix for OPD_BILL_WITH_PAYMENT String Suffix appended to individual OPD bill numbers
Bill Number Suffix for OPD_BATCH_BILL_WITH_PAYMENT String Suffix appended to OPD batch bill numbers
Inward Admission - Mandatory Fields Enabled Boolean Requires completion of mandatory fields during inpatient admission
Inward Admission - Show Claimable Field Boolean Shows/hides the Claimable field on admission forms
DATABASE_DDL_VERSION Short Text Tracks the applied database schema version

After Making Changes

Always click Reload Config after changing application options. The reload forces the ConfigOptionApplicationController (application-scoped bean) to re-read all values from the database. Without a reload, active sessions may continue using cached values until they restart.

Technical Notes (Admin/Developer)

Application options are stored as ConfigOption entities with optionScope = OptionScope.APPLICATION and null institution/department/user. They are loaded into the ConfigOptionApplicationController (ApplicationScoped) on startup and on loadApplicationOptions(). Access is via configOptionApplicationController.getBooleanValueByKey(key), getShortTextValueByKey(key), etc.

Related Features