Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
18 views

Python Project - Sample Report - IT

Jhg
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Python Project - Sample Report - IT

Jhg
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 24

A Project Report

on

DOCTOR PATIENT APPOINTMENT SYSTEM

Submitted in partial fulfilment of requirements for the award of the course

of

CGB1121 – PYTHON PROGRAMMING

Under the guidance of

Mrs. M.MYTHILI M.E.,

Assistant Professor/IT

Submitted By

THANUSH S (927623BIT120)

DEPARTMENT OF FRESHMAN ENGINEERING

M.KUMARASAMY COLLEGE OF ENGINEERING


(Autonomous)

KARUR – 639 113

MAY 2024

i
M. KUMARASAMY COLLEGE OF ENGINEERING

(Autonomous Institution affiliated to Anna University, Chennai)

KARUR – 639 113

BONAFIDE CERTIFICATE

Certified that this project report on “DOCTOR PATIENT APPOINTMENT


SYSTEM” is the bonafide work of THANUSH S (927623BIT120) who carried out
the project work during the academic year 2023- 2024 under my supervision.

Signature Signature
Mrs.M.MYTHILI, M.E., Dr. K.CHITIRAKALA, M.Sc.,M.Phil.,Ph.D.,

SUPERVISOR, HEAD OF THE DEPARTMENT,

Department of Information Technology, Department of Freshman Engineering,


M. Kumarasamy College of Engineering, M. Kumarasamy College of Engineering,
Thalavapalayam, Karur -639 113. Thalavapalayam, Karur -639 113.

ii
DEPARTMENT OF INFORMATION TECHNOLOGY

VISION OF THE INSTITUTION


To emerge as a leader among the top institutions in the field of technical education
MISSION OF THE INSTITUTION

 Produce smart technocrats with empirical knowledge who can surmount the global
challenges
 Create a diverse, fully-engaged, learner-centric campus environment to provide quality
education to the students
 Maintain mutually beneficial partnerships with our alumni, industry, and Professional
associations

VISION OF THE DEPARTMENT

To create groomed, technically competent and skilled intellectual IT professionals to meet


the current challenges of the modern computing industry.
MISSION OF THE DEPARTMENT

 To ensure the understanding of fundamental aspects of Information Technology.

 Prepare students to adapt to the challenges of changing market needs by providing an


environment.

 Build necessary skills required for employ ability through career development training to
meet the challenges posed by the competitive world.
PROGRAM EDUCATIONAL OBJECTIVES (PEOs)

PEO 1: Graduates will be able to solve real world problems using learned concepts pertaining to
Information Technology domain.

PEO 2: Encompass the ability to examine, plan and build innovative software Products and become
a successful entrepreneur.

PEO 3: Graduates will be able to carry out the profession with ethics, integrity, leadership and social
responsibility.

PEO 4: Graduates will be able to pursue post-graduation and succeed in academic and research
i
careers.

PROGRAM OUTCOMES (POs)


Engineering students will be able to:
1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering
problems.
2. Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences, and engineering sciences.
3. Design/development of solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
4. Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of
the information to provide valid conclusions.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities
with an understanding of the limitations.
6. The engineer and society: Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to
the professional engineering practice.
7. Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and need
for sustainable development.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
9. Individual and team work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.
10. Communication: Communicate effectively on complex engineering activities with the

i
engineering community and with society at large, such as, being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive
clear instructions.

i
11. Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member
and leader in a team, to manage projects and in multidisciplinary environments.
12. Life-long learning: Recognize the need for, and have the preparation and ability to
engage in independent and life-long learning in the broadest context of technological
change.

PROGRAM SPECIFIC OUTCOMES (PSOs)

1. PSO1: Professional Skills: Comprehend the technological advancement and practice


professional ethics and the concerns for societal and environmental well-being.

2. PSO 2: Competency Skills: Design software in a futuristic approach to support current


technology and adapt cutting-edge technologies.

