| Version | Date | Changed By | Summary of Changes |
|---|---|---|---|
| 0.1 | 16th September 2026 | Pranoti Monde | Initial draft. Item Master changes for Non-Medical items (2.2.A). Device Master, Device Inventory, Device AMC/Warranty and Device to Camp/Store Mapping (2.2.B–E). |
| 0.2 | 14th October 2026 | Ganesh Shirpure | Updated Purpose (1.1) and added Scope (1.2). Added Hierarchy Node Master (2.2.F), Node to Store Mapping (2.2.G), User Management changes (2.2.H), Role & Privilege Matrix (2.2.I), and one-time Bulk Item Upload (2.2.J). Added Reports & Audit (3) and Acceptance Criteria & Open Questions (4). Corrected section numbering from 2.3.x to 2.2.x. |
This document captures the business requirements for the Inventory Management module spanning the admin Portal and camp-level local servers (camp laptops), the synchronization between them, the backend APIs supporting the StopTB drug master and local stock management. It also covers the creation of a National → State → District → Block hierarchy mapped to the StopTB programme states, level-based user management with role-wise privileges, and a one-time bulk upload of items into the Item Master using an Excel template.
The existing AMRIT platform already has a live Inventory Management Module, with an Admin Portal for master-data configuration. Highlighting the sections that will get added to the flow :
This BRD is not proposing a new module from scratch - it is defining the changes required on top of what already exists. This section exists specifically to answer that question for the Admin Portal component, where all inventory master data is configured and from which it synchronizes out to various service line.
Item Type stays a two-way radio (Medical / Non-Medical) - Device is deliberately not a third Item Type; it is handled by the new masters in Tables 2.3.2 & 2.3.3
| Name of Data Field | Field Type | Value/Options | Validation/Logic/Condition |
|---|---|---|---|
| Item Type | Radio button |
|
|
| Item Category | Dropdown (single-select) | e.g. Drugs, Non-Medical Consumables, Lab Devices, Devices/Equipment, PPE |
|
| Item Code | Text | — |
|
| Item Name | Text | — |
|
| Snomed CT Code | — | Enabled only when Item Type = Medical. | |
| Snomed CT Term | — | Enabled only when Item Type = Medical. | |
| Strength | — | Enabled/mandatory only when Item Type = Medical. | |
| UOM |
| Shown for both Medical and Non-Medical | |
| Drug List Type | — | Enabled only when Item Type = Medical. | |
| Item Form | — | Enabled only when Item Type = Medical. | |
| Pharmacology Category | — | Enabled only when Item Type = Medical. | |
| Manufacturer | Dropdown/Text | From Manufacturer Master | Mandatory for all Item Types. |
| Drug Type |
| Enabled only when Item Type = Medical. | |
| Composition | Enabled/mandatory only when Item Type = Medical. | ||
| Route Of Admin | Enabled only when Item Type = Medical. | ||
| Item Description | Text (multi-line) | Free text | Optional, shown for all Item Types. |
Generic device catalog, e.g. "Truenat Device," "X-ray Device," "Glucometer." Consumables tied to a device (e.g. glucometer strips) are not here - they stay in regular Item Master.
| Name of Data Field | Field Type | Value/Options | Validation/Logic/Condition |
|---|---|---|---|
| Device Code | Text | Free text |
|
| Device Name | Text | e.g. Truenat Device, X-ray Device, Glucometer |
|
| Device Description | Text (multi-line) | Free text | Optional |
Item Master → Device Inventory (NEW) — the specific, physical units owned (e.g. this facility's actual glucometer unit).
| Name of Data Field | Field Type | Value/Options | Validation/Logic/Condition |
|---|---|---|---|
| Device Master Reference | Dropdown | From Device Master |
|
| Device Number / Serial Number | Text | Free text |
|
| Manufacturer | Dropdown/Text | From Manufacturer Master |
|
| Device Brand Name | Text | Free text | Optional. |
| Supplier | Dropdown | From Supplier Master | Optional. |
| Date of Purchase | Date picker | Date | Optional. |
| Cost | Numeric | Currency value | Optional. |
| AMC Cost (summary) | Numeric | Currency value | Optional — quick-reference figure; full AMC details captured separately in Table D. |
| Name of Data Field | Field Type | Value/Options | Validation/Logic/Condition |
|---|---|---|---|
| Device Inventory Reference | Dropdown | From Device Inventory (Device Number) | Mandatory. |
| AMC Vendor | Dropdown/Text | From Supplier Master or free text | Optional. |
| AMC Start Date | Date picker | Date | Optional. |
| AMC End Date | Date picker | Date | Optional. Should trigger an expiry-style alert similar to batch expiry, but for AMC/warranty lapse. |
| AMC Cost | Numeric | Currency value | Optional. |
| Asset Status | Dropdown |
|
|
| Name of Data Field | Field Type | Value/Options | Validation/Logic/Condition |
|---|---|---|---|
| Device Inventory Reference | Dropdown | From Device Inventory (Device Number) | Mandatory. |
| Store/Facility | Dropdown | From Facility Type Master / Main Store & Substore | Mandatory. |
| Assigned Date | Date picker | Date | Optional. |
| Mapping Status | Dropdown |
| Optional. |
This form defines the four-level hierarchy (National → State → District → Block) that the inventory module currently lacks. There is one National node, with the 10 StopTB programme states under it. Each State has its districts under it, and each District has its blocks. Every node will later be linked to a store (Section 2.2.G), and users are mapped to these nodes (Section 2.2.H).
| Name of Data Field | Field Type | Value/Options | Validation/Logic/Condition |
|---|---|---|---|
| Hierarchy Level | Dropdown (single select) | National, State, District, Block | Mandatory. |
| Node Code | Text | Free text, e.g. NAT-01, MH, MH-PUN, MH-PUN-HVL | Mandatory. Must be unique. |
| Node Name | Text | Free text, e.g. Maharashtra, Pune, Haveli | Mandatory. |
| Parent Node | Dropdown | Nodes from one level above | Mandatory for State, District and Block. Disabled for National. Only nodes one level above can be selected (State → National, District → State, Block → District). |
| Location Code (LGD) | Dropdown | From existing AMRIT State / District / Block location master | Mandatory for State, District and Block. Reuse the existing location master; do not create duplicate locations. |
| Programme | Dropdown (multi-select) | StopTB (TBMJA); others in future | Mandatory. Only StopTB-tagged nodes appear in StopTB screens. |
| Status | Dropdown | Active, Inactive | Mandatory. Default Active. An inactive node cannot have new users mapped to it. |
Rules
This form links each hierarchy node to a store in the existing Main Store / Substore master. Existing stores, stock and reports keep working unchanged. Each node gets one main store, and Blocks can also have substores.
| Name of Data Field | Field Type | Value/Options | Validation/Logic/Condition |
|---|---|---|---|
| Hierarchy Node | Dropdown | From Hierarchy Node Master (2.2.F) | Mandatory. Only Active nodes shown. |
| Store | Dropdown | From existing Main Store / Substore master | Mandatory. A store can be mapped to only one node. |
| Store Role | Dropdown | Main, Sub | Mandatory. Each node can have only one active Main store. |
| Effective From | Date picker | Date | Mandatory. Default today. Cannot be a future date. |
| Status | Dropdown | Active, Inactive | Mandatory. Default Active. |
Rules
The existing user creation form gets new fields so that each user is mapped to one hierarchy node and one role. The node controls what data the user can see: their own node and everything below it. The role controls what the user can do (Section 2.2.I).
| Name of Data Field | Field Type | Value/Options | Validation/Logic/Condition |
|---|---|---|---|
| Full Name | Text | Free text | Mandatory. Existing field, no change. |
| Mobile Number | Numeric | 10 digits | Mandatory. Must be unique. Used for OTP and password reset. |
| Email ID | Text | Email format | Optional. Needed for email alerts. |
| Username | Text | Auto-suggested, editable | Mandatory. Must be unique. Existing field, no change. |
| Designation | Dropdown | e.g. State Programme Officer, DTO, Pharmacist, STS, Block Store In-charge | Mandatory. |
| Hierarchy Level | Dropdown | National, State, District, Block | NEW. Mandatory. |
| Hierarchy Node | Dropdown | From Hierarchy Node Master (2.2.F), filtered by the selected level | NEW. Mandatory. Shows only nodes within the logged-in admin’s own hierarchy. |
| Role | Dropdown | Roles valid for the selected level (2.2.I) | NEW. Mandatory. |
| Store | Auto-filled | Main store of the selected node (2.2.G) | NEW. Read-only. |
| Status | Dropdown | Active, Inactive, Locked | Mandatory. Default Active. |
Rules
This config defines the roles available at each hierarchy level and what each role can do. Super Admin can edit the matrix. The defaults are below.
Roles
| Role | Hierarchy Level | Main Responsibility |
|---|---|---|
| Super Admin | Platform | Configures roles, privileges and system settings (AMRIT/Piramal team). |
| National Admin | National | Manages Item Master, bulk item upload, State nodes and State users. |
| State Admin | State | Creates District and Block nodes and users within own state. |
| National Store Manager | National | Manages the national store. |
| State Store Manager | State | Manages the state store. |
| District Store Manager | District | Manages the district store. |
| Block Store User | Block | Manages the block store. |
| Viewer | Any level | Read-only access to masters and reports for own node and below. |
Privilege Matrix
Y = allowed for all nodes, Sub = own node and nodes below, Own = own node only, – = not allowed.
| Privilege | Super Admin | National Admin | State Admin | National Store Mgr | State Store Mgr | District Store Mgr | Block Store User | Viewer |
|---|---|---|---|---|---|---|---|---|
| Configure roles and privileges | Y | – | – | – | – | – | – | – |
| Create / edit National node | Y | – | – | – | – | – | – | – |
| Create / edit State nodes | Y | Y | – | – | – | – | – | – |
| Create / edit District and Block nodes | Y | Y | Sub | – | – | – | – | – |
| Node to Store Mapping | Y | Y | Sub | – | – | – | – | – |
| Create / edit users | Y | Y | Sub | – | – | – | – | – |
| Item Master: create / edit | Y | Y | – | – | – | – | – | – |
| Bulk Item Upload | Y | Y | – | – | – | – | – | – |
| Item Master: view | Y | Y | Y | Y | Y | Y | Y | Y |
| View stock and reports | Y | Sub | Sub | Own | Sub | Sub | Own | Sub |
| View audit log | Y | Sub | Sub | – | – | – | – | – |
Rules
2.2.J. Bulk Item Upload (One-time activity)
This function lets National Admin load the full item list into the Item Master in a single upload, instead of entering items one by one. Items uploaded at central level apply to the national store and all StopTB states. The template columns match the Item Master fields in Section 2.2.A, and the same mandatory rules apply. Medical-only columns can be left blank for Non-Medical items.
Excel template columns
| Name of Data Field | Field Type (in Excel) | Value/Options | Validation/Logic/Condition |
|---|---|---|---|
| Item Type | Dropdown list | Medical, Non-Medical | Mandatory. |
| Item Category | Dropdown list | From Item Category Master | Mandatory. Must match an existing category. |
| Item Code | Text | Free text | Mandatory. Unique within the file and against existing Item Master. |
| Item Name | Text | Free text | Mandatory. |
| SNOMED CT Code | Text | Free text | Optional for Medical. Leave blank for Non-Medical. |
| SNOMED CT Term | Text | Free text | Optional for Medical. Leave blank for Non-Medical. |
| Strength | Text | e.g. 500 | Mandatory when Item Type = Medical. Leave blank for Non-Medical. |
| UOM | Dropdown list | From Unit of Measure Master | Mandatory for all item types. |
| Drug List Type | Dropdown list | From existing master | Optional for Medical. Leave blank for Non-Medical. |
| Item Form | Dropdown list | From existing master, e.g. Tablet, Syrup | Optional for Medical. Leave blank for Non-Medical. |
| Pharmacology Category | Dropdown list | From Pharmacological Category Master | Optional for Medical. Leave blank for Non-Medical. |
| Manufacturer | Dropdown list | From Manufacturer Master | Mandatory for all item types. Must match an existing manufacturer. |
| Drug Type | Dropdown list | Scheduled, Non-Scheduled | Optional for Medical. Leave blank for Non-Medical. |
| Composition | Text | Free text | Mandatory when Item Type = Medical. Leave blank for Non-Medical. |
| Route of Admin | Dropdown list | From existing master | Optional for Medical. Leave blank for Non-Medical. |
| Item Description | Text | Free text | Optional for all item types. |
Upload process
Rules
These reports cover the hierarchy, users and bulk upload. Each user sees data only for their own node and the nodes below it. All reports can be exported to Excel and PDF.
| Report Name | Content | Filters | Primary Users |
|---|---|---|---|
| Hierarchy Node List | All nodes with level, code, name, parent node, mapped main store and status | Level, State, District, Status | Super Admin, National Admin, State Admin |
| Nodes Without Store Mapping | Active nodes that have no Active Main store, which blocks user mapping | Level, State | National Admin, State Admin |
| User List | Users with name, mobile, designation, level, node, role and status | Level, Node, Role, Status | Super Admin, National Admin, State Admin |
| User Activity | Users per node, last login date, and users who have not logged in for 30 days | Level, Node, Role, Date range | Super Admin, National Admin, State Admin |
| Item Master List | All items with type, category, code, name, UOM, manufacturer and source (manual entry or bulk upload) | Item Type, Category, Source | All roles |
| Bulk Upload Log | Each upload with date, uploaded by, file name, total rows, rows added, rows rejected and status | Date range, Uploaded by, Status | Super Admin, National Admin |
| Action Logged | Details Captured |
|---|---|
| Hierarchy node created / edited / inactivated | User, date-time, node, old value, new value |
| Node to Store mapping created / changed | User, date-time, node, old store, new store |
| User created / edited / re-mapped / inactivated | User who made the change, date-time, affected user, old value, new value |
| Role and privilege changes | User, date-time, role, privilege changed, old value, new value |
| Bulk item upload | User, date-time, file name, row counts, the uploaded file and the error file |
| Item Master create / edit | User, date-time, item code, old value, new value |
| Login / logout / failed login | User, date-time, IP address |
Rules
Format of exising inventory: