The Welfare module provides a comprehensive, multi-domain view of student well-being at Gobarau Academy. It spans four interconnected areas: Health (medical profiles, clinic visits, and prescribed medications), Counselling (one-to-one sessions between students and school counsellors), Discipline (incident records and merit/demerit point tracking), and Interventions (structured case management for students requiring multi-domain support, alongside extended absence logging and periodic welfare reports). All welfare models inherit fromDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/muhammadbugaje/gobarau_backend/llms.txt
Use this file to discover all available pages before exploring further.
SoftDeleteModel and AuditMixin, meaning records are never hard-deleted and every access action is audited. All endpoints are prefixed with /api/welfare/ and follow standard DRF router conventions.
Health
Health Profiles
List all student health profiles.
Create a health profile for a student.
OneToOneField). Access is restricted to the school nurse role.
Request Fields
Foreign key (one-to-one) — ID of the
StudentProfile. Each student can have only one health profile.Student’s blood group, e.g.
"O+". Optional.Student’s genotype, e.g.
"AA". Optional.Free-text description of known allergies. Optional.
Free-text description of any chronic medical conditions. Optional.
Full name of the emergency contact person. Optional.
Phone number for the emergency contact. Optional.
Example — Create a Health Profile
Unique identifier for the health profile.
ID of the linked
StudentProfile.Student’s blood group.
Student’s genotype.
Known allergies.
Known chronic conditions.
Name of emergency contact.
Phone number of emergency contact.
Clinic Visits
List all clinic visit records.
Record a new clinic visit for a student.
Request Fields
Foreign key — ID of the
StudentProfile.Date of the clinic visit in
YYYY-MM-DD format.The student’s presenting complaint or reason for the visit.
Nurse or doctor’s diagnosis. Optional.
Treatment or care administered during the visit. Optional.
Whether the student was referred to an external clinic or hospital. Defaults to
false.Medications
List all medication records.
Add a medication prescribed during a clinic visit.
Request Fields
Foreign key — ID of the
ClinicVisit this medication belongs to.Name of the prescribed drug, e.g.
"Paracetamol".Dose amount and unit, e.g.
"500mg".How often the medication should be taken, e.g.
"Twice daily".How long the course lasts, e.g.
"5 days".Counselling
Counselling Sessions
List all counselling session records.
Record a new counselling session.
counsellor role.
Request Fields
Foreign key — ID of the
StudentProfile.Foreign key — ID of the
TeacherProfile acting as counsellor. Nullable.Date the session took place in
YYYY-MM-DD format.Description of the issue or concern the student presented with.
Counsellor’s session notes. Optional.
Scheduled follow-up date in
YYYY-MM-DD format. Nullable.Counselling session notes are strictly confidential. Only authenticated users with the counsellor or principal role should have read access to this endpoint. Never expose session notes in parent-facing or student-facing API consumers.
Discipline
Disciplinary Records
List all disciplinary records.
Create a disciplinary record for a student incident.
Disciplinary Status Values
| Value | Description |
|---|---|
pending | Incident recorded, no action taken yet (default) |
resolved | Incident has been fully resolved |
escalated | Incident has been escalated to senior management |
Request Fields
Foreign key — ID of the
StudentProfile.Date of the incident in
YYYY-MM-DD format.Short classification of the incident, e.g.
"Fighting", "Insubordination".Full narrative description of what occurred.
Description of any disciplinary action applied. Optional.
Current status. One of
pending, resolved, or escalated. Defaults to pending.Example — Create a Disciplinary Record
Unique identifier for the disciplinary record.
ID of the
StudentProfile involved.Type classification of the incident.
Current resolution status:
pending, resolved, or escalated.Merit Deductions
List all merit and demerit point entries.
Record a merit addition or deduction for a student.
Merit Direction Values
| Value | Description |
|---|---|
add | Points are being added (reward) (default) |
deduct | Points are being removed (penalty) |
Request Fields
Foreign key — ID of the
StudentProfile.Number of merit points to add or deduct. Must be a positive integer. Defaults to
1.Whether points are being added or deducted. One of
add or deduct.Brief reason for the merit change, e.g.
"Outstanding conduct during assembly".Foreign key — ID of the
User who recorded this entry. Nullable.Interventions
Intervention Cases
List all intervention cases.
Open a new intervention case for a student.
open → on_hold → closed as progress is made.
Intervention Type Values
| Value | Description |
|---|---|
academic | Academic underperformance or learning difficulties |
attendance | Persistent absenteeism or lateness |
behavioural | Ongoing behavioural concerns |
welfare | General welfare or safeguarding issues |
health | Chronic health conditions requiring monitoring |
tahfeez | Difficulties or concerns in Qur’an memorization progress |
Intervention Status Values
| Value | Description |
|---|---|
open | Case is actively being managed (default) |
on_hold | Case is paused, awaiting further information |
closed | Case has been resolved and closed |
Request Fields
Foreign key — ID of the
StudentProfile.Type or domain of the intervention. Recommended values:
academic, attendance, behavioural, welfare, health, tahfeez.Full description of the concern and context for this case.
Date the case was closed in
YYYY-MM-DD format. Nullable; set when status moves to closed.Current case status. One of
open, on_hold, or closed. Defaults to open.Example — Open an Intervention Case
Unique identifier for the intervention case.
ID of the
StudentProfile.Type/domain of the intervention.
Date the case was opened (auto-set on creation).
Current case status:
open, on_hold, or closed.Intervention Notes
List all notes attached to intervention cases.
Add a progress note to an intervention case.
Request Fields
Foreign key — ID of the
InterventionCase this note belongs to.The full text of the progress note or update.
Foreign key — ID of the
User who wrote the note. Nullable.Absences
List all extended absence records.
Log an extended absence period for a student.
Request Fields
Foreign key — ID of the
StudentProfile.First day of the absence in
YYYY-MM-DD format.Last day of the absence in
YYYY-MM-DD format.Reason provided for the absence.
Whether the absence has been officially excused by the school. Defaults to
false.Whether the student’s parent or guardian has been informed. Defaults to
false.Welfare Reports
List all welfare reports.
Create a periodic welfare summary report for a student.
Request Fields
Foreign key — ID of the
StudentProfile.Foreign key — ID of the
Term this report covers.A descriptive welfare level label, e.g.
"Good", "Needs Monitoring", "At Risk".Recommendations for supporting the student in the next term. Optional.
Foreign key — ID of the
User who prepared this report. Nullable.Welfare reports should only be prepared by authorised welfare staff (nurse, counsellor, or admin). When
prepared_by is set, it creates an auditable record of who authored the report. Reports are soft-deleted — a DELETE request marks them as inactive rather than permanently removing them from the database.