HCM Console Configuration
Overview
This page explains how to configure the HCM (Health Campaign Management) Console using MDMS. These configurations control how campaigns are created, validated, displayed, and executed across web and mobile apps.
You will configure:
Boundaries and hierarchies
Excel upload validations
Campaign and delivery behaviour
App modules, forms, and UI rules
Supporting configurations (login, help, IDs, templates)
See HCM Service Configuration for details.
Steps
Set Up Boundary Master Data (Mandatory)
Boundaries are the foundation of every campaign. You must configure a boundary hierarchy before creating campaigns or microplans.
1.1 Create a Boundary Hierarchy
If a hierarchy does not already exist, create one from the Boundary Management screens.
Example (Hierarchy Type: ADMIN)
Country → Province → District → AdministrativePost → Locality → VillageYou can define hierarchies at any depth based on campaign needs.
1.2 Configure Hierarchy in MDMS
Navigate to MDMS and configure the hierarchy:
Module Name:
HCM-ADMIN-CONSOLEMaster Name:
HierarchySchema
Use the same hierarchy for:
Console
Campaign
Microplan
Keep these values consistent:
Hierarchy name
Lowest hierarchy level
Split boundary level
Example
Hierarchy:
AdministrativePostLowest Level:
Locality
1.3 Upload Boundary Data
Go to Boundary Data Management
Click Create New Boundary Data
Select the hierarchy
Download the Excel template
Fill in boundary data
Upload the file
Important
Headers change automatically if hierarchy levels change
Data must match the template exactly
1.4 Boundary Localisation
Boundary names are automatically localised during upload.
Localisation Module Format
hcm-boundary-${BOUNDARY_HIERARCHY_TYPE}Must be lowercase
Must match the hierarchy type
Configure Hierarchy Behaviour (MDMS)
The hierarchy schema controls how boundaries are used during campaign flows.
MDMS Location
Module:
HCM-ADMIN-CONSOLEMaster:
HierarchySchema
Key Fields
hierarchyType
Contains the different types of hierarchies supported.
Each hierarchy defines the levels of boundaries available (e.g., Province → District → Locality).
isActive
Determines which hierarchy type will be used to create a campaign.
Only the hierarchy marked as
isActive = truewill be applied.
lowestHierarchy
Represents the lowest boundary level visible to users on the boundary selection screen during campaign creation.
Example: If
lowestHierarchy = Locality, the campaign supervisor will select boundaries up to the locality level.
splitBoundariesOn
Defines the hierarchy level on which the target sheet tabs will be divided.
Example: If set to District, separate target sheets will be created per district.
consolidateUsersAt
Used during microplan integration.
Ensures user sheets are consolidated at a particular boundary level so that campaign user assignments (e.g., distributors, supervisors) are correctly populated.
⚠️ Recommendation - Users can change the lowest hierarchy, but it is advised to keep it till the mentioned level because a lot of boundaries will increase the validations and the load on the server to load all the boundaries
Hierarchy Schema Sample MDMS Data
[
{
"type": "microplan",
"group": [
"MALARIA"
],
"hierarchy": "MICROPLAN",
"department": [],
"lowestHierarchy": "VILLAGE",
"highestHierarchy": "COUNTRY",
"splitBoundariesOn": "DISTRICT",
"consolidateUsersAt": "LOCALITY"
},
{
"type": "boundary",
"group": [
"MALARIA"
],
"hierarchy": "MICROPLAN",
"department": [],
"lowestHierarchy": "VILLAGE",
"highestHierarchy": "COUNTRY",
"splitBoundariesOn": "DISTRICT",
"consolidateUsersAt": "LOCALITY"
},
{
"type": "campaign",
"group": [
"MALARIA"
],
"hierarchy": "NEWTEST0002",
"department": [],
"lowestHierarchy": "ADMINISTRATIVEPOST",
"splitBoundariesOn": "DISTRICT",
"consolidateUsersAt": "LOCALITY",
"highestHierarchy": "COUNTRY"
},
{
"type": "default",
"group": [
"MALARIA"
],
"hierarchy": "DEFAULTBOUNDARYNEWONE",
"department": [],
"lowestlevel": "ADMINISTRATIVEPOST",
"splitBasedOn": "DISTRICT",
"consolidateUsersAt": "LOCALITY",
"highestHierarchy": "COUNTRY"
},
{
"type": "console",
"group": [
"MALARIA"
],
"hierarchy": "ADMIN",
"department": [],
"lowestHierarchy": "Posto Administrativo",
"splitBoundariesOn": "Distrito",
"consolidateUsersAt": "LOCALITY",
"highestHierarchy": "COUNTRY"
}
]Supported Hierarchy Types
In the HierarchySchema configuration, different type values are used to define the purpose of each hierarchy. These types determine how the hierarchy will be applied during different stages of the campaign.
Here, we have 4 types used in the campaign flow:
"type": "console": Used for the Campaign creation flow. Defines the boundary hierarchy structure that will be visible when creating a new campaign"type": "microplan": Used for the Microplan creation flow. Ensures that microplans are aligned to the configured boundary hierarchy."type": "campaign": Used for the Boundary Management creation flow. Specifies the hierarchy for managing campaign boundaries once a campaign is set up."type": "default": Serves as the default hierarchy for Boundary Management creation flow and holds default settings.
We support the development and handling of various use cases. However, we recommend using the same hierarchy configuration across all types to ensure a seamless flow. This allows for creating a microplan within the same hierarchy, building campaigns on it, and managing the boundary hierarchy consistently.
Configure Excel Upload Validations
All Excel uploads (users, facilities, targets) are validated using schemas.
MDMS Location
Module:
HCM-ADMIN-CONSOLEMaster:
schemas
Validations apply at:
UI level
Backend level
What You Can Control
Common Schema Properties
isRequired:
Marks the columns that must be filled.
true→ the column is mandatory.false→ the column is optional.
orderNumber:
Defines the position of the column in the Excel sheet.
Ensures the columns are uploaded in the correct order.
title
Represents the schema title.
Each title is linked to the type of upload (e.g., user upload, campaign upload, etc.).
enum:
Lists the allowed values for a field.
Ensures that only predefined options can be entered (e.g.,
"Male","Female","Other"for gender).
numberProperties:
Applies to numeric fields.
Defines constraints such as:
uniqueness (whether duplicate values are allowed),
required status,
minimum/maximum limits.
stringProperties:
Applies to text fields.
Defines rules such as:
required status,
uniqueness,
length restrictions (minimum/maximum characters),
content constraints (e.g., regex patterns).
Validation Types
Roles → Add or remove roles to be validated.
Employment Type → Update the
enumlist to add or remove types.Headers → All headers are mandatory by default, but you can toggle this by setting
isRequired = true/false.
Facility Type → Add or delete facility categories.
Facility Status → Add or delete status options.
Facility Usage → Add or delete usage options.
Capacity → Adjust
minimumandmaximumvalues.Facility Name → Update constraints for
minLengthandmaxLength.Headers → All headers are mandatory by default; adjust using
isRequired.
Target → Adjust
minimumandmaximumvalidations.Boundary Code → Mandatory field.
Target Header → Mandatory field.
Campaign Type → Based on the selected campaign type, boundary targets are updated.
Custom Columns → New target columns can be introduced if required.
Since the V1 API is deprecated, it used HCM-ADMIN-CONSOLE.adminSchema, which is no longer used. All V2 APIs now use HCM-ADMIN-CONSOLE.schemas. Add the admin schema when introducing a new campaign or project type.
Configure Attributes (Beneficiary Data)
The schema includes a list of attribute configurations, where each attribute is:
Identified by a unique key,
Defined with a code, and
Linked to an internationalisation key (i18nKey) for multi-language support.
Example AttributesThe following attributes are available for use in campaigns to capture beneficiary information:
Age
Height
Weight
Gender
These attributes ensure that consistent, standardised data points are collected across campaigns.

