Historical totals are full-year figures supplied by Roshni. The live year-to-date figure counts cases reported this year that are currently recovered. Full-year and year-to-date totals cover different periods.
Before the timezone fix was deployed, assignment times were stored in UTC (5 hours behind Pakistan time). Run the preview to see affected cases, then execute once to correct them.
Case #
Child Name
Stored (UTC)
Will become (PKT)
Admin: Import Rollback
Use this only to undo the latest accidental January import. Preview first; the delete button appears only after the server identifies matching imported rows.
Case #
Child Name
Report Date
Created
Status
If December rows have already been corrected to January report dates, move their dashboard month from Dec 2025 to Jan 2026.
Full reset for re-import: delete all cases counted in December 2025 and January 2026.
Case Management System
Loading...
Find a case
Search by child, case number, location, or use the filters below.
Loading cases...
🔍
Assigned fromAssigned to
Photo
Case #/Date
Child
Type
Status
Priority
Assigned To
Actions
📂
No cases found
Either no cases match your filters, or it's time to register the first one.
Resolved / Converted to CaseLead has been handled or linked.
False Lead / DuplicateDismissed with review note.
Reports & Analytics
Case statistics and insights
Date range:
to
Total Missing Children Cases Reported
—
Still Missing Children
—
Critical Cases
—
Successfully Recovered
—
Recovery Rate
—
% of cases recovered
Dead Body Found / Murdered
—
fatal outcome cases
Unreachable Cases
—
contact unavailable
Outcome Summary
Recovered includes Completed, Closed, and Work Done. Other Status is kept separate so the status donut is not duplicated.
Cases by Status
Monthly Trend
Cases by City
Priority Breakdown (Active)
Province Breakdown
Male / Female Breakdown
Unreachable Cases — Monthly Trend
Cases marked as Unreachable per month — families where contact could not be established
Unreachable by City
Unreachable by Province
Cases by Age Group
Recovery Rate by Age
RecoveredStill Missing
Gender Distribution by Age Group
MaleFemale
Still Missing Children — Age Group Breakup
Dead Body Found / Murdered — Age Group Breakup
🗺️ Geographic Hot Spots — Cases by City
CriticalInvestigatingRecoveredOpen / Other
Districts Most Affected
Top Last-Seen Locations
📍 Karachi — Districts & Police Stations
Drill-down for cases reported in Karachi. Districts come from home_district; police stations are inferred from last_seen_location.
Karachi Districts
Karachi Police Stations / Areas
Total Missing Children Cases
—
Recovered Children
—
Dead Body Found / Murdered
—
Sexual Abuse Cases
—
Still Missing
—
Monthly Reporting
City Wise Data
Age Wise Data
Male / Female
MaleFemale
District Wise (Karachi)
Karachi Case Outcomes
Recovered
—
Still Missing
—
Recovery Rate
—
Other Outcomes
—
to
Showing 0 events
Most recent first
⏱ Assignment Monitor
Has the worker started? Only activity AFTER assignment counts — imported history ignored.
📅→
Assignments
Cases assigned to case workers
🔍
Assigned→
Photo
Case #
Reported
Assigned
Source
Caseworker
Child Name
Status
Priority
City
Actions
🗂️
No assigned cases yet
Once cases are assigned to workers they'll appear here.
Users & Access
Manage system login accounts
Full Name
Username
Role
Phone
Department
Last Login
Status
Actions
💾 Database Backups
Manage daily database snapshots
📌 How backups work
Database backups (.sql files) are full snapshots of every rh_* table — newest 14 are kept.
Uploads backups (.zip files) are snapshots of the entire uploads/ folder (case photos & documents) — newest 7 are kept (these are bigger).
Old backups are auto-rotated. Use the Restore button on a .sql backup to roll the database back to that point — a safety snapshot is taken first, automatically.
For automatic daily backups, add these cron jobs on your server: 0 3 * * * /usr/bin/php /path/to/your/site/backup.php >/dev/null 2>&1 daily 3 AM — DB 0 4 * * 0 /usr/bin/php /path/to/your/site/backup_uploads.php >/dev/null 2>&1 Sundays 4 AM — uploads
File
Size
Created
Age
Actions
💾
No backups yet
Backups protect against data loss. Create the first one now.
Activity Log
All system actions
📅→
Time
User
Action
Module
Case #
Details
Case Details
Account
📧 Email Report
Send a period summary by email. Set recipients and period below; the weekly run (configured via server cron) uses these same settings.
Separate multiple addresses with commas.
🔒 Change Password
Case View
—
New Case
Child Information
Case Details
Only admin and supervisor can change assignment.
Override the date the case was assigned (admin/supervisor only).
Reporter Information
Family Information
Police / Legal Info
Follow-Ups
Resolution / Recovery
Photos & Documents
💡 Save the case first — then you can upload photos and documents here.
Child Photo
👤Add Photo
JPG · PNG · WebP Max 10MB
Case Documents
📎
Drop files or click to attach
PDF · Word · Excel · Images — Max 10MB each
Type:
+ Quick Intake — New Case
Log a freshly reported case and assign it to a case worker for further work.
💡 The case worker will open the case afterwards and fill in the remaining details (age, address, last seen, etc.).
Add User
🔍 Photo Match
Upload a photo of a child to search all cases. Two-stage matching: a fast visual scan finds candidate photos, then Google Gemini AI automatically compares the faces of the top matches and gives a same-child verdict on each.
👤
No file chosen
⬆ Import from Excel
📂
Drop your Excel or CSV file here
or click to browse · .xlsx .xls .csv supported
Found 0 rows ·
0 columns matched
Column Mapping
⚠ Delete All Cases
This will permanently delete ALL cases and cannot be undone.
All case records, files, photos, and updates will be erased from the database.
⇄ Reassign Cases Between Workers
Move all cases from one worker to another, or move specific children to a different worker.
Bulk Reassign — All Cases by Worker
Move Specific Child by Name
⬇ Export Data
Exports all records matching your current search/filter — not just the current page.
💬 Send WhatsApp Message
Messages are sent via WhatsApp Business API. Uses Pakistani numbers (auto-adds +92 prefix).
0 / 4000 characters
🔀 Merge Cases
⚠ Merging is permanent. All updates, files, and history from the duplicate case will be moved into this case. The duplicate will be marked as Closed and reference this case.
PRIMARY (kept)
⬇
DUPLICATE TO MERGE
📋 Bulk Assign Cases
Assign unassigned cases or reassign an existing worker's cases.