Projects / Hospital Management System

Hospital Management System

A Python-Tkinter application for managing hospital operations

Desktop Application Duration: April 2024 Status: Completed

Project Overview

The Hospital Management System is a desktop-based GUI application developed using Python's Tkinter library and MySQL for data storage. It simplifies the day-to-day operations of hospitals by managing patient records, doctor appointments, service listings, and updates.

With a user-friendly interface, the system allows staff to register new patients, schedule and cancel appointments, and search or update existing patient data, significantly reducing paperwork and manual errors.

Technologies Used

Core Technologies

Python Tkinter MySQL Random Module

Key Features

📝 Patient Registration

Quick and efficient data entry with validation.

📅 Appointment Scheduling

Book, cancel, or modify doctor appointments.

🔍 Patient Record Search

Locate and update patient details with ease.

📊 Doctor Listings

Display available doctors by department.

💡 Help Section

In-app instructions for non-technical staff users.

💾 Data Persistence

All information stored securely in MySQL database.

My Role & Responsibilities

  • GUI Design: Created intuitive Tkinter interface for users.
  • Database Integration: Connected MySQL with Python using `mysql.connector`.
  • Logic & Flow: Implemented form validations and data consistency checks.
  • Error Handling: Added feedback messages and controlled database exceptions.
  • Testing: Ensured smooth performance and no data leaks.
  • Collaboration: Worked with a team member and documented code for clarity.

Challenges & Solutions

Challenge: Validating Inputs

Solution: Applied input filters for age, phone numbers, and required fields using regex and conditionals.

Challenge: MySQL Connection Stability

Solution: Ensured proper connection closure using `try-finally` blocks and persistent sessions only when needed.

Challenge: UI Layout Design

Solution: Used grid and pack geometry managers wisely to balance interface responsiveness and structure.