How rishat8903/health-triage-ai works
This is a bilingual health-guidance web app for symptom triage, lab-report interpretation, and conversational mental support, with local and account-backed health records. The main workflow is a user entering symptoms or uploading a report, receiving structured guidance, then optionally saving it or creating a doctor-facing summary. The map also includes authentication, voice, and language support. The README is empty; frontend-to-API links not shown in excerpts are dashed and unverified.
Main entry points: route.ts Triage assessment · triage/page.tsx Symptom triage · lab/page.tsx Lab report decoder · records.ts Local record store
Components 28
User experience
- Home and navigation
app/page.tsx - Symptom triage
app/triage/page.tsx - Lab report decoder
app/lab/page.tsx - Voice companion
app/companion/page.tsx - Doctor summary
app/summary/page.tsx - Health vault
app/vault/page.tsx - Sign-in and registration
app/(auth)/login/page.tsx - Registration page
app/(auth)/register/page.tsx
Health guidance
- Follow-up questions
app/api/triage/questions/route.ts - Triage assessment
app/api/triage/assess/route.ts - Report analysis
app/api/lab/analyze/route.ts - Companion responses
app/api/companion/route.ts - Safety rules
lib/safety.ts - Guidance fallbacks
lib/fallbacks.ts - Intake formatting
lib/intake.ts
AI and voice services
- Gemini client
lib/gemini.ts - Clinical prompts
lib/prompts.ts - Speech synthesis
lib/tts.ts - Voice agent
lib/voiceAgent.ts - Bilingual interface
lib/i18n.tsx
Identity and records
- Local record store
lib/records.ts - Cloud records API
app/api/records/route.ts - Health record model
models/HealthRecord.ts - Authentication API
app/api/auth/register/route.ts - Auth configuration
auth.ts - User model
models/User.ts
Other components
- Health app user
- MongoDB
Connections 41
- Health app user → Home and navigation: opens
app/page.tsx - Health app user → Symptom triage: enters symptoms
app/triage/page.tsx - Health app user → Lab report decoder: uploads report
app/lab/page.tsx - Health app user → Voice companion: starts conversation
app/companion/page.tsx - Health app user → Sign-in and registration: signs in
app/(auth)/login/page.tsx - Home and navigation → Bilingual interface: uses translations
app/page.tsx - Symptom triage → Follow-up questions: requests questions
- Symptom triage → Triage assessment: requests assessment
- Symptom triage → Local record store: saves result
app/triage/page.tsx - Symptom triage → Speech synthesis: reads result aloud
app/triage/page.tsx - Lab report decoder → Report analysis: requests analysis
- Lab report decoder → Local record store: saves result
app/lab/page.tsx - Lab report decoder → Speech synthesis: reads result aloud
app/lab/page.tsx - Lab report decoder → Bilingual interface: uses translations
app/lab/page.tsx - Voice companion → Companion responses: sends conversation
- Voice companion → Voice agent: uses voice agent
app/companion/page.tsx - Voice companion → Speech synthesis: uses speech
app/companion/page.tsx - Triage assessment → Safety rules: checks safety
app/api/triage/assess/route.ts - Triage assessment → Intake formatting: formats intake
app/api/triage/assess/route.ts - Triage assessment → Guidance fallbacks: uses fallback
app/api/triage/assess/route.ts - Triage assessment → Gemini client: requests assessment
app/api/triage/assess/route.ts - Triage assessment → Clinical prompts: uses assessment prompt
app/api/triage/assess/route.ts - Follow-up questions → Gemini client: requests questions
app/api/triage/questions/route.ts - Follow-up questions → Guidance fallbacks: uses fallback
app/api/triage/questions/route.ts - Follow-up questions → Intake formatting: formats intake
app/api/triage/questions/route.ts - Report analysis → Gemini client: requests analysis
app/api/lab/analyze/route.ts - Report analysis → Clinical prompts: uses lab prompt
app/api/lab/analyze/route.ts - Companion responses → Gemini client: requests reply
app/api/companion/route.ts - Companion responses → Clinical prompts: uses companion prompt
app/api/companion/route.ts - Companion responses → Safety rules: checks safety
app/api/companion/route.ts - Doctor summary → Local record store: reads saved results
app/summary/page.tsx - Health vault → Local record store: reads local records
app/vault/page.tsx - Local record store → Cloud records API: sends cloud record
lib/records.ts - Cloud records API → Auth configuration: checks session
app/api/records/route.ts - Cloud records API → Health record model: reads and writes
app/api/records/route.ts - Cloud records API → MongoDB: persists records
app/api/records/route.ts - Registration page → Authentication API: registers account
- Authentication API → MongoDB: connects to
app/api/auth/register/route.ts - Authentication API → User model: creates user
app/api/auth/register/route.ts - Auth configuration → MongoDB: connects to
auth.ts - Auth configuration → User model: uses user model
auth.ts