PRD for "STOP TB Application"- Community Screening
...
Document Overview
...
Application
Document Revision History
Date | Version Number | Author | Approved By | Document change reference |
| Dr Vanshika | Madhav | Initial draft | ||
| 23.4.2026 | Dr Vanshika | Madhav | Beneficiary Registration, TB screening, Vitals after feedback and several updates done | |
| 24.4.2026 | Dr Vanshika | Madhav | Mock ups and flow diagram | |
| Dr Vanshika | Madhav | TPT screening module in progress |
1. Document Overview
This document defines the functional requirements for the TB Screening mobile application developed under the TB Mukt Janjati Abhiyan
...
: A community-driven TB elimination initiative targeting tribal populations across India. The application is purpose-built for field use by community volunteers in tribal areas where connectivity, literacy, and device familiarity may be limited.
The application should be simple to use, comprehensive and must work in low/no-connectivity environments.
1.1 Purpose
Purpose
This application is developed to screen and maximize TB case detection in all age groups through active case finding, contact investigation, and community mobilization. This application helps in patient tracking throughout treatment cascade at community and facility level via Community Influencers and Nikshay MitrasSTOP TBs. Ensure prompt referral and linkage of diagnosed individuals from community to health facilities for timely treatment initiation is the purpose of this application.
1.2 Users of the system
1. Volunteers- Community mobilization, screenings, camps etc.
2. Admin / SupervisoryNTEP/ STOP TB- Backend/Dashboard Access
1.3 In Scope Functional Modules
...
| TB Screening modules | Enlisted in the PRD |
| Nikshay integration | External dependency |
| Integration of AI enabled hand- held chest Xray (digital) | External technical dependency |
| Lab testing device integration (sputum testing)- Truenat | External technical dependency |
General NCD Screening module (Vital check-up) | Enlisted in the PRD |
General OPD module | Enlisted in the PRD |
Dashboard indicators | Enlisted in the PRD. Can be added more as per the requirement. |
Pre Camp Work Plan Preparation Module | Subjected to requirement |
1.4 Workflow
2. Login Page
Workflow
...
- Login Page Name should be "STOP TB" Application.
...
- It must be followed by "STOP TB" Logo.
- It must have both Online and Offline capabilities. ("Offline capabilities feature to exchange data between Mobile devices in a closed environment in real-time without internet")
- For online- Mobile number OTP based with 5 min expiry. For offline- 4-digit PIN which can be set during the first login.
- It must have Multilingual Feature with English, Hindi and other Indian languages enabled, and must be configurable to accommodate all the Indian languages as and when required in future.
- Followed by "Next" button Page must end with "Powered by Piramal Foundation"
UI Field Name | Field Type | Options | Validations |
"STOP TB |
...
" Application Logo |
...
<Placeholder> |
|
|
Please Select your Language | Radio |
...
Button |
...
|
...
|
|
...
|
Username |
...
Free Text
...
- There must be User name icon on the right corner of the Field
...
- It must be 20 Digit Characters.
- It must be configurable to add numericals and alphanumerical values
...
Password
...
Free text
...
Remember Me
...
Checkbox
...
...
- When 'Remember Me' checkbox is selected, next time directly allow user to login just by authenticating with fingerprint
...
Next
...
Button
...
...
- On Clicking Next , user must be navigated to "STOP TB landing" page
...
Powered by Piramal Foundation
...
Text
...
...
- This must be displayed below the "Next" Button in the center.
...
- Name (Volunteer)
- Username
- User ID
- Sync Records
- Create ABHA ID
- Support
- Request to delete account
- Log out
- "Home" and "Dashboard" flip feature in the 2nd row.
- In the 3rd row, give Search icon which can retrieve the data with "Name", "Beneficiary id" ,"Phone Number"
- In the 4th row show the Beneficiary cards with newest on Top alignment, that has "Name", "Beneficiary Id","Phone Number", "Village name"," Visit date", "Age" , "Gender", "ABHA "Button, "eSanjeevani" Button , "Sync" Button in the 4th row
- Give floating "Registration" button in the right corner of the 5th row.
...
- Flip feature between "Home" and "Dashboard".
- Should contain three modules/ Cards- All Beneficiaries, TB, NCD written on these cards.
- On clicking "All Beneficiaries" card- open the "Beneficiary module" form documented below for registering the beneficiary by giving the floating "Registration" button in the right corner. Fill the form for registering the beneficiary.
- On clicking "TB" card- the next screen should have 3 cards titled "TB Screening", "Suspected TB cases" and ""Confirmed TB cases". Please refer to the TB module from BRD for FLW App in confluence. Include TB screening and Suspected TB case forms.
- On clicking "NCD" card- the next screen should have 4 cards titled "NCD eligible list", "NCD priority list", "NCD non-priority list", "NCD referred list". Please refer to the Community Based Assessment Checklist (CBAC) Form from NCD module (disease control) from BRD for FLW App in confluence.
...
- Flip feature between "Home" and "Dashboard".
- Put a field for filter with 2 selection options-
- Time Period- based on "today and previous months" This filter should show all the data cards in the dashboard pertaining to the time period selected. (eg: today, Jan, Feb etc)
- Village Name- Dropdown options to be populated with names of village/ hamlets
- Module cards should be placed below the filter selection option.
...
Field Name
...
Field Type
...
Options
...
Validation
...
Filter/ Selection option
...
Dropdown
...
The Dropdown Values are
- Today
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
...
If this filter is selected, then show all the values of the dashboard indicators pertaining to the time period selected.
...
Filter/ Selection option
...
Dropdown
...
Village/ Hamlet names to be put here
...
If this filter is selected, then show all the values of the dashboard indicators pertaining to the particular village selected.
...
Card must be yellow in colour
...
Card must be yellow in colour
...
Card must be yellow in colour
...
NIKSHAY IDs
...
Card must be yellow in colour
...
Total number of NIKSHAY IDs made in the selected time period or Village
...
ABHA IDs
...
Card must be yellow in colour
...
Total number of ABHA IDs made in the selected time period or Village
...
Photo of the beneficiary
...
Name
...
Beneficiary ID
...
Age (Years)
...
Village Name-
...
Phone Number
...
ABHA ID (ABHA registration)- Clickable
...
Field Name
...
Field Type
...
Value/ Options
...
Validation/ Logic
...
Date of registration
...
Should be auto selected and updated when the volunteer logs in the application to do the screening.
...
Photo
...
Camera
...
Optional
...
Should have face detection/ Facial recognition
Camera should identify & capture human face but not any objects
Show an Alert if Photo is not captured, just as reminder but Not Mandatory
Alert: "Do you like to Take Photo", Yes or No If "Yes", open Camera; If "No", go to next
...
Beneficiary Status
...
Alive
Dead
...
First Name
...
Text
...
Last Name
...
Optional
...
Age
...
Number (Years)
...
Date of Birth
...
Date Picker
...
Populate Age automatically if entered
...
Gender
...
Dropdown
...
Mobile Number
...
Number
...
Village/ Hamlet
...
dropdown
...
Marital Status
...
Spinner
- Unmarried
- Married
- Divorced
- Separated
- Widow
- Widower
...
- Not Applicable for Newborn/ Child/ Adolescent (Age 0 to less than 18 Years)
- Mandatory and editable
- Show this field once above Gender is selected
- Based on the 'Gender' values in this dropdown list should change as follows:
- In case of 'Gender' = "Female" show "Widow" and hide "Widower"
- In case of 'Gender' = "Male" show "Widower" and hide "Widow" Above in field 'Relationship with head of family' is selected as "Husband" or "Wife" then auto select "Married"
...
Husband's/ Wife's Name
...
Textbox
...
Is Conditionally Mandatory
Textbox | |||
Password | Textbox | ||
Remember Me | Checkbox |
|
|
Powered by Piramal Foundation | Text |
|
|
2.1 Landing page
- This page must have a hamburger icon (side drawer), "STOP TB" text, sync button, and "Language Translation" button on the Top row.
- There should be a hamburger icon on the left side, which on clicking should have following details-
- Full Name (User)
- Username
- Sync Records
- Create ABHA ID
- Support
- Request to delete account
- Log out
- Landing page should have 2 tabs- "Home" and "Dashboard".
- In home tab floating "Registration" button on the right bottom corner.
2.2 Home Page- "Home tab"
- Should contain three modules/ Cards- All Beneficiaries, TB screening, Referrals written on these cards.
- On clicking "All Beneficiaries" card- open the "Beneficiary module" form documented below (section 2.2.1) for registering the beneficiary by giving the floating "Registration" button in the right corner.
- On clicking "TB" card- open the "Tuberculosis module" (section 2.2.2). On clicking the next screen, it should have 3 cards titled "TB Screening", "Suspected TB cases" and ""Confirmed TB cases".
- On clicking "Referrals"- The next screen should have cards titled, "Digital Chest X-ray", "Truenat", "Liquid Culture", "Health and Wellness Centre". These cards will enlist patients for a particular type of testing. Beneficiaries who are pregnant will be shown directly in "Truenat". All beneficiaries who are not pregnant are shown in "Digital Chest X-ray" and if any abnormality is detected on chest x-ray then that beneficiary is further referred for Truenat testing. All beneficiaries who have high blood pressure and high random blood sugar will be shown in "Health and Wellness Centre" card.
2.2.1 Module - Beneficiary Registration
- On clicking Registration button the user will be navigated to Beneficiary Registration Page
- Show a pop up for Consent form "I have been explained, the purpose for which the information and findings is being collected from me, in a language I understand and I give my consent to collect the information and findings on my personal health profile."
- This page has "All Beneficiaries" Text displayed on top with "Home" Icon on the right corner to Navigate to Home page in the 1st row
- The card below should be visible after the registration of beneficiary.
- If the beneficiary does not have ABHA ID, give one clickable button on the ABHA ID area of the card to initiate ABHA ID generation.
Photo of the beneficiary | Name | Beneficiary ID |
Age (Years) | Village Name- | |
Phone Number | ABHA ID (ABHA registration)- Clickable |
Field Name | Field Type | Value/ Options | Validation/ Logic |
Date of registration | Should be auto selected and updated when the volunteer logs in the application to do the screening. | ||
Beneficiary ID (AMRIT ID) |
|
| Unique ID auto generated by the system |
Photo | Camera | Optional |
|
First Name | Text |
| |
Last Name |
| ||
Beneficiary Status | Radio Button | · Alive · Death | · Enable only in the “Edit” Beneficiary screen · Auto-populate, if ‘Death’ is reported from any module · Default value is “Alive” · If “Death” is selected, enable below four fields and mark it mandatory- 1. Date of Death 2. Time of Death 3. Reason for Death 4. Place of Death or Other Place of Death |
Date of Death | Date picker | · Enable if “Beneficiary status”= “Death” · Mandatory if enabled · By default, date is null · Not greater than Today’s Date · Accept ‘Date of Death’ after date of registration · Auto-populate, if ‘Death’ is reported from any module (eg: Tuberculosis) | |
Time of Death | Time picker | · Show only if above value is “Death” · Optional | |
Reason for Death (Type of Death) | · Maternal Death · Natural Death · Accident · Infectious Disease · Animal Bite Death · Suicide · Undetermined | · Enable if “Beneficiary status”= “Death” · Mandatory if enabled
| |
Place of Death |
| · Enable if “Beneficiary status”= “Death” · Mandatory if enabled
| |
Other Place of Death | Textbox |
| |
Age | Number (Years) |
| |
Date of Birth | Date Picker |
| |
Gender | Dropdown |
|
|
Mobile Number | Number |
| |
Whose mobile number | dropdown | ||
Marital Status | dropdown |
|
|
Are you Pregnant | radio button |
|
|
Husband's/ Wife's Name | Textbox |
| |
Father's Name | Textbox |
| |
Mother's Name | Textbox |
| |
Community | radio button |
|
|
Religion | radio button |
|
|
Economic Status | radio button |
|
|
Type of Residential area | radio button |
|
|
Other Type of Residential area | Textbox |
| |
Occupation | free text |
| |
Village/ Hamlet | dropdown |
| |
Sub Centre | dropdown |
| |
Capture Geolocation |
| ||
Cancel | Button |
|
|
Submit |
|
2.2.2 Module- Tuberculosis
2.2.2.a TB Screening
In this section show all beneficiaries irrespective of any age group and gender.
This module should open in continuation after beneficiary registration.
* If "Yes" is selected for any one of the questions below with "*" ; "Refer for "digital chest x-ray" or "Collecting the sputum sample". | |||
** If "Yes" is selected for any one of the questions below with "**" ; "Advise tracing and screening of all family members". | |||
TB Screening |
|
| |
Date | Calendar | Is Mandatory |
|
Coughing More than 2 weeks * | radio button |
|
|
Blood in Sputum * | radio button |
|
|
Fever > 2 weeks * | radio button |
|
|
Rise of fever in evening* | radio button |
|
|
Loss of Appetite* | radio button |
|
|
Loss of Weight * | radio button |
|
|
Night Sweats * | radio button |
|
|
History of TB * | radio button |
|
|
Are you currently taking Anti TB drugs ** | radio button |
|
|
Anyone in Family Currently Suffering from TB ** | radio button |
|
|
Submit | Button |
| Continue next to "General Examination" |
General Examination
Fields | Validation |
Anthropometric (Optional) |
|
Weight (Kgs) | - |
Height (cms) | - |
BMI=Weight/(Height/100) ² | Should be auto calculated if height and weight details are entered |
Vitals (Optional) |
|
Temperature (Degree Fahrenheit) |
a) 97.5 b) 98.5 c) 99.5 d)>= 100 If option d)>= 100 is chosen, show alert "Refer to Health and Wellness Centre" and show such beneficiaries in "Referral" card in Home |
Pulse Rate (beats per minute) |
Give predefined options (Normal range= 60-90 BPM) a) less than 60 b) 60-70 c) 70-80 d) More than 90 If "less than 60" or "more than 90" option is chosen, show alert "Refer to Health and Wellness Centre" and show such beneficiaries in "Referral" card in Home |
Systolic Blood Pressure (mmHg) |
|
Diastolic Blood Pressure (mmHg) |
|
Random Blood sugar (mg/dl) |
|
Skip Button |
|
Submit Button | Continue next to "Diagnostics" Screen |
Diagnostics
Diagnostics | |||
Is Digital chest x-ray conducted |
|
| |
Digital Chest X-Ray Test Result |
|
|
|
Is Sputum sample collected |
|
| |
Recommended for Truenat test |
|
| |
Truenat test result | radio button |
|
|
Recommended for liquid culture test |
|
| |
Liquid Culture test result | radio button |
|
|
2.2.2.b Suspected TB cases
This section should contain all beneficiaries in the following scenario-
Scenario 1- If not a single symptom is presented in a beneficiary but chest x-ray is positive, show the case here.
Scenario 2- If any symptom or symptoms reported "yes" then show the case here even if chest x-ray/ Truenat is negative.
Name of data Field | Field Type | Value/ Options | Validation/ Logic/ Condition |
Date | Calendar | Mandatory |
|
Name | Textbox |
| Auto fill from Beneficiary details |
Age | Textbox |
| Auto fill from Beneficiary details |
Gender | Textbox |
| Auto fill from Beneficiary details |
Nikshay ID | Textbox |
|
|
Is Digital Chest X-ray conducted |
|
|
|
Digital Chest X-Ray Test Result |
|
|
|
Sputum Test |
|
a) If "Digital Chest X-Ray Test Result"= "Positive" b) If "History of TB" = "Yes" c) If "Are you pregnant= yes" d) If "Are you currently taking Anti TB drugs" = "yes" | |
Is Sputum sample collected? | radio button |
|
|
Sputum Sample submitted at | dropdown |
|
|
Is Truenat conducted | radio button |
|
|
Truenat test result | radio button |
|
|
Is Liquid culture conducted | radio button |
|
|
Liquid Culture test result | radio button |
|
|
Capture Geolocation |
| ||
Submit | Button |
|
|
2.2.2.c Confirmed TB cases
Treatment and follow up of TB confirmed cases.
Name of Data Field | Field Type | Value/ Options | Validation/ Logic/ Condition |
Regimen Type | Radio button |
| Open module 2.2.2.d (TPT- TB Prevention treatment) module if “DS-TB (6 Months)” is selected Alert to Volunteer to screen all household members/ Contacts if DS-TB case is selected.
|
Treatment Start Date | Date picker
| Mandatory |
|
Expected Treatment Completion Date | Label | Read only | Auto calculate this date based on below condition form ‘Treatment Start Date’: 1. If ‘Regimen Type’ is “1”, “4”, “5” then add 6 months 2. If ‘Regimen Type’ is “2”, then, Treatment duration is 9–12 months (show 9–12 range dates) 3. If ‘Regimen Type’ is “3”, then, Treatment duration is 18–24 months (show 18–24 range dates) |
Follow-up & Adherence | |||
Follow up Date | Date picker
| Mandatory |
|
Monthly follow up done | Label | Month-1 to Month-24 |
|
Adherence to Medicines | Radio button |
|
|
Any discomfort | Radio button |
|
|
Treatment Completion | |||
Did the patient complete the full course of treatment? | Radio button |
| Enable these below filed based on below conditions: 1. If ‘Regimen Type’ is “1”, “4”, “5” then enable after 5 Monthly follow up visits 2. If ‘Regimen Type’ is “2”, then enable after 9 Monthly follow up visits 3. If ‘Regimen Type’ is “3”, then enable after 18 Monthly follow up visits |
Actual Treatment Completion Date | Date picker |
|
|
TB Treatment outcomes | Dropdown |
| If "Death" is selected, update 'Beneficiary Status' = "Death" in the Beneficiary record, with “Date of Death”, "Place of Death" and "Reason for Death” in the next fields. |
Date of Death | Date picker |
|
|
Place of Death | Dropdown |
| Enable only if "TB Treatment outcomes" = “Death” |
Reason for Death | Label Read only | Tuberculosis | Enable only if "TB Treatment outcomes" = “Death” |
Reason for non completion of treatment | Textbox |
| Enable this field if “No” selected for “Did the patient complete full treatment?” |
Capture Geolocation |
| ||
Submit | button |
|
|
Follow up visit history | Table |
| Maintain a Follow up visit history of Visit |
2.2.2.d Tuberculosis Preventive Treatment
Tuberculosis Preventive Treatment (TPT)
- TPT is the preventive treatment given to close contacts of confirmed Drug-Sensitive TB (DS-TB) cases who are at high risk of developing active TB.
- If a contact tests positive for active TB at any step (X-Ray or Sputum positive), the system must immediately redirect the volunteer to create a new TB Suspected Case record for that contact — bypassing the TPT flow.
- This module should open when in Confirmed TB case module, “Regimen type” = “DS-TB (6 months)”
- Make this module editable as after referral of the contact for diagnostic tests, volunteer needs to enter further details once the tests are done.
Household Contact Line listing Screen-
Name of data field | Field Type | Value/ Options | Validation/ logic/ condition |
Name of the contact | Text Box |
| |
Age of the contact |
| ||
Gender | Dropdown |
|
|
Mobile Number | Number |
| |
TPT (TB Preventive Treatment) Screening Status |
|
|
|
Referral Facility for screening |
|
|
|
Screening done at the referral facility |
|
|
|
Is it confirmed TB case |
|
|
|
Are you advised to take (TPT) |
|
|
|
TPT initiated |
|
|
|
TPT start date | Date picker | =<Today’s date |
|
Treatment duration of TPT |
|
|
|
Expected completion date | date |
|
|
Follow up visit number | Numeric |
|
|
Follow up visit date | Date picker | =<Today’s date |
|
TPT completion status |
|
|
|
Other | Free text | ||
Date of completion | Date picker | =<Today’s date |
|
Date of death | Date picker |
|
|
Cause of death | Free text |
|
|
Capture Geolocation |
| ||
Submit |
|
|
|
Module - Referrals
This module should contain the list of names/ cases referred to health facilities.
2.3 Home Page- Dashboard
- Flip feature between "Home" and "Dashboard".
- Put a field for filter with 2 selection options-
- Time Period- based on "today and previous months" This filter should show all the data cards in the dashboard pertaining to the time period selected. (eg: today, Jan, Feb etc)
- Village Name- Dropdown options to be populated with names of village/ hamlets
Field Name | Field Type | Options | Validation |
Filter/ Selection option | Dropdown | The Dropdown Values are
| If this filter is selected, then show all the values of the dashboard indicators pertaining to the time period selected. |
Filter/ Selection option | Dropdown | Village/ Hamlet names to be put here | If this filter is selected, then show all the values of the dashboard indicators pertaining to the particular village selected. |
Total TB screenings Total Positives/ Negatives | Card must be yellow in colour | It must auto populate based on the filter selected. | |
Total TB suspected cases Total Positives/ Negatives | Card must be yellow in colour | It must auto populate based on the filter selected. | |
Total TB confirmed cases Total Positives/ Negatives | Card must be yellow in colour | It must auto populate based on the filter selected. | |
Total Digital Chest X-Rays conducted Total Positives/ Negatives Male- Positive/ Negative Age>= 60 years- Positives/ Negatives |
| It must auto populate based on the filter selected. | |
Total Sputum collection conducted Total- Positives/ Negatives Male- Positives/ Negatives Age>= 60 years- Positives/ Negatives |
| It must auto populate based on the filter selected. | |
Total Truenat tests conducted Male- Positives/ Negatives Age>= 60 years- Positives/ Negatives |
| It must auto populate based on the filter selected. | |
Total sputum samples sent for liquid culture Male- Positives/ Negatives Age>= 60 years- Positives/ Negatives |
| It must auto populate based on the filter selected. | |
Total cases referred to Health and Wellness Centres Male Age>= 60 years |
| It must auto populate based on the filter selected. | |
NIKSHAY IDs | Card must be yellow in colour | Total number of NIKSHAY IDs made in the selected time period or Village | |
ABHA IDs | Card must be yellow in colour | Total number of ABHA IDs made in the selected time period or Village |
- Input method: Speech to Text feature
- Hide this field in case of 'Marital Status' = "Unmarried"
- Optional (Not Mandatory) in case of 'Marital Status' = "Divorced"
- Based on the Gender show label name as: 'Husband's' or 'Wife's Name'
- Accept alphabets only
- Character limit 50
- All letter should be in caps
...
Father's Name
...
Textbox
...
- Input method: Speech to Text feature
- Optional (Not Mandatory) in case of 'Gender' = "Female" and 'Marital Status' = "Married"
- Accept alphabets only
- Character limit 50
- All letter should be in caps
...
Mother's Name
...
Textbox
...
- Input method: Speech to Text feature
- Optional (Not Mandatory) in case of 'Gender' = "Female" and 'Marital Status' = "Married"
- Accept alphabets only
- Character limit 50
- All letter should be in caps
...
Community
...
Spinner
- General
- SC
- ST
- OBC
- OC
- Not Given
...
- Mandatory
- But it should be editable
...
Religion
...
Spinner
...
- Hindu
- Muslim
- Christen
- Sikhism
- Buddhism
- Jainism
- Parsi
- Other
- Not disclosed
...
- Mandatory
- But it should be editable
...
Economic Status
...
Spinner
...
Is Mandatory Choose:
- APL
- BPL
- Don't know
...
Type of Residential area
...
Spinner
...
Choose:
- Rural
- Urban
- Tribal
- Tea Garden
- Other
...
Other Type of Residential area
...
Textbox
...
- Enable if other is selected above
- Is Mandatory if other is selected above
- Allow Alphanumeric Character and special Characters
- Character limit 100
...
Occupation
...
- Default value is unknown
...
Cancel
...
Button
...
If cancel is selected, a pop up message "Are you Sure?" with options "Yes" and "No" will come.
If selected "yes" navigate back to home page
If selected "no" then do not erase the patient health data and let the page remain open so it can be submitted by volunteer as sometime by mistake cancel button is clicked.
...
Submit
...
On clicking this, it must display the Pop up msg "Patient Registered successfully"
This must store the data of the patient and display the required fields over the Beneficiary card
Ensure that data should go to server.
...
- All Beneficiaries List
- NCD Eligible List: All Beneficiary both Male and Female whose age > = 30 years and excluding Pregnant Women; with CBAC Form access
- NCD Priority List: Beneficiary age > = 30 years and CBAC assessment score is greater than 4
- NCD Non-Eligible List: Beneficiary age > = 30 years and CBAC assessment score is less or equals to 4
Module 2- TB Screening- Please refer to the TB module from BRD for FLW App in confluence. Include TB screening and Suspected TB case forms.
Module 3- NCD Screening- Please refer to the Community Based Assessment Checklist (CBAC) Form from NCD module (disease control) from BRD for FLW App in confluence.
Note: The common questions in CBAC Part B1 and TB screening form, if either of the form is filled and submitted first, then responses in the other form should be automatically selected.







