How nabiha02/caretai-327-project works
CARETAI is a clinical information-collection and review demo, not a diagnostic or prescribing system. Its intended workflow collects patient/caregiver-reported information, organizes it into a visit and draft report, and presents saved material for clinician review and patient confirmation. The frontend also provides role-based onboarding, doctor verification, and admin demo workflows. The backend’s route-to-service and persistence links are visible in sampled source; frontend-to-backend wiring is described as incremental, so those connections are shown as unverified. Several frontend feature implementations were not sampled.
Main entry points: router.tsx Role router · visits.py Visit records · main.py FastAPI routes · DoctorApp.tsx Doctor workspace
Components 25
Frontend experience
- Role router
frontend/src/app/router.tsx - Patient workspace
frontend/src/patient/layout/PatientApp.tsx - Doctor workspace
frontend/src/doctor/layout/DoctorApp.tsx - Visit review
frontend/src/doctor/consultation-review/DoctorVisitReviews.tsx - Admin workflows
frontend/src/admin/layout/AdminApp.tsx
Intake and records
- Frontend API client
frontend/src/app/api.ts - FastAPI routes
backend/app/main.py - Conversation intake
backend/app/api/conversations.py - Intake and draft logic
backend/app/services/conversation.py - Message endpoints
backend/app/api/messages.py - Visit records
backend/app/api/visits.py - Visit data contract
backend/app/schemas/visit.py - Persistence helpers
backend/app/services/storage.py - SQLite database
backend/app/database/client.py
Clinical review
- Report endpoints
backend/app/api/reports.py - Doctor patient data
frontend/src/doctor/data/doctorPatientData.ts - Care plans
frontend/src/doctor/care-plans/DoctorCarePlans.tsx - Doctor reports
frontend/src/doctor/reports/DoctorReports.tsx
Identity and access
- Account onboarding
frontend/src/auth/pages/DoctorRegistrationPage.tsx - Demo auth state
frontend/src/auth/services/demoAuth.ts - Doctor verification
frontend/src/admin/doctor-verification/ApplicationReview.tsx - Admin session
frontend/src/admin/data/adminSession.ts
Other components
- Patient / caregiver
- Clinician
- Administrator
Connections 36
- Patient / caregiver → Role router: opens app
README.md - Clinician → Role router: opens app
README.md - Administrator → Role router: opens app
frontend/src/app/router.tsx - Role router → Patient workspace: routes patient
frontend/src/app/router.tsx - Role router → Doctor workspace: routes doctor
frontend/src/app/router.tsx - Role router → Admin workflows: routes admin
frontend/src/app/router.tsx - Role router → Account onboarding: routes onboarding
frontend/src/app/router.tsx - Role router → Demo auth state: checks session
frontend/src/app/router.tsx - Role router → Admin session: checks session
frontend/src/app/router.tsx - Account onboarding → Demo auth state: records registration
frontend/src/auth/pages/DoctorRegistrationPage.tsx - Admin workflows → Doctor verification: renders review
frontend/src/admin/layout/AdminApp.tsx - Doctor verification → Demo auth state: updates doctor status
frontend/src/admin/doctor-verification/ApplicationReview.tsx - Patient / caregiver → Patient workspace: provides intake
README.md - Patient workspace → Frontend API client: starts conversation
frontend/src/patient/layout/PatientApp.tsx - Patient workspace → Frontend API client: loads visit
frontend/src/patient/layout/PatientApp.tsx - Frontend API client → FastAPI routes: calls service
- FastAPI routes → Conversation intake: registers routes
backend/app/main.py - FastAPI routes → Visit records: registers routes
backend/app/main.py - FastAPI routes → Message endpoints: registers routes
backend/app/main.py - FastAPI routes → Report endpoints: registers routes
backend/app/main.py - Conversation intake → Intake and draft logic: delegates intake
backend/app/api/conversations.py - Conversation intake → Persistence helpers: persists records
backend/app/api/conversations.py - Message endpoints → Persistence helpers: stores messages
backend/app/api/messages.py - Visit records → Persistence helpers: reads and writes
backend/app/api/visits.py - Visit records → Intake and draft logic: refreshes draft
backend/app/api/visits.py - Report endpoints → Persistence helpers: reads and writes
backend/app/api/reports.py - Persistence helpers → SQLite database: uses connection
- Visit records → Visit data contract: validates payload
backend/app/api/visits.py - Doctor workspace → Visit review: renders reviews
frontend/src/doctor/layout/DoctorApp.tsx - Visit review → Frontend API client: loads saved records
frontend/src/doctor/consultation-review/DoctorVisitReviews.tsx - Visit review → Doctor patient data: derives demo reviews
frontend/src/doctor/consultation-review/DoctorVisitReviews.tsx - Clinician → Doctor workspace: reviews visits
README.md - Doctor workspace → Care plans: renders care plans
frontend/src/doctor/layout/DoctorApp.tsx - Doctor workspace → Doctor reports: renders reports
frontend/src/doctor/layout/DoctorApp.tsx - Patient / caregiver → Visit records: confirms visit
- Visit records → Report endpoints: creates draft