The attribute dropdown in the system is dynamically populated from the attributeConfig schema. This schema defines the set of attributes available for selection during campaign setup or data entry.
Module Name:
HCM-ADMIN-CONSOLEMaster Name:
attributeConfig
Configure Upload Processing Timings
Controls how often the system checks the upload status. The schema defines the rules for how frequently the system should call the search API after a file upload. The purpose of these calls is to check the validation status of the uploaded file.
Module Name:
HCM-ADMIN-CONSOLEMaster Name:
baseTimeOut
How It Works
Base Time
Defines the minimum interval after which the search API is triggered.
Dynamic Interval Calculation
The actual interval = baseTime × number of fields in the uploaded sheet.
This interval is constrained by:
Minimum base time (lower limit), and
maxTime (upper limit).
Search API Calls
The search API is called repeatedly at the calculated interval.
Calls stop only when a successful or failed response is received.
TimelineRefetch
Configured to call the getProcessAPI of the timeline periodically.
Ensures the process status is kept up to date after a certain interval.
Advised not to change the base time and max time to prevent delay in validation progress.
Configure Campaign & Delivery Behaviour
The delivery configuration schema is used to define how deliveries are displayed in the system. It distinguishes between:
Direct Deliveries → Items or services provided directly to the beneficiary.
Indirect Deliveries → Items or services provided through an intermediary (e.g., via a facility, distributor, or supervisor).
Module Name:
HCM-ADMIN-CONSOLEMaster Name:
deliveryTypeConfig
Mail Configurations
The mailConfig schema is used to define the default email ID for contacting the L1 support team or the implementation team. This comes into play when a user requests a hierarchy that is not currently available in the system.
Module Name:
HCM-ADMIN-CONSOLEMaster Name:
mailConfig
Mail Config Sample MDMS Data
[
{
"mailId": "[email protected]"
}
]Operator Configuration
The operatorConfig schema defines all the operator options that can be applied to attributes. These operators are used in the system for filtering, validation, and logical conditions during campaign configuration and execution.
Module Name:
HCM-ADMIN-CONSOLEMaster Name:
operatorConfig

