Skip to content
SBPDMS

Operator Guide · SBP-060

SBPDMS Operator Guide

How to run a Swarnaprashana camp end-to-end with the system. Aimed at office administrators and field staff preparing for or running a Prashan day — no coding knowledge assumed.

If something doesn't match what you see on screen, it's because the app moves faster than this doc — flag it to your project lead.

01 — Roles

Roles at a glance

SuperAdmin

Project lead

Everything. One per deployment.

GeneralAdmin

Senior staff

All admin pages, all sites.

LocationAdmin

Site lead

Their assigned site(s) only — manage staff, doses, camp days.

GeneralUser

Field staff (HPV)

Read-only at their site; the wizard for their assigned camp days.

A user's site assignment lives in Office Staff → Edit → Assigned Camp Sites. Multiple sites are allowed.

02 — Setup

Setting up a new site

The order is Camp Site → Dose Preparation → Camp Day. Each step is linked to the next.

1.

Create the Camp Site

  1. Log in as SuperAdmin or GeneralAdmin.
  2. Go to Admin → Camp Sites → + New.
  3. Fill in: Code (e.g. RC-001), Name, District / Local Level.
  4. Save. The site appears in the list immediately.
2.

Assign Office Staff

  1. From the Camp Sites list, click into the site.
  2. Click Assign Office Staff.
  3. Tick the staff who should run camps at this site. LAs need their permissions ticked here even if their role is set elsewhere.
  4. Save. Staff can now log in and see this site.
3.

Prepare a Dose

  1. Go to Admin → Dose Preparations → + New.
  2. Set the Camp Site (the dose is scoped to one site).
  3. Add ingredients (e.g. Swarna Bhasma, Vacha, Brahmi); each gets a quantity and unit.
  4. Add personnel — the staff who prepared the batch.
  5. Save in Draft until you've physically prepared the batch.
  6. Once ready, Lock the dose. A locked dose is immutable and can be assigned to a camp day. Locking is the audit-trail commitment.
4.

Schedule a Camp Day

  1. Go to Admin → Camp Days → + New.
  2. Pick the Camp Site, Start/End date+time.
  3. Attach one or more locked Dose Preparations from step 3. The list filters to doses at the same site.
  4. Pick the staff who will run the day — only those assigned to the site appear.
  5. Save. The camp day shows on the dashboard for assigned staff.

03 — Wizard

Running a Prashan day

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

  1. Scan the QR (or search by UPC / name) to pull up the participant.
  2. Verify the registration if it's still Self Registered — confirm name, gender, DOB, parents.
  3. 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.
  4. Accompanying guardian — pick from the dropdown, or choose Other and enter name + relation for a one-off.
  5. Medical history — tick anything new; auto-fills from prior sessions if any.
  6. Exclusion criteria — tick if any apply; if any are ticked, the wizard switches to FilteredOut mode and requires a remark.
  7. 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.

04 — Follow-up

Monthly follow-up

For months where a child didn't attend but you have a note (illness, travel, dropout), open the profile and click Add Follow-up:

  1. Pick the target month (defaults to the current month).
  2. Type the remark.
  3. Submit. The remark appears in the timeline immediately.

The only path that records longitudinal data without a dosing session.

05 — Reports

Reports

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.

06 — Help

When something goes wrong

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.

07 — Reference

Glossary

UPC
Unique participant code, printed on the child's QR sticker.
Anusuchi
Nepal-government register form (अनुसूची).
Prashan day
Dose-administration day at a campsite.
HPV
"Health Promotion Volunteer" — legacy name for what the UI now calls Office Staff. The backend tables and a few API endpoints still use the HPV identifier.
BS / AD
Bikram Sambat (Nepali calendar) / Anno Domini (Gregorian). The system stores AD; the UI shows BS where the form requires it.