How neerajyadav604/clinicall works
Clinicall is a multi-role healthcare consultation platform. Patients discover doctors, request and pay for appointments, access consent-controlled FHIR records, and consult by chat or video; doctors manage appointments and clinical notes, while hospital and system administrators manage their respective operations. The frontend routes into an Express API backed by MongoDB, with real-time Socket.IO features and an ML service for symptom, matching, summary, and drug-checking capabilities. The README documents the broad platform relationships; source excerpts additionally show consultation, socket, sync, and ML internals, but not every frontend-to-API call.
Main entry points: App.js Web Application · DoctorRoutes.jsx Doctor Portal · AdminRoutes.jsx Admin Portal · fhirApi.js Records Interface
Components 23
Patient Care
- Web Application
frontend/src/App.js - Doctor Portal
frontend/src/routes/DoctorRoutes.jsx - Authentication
frontend/src/services/authSession.js - Appointments
server/Controllers/ManageAppoinment.js - Payments
server/Controllers/Payment.js
Clinical Records
- Records Interface
frontend/src/services/fhirApi.js - FHIR Resources
server/routes/fhir.js - Consent Controls
frontend/src/components/consent/ConsentManager.jsx - FHIR Synchronization
server/utils/fhirSyncEngine.js - MongoDB
server/config/Database.js
Live Consultation
- Consultation Sessions
server/Controllers/consultationController.js - Chat and Calls
frontend/src/pages/Chat.jsx - Real-time Socket.IO
server/index.js
Platform Operations
- Admin Portal
frontend/src/routes/AdminRoutes.jsx - Hospital Management
server/Controllers/HospitalController.js - Admin Management
server/Controllers/AdminController.js - Admin Analytics
server/Controllers/AdminAnalyticsController.js
AI Services
- ML Endpoints
ml-service/main.py - AI Controller
server/Controllers/AIController.js
Other components
- Patient
- Doctor
- Hospital Admin
- System Admin
Connections 23
- Patient → Web Application: uses
- Doctor → Doctor Portal: uses
frontend/src/routes/DoctorRoutes.jsx - System Admin → Admin Portal: uses
frontend/src/routes/AdminRoutes.jsx - Hospital Admin → Hospital Management: manages hospitals
- Web Application → Authentication: authenticates
frontend/src/services/authSession.js - Web Application → Appointments: REST requests
- Web Application → Payments: pays online
- Doctor Portal → Appointments: manages appointments
- Admin Portal → Admin Management: reviews registrations
- Admin Portal → Admin Analytics: views analytics
- Web Application → Records Interface: views records
- Records Interface → FHIR Resources: requests records
- Consent Controls → Records Interface: controls access
frontend/src/components/consent/ConsentManager.jsx - FHIR Resources → MongoDB: reads and writes
- FHIR Synchronization → MongoDB: reads and writes
server/utils/fhirSyncEngine.js - FHIR Synchronization → Patient: syncs with external EHR
- Doctor Portal → Consultation Sessions: starts sessions
- Chat and Calls → Consultation Sessions: uses session APIs
frontend/src/pages/Chat.jsx - Consultation Sessions → Real-time Socket.IO: emits session events
server/Controllers/consultationController.js - Chat and Calls → Real-time Socket.IO: exchanges events
frontend/src/pages/Chat.jsx - Web Application → ML Endpoints: requests predictions
- AI Controller → ML Endpoints: calls inference
- AI Controller → MongoDB: reads clinical data
server/Controllers/AIController.js