A comprehensive Bash shell script-based medical center management system designed for educational institutions. This system provides complete management of medical services including appointments, prescriptions, ambulance requests, and more.
- Features
- System Requirements
- Installation
- Usage
- User Roles
- Database Structure
- Screenshots
- Contributing
-
User Management
- Register and approve students, doctors, and admins
- View and manage pending registrations
- Approve/reject user accounts
-
Appointment Management
- View all appointments
- Approve/reject appointment requests
-
Resource Management
- Manage lab tests (add, view, remove)
- Manage medicines (add, update status, remove)
- Manage medical equipment (add, update availability, remove)
- Manage doctor availability status
-
Request Handling
- View and process ambulance requests
- View and process medicine requests
-
Feedback System
- View student feedback
- Reply to feedback
-
Account Management
- Self-registration with OTP verification
- Wait for admin approval
-
Medical Services
- Book appointments with available doctors
- View appointment history and status
- Request ambulance services
- Request medicines (with/without prescription)
- View prescribed medications
- View available lab tests
-
Communication
- Submit feedback
- View feedback and admin replies
-
Appointment Management
- View appointments with patients
- Access patient information
-
Medical Records
- Give prescriptions to patients
- Track prescription history
- Operating System: macOS or Linux
- Shell: Bash (version 4.0 or higher)
- Permissions: Read/write access to project directory
-
Clone the repository
git clone https://github.com/abdullanishat/CUET-MEDICAL-CENTER-MANAGEMENT-SYSTEM.git cd cuet-medical-center -
Make the script executable
chmod +x main.sh
-
Run the system
./main.sh
The system will automatically:
- Create all necessary database files
- Generate a default admin account:
- Email:
admin@cuet.edu - Password:
admin123
- Email:
1. Admin Login
2. Patient (Student) Login
3. Doctor Login
4. Register (Patient/Doctor)
5. Exit
- Select option 4 (Register)
- Enter your details:
- Name
- Role (Patient/Doctor)
- Password
- Role-specific information (Student ID or Specialization)
- Complete OTP verification
- Wait for admin approval
- Full system access
- User approval authority
- Resource management
- Request processing
- Book appointments
- Request services
- View medical records
- Provide feedback
- View appointments
- Prescribe medications
- Manage patient care
The system uses pipe-delimited text files for data storage:
| File | Format | Description |
|---|---|---|
admin.txt |
Email|Password|Status | Admin credentials |
student.txt |
Email|Password|Role|StudentID|Status|Name | Student records |
doctor.txt |
Email|Password|Name|Specialization|Status|DoctorStatus | Doctor profiles |
appointments.txt |
StudentID|DoctorName|Date|Status | Appointment records |
prescriptions.txt |
StudentID|DoctorName|Prescription|Date | Prescription records |
ambulance.txt |
StudentID|Reason|Status | Ambulance requests |
medicine_requests.txt |
StudentID|Medicine|HasPrescription|Status|Date | Medicine requests |
feedback.txt |
StudentID|Feedback|Date|AdminReply | Feedback system |
lab_tests.txt |
TestName|Cost | Available lab tests |
equipment.txt |
EquipmentName|Quantity|Status | Medical equipment |
medicines.txt |
MedicineName|Price|Status | Medicine inventory |
- User Status:
Pending,Approved,Rejected - Request Status:
Pending,Approved,Rejected - Doctor Status:
Available,Unavailable - Equipment/Medicine Status:
Available,Unavailable,Out of Stock
- Password-protected accounts
- Role-based access control
- OTP verification during registration
- Admin approval required for new accounts
- View available doctors with specializations
- Select doctor and date
- Admin approval workflow
- Duplicate prevention
- Prescription tracking (Yes/No)
- Admin approval required
- Status tracking
- Emergency request system
- Reason logging
- Admin approval process
- Student feedback submission
- Admin reply capability
- Two-way communication
- Empty field checks
- Duplicate prevention
- Numeric validation
- Status restrictions
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CUET MEDICAL CENTER MANAGEMENT SYSTEM β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Please select an option:
1. Admin Login
2. Patient (Student) Login
3. Doctor Login
4. Register (Patient/Doctor)
5. Exit
- Language: Bash Shell Script
- Database: Text files (pipe-delimited)
- Authentication: Email/Password based
- Session Management: Global variables
- Modular function design
- Menu-driven interface
- Loop-based navigation
- Input validation
grep- Search operationssed- Update operationsawk- Data parsingcut- Field extraction
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Use meaningful variable names
- Add comments for complex logic
- Follow existing code style
- Test thoroughly before submitting
- Manual database file cleanup required if tests fail
- Limited to single concurrent user (no multi-user support)
- No data encryption (suitable for educational purposes only)
- Inspired by real-world medical center management needs
- Built for educational purposes
- CUET (Chittagong University of Engineering & Technology)