> For the complete documentation index, see [llms.txt](https://docs.digit.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digit.org/health/access/public-health-product-suite/health-campaign-management-hcm/specifications/functional-specifications/system-user.md).

# System User

## Overview

The System User specifications illustrate how user accounts and project-level access configurations are managed within the Console. It defines the data model and workflow for creating, assigning, updating, and saving system user profiles before final activation.

## Specifications

<table><thead><tr><th width="194">Name of the field</th><th width="244">Description</th><th width="136">Mandatory</th><th>Input</th><th width="119">Data type</th><th width="162">Minimum length</th><th width="167">Maximum length</th><th width="134">Validation</th><th width="173">Comments</th><th width="247">Need data from program/state</th></tr></thead><tbody><tr><td>Name*</td><td>The name of the user who wants access to the system.</td><td>Mandatory</td><td>User</td><td>String</td><td>2</td><td>2000</td><td></td><td></td><td></td></tr><tr><td>Mobile No.*</td><td>Mobile number of the user.</td><td>Mandatory</td><td>User</td><td>Numeric</td><td>2</td><td>15</td><td>Length validation- Specific to Impel</td><td>Current HRMS specs are designed for Indian phone number formats and would need updates.</td><td>Yes</td></tr><tr><td>Father/Husband's Name*</td><td>Name of the user's husband or father.</td><td>Mandatory</td><td>User</td><td>String</td><td>2</td><td>2000</td><td></td><td></td><td>Yes</td></tr><tr><td>Gender*</td><td>Gender of the user being registered.</td><td>Mandatory</td><td>User</td><td>String</td><td>2</td><td>64</td><td></td><td></td><td>Yes</td></tr><tr><td>Date of Birth*</td><td>Date of birth of the user being registered.</td><td>Mandatory</td><td>User</td><td>Date</td><td>10</td><td>10</td><td></td><td>Date of birth cannot be in the future.</td><td>Yes</td></tr><tr><td>Email</td><td>Email ID of the user being registered.</td><td>Optional</td><td>User</td><td>String</td><td>8</td><td>64</td><td></td><td></td><td>Yes</td></tr><tr><td>Correspondence Address*</td><td>Address of the user being registered.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td></td><td></td><td>Yes</td></tr><tr><td>ULB*</td><td>ULB assigned to the user where the user is supposed to perform tasks assigned to him/her.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td></td><td></td><td>Yes</td></tr><tr><td>Role*</td><td>Role assigned to the user to enable him/her to carry out his/her tasks and access the required data and services.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td>Every user must have at least 1 role assignment.</td><td></td><td>Yes</td></tr><tr><td>Employment Type*</td><td>The employment types indicate the type of contract which he/she holds with the organisation. This indicates whether he/she is a permanent employee or a contract employee for a short period. Select the relevant employment type: 'Permanent', 'Temporary', “DailyWages” and 'Contract'.  </td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td></td><td></td><td>Yes</td></tr><tr><td>Current assignment</td><td>The current assignment type is to indicate whether the employee is currently assigned to a particular department and designation. A user can be also be assigned multiple assignments to perform his/her function.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>64</td><td></td><td></td><td>Yes</td></tr><tr><td>Status*</td><td>The status indicates the type of status which he/she holds, whether employed or not within the organisation.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td></td><td></td><td>Yes</td></tr><tr><td>Hierarchy *</td><td>The hierarchy indicates the hierarchy type for the boundary to which he/she is assigned.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td></td><td></td><td>Yes</td></tr><tr><td>Boundary Type *</td><td>The boundary type indicates assigning a city to his/her role within the organisation. A user can be assigned multiple boundary types to perform in different functions. Example: City, zone, block, and locality.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td></td><td></td><td>Yes</td></tr><tr><td>Boundary *</td><td>The boundary indicates assigning a particular city to his/her role wherein they perform the role function of the application for the particular city. A user can be assigned multiple boundaries to perform in a different location. Example: City name, and tenant zone.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td>User must be assigned to atleast 1 boundary.</td><td>Project boundary must take precedence over user boundary assignment.</td><td>Yes</td></tr><tr><td>Assigned from Date*</td><td>The assigned from date indicates the date from which his/her role is assigned to perform the role function assigned.</td><td>Mandatory</td><td>User</td><td>Date</td><td></td><td>10</td><td></td><td></td><td>Yes</td></tr><tr><td>Department*</td><td>The department indicates the particular department to which his/her role is assigned to.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td></td><td></td><td>Yes</td></tr><tr><td>Designation*</td><td>The designation indicates a particular designation that is assigned to his/her role.</td><td>Mandatory</td><td>User</td><td>String</td><td></td><td>256</td><td></td><td>Not required for HCM.</td><td>Yes</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digit.org/health/access/public-health-product-suite/health-campaign-management-hcm/specifications/functional-specifications/system-user.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
