# karthikg1908/hospital-management-system architecture

> Architecture diagram of the GitHub repository karthikg1908/hospital-management-system, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/karthikg1908/hospital-management-system
- Repository: https://github.com/karthikg1908/hospital-management-system

## Overview

This is a PHP hospital-management system with patient, doctor, and administrator portals. The principal patient journey is registration and account access, appointment booking and history, and viewing or managing medical history; doctors handle appointments and patient records, while administrators oversee users, doctors, queries, logs, and reports. The README documents these capabilities, and sampled sidebars show portal navigation. Most workflow handlers were not sampled, so links between their operations are omitted rather than inferred.

Main entry points: [`hospital/hms/admin/include/sidebar.php`](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/include/sidebar.php) (Admin Navigation), [`hospital/hms/include/sidebar.php`](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/include/sidebar.php) (Patient Navigation), [`hospital/hms/doctor/include/sidebar.php`](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/include/sidebar.php) (Doctor Navigation), [`hospital/hms/book-appointment.php`](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/book-appointment.php) (Appointment Booking)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_patient["Patient Portal"]
  node_public_site["Public Site<br/>[index.php]"]
  node_registration["Registration<br/>[registration.php]"]
  node_patient_auth["Patient Login<br/>[user-login.php]"]
  node_patient_home["Patient Dashboard<br/>[dashboard.php]"]
  node_booking["Appointment Booking"]
  node_patient_appointments["Appointment History"]
  node_medical_history["Medical History"]
end

subgraph group_doctor["Doctor Portal"]
  node_doctor_auth["Doctor Login<br/>[index.php]"]
  node_doctor_home["Doctor Dashboard<br/>[dashboard.php]"]
  node_doctor_appointments["Appointment History"]
  node_doctor_records["Patient Records<br/>[manage-patient.php]"]
  node_doctor_search["Patient Search<br/>[search.php]"]
end

subgraph group_admin["Administration"]
  node_admin_auth["Admin Login<br/>[index.php]"]
  node_admin_home["Admin Dashboard<br/>[dashboard.php]"]
  node_doctor_admin["Doctor Management<br/>[manage-doctors.php]"]
  node_user_admin["User Management<br/>[manage-users.php]"]
  node_admin_appointments["Appointment Reports"]
  node_admin_queries["Contact Queries<br/>[unread-queries.php]"]
  node_admin_logs["Session Logs<br/>[doctor-logs.php]"]
  node_admin_reports["Date Reports"]
end

subgraph group_shared["Shared Services"]
  node_patient_ui["Patient Navigation<br/>[sidebar.php]"]
  node_doctor_ui["Doctor Navigation<br/>[sidebar.php]"]
  node_admin_ui["Admin Navigation<br/>[sidebar.php]"]
  node_patient_db[("Patient DB Connection<br/>[config.php]")]
  node_doctor_db[("Doctor DB Connection<br/>[config.php]")]
  node_admin_db[("Admin DB Connection<br/>[config.php]")]
  node_patient_shell["Patient Portal Shell"]
  node_doctor_shell["Doctor Portal Shell"]
  node_admin_shell["Admin Portal Shell"]
end

node_patient_actor(("Patient"))
node_doctor_actor(("Doctor"))
node_admin_actor(("Administrator"))

node_patient_actor -.->|"visits"| node_public_site
node_patient_actor -.->|"registers"| node_registration
node_patient_actor -.->|"signs in"| node_patient_auth
node_patient_actor -.->|"books"| node_booking
node_patient_actor -.->|"views"| node_patient_appointments
node_patient_actor -.->|"manages"| node_medical_history
node_patient_ui -->|"links to"| node_booking
node_patient_ui -->|"links to"| node_patient_appointments
node_patient_ui -->|"links to"| node_medical_history
node_doctor_actor -.->|"signs in"| node_doctor_auth
node_doctor_ui -->|"links to"| node_doctor_appointments
node_doctor_ui -->|"links to"| node_doctor_records
node_doctor_ui -->|"links to"| node_doctor_search
node_admin_actor -.->|"signs in"| node_admin_auth
node_admin_ui -->|"links to"| node_admin_appointments
node_admin_ui -->|"links to"| node_admin_queries
node_admin_ui -->|"links to"| node_admin_logs
node_admin_ui -->|"links to"| node_admin_reports
node_admin_ui -->|"links to"| node_doctor_admin
node_admin_ui -->|"links to"| node_user_admin