3. PSO 3: Successful career: Apply knowledge of theoretical computer science to assess the
hardware and software aspects of computer systems.

v
ABSTRACT

This project introduces a comprehensive phone directory application designed for

efficient contact management, implemented using a doubly linked list data structure.

The application enables users to seamlessly add, update, and delete contacts,

providing a dynamic and user-friendly interface. Leveraging the advantages of a

doubly linked list, the system ensures swift insertion, deletion, and bidirectional

traversal, accommodating the evolving nature of contact lists. Exception handling

mechanisms enhance the robustness of the application, addressing unforeseen errors

and ensuring stability. The user interface is intuitively designed, allowing users to

display, search, edit, and delete contacts effortlessly. The project showcases

technical proficiency in data structure implementation, emphasizing the significance

of user-centric design and error management.

v
ABSTRACT WITH POs AND PSOs MAPPING

POs PSOs
ABSTRACT
MAPPED MAPPED
This project introduces a comprehensive phone
directory application designed for efficient PO1(3) PSO1(2)
contact management, implemented using a PO2(3) PSO2(3)
doubly linked list data structure. The application PO3(3) PSO3(3)
enables users to seamlessly add, update, and PO4(3)
delete contacts, providing a dynamic and user- PO5(2)
friendly interface. Leveraging the advantages of PO6(2)
a doubly linked list, the system ensures swift PO7(2)
insertion, deletion, and bidirectional traversal, PO8(1)
accommodating the evolving nature of contact PO9(2)
lists. Exception handling mechanisms enhance PO10(2)
the robustness of the application, addressing PO11(2)
unforeseen errors and ensuring stability. The PO12(2)
user interface is intuitively designed, allowing
users to display, search, edit, and delete contacts
effortlessly. The project showcases technical
proficiency in data structure implementation,
emphasizing the significance of user-centric
design and error management.
Note: 1- Low, 2-Medium, 3- High

vii
SUPERVISOR HEAD OF THE DEPARTMENT

vii
TABLE OF CONTENTS

CHAPTER TITLE PAGE


No. No.

1 Introduction

1.1 Introduction

1.2 Objective

1.3 Data Structure Choice

2 Project Methodology

2.1Doctor Patient Appointment System

2.2 Block Diagram

3 Modules

3.1 Module 1

3.2 Module 2

3.3 Module 3

4 Results and Discussion

5 Conclusion

References

Appendix

ix
CHAPTER 1
INTRODUCTION
1.1 Introduction

A doctor-patient appointment system is essential for efficiently managing


appointments in a healthcare setting. This project demonstrates the implementation
of such a system using Python, with a focus on a menu-driven interface for booking
appointments.

The system uses a dictionary to store information about doctors, including their
names, professions, specialties, available seats, and timings. This structured approach
allows for easy access and manipulation of doctor data. Additionally, the current date
and time in Indian Standard Time (IST) are used to timestamp appointments
accurately.

In this context, the project not only helps in organizing appointments but also
provides a practical application of data structures, time zone handling, and user
interaction in Python. The use of libraries like datetime and pytz ensures that the
appointment timings are correctly managed according to IST, making it suitable for
real-world applications in an Indian healthcare scenario.

1.2 Objective

Our objective is to develop a doctor-patient appointment system with a user-


friendly interface for efficient scheduling. Patients can book appointments with
available doctors based on specialties and timings. The system supports
bidirectional navigation and displays hospital details for context.

1.3 Python Choice

When implementing a doctor-patient appointment system in Python, the


menu-driven interface plays a vital role in user interaction. Utilizing the input()
function, users can choose between different options, such as booking an

ix
appointment or exiting the system. This interactive approach enhances user
experience and ensures smooth navigation through the application. By leveraging
Python's simplicity and versatility, developers can create intuitive interfaces that
cater to diverse user needs.

ix
CHAPTER 2
PROJECT METHODOLOGY