Product Type Configuration
The productType schema defines the list of resource types that can be selected in the system. If a required resource type is not already available, it can be added through this schema. Once added, the new resource type will automatically appear in the resources dropdown.
Module Name:
HCM-ADMIN-CONSOLEMaster Name:
productType

ReadMe Configuration
The ReadMeConfig schema defines the information messages that are displayed both in the UI and in the ReadMe sheet of the downloaded Excel templates. These messages act as instructions for users, guiding them on how to correctly fill in the upload templates.
Module Name:
HCM-ADMIN-CONSOLEMaster Name:
ReadMeConfig

Schema Fields
type: Defines the upload type (e.g., User, Facility, Target).
header: The text identifier for the header (localised using the localisation module).
isHeaderBold: Boolean → whether the header should be displayed in bold.
inSheet: Boolean → whether the header should appear in the downloaded Excel sheet.
inUiInfo: Boolean → whether the header should appear in the UI information panel.
text: The text identifier for the description (localised).
isStepRequired: Boolean → whether the description is a mandatory step for users.
Localisation
All header and text values are stored as codes, which are then mapped through the localisation module.
This ensures multi-language support for instructions across the platform.
hcm-admin-schemasBelow is an example of how data is entered into the read-me schema for the headers and their description:
Login & Privacy Configuration
To display the Privacy Policy component on the login page, you need to add the required configurations in MDMS.
Module Name:
LoginConfigMaster Name:
commonUiConfig
In version v0.4, the login page was revamped, and the configuration was updated accordingly.
Steps
Navigate to the MDMS configuration for the login page.
Locate the module:
LoginConfig.In the
commonUiConfigmaster, add or update the fields as required.You can customise the fields (add or delete) depending on your implementation needs.
For detailed configuration examples and usage, refer here.
LoginConfig Sample MDMS Data
[
{
"texts": {
"header": "CORE_COMMON_LOGIN",
"submitButtonLabel": "CORE_COMMON_CONTINUE",
"secondaryButtonLabel": "CORE_COMMON_FORGOT_PASSWORD"
},
"title": "login",
"inputs": [
{
"key": "username",
"type": "text",
"label": "CORE_LOGIN_USERNAME",
"populators": {
"name": "username",
"error": "ERR_USERNAME_REQUIRED",
"validation": {
"required": true
}
},
"isMandatory": true
},
{
"key": "password",
"type": "password",
"label": "CORE_LOGIN_PASSWORD",
"populators": {
"name": "password",
"error": "ERR_PASSWORD_REQUIRED",
"validation": {
"required": true
}
},
"isMandatory": true
},
{
"key": "city",
"type": "dropdown",
"label": "CORE_COMMON_CITY",
"disable": false,
"populators": {
"name": "city",
"error": "ERR_HRMS_INVALID_CITY",
"mdmsConfig": {
"select": "(data)=>{ return Array.isArray(data['tenant'].tenants) && Digit.Utils.getUnique(data['tenant'].tenants).map(ele=>({code:ele.code,name:Digit.Utils.locale.getTransformedLocale('TENANT_TENANTS_'+ele.code)}))}",
"masterName": "tenants",
"moduleName": "tenant",
"localePrefix": "TENANT_TENANTS"
},
"optionsKey": "name"
},
"isMandatory": true
},
{
"key": "check",
"type": "component",
"disable": false,
"component": "PrivacyComponent",
"populators": {
"name": "check"
},
"customProps": {
"module": "HCM"
},
"isMandatory": false,
"withoutLabel": true
}
]
}
]configure banner images relevant to the product deployment and use case
Policy Configurations
This configuration displays the data in the privacy pop-up. An example of the configuration is shown below:
Policy MDMS Data
{
"header": "PRIVACY_HEADER",
"module": "HCM",
"contents": [
{
"header": "PRIVACY_HEADER_1_SUB_1",
"descriptions": [
{
"text": "PRIVACY_HEADER_1_SUB_1_DESC_1",
"type": null,
"isBold": false
},
{
"text": "PRIVACY_HEADER_1_SUB_1_DESC_2",
"type": null,
"isBold": false
},
{
"text": "PRIVACY_HEADER_1_SUB_1_DESC_3",
"type": null,
"isBold": false
},
]
},
{
"text": "PRIVACY_HEADER_9_SUB_9_DESC_5",
"type": null,
"isBold": false,
"subDescriptions":[
{
"text": "PRIVACY_HEADER_9_SUB_9_DESC_5_SUBDESC_1",
"type": null,
"isBold": false,
"isSpaceRequired": true
},
{
"text": "PRIVACY_HEADER_9_SUB_9_DESC_5_SUBDESC_2",
"type": null,
"isBold": false,
"isSpaceRequired": true
}
]
}
]
},In the schema:
Type can be the following:
null:When
typeisnull, it indicates that the description is just plain text.
point:When
typeis set topoint, it likely means that the description should be displayed as a bullet point or list item.
step:When
typeis set tostep, it suggests that the description is part of a sequence of steps.
subdescriptions: to show the sub-descriptions at the point.
Date with Boundary Configurations
This configuration is used when you want to update the dates with or without the selected boundaries. If the flag is false, it updates the dates at the country level by default. If you want to update the dates at the lower boundary levels, then make the flag true.
Master Name:
HCM-ADMIN-CONSOLEModuleName:
dateWithBoundary
Project Type Configurations
This configuration is now used in place of the delivery configuration.
This is used to store all the pre-required conditions for the delivery conditions screens.
Master Name:
HCM-ADMIN-CONSOLEModuleName:
projectTypes
ProjectTypes MDMS Data
{
"id": "ea1bb2e7-06d8-4fe4-ba1e-f4a6363a21be",
"name": "configuration for Multi Round Campaigns",
"code": "MR-DN",
"group": "MALARIA",
"type": "multiround",
"beneficiaryType": "INDIVIDUAL",
"eligibilityCriteria": [
"All households having members under the age of 18 are eligible.",
"Prison inmates are eligible."
],
"taskProcedure": [
"1 bednet is to be distributed per 2 household members.",
"If there are 4 household members, 2 bednets should be distributed.",
"If there are 5 household members, 3 bednets should be distributed."
],
"resources": [
{
"productVariantId": "PVAR-2024-05-09-000331",
"isBaseUnitVariant": false,
"name": "SP 500mg"
},
{
"productVariantId": "PVAR-2024-05-09-000332",
"isBaseUnitVariant": true,
"name": "SP 250mg"
}
],
"observationStrategy": "DOT1",
"validMinAge": 3,
"validMaxAge": 64,
"cycles": [
{
"mandatoryWaitSinceLastCycleInDays": null,
"startDate": 1714329000000,
"endDate": 1715279400000,
"id": 1,
"deliveries": [
{
"id": 1,
"deliveryStrategy": "DIRECT",
"mandatoryWaitSinceLastDeliveryInDays": null,
"doseCriteria": [
{
"condition": "3<=age<11",
"ProductVariants": [
{
"productVariantId": "PVAR-2024-05-09-000331", // should be set according to the environment
"quantity": 1,
"name": "SP 500mg"
},
]
},
]
},
]
},
]
},This is the sample data for the project type - MR-DN
Explanation for the MDMS Data -
Project Types: Three main project types (
LLIN-mz,MR-DN, andIRS-mz) with unique configurations.Cycles and Deliveries:
Each project type contains cycles, and each cycle contains multiple deliveries.
Deliveries include details such as
deliveryStrategy,doseCriteria, andProductVariants.
Resources: A list of resources specific to each project type.
Eligibility Criteria: Contains a list of conditions for each project type.
Other Configurations:
attrAddDisable,deliveryAddDisable, and similar attributes determine UI behaviour.
Requirements:
Mandatory to set the product variant ID according to the environment.
"ProductVariants": [
{
"productVariantId": "PVAR-2024-05-09-000331", // should be set according to the environment
"quantity": 1,
"name": "SP 500mg"
},
]Roles For Checklist
Master Name:
HCM-ADMIN-CONSOLEModuleName:
rolesForChecklist
This master data is used to show the dropdown of roles in the checklist screens -
Microplan Integration
Master Name:
HCM-ADMIN-CONSOLEModuleName:
microplanIntegration
This master is utilised for the microplan data fetching. Here, 'type' refers to the data template that needs to be filled. 'To' and 'from' pertain to the microplan data, and while populating campaign data, various filter conditions, such as 'includes', or 'equals', can be applied.
IdGen Configuration
To enable the generation of unique identifiers via the idGen service, the following data must be added to the MDMS under moduleName=common-masters and masterName=IdFormat.
Master Name: common-masters
ModuleName: IdFormat
Ensure both configurations are added to MDMS before proceeding with ID generation.
troubleshooting if any user creation or campaign creation is due to the number generation
Sequence Management in PostgreSQL
The IDGen service relies on PostgreSQL sequences to generate unique identifiers. If the sequences are not automatically created during ID generation, they must be manually created in the database.
Sequence for Usernames
To create a sequence for usernames, execute the following SQL script:
Sequence for Campaigns
To create a sequence for campaign IDs, execute the following SQL script:
Target Configuration
This configuration is used to define the mapping of target-related data from the target sheet to different beneficiary types. Each beneficiary type can be associated with one or more columns from the target sheet, which hold the respective target values.
Master Name:
HCM-ADMIN-CONSOLEModuleName:
targetConfigs
Key Details:
campaignType: Specifies the campaign type this configuration applies to (e.g., "LLIN-mz").
beneficiaries: A list of beneficiary types, each having:
columns: The columns in the target sheet that map to this beneficiary type.
beneficiaryType: The type of beneficiary (e.g., "INDIVIDUAL", "HOUSEHOLD", "PRODUCT").
Help Tutorial
This configuration is used to define help tutorial content for the users during the flow. It provides contextual help videos, guided tours, and documentation links based on the current screen.
Master Name:
commonUiConfigModuleName:
HelpTutorial
tours (Guided Tour Steps)
For interactive page walkthroughs, each tour step contains:
title
string
Tour step title
target
string
CSS selector for the target element (e.g., .module-card)
content
string
Description text for the tour step
placement
string
Tooltip placement (top, bottom, left, right)
disableBeacon
boolean
Whether to disable the beacon animation
How It Works
module
The application module this help content belongs to (e.g., campaign).
helpContent
Array of help items to display. Each item contains:
title
string
Yes
Localization key for the help item title
url
string
Yes
URL to the tutorial video or documentation
icon
string
Yes
URL to the icon/thumbnail image
order
number
No
Display order of the help item
pages
array
No
List of page paths where this help item should appear
iconBackground
string
No
Background color for the icon (hex code)
actionText
string
No
Localization key for the action button text
subtitle
string
No
Localization key for subtitle text
cta
string
No
Call-to-action text
tours
array
No
Array of guided tour steps (for interactive walkthroughs)
Allowed Modules Configurations
This configuration is used to restrict the App Config from deselecting certain modules. It defines the mandatory modules that must be selected for each project type during campaign setup. Users cannot proceed without selecting all the allowed (required) modules.
Master Name:
HCM-ADMIN-CONSOLEModuleName:
AllowedModules
How It Works
projectType
The project type code for which this configuration applies (e.g., Bednets, IRS-mz, MR-DN).
allowedModule
Array of module codes that are mandatory for this project type. These modules cannot be unselected by users.
Example Data
App Link Configurations
This configuration is used to provide the Downloadable APK link after the campaign is created. So APK needs to be manually generated here and update the link in this master
Master Name:
HCM-ADMIN-CONSOLEModuleName:
AppLink

