System settings

Settings holds the installation-wide configuration: values the suite reads, which modules are on, the colours, the hospital's wording, and tools for checking notifications and system health. Changes here affect everyone.

Open Administration › Settings. You need view_settings to look and edit_settings to change anything. The notification tools also need view_notification_tools and send_test_notifications. Each tab can be linked to directly, for example Settings › Health.

The tabs, left to right: Variables, Modules, Appearance, Terminology, WhatsApp, JWT Generator, Notifications and Health.

Variables

A table of named values the suite reads. Each row has a Key, a Label, a Value and a Description. Values are JSON: text in quotes ("UATH"), numbers (48), true / false, lists or objects.

Settings › Variables.
  1. The tabs.
  2. Key. The identifier the suite looks up, such as approvals.require_comment. Do not rename existing keys.
  3. Value. The value, as JSON.
  4. Add variable. Adds an empty row. Remove on a row deletes it.
  5. Save changes. Saves the whole table at once.

Save replaces the whole list. Change one value at a time, check the page reloads without an error, and never remove a row you do not recognise. Modules, the colour scheme and terminology have their own tabs; change them there, not here.

Useful variables

KeyWhat it doesHospital value
org.name, org.short_name, org.address, org.email_domainThe organisation's name, abbreviation, address and staff email domain.University of Abuja Teaching Hospital, UATH, …, uath.gov.ng
org.currency, org.fiscal_year_start, org.working_hoursCurrency, start of the financial year (MM-DD), official hours.NGN, 01-01, 08:00–16:00 Mon–Fri
approvals.require_commentApprovers must comment on every decision.true
approvals.require_signatureApproving needs a signature on the approver's profile.false until everyone has uploaded one
approvals.allow_returnApprovers may return a request for correction.true
approvals.critical_amountRequests and payments at or above this amount are flagged critical on My Desk.1000000
approvals.sla_default_hoursTurnaround used when a step sets none.48
approvals.escalate_after_factorHow many times its turnaround a step may overrun before it can be escalated.2
approvals.stalled_daysA chain that has not moved for this many days is flagged critical.7
memos.email_mode, memos.email_batch_sizeHow published memos are emailed. See Memo templates."audience_bcc", 80
dispatch.default_group_codesUnit codes that receive every approved request unless its template names its own offices.REC-SEC, REC-OPN, CMD-SEC, CMAC, DAO
dispatch.registry_group_codesThe registry offices. Change it from Registry › Registry offices.REC-SEC, REC-OPN, REC-SEN
dispatch.finance_group_codeFinance / Accounts office added to the dispatch of payment-linked requests."FIN-021"
organisation.profileName, address, contact lines and logo used on printed documents.Set by the seed

Modules

Switch whole parts of the suite on or off for everyone. A module that is off is hidden from the menu, its pages show a notice, and its data cannot be reached. Dashboard, Settings, Notifications and Profile are always on. Switching off Mails also switches off Mail Control.

Settings › Modules.
  1. A module switch. Flip the ones you want to change.
  2. Save. Nothing changes until you save. Reset undoes unsaved flips.

The switchable modules are: AI Assistant, Projects, Users, User Groups, Events, Meetings, Requests, Payments, Invoices, Customers, Expenses, Accounts, Payroll, Audit Logs, Approvals, Role & Permissions, Memos, Memo templates, Registry, Documents, Fixed Assets, Mails and Mail Control. Switching a module off does not delete its data; switching it back on brings everything back. Modules marked page only (Users, Departments & Units, Customers, Accounts) lose just their page and menu entry, because other parts of the suite still look people and units up.

Appearance

Choose the design system: the colours, corner radius and shadows used across the whole installation, including the sign-in page. Each preset has light and dark variants; each person still picks light or dark from their own account menu.

Settings › Appearance.
  1. Preview (the eye). Shows the preset on your screen only, without saving. Stop previewing goes back.
  2. Apply. Saves the preset for everyone.

Terminology

The words the suite uses for its own concepts: menu entries, page headings, statuses and field labels. Only the wording changes; stored data and reports are unaffected.

Settings › Terminology with the hospital's words.
  1. Your wording. Each row names the default word and where it appears; an empty box shows the default greyed out. Type the hospital’s word, or select the round arrow beside it to go back to the default.
  2. Save terminology. Discard changes undoes unsaved edits.

The hospital's words (from the seed):

DefaultHospital's word
User Groups / User groupDepartments & Units / Department / Unit
User Group HeadHead (HOD / HOU)
Request types / Request typeRequest Templates / Request template
Payment types / Payments / paymentVoucher Types / Payment Vouchers / payment voucher
MemosMemos & Circulars
Approval workflowsApproval routes
Approvals / Needs action / Waiting on others / StepMy Desk / Action required / In progress (with others) / Level
Pending approval (request), In review (voucher, memo)In progress
Scheduled / Paid (voucher)Authorized — awaiting disbursement / Disbursed
Published (memo)Circulated
Reference number / Staff number / SubmitterRef. No. / Staff ID / Originator

WhatsApp

A technical view for the ICT team. It streams the messages the WhatsApp bot publishes on the message broker (NATS), so you can check the bot is connected. Enter a Chat JID (for example 1234567890@c.us) to filter one chat; Raw events (last 50) shows the underlying data. People with edit_settings can also send a test message into a chat.

This tab shows real conversations as they arrive. Open it only when you need to, and never share screenshots of it.

JWT Generator

A technical tool for the ICT team: it creates a signed token that lets the AI assistant's tools act as a chosen user, for testing integrations. Choose Select user, check the claims that fill in (userId, userGroupId, email, phone, issue and expiry times), then select Generate token and Copy. Needs edit_settings.

A token acts as that person until it expires. Keep expiry short, never generate one for a real member of staff unless you have to, and never paste it anywhere public.

Notifications

Checks the three ways the suite can alert people, and sends test notifications.

In-app live feed
The bell in the header. Shows whether your browser is connected, with Allow notifications to allow browser pop-ups.
Desktop push (ntfy, self-hosted)
Your personal topic URL for the ntfy app, with Rotate topic to issue a new one. “Not configured on this server” means ntfy is not set up.
Browser push (Web Push / VAPID, optional)
Push to the browser even when the suite is closed.

To send a test: tick people under Selected Users, give a Title, Body and optional Action URL (the page it opens, such as /notifications), then select Send test notification. Send tests to yourself or a test account, not to real staff.

Health

A live check of every service the suite depends on. It refreshes every 30 seconds while the tab is open; Refresh now checks at once.

Settings › Health on the local test system (some services are not set up there).
  1. Refresh now.
  2. Components. Each service with its Status (Healthy, Degraded, Unhealthy, Not configured), Latency and a Message.

The checks cover the database, the sign-in service, object storage (files), transactional email (SMTP), the message broker and its document and notification streams, the background worker, document conversion (Gotenberg), meetings, push notifications and the AI assistant. The banner reads All required checks passing or Required checks failing. Not configured on an optional service is not a fault.

Related