2.1 Appointment System Design


The Doctor-Patient Appointment System is designed to offer a streamlined
interface for booking appointments with various doctors. Leveraging Python's
simplicity and versatility, the system initializes doctor information and presents
users with a menu-based interface upon execution. Users can book appointments by
selecting their preferred doctor from the displayed list. The system handles time
management by accurately retrieving and converting time zones. Dynamic updates
ensure real-time availability status, while error handling manages invalid inputs.
Throughout the process, informative feedback enhances user experience, ensuring a
seamless and efficient appointment booking process.
Key Features Appointment System Design:
1. **User-Friendly Interface**: The system presents a menu-based interface for
intuitive interaction.
2. **Dynamic Doctor Information**: Doctor details, including name,
profession, specialty, and availability, are dynamically displayed.
3. **Timezone Management**: Utilizes Python libraries to handle time zones,
ensuring accurate appointment scheduling.
4. **Real-Time Availability**: Instantly updates available appointment slots
based on user selections.
5. ** Error Handling **: Incorporates robust error handling to manage invalid
inputs and unexpected scenarios.
6. ** Informative Feedback **: Provides clear feedback throughout the booking
process to enhance user experience.

2.2 Block Diagram


9
9
CHAPTER 3
MODULES
3.1 Display Hospital Information

This segment aims to inform users about the hospital's name and address.
It involves printing the hospital name and address to provide users with
essential information.

3.2 Display Doctors

This part of the program aims to present users with a comprehensive list of
available doctors. It includes iterating through the doctors dictionary and
displaying each doctor's name, profession, specialty, available seats, and
timings.

3.3 Book An Appointment

This section allows users to schedule an appointment with their preferred


doctor. It begins by prompting the user to enter their name, followed by
obtaining the current time in UTC and converting it to Indian Standard
Time (IST). Subsequently, it displays the available doctors using the

9
display_doctors function and prompts the user to select their preferred
doctor by entering the corresponding number. The input is then validated,
and if seats are available, the appointment is booked. The remaining seats
for the chosen doctor are updated accordingly.

3.4 Exit

The purpose of this segment is to gracefully terminate the program. It


involves displaying a farewell message to the user.

CHAPTER 4
RESULTS AND DISCUSSION
4.1 Results
4.1.1 Enter Your Choice And Name

9
4.1.2 Select The Preferred Doctor

4.1.3 Appointment Status

9
4.1.4 Exit

4.2 Discussion
The phone directory application, implemented using a doubly linked list,
serves as a practical and dynamic solution for managing contacts efficiently. The
choice of a doubly linked list allows for seamless insertion, deletion, and
bidirectional traversal, essential for a user-friendly contact management system. The
application encompasses key functionalities, including adding, updating, and
deleting contacts, ensuring the integrity of the contact directory. Exception handling

9
enhances the robustness of the system by addressing unforeseen errors, preventing
runtime failures, and enabling graceful recovery. The user interface provides a clear
and intuitive experience, displaying contact information and allowing users to
search, edit, and delete contacts seamlessly. This project not only showcases
proficiency in data structure implementation but also emphasizes the importance of
user-centric design and exception handling for creating a reliable and user-friendly
phone directory application.

CHAPTER 5
CONCLUSION

In conclusion, the development of the doctor-patient appointment system using


Python has proven to be a successful endeavor, showcasing the effective utilization
of data structures and time zone management to create a versatile and user-friendly
booking system. The system's ability to dynamically manage doctor information,
including names, professions, specialties, seats, and timings, allows for efficient
9
appointment scheduling. By incorporating current time conversions and handling
user inputs for booking appointments, the application ensures accurate and timely
appointments. The clear and interactive user interface, which displays hospital
information and available doctors, enhances user experience. This project not only
demonstrates technical proficiency in Python programming and data handling but
also emphasizes the importance of user-centric design and error management,
contributing to the creation of a reliable, adaptable, and user-friendly doctor-patient
appointment system.

