PRD for "STOP TB Application"- Community Screening Application
Document Revision History
Date | Version Number | Author | Approved By | Document change reference |
| Dr Vanshika | Madhav | Initial draft | ||
| Dr Vanshika | Madhav | Beneficiary Registration, TB screening, Vitals after feedback and several updates done | ||
| 22.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
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 STOP 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 / NTEP/ 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
- Login Page Name should be "STOP TB" Application.
- It must be followed by "STOP TB" Logo.
- It must have both Online and Offline capabilities. 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.
UI Field Name | Field Type | Options | Validations |
"STOP TB" Application Logo | <Placeholder> |
|
|
Please Select your Language | Radio Button |
|
|
Username | 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", "True NAT", "Liquid Culture", "Health and Wellness Centre". These cards will enlist patients for a particular type of testing. Beneficiaries who are pregnant or children =< 5 years will be shown directly in "True NAT". All beneficiaries who are not pregnant and children above 5 years 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 "Anthropometric and Vitals" Screen |
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 |
|
Diastolic Blood Pressure |
|
Random Blood sugar |
|
Skip Button |
|
Submit Button | Continue next to "Diagnostics" Screen |
Diagnostics | |||
Is Digital chest x-ray conducted |
|
| |
Digital Chest X-Ray Test Result |
|
|
|
Is Sputum sample collected |
|
| |
Is True NAT conducted |
|
| |
True NAT test result | radio button |
|
|
Is liquid culture conducted |
|
| |
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/ True NAT 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 "Age=< 5 years" d) If "Are you pregnant= yes" e) If "Are you currently taking Anti TB drugs" = "yes" | |
Is Sputum sample collected? | radio button |
|
|
Sputum Sample submitted at | dropdown |
|
|
Is True NAT conducted | radio button |
|
|
True NAT 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 True NAT 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 |

