Python Project – Patient Record System
Master Python with 70+ Hands-on Projects and Get Job-ready - Learn Python
SQL Queries
CREATE DATABASE hospital_db;
USE hospital_db;
CREATE TABLE patients (
patient_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
age INT,
gender VARCHAR(10),
contact VARCHAR(15)
);
CREATE TABLE visits (
visit_id INT AUTO_INCREMENT PRIMARY KEY,
patient_id INT,
visit_date DATE,
reason VARCHAR(255),
diagnosis VARCHAR(255),
treatment TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
CREATE TABLE payments (
payment_id INT AUTO_INCREMENT PRIMARY KEY,
visit_id INT,
amount DECIMAL(10,2),
method VARCHAR(50),
payment_date DATE,
FOREIGN KEY (visit_id) REFERENCES visits(visit_id)
);
INSERT INTO visits (patient_id, visit_date, reason, diagnosis, treatment) VALUES
(1, '2025-04-10', 'Fever and cough', 'Viral Infection', 'Rest, fluids, and paracetamol'),
(2, '2025-04-11', 'Stomach pain', 'Gastritis', 'Antacids and light diet'),
(3, '2025-04-12', 'Headache', 'Migraine', 'Pain relievers and stress management'),
(1, '2025-04-14', 'Follow-up check', 'Recovering', 'Continue medications'),
(2, '2025-04-15', 'Cold and sneezing', 'Allergic Rhinitis', 'Antihistamines'),
(3, '2025-04-16', 'Back pain', 'Muscle strain', 'Physiotherapy and painkillers');Program 1
# Patient Record System
import mysql.connector
from datetime import date
connection = mysql.connector.connect(
host="localhost",
user="root",
password="root",
database="hospital_db"
)
cursor = connection.cursor()
def add_patient():
name = input("Name: ")
age = int(input("Age: "))
gender = input("Gender: ")
contact = input("Contact: ")
cursor.execute("INSERT INTO patients (name, age, gender, contact) VALUES (%s, %s, %s, %s)",
(name, age, gender, contact))
connection.commit()
print("Patient added successfully.")
def record_visit():
patient_id = int(input("Enter Patient ID: "))
reason = input("Reason for Visit: ")
diagnosis = input("Diagnosis: ")
treatment = input("Treatment: ")
cursor.execute("INSERT INTO visits (patient_id, visit_date, reason, diagnosis, treatment) VALUES (%s, %s, %s, %s, %s)",
(patient_id, date.today(), reason, diagnosis, treatment))
visit_id = cursor.lastrowid
amount = float(input("Payment Amount: "))
method = input("Payment Method:(Cash/ Card/ UPI) ")
cursor.execute("INSERT INTO payments (visit_id, amount, method, payment_date) VALUES (%s, %s, %s, %s)",
(visit_id, amount, method, date.today()))
connection.commit()
print("Visit and payment recorded.")
def show_patients():
cursor.execute("SELECT * FROM patients")
for row in cursor.fetchall():
print(row)
def show_visits():
cursor.execute("SELECT * FROM visits")
for row in cursor.fetchall():
print(row)
def main():
while True:
print("******* Patient Record System********")
print("-------------------------------------------------")
print("\n\t1. Add Patient")
print("\t2. Record Visit")
print("\t3. Show Patients")
print("\t4. Show Visits")
print("\t5. Exit")
print("-------------------------------------------------")
choice = input("Choice: ")
if choice == '1':
add_patient()
elif choice == '2':
record_visit()
elif choice == '3':
show_patients()
elif choice == '4':
show_visits()
elif choice == '5':
break
else:
print("Invalid choice plese enter between 1-5 only")
# Main Method calliing
#if __name__ == "__main__":
main()
Your 15 seconds will encourage us to work even harder
Please share your happy experience on Google

