How arpita-jain840/medikiosk works
MediKiosk is a healthcare kiosk and doctor-cockpit application. Patients use the patient app for intake, appointments, records, and AI assistance; clinicians use a separate workflow for patient records, consultations, reports, and prescriptions. The server provides authentication, clinical APIs, AI-backed intake and synthesis, notifications, and live queue updates. Connections reflect excerpts and SOURCE INDEX references; some frontend-to-endpoint wiring is not shown, so those links are omitted rather than inferred.
Main entry points: main.py FastAPI application · clinical_routes.py Clinical endpoints · PatientApp.tsx Patient app · pages Doctor workflows
Components 24
Patient experience
- Patient app
client/src/user/PatientApp.tsx - Patient screens
client/src/user/screens - Health report
client/src/components/PatientHealthReport.tsx
Doctor cockpit
- Doctor workflows
client/src/doctor/pages - Prescription workflow
client/src/doctor/pages/PrescriptionPage.tsx
Server API
- FastAPI application
server/main.py - Authentication
server/routers/auth_routes.py - Intake endpoints
server/routers/ingest_routes.py - Clinical endpoints
server/routers/clinical_routes.py - Doctor access
server/routers/Accestodoc.py - Language routes
server/routers/bhashini_routes.py - Notifications
server/routers/notification_routes.py - Live queue
server/routers/websocket_routes.py
Clinical services
- AI services
server/services/ai_service.py - Document storage
server/services/storage_service.py - FHIR integration
server/services/fhir_service.py - Notification service
server/services/notification_service.py
Persistence
- Clinical models
server/models.py - Database sessions
server/database.py - Database initialization
server/init_db.py
Other components
- Patient
- Doctor
- Role routing
client/src/App.tsx - API configuration
client/src/config/api.ts
Connections 30
- Patient → Role routing: opens app
client/src/App.tsx - Doctor → Role routing: opens app
client/src/App.tsx - Role routing → Patient app: routes patient
client/src/App.tsx - Role routing → Doctor workflows: routes clinician
client/src/App.tsx - Patient app → Patient screens: renders screens
client/src/user/PatientApp.tsx - Patient app → Health report: renders report
client/src/user/PatientApp.tsx - Doctor workflows → Health report: uses report
client/src/doctor/pages/DoctorDashboard.tsx - Doctor workflows → Prescription workflow: routes prescriptions
client/src/App.tsx - Patient app → API configuration: uses API config
client/src/user/PatientApp.tsx - Doctor workflows → API configuration: uses API config
client/src/doctor/pages/PatientDetail.tsx - FastAPI application → Authentication: registers route
server/main.py - FastAPI application → Intake endpoints: registers route
server/main.py - FastAPI application → Clinical endpoints: registers route
server/main.py - FastAPI application → Doctor access: registers route
server/main.py - FastAPI application → Language routes: registers route
server/main.py - FastAPI application → Notifications: registers route
server/main.py - FastAPI application → Live queue: registers route
server/main.py - FastAPI application → Database initialization: initializes database
server/main.py - Intake endpoints → AI services: calls processing
server/routers/ingest_routes.py - Clinical endpoints → AI services: calls synthesis
server/routers/clinical_routes.py - Clinical endpoints → Document storage: saves uploads
server/routers/clinical_routes.py - Clinical endpoints → FHIR integration: uses integration
server/routers/clinical_routes.py - Notifications → Notification service: calls service
server/routers/notification_routes.py - Authentication → Database sessions: queries sessions
server/routers/auth_routes.py - Authentication → Clinical models: queries users
server/routers/auth_routes.py - Clinical endpoints → Database sessions: uses sessions
server/routers/clinical_routes.py - Clinical endpoints → Clinical models: queries records
server/routers/clinical_routes.py - Clinical models → Database sessions: uses ORM base
server/models.py - Database initialization → Database sessions: creates tables
server/init_db.py - Database initialization → Clinical models: seeds records
server/init_db.py