| SuperAdmin | ||
| GeneralAdmin | ||
| LocationAdmin | ||
| GeneralUser |
SuperAdmin
GeneralAdmin
LocationAdmin
GeneralUser
A user's site assignment lives in Office Staff → Edit → Assigned Camp Sites. Multiple sites are allowed.
The order is Camp Site → Dose Preparation → Camp Day. Each step is linked to the next.
Create the Camp Site
- Log in as SuperAdmin or GeneralAdmin.
- Go to Admin → Camp Sites → + New.
- Fill in: Code (e.g. RC-001), Name, District / Local Level.
- Save. The site appears in the list immediately.
Assign Office Staff
- From the Camp Sites list, click into the site.
- Click Assign Office Staff.
- Tick the staff who should run camps at this site. LAs need their permissions ticked here even if their role is set elsewhere.
- Save. Staff can now log in and see this site.
Prepare a Dose
- Go to Admin → Dose Preparations → + New.
- Set the Camp Site (the dose is scoped to one site).
- Add ingredients (e.g. Swarna Bhasma, Vacha, Brahmi); each gets a quantity and unit.
- Add personnel — the staff who prepared the batch.
- Save. The batch is created as Prepared — it exists, but it is not attached to any camp day yet, so no one can dose from it.
- When you are ready, open the batch and choose Use for Camp Day. You pick the camp day it is for, and the batch becomes Locked — attached to that day and no longer editable.
- A batch only reaches the dosing screen once it is locked to a camp day. If staff cannot see a batch on the day, this step is almost always the reason.
Schedule a Camp Day
- Go to Admin → Camp Days → + New.
- Pick the Camp Site, Start/End date+time.
- Attach one or more locked Dose Preparations from step 3. The list filters to doses at the same site.
- Pick the staff who will run the day — only those assigned to the site appear.
- Save. The camp day shows on the dashboard for assigned staff.
This is the wizard at Dashboard → today's camp day → Open.
Self-registration (optional, parent-driven)
Parents can pre-register via /register on their phone before arriving. They get a QR code with a UPC they can show at the site. Staff verify the registration on first interaction.
At the camp
- Scan the QR (or search by UPC / name) to pull up the participant.
- Verify the registration if it's still Self Registered — confirm name, gender, DOB, parents.
- Screen the child:
- Vitals: Height, Weight, MUAC, Head Circumference (BMI auto-calculates).
- Temp (optional).
- Underweight flag appears in red if the BMI is below the age-bucketed threshold — consider referral but not a hard block.
- Accompanying guardian — pick from the dropdown, or choose Other and enter name + relation for a one-off.
- Medical history — tick anything new; auto-fills from prior sessions if any.
- Exclusion criteria — tick if any apply; if any are ticked, the wizard switches to FilteredOut mode and requires a remark.
- Submit. The session locks; vitals cannot be edited after.
- Excluded: status becomes FilteredOut; no dose is recorded.
- Otherwise: status becomes Completed; dose count increments.
Adverse effects
If a follow-up call reveals an adverse effect, the staff opens the session via the profile and records the effect text. The session row stays locked but the AE text is appended (and audit-logged).
Hard rule
60-dose lifetime cap
Children accumulate doses across visits. Once the lifetime total (prior + system-recorded) hits 60, the wizard blocks Submit with a clear message. This is enforced server-side too — the cap can't be bypassed by retrying.
For camps where signal drops or there's no signal at the site. You prep on the office wifi, work offline at camp, and sync when you're back online.
Prepare for Offline (PFO)
- Before any of this works, a SuperAdmin or GeneralAdmin must switch offline mode on for the camp site: Admin → Camp Sites → edit the site → Enable offline mode. Until then no offline button appears anywhere for that site's staff.
- You'll see a Prepare for Offline button on your Dashboard or Camp Day page within 2 days of an assigned camp.
- Tap it. You'll be asked to log in again ("Heavy work…") — this refreshes your session and is normal.
- The app downloads today's participants, dose batches, and schedule onto this device. Wait for the success message.
- A yellow Working offline banner pins to the top of the screen — you're ready.
Tip: stay on the same device for the day. Pending work doesn't move to a different phone.
Running camp offline
- Search participants by name or UPC just like online — even walk-ins.
- QR scan isn't available offline; use search.
- The wizard works end-to-end: vitals, accompanying guardian, exclusion criteria, submission.
- Submitting saves the session locally. The banner's pending count goes up by one.
- Refreshing the page or locking the screen is safe — drafts are saved every few seconds.
Sync & Pull
- Sync sends your queued work to the server. Tap when you're back on a good connection.
- Pull refreshes today's data from the server (new walk-ins added by colleagues, etc.). Your pending work is left alone.
- If sync finishes cleanly, tap Done in the banner or the success modal to exit offline mode.
- If some operations failed, you'll see a list with Retry and Discard on each.
Logout is blocked
You can't log out while there's pending offline work. Sync first, then log out. This protects against accidentally losing the day's submissions.
When something goes wrong
If you see "Device check failed" or "Low storage" when preparing — try a recent Chrome on Android or Safari on iOS, and free up at least 1 GB of space.
If a session fails to sync with a dose-cap message, the child has already received their 60 doses elsewhere — the rejection is correct. Discard the op and inform the guardian.
For months where a child didn't attend but you have a note (illness, travel, dropout), open the profile and click Add Follow-up:
- Pick the target month (defaults to the current month).
- Type the remark.
- Submit. The remark appears in the timeline immediately.
The only path that records longitudinal data without a dosing session.
Admin → Reports exports the official government forms.
Form
Anusuchi-2
Register of children with their session history. XLSX (bilingual BS/AD header) or PDF. Mode A picks children from a list; Mode B filters by site + date range.
Form
Anusuchi-3
Aggregate counts (Female/Male × New/Repeat) for a campsite + date window.
Ad-hoc
Generic exports
/api/admin/exports/{children,sessions,audit} returns CSV or XLSX. LocationAdmin only sees rows from their assigned sites.
A request fails
Every response carries X-Trace-Id in the headers. Share that id with the project lead; the server log has full exception context against it.
A user gets the wrong row
Check their assigned camp sites in Office Staff → Edit. The wizard, the participants list and the dashboard all filter by that assignment.
A locked dose looks wrong
Locked doses are immutable on purpose. If the recipe was wrong, create a new dose, attach it to a new camp day, and delete the old camp day.
- UPC
- Anusuchi
- Prashan day
- HPV
- BS / AD