click node_public_site "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/index.php"
click node_registration "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/registration.php"
click node_patient_auth "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/user-login.php"
click node_patient_home "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/dashboard.php"
click node_booking "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/book-appointment.php"
click node_patient_appointments "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/appointment-history.php"
click node_medical_history "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/manage-medhistory.php"
click node_doctor_auth "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/index.php"
click node_doctor_home "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/dashboard.php"
click node_doctor_appointments "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/appointment-history.php"
click node_doctor_records "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/manage-patient.php"
click node_doctor_search "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/search.php"
click node_admin_auth "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/index.php"
click node_admin_home "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/dashboard.php"
click node_doctor_admin "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/manage-doctors.php"
click node_user_admin "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/manage-users.php"
click node_admin_appointments "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/appointment-history.php"
click node_admin_queries "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/unread-queries.php"
click node_admin_logs "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/doctor-logs.php"
click node_admin_reports "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/between-dates-reports.php"
click node_patient_ui "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/include/sidebar.php"
click node_doctor_ui "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/include/sidebar.php"
click node_admin_ui "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/include/sidebar.php"
click node_patient_db "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/include/config.php"
click node_doctor_db "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/include/config.php"
click node_admin_db "https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/include/config.php"
click node_patient_shell "https://github.com/karthikg1908/hospital-management-system/tree/main/hospital/hms/include"
click node_doctor_shell "https://github.com/karthikg1908/hospital-management-system/tree/main/hospital/hms/doctor/include"
click node_admin_shell "https://github.com/karthikg1908/hospital-management-system/tree/main/hospital/hms/admin/include"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_public_site,node_registration,node_patient_auth,node_patient_home,node_booking,node_patient_appointments,node_medical_history toneBlue
class node_doctor_auth,node_doctor_home,node_doctor_appointments,node_doctor_records,node_doctor_search toneAmber
class node_admin_auth,node_admin_home,node_doctor_admin,node_user_admin,node_admin_appointments,node_admin_queries,node_admin_logs,node_admin_reports toneMint
class node_patient_ui,node_doctor_ui,node_admin_ui,node_patient_db,node_doctor_db,node_admin_db,node_patient_shell,node_doctor_shell,node_admin_shell toneRose
class node_patient_actor,node_doctor_actor,node_admin_actor toneIndigo
```

## Components

### Patient Portal

- [Public Site](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/index.php): `hospital/index.php`
- [Registration](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/registration.php): `hospital/hms/registration.php`
- [Patient Login](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/user-login.php): `hospital/hms/user-login.php`
- [Patient Dashboard](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/dashboard.php): `hospital/hms/dashboard.php`
- [Appointment Booking](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/book-appointment.php): `hospital/hms/book-appointment.php`
- [Appointment History](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/appointment-history.php): `hospital/hms/appointment-history.php`
- [Medical History](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/manage-medhistory.php): `hospital/hms/manage-medhistory.php`

### Doctor Portal

- [Doctor Login](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/index.php): `hospital/hms/doctor/index.php`
- [Doctor Dashboard](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/dashboard.php): `hospital/hms/doctor/dashboard.php`
- [Appointment History](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/appointment-history.php): `hospital/hms/doctor/appointment-history.php`
- [Patient Records](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/manage-patient.php): `hospital/hms/doctor/manage-patient.php`
- [Patient Search](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/search.php): `hospital/hms/doctor/search.php`

### Administration

- [Admin Login](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/index.php): `hospital/hms/admin/index.php`
- [Admin Dashboard](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/dashboard.php): `hospital/hms/admin/dashboard.php`
- [Doctor Management](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/manage-doctors.php): `hospital/hms/admin/manage-doctors.php`
- [User Management](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/manage-users.php): `hospital/hms/admin/manage-users.php`
- [Appointment Reports](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/appointment-history.php): `hospital/hms/admin/appointment-history.php`
- [Contact Queries](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/unread-queries.php): `hospital/hms/admin/unread-queries.php`
- [Session Logs](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/doctor-logs.php): `hospital/hms/admin/doctor-logs.php`
- [Date Reports](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/between-dates-reports.php): `hospital/hms/admin/between-dates-reports.php`

### Shared Services

- [Patient Navigation](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/include/sidebar.php): `hospital/hms/include/sidebar.php`
- [Doctor Navigation](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/include/sidebar.php): `hospital/hms/doctor/include/sidebar.php`
- [Admin Navigation](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/include/sidebar.php): `hospital/hms/admin/include/sidebar.php`
- [Patient DB Connection](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/include/config.php): `hospital/hms/include/config.php`
- [Doctor DB Connection](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/doctor/include/config.php): `hospital/hms/doctor/include/config.php`
- [Admin DB Connection](https://github.com/karthikg1908/hospital-management-system/blob/main/hospital/hms/admin/include/config.php): `hospital/hms/admin/include/config.php`
- [Patient Portal Shell](https://github.com/karthikg1908/hospital-management-system/tree/main/hospital/hms/include): `hospital/hms/include`
- [Doctor Portal Shell](https://github.com/karthikg1908/hospital-management-system/tree/main/hospital/hms/doctor/include): `hospital/hms/doctor/include`
- [Admin Portal Shell](https://github.com/karthikg1908/hospital-management-system/tree/main/hospital/hms/admin/include): `hospital/hms/admin/include`

### Other components

- **Patient**
- **Doctor**
- **Administrator**

## Connections

- Patient → Public Site: visits
- Patient → Registration: registers
- Patient → Patient Login: signs in
- Patient → Appointment Booking: books
- Patient → Appointment History: views
- Patient → Medical History: manages
- Patient Navigation → Appointment Booking: links to (evidence: `hospital/hms/include/sidebar.php`)
- Patient Navigation → Appointment History: links to (evidence: `hospital/hms/include/sidebar.php`)
- Patient Navigation → Medical History: links to (evidence: `hospital/hms/include/sidebar.php`)
- Doctor → Doctor Login: signs in
- Doctor Navigation → Appointment History: links to (evidence: `hospital/hms/doctor/include/sidebar.php`)
- Doctor Navigation → Patient Records: links to (evidence: `hospital/hms/doctor/include/sidebar.php`)
- Doctor Navigation → Patient Search: links to (evidence: `hospital/hms/doctor/include/sidebar.php`)
- Administrator → Admin Login: signs in
- Admin Navigation → Appointment Reports: links to (evidence: `hospital/hms/admin/include/sidebar.php`)
- Admin Navigation → Contact Queries: links to (evidence: `hospital/hms/admin/include/sidebar.php`)
- Admin Navigation → Session Logs: links to (evidence: `hospital/hms/admin/include/sidebar.php`)
- Admin Navigation → Date Reports: links to (evidence: `hospital/hms/admin/include/sidebar.php`)
- Admin Navigation → Doctor Management: links to (evidence: `hospital/hms/admin/include/sidebar.php`)
- Admin Navigation → User Management: links to (evidence: `hospital/hms/admin/include/sidebar.php`)
