How sandeep-square2706/hospital-management-system works
Hospital Management System is a Django application for role-based doctor availability and patient appointment booking, with PostgreSQL persistence and Google Calendar and email integrations. Its main workflow runs from doctor availability creation through patient booking to doctor review, acceptance or rejection, and appointment completion. The README documents additional capabilities; sampled views and calendar services support the specific links shown. OAuth view wiring and some browse/list behavior are documented but their implementation was not sampled.
Main entry points: accounts/views.py Accounts and dashboards · bookings/views.py Booking operations · doctors/views.py Availability management · patients/views.py Patient experience
Components 16
Accounts and Roles
- Accounts and dashboards
accounts/views.py - User accounts
accounts/models.py
Doctor Availability
- Availability management
doctors/views.py - Doctor profiles and slots
doctors/models.py
Appointment Management
- Patient experience
patients/views.py - Patient profiles
patients/models.py - Booking operations
bookings/views.py - Bookings
bookings/models.py
External Integrations
- Calendar authorization
calendar_app/views.py - Calendar services
calendar_app/services.py - Email handler
email-service/handler.py
Other components
- Doctor
- Patient
- PostgreSQL
- Google Calendar API
- Gmail SMTP
Connections 27
- Doctor → Accounts and dashboards: signs in
- Patient → Accounts and dashboards: signs in
- Accounts and dashboards → User accounts: creates and authenticates
- Accounts and dashboards → Doctor profiles and slots: creates doctor profile
- Accounts and dashboards → Patient profiles: creates patient profile
- Accounts and dashboards → Availability management: routes doctor
- Accounts and dashboards → Patient experience: routes patient
- Doctor → Availability management: manages availability
- Availability management → Doctor profiles and slots: creates and updates slots
- Patient → Patient experience: views doctors and slots
- Patient experience → Doctor profiles and slots: reads availability
- Patient → Booking operations: books a slot
- Booking operations → Patient profiles: loads patient profile
- Booking operations → Doctor profiles and slots: locks and updates slot
- Booking operations → Bookings: creates and updates booking
- Doctor → Booking operations: reviews booking
- Booking operations → Bookings: reads booking history
- Booking operations → Calendar services: creates accepted events
- Calendar authorization → Calendar services: uses OAuth services
- Calendar services → Google Calendar API: creates events
- Accounts and dashboards → Email handler: posts welcome email
- Booking operations → Email handler: posts booking updates
- Email handler → Gmail SMTP: sends email
- Accounts and dashboards → PostgreSQL: persists accounts and profiles
- Availability management → PostgreSQL: persists availability
- Patient experience → PostgreSQL: reads patient profile
- Booking operations → PostgreSQL: persists bookings and slots