App Module Schema Configurations
This configuration is used to define the modules and their features in the App Config flow. It specifies which features are available for each module and controls their visibility and behaviour.
Master Name:
HCM-ADMIN-CONSOLEModuleName:
AppModuleSchema
How It Works
code
Unique identifier for the module (e.g., REGISTRATIONFLOW, DELIVERYFLOW, COMPLAINTS, INVENTORY).
description
Localisation key for the module description (e.g., REGISTRATION_DESC, DELIVERY_DESC).
features
Array of feature configurations is available for this module. Each feature contains:
code
string
Unique feature identifier (e.g., QR_CODE_SCANNER, PROXIMITY_SEARCH)
description
string
Localization key for the feature description
type
string
(Optional) Feature type (form, template)
format
string
(Optional) Field format mapping (e.g., scanner, searchByProximity)
order
number
(Optional) Display order of the feature
disabled
boolean
(Optional) Whether the feature is disabled/hidden (true/false)
Available Modules
REGISTRATIONFLOW
Registration flow module
DELIVERYFLOW
Delivery flow module
COMPLAINTFLOW
Complaints flow module
INVENTORY
Inventory/Stock management module
ATTENDANCE
Attendance tracking module
HFREFERALFLOW
Health facility referral flow
REGISTRATIONANDDELVFLOW
Combined registration and delivery flow
Available Features
QR_CODE_SCANNER
QR/Barcode scanning capability
PROXIMITY_SEARCH
Search by GPS proximity
SEARCH_BY_ID
Search by beneficiary ID
MAP_VIEW
Map view for locations
OFFLINE_DATA_SHARING
Offline data sync capability
FACILITY_SEARCH
Search facilities
SEARCH_COMPLAINTS
Search complaints
Example Data
App Screen Localisation Configurations
This configuration is used to define the properties for which localisation should be enabled in the App Config flow. It determines which properties in the app configuration screens should show the localisation input fields (multi-language support).
Master Name:
HCM-ADMIN-CONSOLEModuleName:
AppScreenLocalisationConfig
How It Works
screenName
Unique identifier for the configuration (e.g., appScreenConfig).
LocalisationModule
The localisation module name used for storing translations (e.g., configure-app).
moduleVersion
Current version of the module configuration.
minModuleVersion
Minimum supported module version for backward compatibility.
fields
Array of field type configurations. Each entry defines which properties can be localized for that field type.
fieldType
string
The field type identifier (e.g., text, dropdown, date)
localisableProperties
array
List of property names that support localisation
Common Localisable Properties
label
Field label text
helpText
Help text displayed below the field
tooltip
Tooltip text on hover
innerLabel
Placeholder text inside the field
errorMessage
Validation error message
message
General message text
dropDownOptions
Dropdown option labels (for dropdo
Example Data
Form Config Template
This master serves as the base template for mobile app form configuration screens. When a new campaign is created, the system copies the relevant template configuration for the selected project type and uses it as the starting point for app configuration.
Master Name:
HCM-ADMIN-CONSOLEModuleName:
FormConfigTemplate
How It Works
name
Module name identifier (e.g., REGISTRATION, DELIVERY, COMPLAINTS, ATTENDANCE, MANAGESTOCK).
project
Project type code this template belongs to (e.g., IRS-mz, MR-DN, LLIN-mz, DEFAULT).
flows
Array of flow configurations within the module. Each flow contains:
name
string
Flow identifier (e.g., MANAGESTOCK, REGISTRATION-DELIVERY)
pages
array
Array of page configurations
version
number
Version number of the flow
disabled
boolean
Whether the flow is disabled
isSelected
boolean
Whether the flow is selected for the campaign
screenType
string
Type of screen (FORM, TEMPLATE)
pages
Each page within a flow contains:
page
string
Page identifier (e.g., stockDetails, warehouseDetails)
type
string
Page type (object)
label
string
Screen heading localization key
order
number
Display order of the page
description
string
Screen description localization key
actionLabel
string
Action button label localization key
navigateTo
object
Navigation configuration (name, type)
properties
array
Array of field configurations
properties (Fields)
Each field within a page contains properties.
Example Data
Campaign Naming Convention
This master defines the naming convention rules displayed to users when creating a campaign name. The rules are shown as a checklist with real-time validation feedback.
Master Name:
HCM-ADMIN-CONSOLEModuleName:
CampaignNamingConvention
How It Works
id
Unique identifier for the naming convention configuration.
data
Array of localisation keys (translation codes) for the naming rules.
isActive
Whether this configuration is active.
Field Properties Panel Config
This master defines the configuration for the properties panel (right-side drawer) that appears when editing a field in the mobile app configuration screens. It controls which properties and validations are available for each field type.
Master Name:
HCM-ADMIN-CONSOLEModuleName:
FieldPropertiesPanelConfig
How It Works
Label
Unique identifier for the panel configuration (e.g., NewPanelConfig).
Content
Array of property fields shown in the panel. Each field can have:
id
string
Unique field identifier
label
string
Display label for the property
order
number
Display order in the panel
bindTo
string
Property path where value is saved (e.g., label, required, properties.popupConfig.title)
fieldType
string
Type of input (text, textarea, toggle, number, dropdown, fieldTypeDropdown, labelPairList, table)
defaultValue
any
Default value for the property
visibilityEnabledFor
array
List of field types for which this property is visible (empty array = visible for all)
conditionalField
array
Additional fields shown when toggle is enabled
showFieldOnToggle
boolean
Whether conditional fields appear on toggle
disableForRequired
boolean
Disable this property for mandatory fields
isLocalisable
boolean
Whether the value supports localization
isPopupProperty
boolean
Whether this is a popup-specific property
Validation
Array of validation rules is available in the panel:
RegexPattern
text
Text pattern validation with predefined options (alphabets, numbers, alphanumeric)
ScannerRegexPattern
scanner, qrScanner
Pattern validation for scanned values
isGS1Barcode
scanner, qrScanner
GS1 barcode format validation
scanLimit
scanner, qrScanner
Maximum number of scans allowed
numberRange
numeric, number
Min/max value validation
lengthRange
text, number, mobileNumber
Min/max character length validation
dateRange
date, dob
Start/end date validation
dependencyFieldWrapper
Most input fields
Field visibility based on other field values
Available Content Properties
label
text, dropdown, checkbox, radio, number, date, etc.
Field label
helpText
text, textarea, dropdown, date, number, etc.
Help text below the field
Mandatory
text, dropdown, checkbox, number, date, radio, etc.
Required field validation
defaultValue
text, textarea, numeric, number, mobileNumber
Pre-filled value
tooltip
text, textarea, dropdown, date, number, etc.
Tooltip on hover
readOnly
text, textarea, dropdown, date, number, etc.
Non-editable field
isMdms
dropdown, select, idPopulator, radio
Populate options from MDMS
isMultiSelect
dropdown, select, idPopulator
Allow multiple selections
prefixText
mobileNumber, number
Text before input
suffixText
number
Text after input
innerLabel
text, textarea
Placeholder text
systemDate
date, dob
Use current system date
proximityRadius
proximitySearch
Search radius in meters
minSearchChars
searchBar
Minimum characters to trigger search
Field Type Mapping Configurations
This master defines the available field types for configuring mobile app screens. It maps each field type to its UI component, metadata, and configurable properties.
Master Name:
HCM-ADMIN-CONSOLEModuleName:
FieldTypeMappingConfig
How It Works
Type
Unique identifier for the field type (e.g., text, dropdown, card, button).
Category
Groups field types for display in the UI:
basic- Simple inputs like text, number, date, dropdownadvanced- Complex components like template components, scanner component etc
Order
Display order in the field type selection dropdown.
Metadata
Schema information for the field:
type- Data type (string,integer,boolean,template)format- Format identifier for rendering
Field Type
Base field type used for rendering.
Component
(Optional) React component name for advanced field types.
Properties
(Optional) Configurable options for the field type.
Editable
(Optional) Whether the field can be modified after creation.
Campaign Type Templates
This configuration is used to define pre-built campaign templates that users can select when creating a new campaign. Templates provide a quick-start option with predefined settings based on previous successful campaigns.
Master details
Master Name:
HCM-ADMIN-CONSOLEModuleName:
campaignTypeTemplates
How It Works
id
Unique identifier for the template (e.g., MalariaSMC2024, PolioNID2025).
name
Display name of the campaign template.
description
Detailed description of the template explaining its purpose and use case.
projectTypeCode
Code linking to the project type in HCM-PROJECT-TYPES.projectTypes (e.g., MR-DN, Bednets, POLIO).
disease
Associated disease type (e.g., MALARIA, POLIO, VITAMINADEFICIENCY).
usedIn
Location or geography where this template was previously used (e.g., Kano - Nigeria, Maputo, Mozambique).
partnerName
Name of the organization or partner that created/used this template.
modules
Array of modules included in the campaign:
RegistrationDeliveryInventoryAttendance
duration
Campaign duration configuration
deliveryCycles
Array of delivery cycle/round configuration
imageDetails
Image configuration for the template card
Campaign Rules & Controls
Includes:
Date updates by boundary (
dateWithBoundary)Campaign naming rules (
CampaignNamingConvention)Mandatory modules (
AllowedModules)Target-to-beneficiary mapping (
targetConfigs)Checklist roles & templates
Microplan integration rules
ID generation (
common-masters.IdFormat)
⚠️ Add IdGen config before using ID generation.
Dieseases List
This configuration is used to define the list of supported diseases for campaign templates and project types. It provides disease options for filtering and categorising campaigns.
Master details
Master Name:
HCM-ADMIN-CONSOLEModuleName:
diseasesList
How It Works
code
Unique identifier for the disease (e.g., MALARIA, POLIO, COVID19).
name
Human-readable display name of the disease.
active
Flag to indicate if the disease is currently active and should be shown in dropdowns.
description
(Optional) Detailed description of the disease for informational purposes.
Removed / Deprecated
adminSchemas(removed)V1 APIs (deprecated)
Deployment Configuration
For environment-specific settings, refer to Helm Configuration documentation.
Last updated
Was this helpful?