Skip to content

UC-STU-001: Daily Health Logging

1. Metadata

Property Value
ID UC-STU-001
Actor Student
Trigger Periodic health hour notification or manual intent
Pre-conditions Student is authenticated; School profile is active
Post-conditions Health record is persisted; Metrics are validated; Score updated
Side Effects Trigger anomaly alert if BMI exceeds threshold; Update achievement points

2. Description

The core mechanism for students to self-track physical growth (Height/Weight) and daily nutritional habits (Water, Fruit intake). This data feeds into the global M&E framework.

3. Success Scenario

  1. Initiation: Student launches the app and selects the "Growth Tracker" widget from the dashboard.
  2. Context Check: System retrieves the last recorded height/weight to prepopulate 'expected' ranges.
  3. Data Entry:
    • Student enters Height (cm) and Weight (kg).
    • Student toggles Daily Nutrition Checklist (e.g., "Had Green Veggies", "8 Glasses of Water").
  4. Validation: System performs a range check (e.g., Height cannot decrease) and a logic check (e.g., Weight > 100kg flags a 'Verify' prompt).
  5. Score Calculation:
    • System calculates BMI-for-Age percentile using internal WHO reference library.
    • System updates the "Weekly Nutrition Score" card.
  6. Persistence:
    • Data is encrypted (AES-256) and stored in the local SQLite buffer.
    • System attempts background sync to the cloud API backend when connectivity is available.
  7. Feedback: System displays a "Goal Met" animation and unlocks the next "Nutrition Badge."

4. Acceptance Criteria

  • [ ] Data Integrity: Input validation prevents negative values or extreme outliers (>3 sigma from age mean).
  • [ ] Performance: Dashboard score update occurs in < 500ms post-submission.
  • [ ] Offline Resilience: App must successfully store 30+ days of logs without connectivity.
  • [ ] Privacy: Individual health metrics are encrypted at rest on the device.
  • [ ] Accessibility: Input fields support high-contrast mode and large-touch targets (min 44px).

5. Decision Logic (BMI Evaluation)

flowchart TD Start([Data Input]) --> Calc[Calculate BMI: weight / height^2] Calc --> Lookup[Retrieve WHO Percentile] Lookup --> Check{Percentile Range} Check -- "> 95th" --> Doctor([Recommendation: Consult Doctor]) Check -- "< 5th" --> Protein([Recommendation: Increase Protein]) Check -- "5th to 95th" --> Optimal([Recommendation: Optimal])