BHARAT MATA SR.
SECONDARY
SCHOOL
NAYA RAIPUR (C.G.)
SESSION: 2025-26
PROJECT REPORT
ON
INFORMATICS PRACTICES
SESSION: 2025-2026
CLASS-XII
TOPIC : MEDICAL MANAGEMENT SOFTWARE
DIRECTED BY
CENTRAL BOARD OF SECONDARY EDUCATION
UNDER GUIDENCE SUBMITED BY
[Link] KUMAR [Link]
1
ROLL NO.-
CERTIFICATE
This is to certify that [Link] of Class XII (Biology) of Bharat
Mata Sr. Secondary School, New Raipur has successfully completed
his project entitled “Medical Management system” under my
supervision.
She has shown proper care, sincerity, and dedication in the
completion of this project.
I hereby certify that this project is up to my expectations and prepared
as per the guidelines prescribed by CBSE.
External Signature Internal Signature
2
INDEX
S. No. NAME Page No.
1 ACKNOWLEDGEMENT
2 PREFACE
3 INTRODUCTION TO MYSQL, PYTHON
PANDAS, MATPLOTLIB, CSV.
4 HARDWARE AND SOFTWARE
REQUIREMENT
5 SOURCE CODE
6 DATABASE
7 OUTPUT
8 CONCLUSION
9 REMARKS
10 BIBLIOGRAPHY
3
ACKNOWLEDGEMENT
First of all, we would like to express our deep sense of gratitude and
heartfelt thanks to our honorable guide Mr. Nikhil Kumar for his
valuable guidance, keen interest, and constant encouragement
throughout the development of our project. His continuous support and
motivation helped us bring our project “Medical Management system”
to life successfully.
We are extremely grateful to Mr. Nikhil Kumar and all the faculty
members of Bharat Mata Senior Secondary School (BMSSS) for
their immense support, relevant guidance, and the extra lab time
provided during the completion of this project.
We also extend our sincere thanks to the school management for their
cooperation and support throughout the project development process.
Lastly, we would like to acknowledge and appreciate each other’s
dedication, sincere efforts, and teamwork in making this project a
successful and enriching experience.
4
PREFACE
I am pleased to present my project entitled “Medical Management
system”, which is a small but sincere attempt to utilize the power of
Information Technology effectively.
The software for this project has been developed using Python, with the
help of libraries such as Pandas, CSV, and Matplotlib, which make the
user interface simple, efficient, and user-friendly. All the tools used are
open-source and freely available.
This project performs the following key functions:
1.
This project demonstrates the practical implementation of Python
programming in real-world banking applications.
It can be further enhanced by introducing additional user service
options and advanced data management features in the future.
5
INTRODUCTION TO MySQL
MySQL is the world’s second most widely used open-source
Relational Database Management System (RDBMS).
It derives its name from the daughter of its co-founder Michael
Widenius, named “My”, and the acronym SQL stands for Structured
Query Language.
MySQL AB was founded by David Axmark, Allan Larsson, and
Michael “Monty” Widenius.
The first version of MySQL was released on 23rd May 1995. It was
initially developed for personal use, based on the low-level language
ISAM. However, since ISAM was considered too slow and inflexible,
the creators designed a new SQL interface while maintaining
compatibility, and this evolved into MySQL.
The MySQL Development Project has made its source code available
under the GNU General Public License (GPL), as well as through
various proprietary licenses.
Originally owned and sponsored by the Swedish company MySQL AB,
the project is now maintained and owned by Oracle Corporation.
6
MySQL is a popular choice of database for use in web applications
and serves as a central component of the widely used LAMP open-
source web application software stack (and other “AMP” stacks).
The acronym LAMP stands for:
L – Linux
A – Apache
M – MySQL
P – Perl / PHP / Python
MySQL is preferred for its speed, reliability, flexibility, and ease of
use, making it one of the most commonly used databases in the
development of web-based applications.
Many free and open-source projects that require a full-featured
database management system (DBMS) often use MySQL due to its
performance, scalability, and strong community support.
7
THEORETICAL BACKGROUND
1. PYTHON
Python is an easy-to-learn, expressive, and cross-platform programming
language.
It is widely used because of its simplicity, readability, and extensive
library support. Python provides numerous built-in and external
libraries such as Pandas, Matplotlib, Logging, Time, Sys, and many
more, which offer programmers a wide range of tools to develop
powerful applications efficiently.
Features of Python:
Easy to learn and use
Free and open-source
Large standard library
Cross-platform and versatile
Highly expressive and powerful
2. PANDAS
Pandas is a powerful software library written for the Python
programming language, designed primarily for data manipulation
and analysis.
It provides flexible and efficient data structures such as Series (1D) and
DataFrame (2D), which are ideal for handling structured data. Pandas is
particularly useful for working with numerical tables and time series.
8
Features of Pandas:
Efficient handling of structured data
Easy alignment and indexing of datasets
Handling of missing data
Data cleaning and transformation tools
Integration with other libraries such as NumPy and Matplotlib
3. MATPLOTLIB
Matplotlib is a powerful plotting library for the Python programming
language and its numerical extension NumPy.
It provides an object-oriented API for embedding plots and charts into
applications using general-purpose GUI toolkits.
Matplotlib helps in visualizing data effectively through a wide range of
graphs such as line charts, bar graphs, histograms, pie charts, and scatter
plots.
Features of Matplotlib:
Easy and effective data visualization
Free and open-source
Can be embedded into GUI applications
Widely used for data analysis and research
4. CSV FILE (Comma-Separated Values)
A Comma-Separated Values (CSV) file is a delimited text file that
uses a comma (,) to separate individual values.
Each line in the file represents a data record, and each record consists
of one or more fields, separated by commas.
9
The CSV format is one of the simplest and most widely used formats for
storing and exchanging tabular data.
Features of CSV Files:
Each record is written on a single line
Fields are separated by commas
Space characters adjacent to commas are ignored
Fields containing commas are enclosed in double quotes
Simple, portable, and compatible with most software tools
10
SYSTEM IMPLEMENTATION
The development of this project required specific hardware and
software components to ensure smooth design, testing, and execution of
the program.
Hardware Used
During the development of the Banking Software project, the following
hardware components were used:
DELL D1918H – 18.5 inch LCD Monitor
Intel Core i5 (10th Generation) Processor
16 GB 3200 MHz RAM
1 TB SSD
Radeon RX 550 (4 GB) Graphics Card
Software Used
The following software tools and platforms were utilized during the
design and development process:
Windows 11 Pro (Operating System)
MS Word 2021 (Documentation Tool)
Python IDLE (Integrated Development and Learning
Environment for Python)
11
SOURCE CODE
import pandas as pd
import [Link] as plt
import [Link]
# Connect to MySQL database
db = [Link](
host="localhost",
user="root",
password="",
database="medical_db"
)
cursor = [Link]()
def add_patient(name, age, gender, diagnosis):
sql = "INSERT INTO patients (name, age, gender, diagnosis) VALUES
(%s, %s, %s, %s)"
val = (name, age, gender, diagnosis)
[Link](sql, val)
[Link]()
print("Patient {name} added successfully.")
def view_patients():
[Link]("SELECT * FROM patients")
result = [Link]()
df = [Link](result, columns=[ 'Name', 'Age', 'Gender',
'Diagnosis','ID'])
print(df)
def plot_age_distribution():
[Link]("SELECT age FROM patients")
result = [Link]()
ages = [row[0] for row in result]
12
[Link](ages, bins=10, edgecolor='black')
[Link]('Age Distribution of Patients')
[Link]('Age')
[Link]('Number of Patients')
[Link]()
def main():
while True:
print("\nMedical Software")
print("1. Add Patient")
print("2. View Patients")
print("3. Plot Age Distribution")
print("4. Exit")
choice = input("Enter your choice: ")
if choice == '1':
name = input("Enter name: ")
age = int(input("Enter age: "))
gender = input("Enter gender: ")
diagnosis = input("Enter diagnosis: ")
add_patient(name, age, gender, diagnosis)
elif choice == '2':
view_patients()
elif choice == '3':
plot_age_distribution()
elif choice == '4':
break
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()
13
DATABASE
-- phpMyAdmin SQL Dump
-- version 5.2.1
-- [Link]
--
-- Host: [Link]
-- Generation Time: Nov 03, 2025 at 07:05 AM
-- Server version: 10.4.32-MariaDB
-- PHP Version: 8.2.12
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET
@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLI
ENT */;
/*!40101 SET
@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RE
SULTS */;
/*!40101 SET
@OLD_COLLATION_CONNECTION=@@COLLATION_CONNEC
TION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `medical_db`
--
-- --------------------------------------------------------
14
--
-- Table structure for table `patients`
--
CREATE TABLE `patients` (
`name` varchar(20) NOT NULL,
`age` int(11) NOT NULL,
`gender` varchar(20) NOT NULL,
`diagnosis` text NOT NULL,
`ID` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_general_ci;
--
-- Dumping data for table `patients`
--
INSERT INTO `patients` (`name`, `age`, `gender`, `diagnosis`, `ID`)
VALUES
('ram', 22, 'male', 'fever', 1),
('KITTU', 17, 'FEMALE', 'ANAEMIA', 2),
('RISHA', 18, 'FEMALE', 'LEUKEMIA', 3),
('RAKESH', 38, 'MALE', 'CAVITY', 4);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `patients`
--
ALTER TABLE `patients`
ADD PRIMARY KEY (`ID`);
--
15
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `patients`
--
ALTER TABLE `patients`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=5;
COMMIT;
/*!40101 SET
CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT
*/;
/*!40101 SET
CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESUL
TS */;
/*!40101 SET
COLLATION_CONNECTION=@OLD_COLLATION_CONNECTIO
N */;
16
OUTPUT
1. I chose 1 and as soon as I hit enter it asked me enter
your name and again press enter then after again it ask
me for amount and after pressing enter again my
account is created successfully.
17
As soon as it shows account created it immediately updated
the database,
18
2. I chose 2 and as soon as I hit enter it asked me enter
you’ll will see all patients.
As soon as it shows patients list successfully, database is updated
immediately.
19
3. I chose 3 and as soon as I hit enter it asked me enter
and you’ll see age distribution.
As soon as it shows the age distribution of patients.
20
4. I chose 4 and as soon as I hit enter it asked me enter
and you’ll exit.
As soon as it shows the result exit.
21
CONCLUSION
From the work and observations carried out during the development of
this project, we conclude that the Medical management softwareis
technically feasible, user-friendly, and valuable.
The project successfully demonstrates how Python programming and
its libraries such as Pandas, Matplotlib, and CSV handling can be
effectively used to develop real-life applications for data management
and visualization.
Overall, the system is practical, efficient, and can be further enhanced
with additional features to make it more comprehensive and interactive
for end users.
22
REMARKS
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
23
BIBLIOGRAPHY
Informatics practices by Sumita Arora (Dhanpat Rai & Co.
publication).
[Link]
Informatics practices by Preeti Arora (sultan chand publication).
24