How sandeep001e/medikiosk works
MediKiosk is a two-dashboard healthcare prototype: patients register, report concerns, manage records and share cases; clinicians review shared cases and manage prescriptions. The unified backend serves both dashboards, coordinates clinical and AI-assisted operations, and persists shared state through Firestore. The README documents SSE updates and backend ownership of shared state. Frontend and several service implementations were not sampled, so their internal wiring is represented only where documented or directly evidenced.
Main entry points: server.js Unified API · PatientApp.jsx Patient dashboard · DoctorApp.jsx Doctor dashboard · sarvamStt.js Speech transcription
Components 22
Patient care
- Patient dashboard
apps/patient/src/PatientApp.jsx - Registration and ABHA
apps/patient/src/pages/patient/Register.jsx - Problem reporting
apps/patient/src/pages/patient/Dashboard.jsx - Reports and prescriptions
apps/patient/src/pages/patient/Reports.jsx - Case sharing
apps/patient/src/components/PatientShareQrModal.jsx
Doctor workflow
- Doctor dashboard
apps/doctor/src/DoctorApp.jsx - Case review
apps/doctor/src/DoctorDashboard.jsx - Prescription entry
apps/doctor/src/components/IssuePrescriptionModal.jsx
Backend services
- Unified API
backend/src/server.js - ABHA verification
backend/src/services/abhaVerification.js - Speech transcription
backend/src/services/sarvamStt.js - Document OCR
backend/src/services/geminiFlashOcr.js - Problem summary
backend/src/services/aiSummary.js - Dynamic questions
backend/src/services/dynamicQuestions.js - Live updates
apps/patient/src/shared/useLiveSync.js
Shared records
- Shared state service
backend/src/shared/sharedStore.js - Firestore adapter
backend/src/services/firestoreService.js
Other components
- Patient
- Doctor
- Firestore
- AI providers
- Sarvam
Connections 24
- Patient → Patient dashboard: uses
- Patient dashboard → Unified API: API requests
- Patient dashboard → Live updates: opens SSE
- Patient dashboard → Registration and ABHA: registers
- Patient dashboard → Problem reporting: reports concern
- Patient dashboard → Reports and prescriptions: manages records
- Patient dashboard → Case sharing: shares case
- Doctor → Doctor dashboard: uses
- Doctor dashboard → Unified API: API requests
- Doctor dashboard → Case review: reviews cases
- Doctor dashboard → Prescription entry: writes prescription
- Unified API → ABHA verification: verifies identity
- Unified API → Speech transcription: transcribes audio
- Unified API → Document OCR: digitizes image
- Unified API → Problem summary: generates summary
- Unified API → Dynamic questions: generates questions
- Speech transcription → Sarvam: calls
- Document OCR → AI providers: calls
- Problem summary → AI providers: calls
- Dynamic questions → AI providers: calls
- Unified API → Shared state service: reads and writes
- Shared state service → Firestore adapter: persists records
- Firestore adapter → Firestore: reads and writes
- Live updates → Unified API: receives SSE