9
REFERENCES

1. Datetime and Time Zone Handling in Python | Python Documentation


Details on using datetime and pytz for time zone management.
2. Creating a Menu-Driven Program in Python | Stack Overflow
Insights on developing user-friendly menu-driven programs in Python.
3. Building a Simple Doctor Appointment System | GeeksforGeeks
Tutorials for building and managing a doctor appointment system.
4. Doctor-Patient Appointment Booking System Project | CodeShoppy
Project outlines for developing appointment booking systems in Python.
5. Interactive Python Programs: Booking Systems | Real Python
Tutorials on creating interactive and user-friendly booking systems.

18
APPENDIX

import datetime
import pytz

# Doctor-patient appointment system with menu (display doctors by number)

# Initialize doctor information with different timings for each doctor


doctors = {
1: {"name": "Dr. Priya Sharma", "profession": "General Physician",
"specialty": "Internal Medicine", "seats": 5, "timings": "9:00am-1:00pm, 3:00pm-
5:00pm"},
2: {"name": "Dr. Rajesh Patel", "profession": "Cardiologist", "specialty":
"Heart Diseases", "seats": 5, "timings": "10:00am-12:00pm, 4:00pm-8:00pm"},
3: {"name": "Dr. Ananya Gupta", "profession": "Dermatologist", "specialty":
"Skin Disorders", "seats": 5, "timings": "8:00am-11:00am, 1:00pm-4:00pm"},
4: {"name": "Dr. Sanjay Kumar", "profession": "Orthopedic Surgeon",
"specialty": "Musculoskeletal System", "seats": 5, "timings": "11:00am-2:00pm,
5:00pm-9:00pm"}
}

hospital_name = "Thanush Multi Specialist Hospital"


hospital_address = "3rd Sengunthapuram, Karur-639002"

def display_hospital_info():

18
print(f"Welcome to {hospital_name}!")
print(f"Hospital Address: {hospital_address}\n")

def display_doctors():
print("Available Doctors:")
for num, doctor_info in doctors.items():
print(f"{num}. {doctor_info['name']} ({doctor_info['profession']},
{doctor_info['specialty']}) - {doctor_info['seats']} seats available")
print(f" Timings: {doctor_info['timings']}")

def book_appointment():
patient_name = input("Enter your name: ")

# Get the current time in UTC


current_datetime_utc = datetime.datetime.now(pytz.utc)

# Convert the current time to Indian Standard Time (IST)


ist_timezone = pytz.timezone('Asia/Kolkata')
current_datetime_ist = current_datetime_utc.astimezone(ist_timezone)

appointment_date = current_datetime_ist.strftime("%Y-%m-%d")
appointment_time = current_datetime_ist.strftime("%H:%M:%S")

display_doctors()
try:
selected_num = int(input("Enter the number of your preferred doctor: "))
if selected_num in doctors:
preferred_doctor = doctors[selected_num]["name"]
available_seats = doctors[selected_num]["seats"]
if available_seats > 0:

18
print(f"Appointment booked for {patient_name} with
{preferred_doctor} on {appointment_date} at {appointment_time}.")
doctors[selected_num]["seats"] -= 1
print(f"Remaining seats for {preferred_doctor}:
{doctors[selected_num]['seats']}")
else:
print(f"Sorry, no more seats available for {preferred_doctor}.")
else:
print("Invalid doctor number. Please choose a valid number.")
except ValueError:
print("Invalid input. Please enter a valid number.")

# Main menu
while True:
display_hospital_info()
print("Doctor-Patient Appointment System")
print("1. Book an appointment")
print("2. Exit")
choice = input("Enter your choice (1/2): ")

if choice == "1":
book_appointment()
elif choice == "2":
print("Thank you for using the appointment system. Have a great day!")
break
else:
print("Invalid choice. Please select 1 or 2.")

18

You might also like