# coder-rukon/hospital-management-system-php-project architecture

> Architecture diagram of the GitHub repository coder-rukon/hospital-management-system-php-project, 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/coder-rukon/hospital-management-system-php-project
- Repository: https://github.com/coder-rukon/hospital-management-system-php-project

## Overview

This is a CodeIgniter-based hospital management application. Its main user-to-result workflows are patients browsing doctors and requesting appointments, and clinical staff managing patient records and prescriptions; administrators oversee hospital entities and financial activity. The README documents these capabilities, but sampled application source is limited, so feature relationships are cited to the README rather than inferred controller-to-model calls. The framework bootstrap, loader, and session layer are shown as supporting runtime components; vendor libraries are omitted.

Main entry points: [`application/models`](https://github.com/coder-rukon/hospital-management-system-php-project/tree/master/application/models) (Domain Models), [`system/core/CodeIgniter.php`](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/system/core/CodeIgniter.php) (Framework Bootstrap), [`application/controllers/Patient.php`](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Patient.php) (Patient Accounts), [`application/controllers/Doctors.php`](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Doctors.php) (Doctor Records)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Request Runtime"]
  node_front["Web Entry<br/>[index.php]"]
  node_routing["Route Config<br/>[routes.php]"]
end

subgraph group_care["Care Workflows"]
  node_patient["Patient Accounts<br/>[Patient.php]"]
  node_doctor["Doctor Records<br/>[Doctors.php]"]
  node_nurse["Nurse Records<br/>[Nurse.php]"]
  node_appointments["Appointments<br/>[Page.php]"]
  node_prescriptions["Prescriptions"]
end

subgraph group_operations["Hospital Operations"]
  node_departments["Departments<br/>[Department.php]"]
  node_invoices["Accounts<br/>[Invoice.php]"]
  node_users["User Administration<br/>[User.php]"]
  node_forms["Employee Forms<br/>[Forms.php]"]
  node_models["Domain Models"]
  node_database[("Application Database<br/>[database.php]")]
end

subgraph group_framework["CodeIgniter Runtime"]
  node_ci_bootstrap["Framework Bootstrap<br/>[CodeIgniter.php]"]
  node_loader["MVC Loader<br/>[Loader.php]"]
  node_session["Session Service<br/>[Session.php]"]
  node_session_store[("Session Storage")]
end

node_visitor(("Hospital User"))
node_staff(("Clinical Staff"))
node_admin(("Administrator"))

node_visitor -->|"opens"| node_front
node_front -->|"starts"| node_ci_bootstrap
node_ci_bootstrap -.->|"routes via"| node_routing
node_visitor -->|"manages profile"| node_patient
node_visitor -->|"browses"| node_doctor
node_visitor -->|"requests appointment"| node_appointments
node_visitor -->|"views"| node_prescriptions
node_staff -->|"manages"| node_patient
node_staff -->|"manages"| node_appointments
node_staff -->|"creates"| node_prescriptions
node_staff -->|"manages profile"| node_nurse
node_admin -->|"manages"| node_departments
node_admin -->|"manages"| node_users
node_admin -->|"manages"| node_doctor
node_admin -->|"manages"| node_nurse
node_admin -->|"manages staff"| node_forms
node_admin -->|"reviews transactions"| node_invoices
node_patient -.->|"uses"| node_models
node_doctor -.->|"uses"| node_models
node_nurse -.->|"uses"| node_models
node_departments -.->|"uses"| node_models
node_invoices -.->|"uses"| node_models
node_models -.->|"persists data"| node_database
node_ci_bootstrap -->|"initializes"| node_loader
node_loader -.->|"loads"| node_session
node_session -->|"stores sessions"| node_session_store

click node_front "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/index.php"
click node_routing "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/config/routes.php"
click node_patient "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Patient.php"
click node_doctor "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Doctors.php"
click node_nurse "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Nurse.php"
click node_appointments "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Page.php"
click node_prescriptions "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/views/doctors/form_prescription.php"
click node_departments "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Department.php"
click node_invoices "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Invoice.php"
click node_users "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/User.php"
click node_forms "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Forms.php"
click node_models "https://github.com/coder-rukon/hospital-management-system-php-project/tree/master/application/models"
click node_database "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/config/database.php"
click node_ci_bootstrap "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/system/core/CodeIgniter.php"
click node_loader "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/system/core/Loader.php"
click node_session "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/system/libraries/Session/Session.php"
click node_session_store "https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/system/libraries/Session/drivers/Session_database_driver.php"

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_front,node_routing,node_visitor toneBlue
class node_patient,node_doctor,node_nurse,node_appointments,node_prescriptions toneAmber
class node_departments,node_invoices,node_users,node_forms,node_models,node_database toneMint
class node_ci_bootstrap,node_loader,node_session,node_session_store toneRose
class node_staff,node_admin toneIndigo
```

## Components

### Request Runtime

- [Web Entry](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/index.php): `index.php`
- [Route Config](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/config/routes.php): `application/config/routes.php`

### Care Workflows

- [Patient Accounts](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Patient.php): `application/controllers/Patient.php`
- [Doctor Records](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Doctors.php): `application/controllers/Doctors.php`
- [Nurse Records](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Nurse.php): `application/controllers/Nurse.php`
- [Appointments](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Page.php): `application/controllers/Page.php`
- [Prescriptions](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/views/doctors/form_prescription.php): `application/views/doctors/form_prescription.php`

### Hospital Operations

- [Departments](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Department.php): `application/controllers/Department.php`
- [Accounts](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Invoice.php): `application/controllers/Invoice.php`
- [User Administration](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/User.php): `application/controllers/User.php`
- [Employee Forms](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/controllers/Forms.php): `application/controllers/Forms.php`
- [Domain Models](https://github.com/coder-rukon/hospital-management-system-php-project/tree/master/application/models): `application/models`
- [Application Database](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/application/config/database.php): `application/config/database.php`

### CodeIgniter Runtime

- [Framework Bootstrap](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/system/core/CodeIgniter.php): `system/core/CodeIgniter.php`
- [MVC Loader](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/system/core/Loader.php): `system/core/Loader.php`
- [Session Service](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/system/libraries/Session/Session.php): `system/libraries/Session/Session.php`
- [Session Storage](https://github.com/coder-rukon/hospital-management-system-php-project/blob/master/system/libraries/Session/drivers/Session_database_driver.php): `system/libraries/Session/drivers/Session_database_driver.php`

### Other components

- **Hospital User**
- **Clinical Staff**
- **Administrator**

## Connections

- Hospital User → Web Entry: opens (evidence: `index.php`)
- Web Entry → Framework Bootstrap: starts (evidence: `index.php`)
- Framework Bootstrap → Route Config: routes via
- Hospital User → Patient Accounts: manages profile
- Hospital User → Doctor Records: browses
- Hospital User → Appointments: requests appointment
- Hospital User → Prescriptions: views
- Clinical Staff → Patient Accounts: manages
- Clinical Staff → Appointments: manages
- Clinical Staff → Prescriptions: creates
- Clinical Staff → Nurse Records: manages profile
- Administrator → Departments: manages
- Administrator → User Administration: manages
- Administrator → Doctor Records: manages
- Administrator → Nurse Records: manages
- Administrator → Employee Forms: manages staff
- Administrator → Accounts: reviews transactions
- Patient Accounts → Domain Models: uses
- Doctor Records → Domain Models: uses
- Nurse Records → Domain Models: uses
- Departments → Domain Models: uses
- Accounts → Domain Models: uses
- Domain Models → Application Database: persists data
- Framework Bootstrap → MVC Loader: initializes
- MVC Loader → Session Service: loads
- Session Service → Session Storage: stores sessions (evidence: `system/libraries/Session/drivers/Session_database_driver.php`)
