How paulchetti/aarogya-drishti works
Aarogya Drishti is a role-based oral-health screening and care-coordination application. Users authenticate into citizen, frontline-worker, clinician, diagnostic-centre, or administration portals; screening and patient records support referrals, follow-ups, laboratory workflows, and teleconsultation. The React client calls an Express API, whose route groups use SQLite and session authorization. The README documents offline queuing, bilingual UI, and Gemini-assisted screening. Some subsystem links below rely on README documentation or indexed imports; unsampled implementation details are not inferred.
Main entry points: App.jsx Application Shell · index.js Express API · authMiddleware.js Session Authorization · apiClient.js API Client
Components 28
Client and Portals
- Application Shell
src/App.jsx - Login and Registration
src/components/AuthCard.jsx - ANM Portal
src/components/anm/ANMPortalLayout.jsx - Citizen Portal
src/components/citizen/CitizenPortalLayout.jsx - Clinical Dashboards
src/components/clinical/DashboardLayout.jsx - Admin Dashboards
src/components/Dashboard/DistrictAdminDashboard.jsx - Language Context
src/context/LanguageContext.jsx
Identity and Sessions
- Employee Authentication
src/services/employeeAuthService.js - Citizen OTP
src/services/citizenAuthService.js - Session Management
src/services/sessionService.js - Session Authorization
server/authMiddleware.js
Clinical Care Workflows
- Oral Screening UI
src/components/common/InlineOralScreeningSection.jsx - Screening and AI Service
src/services/geminiOralCancerService.js - Screening Report Rules
shared/oralScreening.js - Patient Registry and Referrals
src/services/referralRoutingService.js - Workflow Service
src/services/workflowService.js - Teleconsultation Suite
src/components/clinical/TeleconsultationSuite.jsx
API and Services
- API Client
src/services/apiClient.js - Express API
server/index.js - Authentication Routes
server/routes/authRoutes.js - Patient Routes
server/routes/clinicalRoutes.js - Workflow Routes
server/routes/workflowRoutes.js - Call Routes
server/routes/callRoutes.js - Media and AI Routes
server/routes/mediaAndAiRoutes.js - Administration Routes
server/routes/adminRoutes.js
Persistence and Shared Data
- SQLite Database
server/db.js
Other components
- Portal User
- Gemini API
Connections 43
- Portal User → Application Shell: uses
README.md - Application Shell → Login and Registration: shows
src/App.jsx - Application Shell → ANM Portal: routes to
src/App.jsx - Application Shell → Citizen Portal: routes to
src/App.jsx - Application Shell → Clinical Dashboards: routes to
src/App.jsx - Application Shell → Admin Dashboards: routes to
src/App.jsx - Application Shell → Session Management: manages
src/App.jsx - Application Shell → Language Context: uses
src/App.jsx - Login and Registration → Employee Authentication: authenticates with
src/components/AuthCard.jsx - Citizen Portal → Citizen OTP: requests OTP
src/components/citizen/CitizenPortalLayout.jsx - Employee Authentication → API Client: sends requests
src/services/employeeAuthService.js - Citizen OTP → API Client: sends requests
src/services/citizenAuthService.js - Session Management → API Client: verifies session
src/services/sessionService.js - Oral Screening UI → Screening and AI Service: requests analysis
src/components/common/InlineOralScreeningSection.jsx - Oral Screening UI → Screening Report Rules: uses rules
src/components/common/InlineOralScreeningSection.jsx - Screening and AI Service → API Client: sends requests
src/services/geminiOralCancerService.js - Screening and AI Service → Screening Report Rules: uses schema
src/services/geminiOralCancerService.js - Screening and AI Service → Gemini API: analyzes images
README.md - Patient Registry and Referrals → API Client: sends requests
src/services/referralRoutingService.js - Workflow Service → API Client: sends requests
src/services/workflowService.js - Workflow Service → Patient Registry and Referrals: caches patient
src/services/workflowService.js - Teleconsultation Suite → API Client: updates patient
src/components/clinical/TeleconsultationSuite.jsx - Teleconsultation Suite → Call Routes: uses call API
README.md - Application Shell → Express API: calls API
README.md - Express API → Authentication Routes: mounts
server/index.js - Express API → Patient Routes: mounts
server/index.js - Express API → Workflow Routes: mounts
server/index.js - Express API → Call Routes: mounts
server/index.js - Express API → Media and AI Routes: mounts
server/index.js - Express API → Administration Routes: mounts
server/index.js - Authentication Routes → Session Authorization: uses
server/routes/authRoutes.js - Patient Routes → Session Authorization: uses
server/routes/clinicalRoutes.js - Workflow Routes → Session Authorization: uses
server/routes/workflowRoutes.js - Call Routes → Session Authorization: uses
server/routes/callRoutes.js - Media and AI Routes → Session Authorization: uses
server/routes/mediaAndAiRoutes.js - Administration Routes → Session Authorization: uses
server/routes/adminRoutes.js - Session Authorization → SQLite Database: checks sessions
server/authMiddleware.js - Authentication Routes → SQLite Database: reads and writes
server/routes/authRoutes.js - Patient Routes → SQLite Database: reads and writes
server/routes/clinicalRoutes.js - Workflow Routes → SQLite Database: reads and writes
server/routes/workflowRoutes.js - Call Routes → SQLite Database: reads and writes
server/routes/callRoutes.js - Media and AI Routes → SQLite Database: uses
server/routes/mediaAndAiRoutes.js - Administration Routes → SQLite Database: reads and writes
server/routes/adminRoutes.js