You are on page 1of 30

DENTAL

MANAGEMENT
SYSTEM

1|Page
SNO
INDEXPAGE
TOPIC SIGNATURE
NO:
1. Abstract
2. System Requirements
3. Feasibility Study
4. Errors and its Types
5. Testing
6. Maintenance
7. Flow chart
8. Source code
9. Output
10. Conclusion
11. Bibliography

2|Page
ABSTRACT

 Our project is DENTAL


MANAGEMENT SYSTEM is a
python project done with using
MySQL Connectivity.

 Our project can store details


of Staff, Patient and the records
of invoices.

 It is very user friendly in


nature.

 It generates invoices of
patient, staff.
3|Page
4|Page
SYSTEM REQUIREMENTS
1. HARDWARE:
✓Processor
✓ Keyboard
✓ Minimum memory - 2GB

2. SOFTWARE:
 Operating system OS7,OS8
 Python IDLE
 MYSQL

5|Page
FEASIBILITY STUDY
Feasibility study is a system proposal according to
its work, ability, impact on the operation ability to
meet the needs of users and efficient use of
resources. An important outcome of preliminary
investigations the determination of that system
requested feasible.

ECONOMICAL FEASIBILITY:
Economics analysis is the most frequent use
method for evaluating the effectiveness of the
candidates the benefits and savings that are
expected from system and compare them with
cost.
This software is not very costly. It just worth
Rs.5500/-.So users records can be maintained at a
cheaper cost and every school would like to use this
software so that the student’s records can be
managed easily.
TECHNICAL FEASIBILTY:

Technical feasibility centre on the existing


computer system and to what extent it can support
the proposed task. This involves financial
consideration to accommodate technical
enhancements.
It is technically feasible because whatever
technology is needed to develop this software is
easily available.

6|Page
ERRORS AND ITS TYPES
An error, some time called “A BUG” is anything in
the code that prevents a program from compiling
and running correctly. There are broadly three
types of errors as
follows:

1.Compile- time errors: Errors that occurs


during compilation of a program is called
compile time error. It has two types as follows:
A. It refers to formal rules governing the
construction of valid statements in a language.
B. It refers to the set of rules which give the
meaning of a statement.

2.Run time Errors: Errors that occur during


the execution of program are run time errors.
These are harder to detect errors. Some run-
time error stop the execution of program which
is then called program “Crashed”.

3. Logical Errors:Sometimes, even if you don’t


encounter any error during compiling-time and
runtime, your program does not provide the correct
result. This is because of the programmer’s
mistaken analysis of the problem he or she is trying
to solve. Such errors are called logical error.

7|Page
TESTING
1. Alpha Testing:
It is the most common type of testing used in the
software industry. The objective of this testing is to
identify all possible issues or defects before releasing
it into the market or to the user. It is conducted at the
developer’s site.

2. Beta Testing:
about the internal logic of an application’s code. It
is also known as Glass box It is a formal type of
software testing which is carried out by the customers.
It is performed in a real environment before releasing
the products into the market for the actual end-users.
It is carried out to ensure that there are no major
failures in the software or product and it satisfies the
business requirement. Beta Testing is successful when
the customer accepts the software.

3.White Box Testing:


White box testing is based on the knowledge
Testing. Internal Software and code working should be
known for performing this type of testing. These tests
are based on the coverage of the code statements,
branches, paths, conditions etc.

8|Page
4.Black Box Testing:
It is a software testing, method in which the
internal structure or design of the item to be tested is
not known to the tester. This
method of testing can be applied virtually to every
level of the software testing.

9|Page
MAINTENANCE

Programming maintenance refers to the


modifications in the program. After it has been
completed, in order to meet changing requirement
or to take care of the errors that shown up. There
are four types of maintenance:

1. Corrective Maintenance: When the program


after compilation shows error because of some
unexpected situations, untested areas such
errors are fixed up by Corrective maintenance.
2. Adaptive Maintenance: Changes in the
environment in which an information system
operates may lead to system management. To
accommodate changing needs time to time
maintenance is done and is called Adaptive
maintenance.
3. Preventive Maintenance: If possible the
errors could be anticipated before they actually
occur; the maintenance is called Preventive
maintenance.
4. Perfective Maintenance: In this rapidly
changing world, information technology is the
fastest growing area. If the existing system is
maintained to keep tuned with the new
features, new facilities, new capabilities, it is
said to be Perfective maintenance.
10 | P a g e
FLOW CHART

DENTAL MANAGEMENT SYSTEM

LOGIN

DENTAL MANAGEMENT DASHBOARD

STAFF PATIENT INVOICE REPORTS

STAFF
SERVICE DETAILS REPORTS
CREATE PATIENT
CREATE STAFF

MANAGE PATIENT
MANAGE 1 .Replacement of missing
STAFF REPORTS
STAFF teeth

2 .Cavity filling

3 .Teeth whitening or
bleaching

4. Orthodontic treatment

5 .Cosmetic procedures

11 | P a g e
SOURCE CODE
import mysql .connector

import tabulate

from datetime import date

import random

print("*"*86)

print("*"*30,"DENTAL MANAGEMENT SYSTEM","*"*30)

print("*"*86)

#Login details

Username=input("Enter Username: ")

Password=int(input("Enter Password: "))

while True:

if Username=='Admin' and Password==12345:

print("Dental Management Dashboard")

print("1.Staff")

print("2.Patient")

print("3.Invoice")

print("4.Reports")

choice=int(input("Choose the field: "))

while True:

if choice==1:

print("STAFF DASHBOARD")

12 | P a g e
print("1.Create Staff")

print("2.Manage Staff")

choice2=int(input("Type 1 for creation and type 2 for


management of staff: "))

if choice2==1:

Staff ID=int(input("Staff ID: "))

print("*"*10,"CREATE STAFF","*"*10)

Name=input("Name: ")

Age=input("Age: ")

Address=input("Address: ")

Email ID=input("Email ID: ")

Mobile=input("Mobile number: ")

print("Data Entered successfully")

sqlCon=mysql.connector.connect(host='localhost',user='root',pass
word='root',database='dental')

cur =sqlCon .cursor()

cur .execute("insert into Staff


values('{}','{}','{}','{}','{}','{}')".format(Staff ID , Name, Age,
Address ,Email ID , Mobile ))

sqlCon.commit()

sqlCon.close()

if choice2==2:

Staff ID=int(input("Enter Staff ID to proceed: "))

print("*"*10,"UPDATE STAFF","*"*10)
13 | P a g e
Name=input("Name: ")

Age=input("Age: ")

Address=input("Address: ")

Email ID=input(" Email ID: ")

Mobile=input("Mobile number: ")

print("Record Updated Successfully")

sqlCon = mysql.connector .connect(host


="localhost",user="root",password="root" ,database="dental")

cur = sqlCon.cursor()

cur.execute("update Staff set Name=%s, Age=%s , Address=%s,


Email ID=%s ,Mobile=%s where Staff ID=%s",( Name, Age,
Address, Email ID, Mobile, Staff ID ))

sqlCon.commit()

sqlCon.close ()

if choice==2:

print("PATIENT RECORD")

print("1.Create Patient")

print("2.Manage Patient")

choice2=int(input("Type 1 for creation and type 2 for


management of Patient: "))

if choice2==1:

Name=input("Name: ")

Age=input("Age: ")

Address=input("Address: ")

Email ID=input("Email ID : ")

14 | P a g e
Mobile=input("Mobile number: ")

print("Data Entered successfully")

sqlCon=mysql.connector.connect(host='localhost',user='root',pass
word='root',database='dental')

cur =sqlCon.cursor()

cur.execute("insert into Patient


values('{}','{}','{}','{}','{}')".format, Name, Age, Address,
EmailID , Mobile ))

sqlCon.commit()

sqlCon.close()

if choice2==2:

Mobile=input("Enter Mobile to proceed: ")

print("*"*10,"UPDATE PATIENT","*"*10)

Name=input("Name: ")

Age=input("Age: ")

Address=input("Address: ")

Email ID=input("Email ID: ")

print("Record Updated Successfully")

sqlCon = mysql. connector. connect(host ="localhost",


user="root", password="root", database="dental")

cur = sqlCon.cursor()

cur.execute ("update Patient set Name=%s, Age=%s, Address=


%s, Email ID=%s where Mobile=%s",( Name ,Age, Address,
Email ID, Mobile ))

sqlCon.commit()

15 | P a g e
sqlCon. close()

if choice==3:

Name2=input("Enter your name: ")

Address2=input("Enter your Address: ")

Phone=input("Enter your phone number: ")

print("*"*10,"Service Details","*"*10)

print("Description: \

1.Replacement of missing teeth \

2.Cavity Filling \

3.Teeth Whitening or Bleaching \

4.Orthodontic Treatment \

5.Cosmetic Procedures \

")

print("*********************INVOICE********************
******************")

print("Bill from: \

RSK DENTAL CLINIC")

print("Bill to: ")

print("Name: ",Name2)

print("Address: ",Address2)

print("Phone Number: ",Phone)

desc=int(input("Enter your choice: "))

if desc==1:
16 | P a g e
print("Description: 1.Replacement of missing teeth")

a=1200

print("Appointment time: ")

start_dt = date.today().replace(day=1, month=1).toordinal()

end_dt = date.today().toordinal()

random_ day = date. fromordinal (random. randint(start_dt,


end_dt))

print(random_day)

print("Price= ",a)

elif desc==2:

print("Description: 2.Cavity Filling")

a=1500

print("Appointment time: ")

start_dt = date .today().replace(day=1, month=1).to ordinal()

end_dt = date.today().toordinal()

random_day = date.fromordinal(random.randint(start_dt,
end_dt))

print(random_day)

print("Price= ",a)

elif desc==3:

print("Description: 3.Teeth Whitening or Bleaching")

a=2500

print("Appointment time: ")

start_dt = date.today().replace(day=1, month=1).toordinal()

17 | P a g e
end_dt = date.today().toordinal()

random_day = date.fromordinal(random.randint(start_dt,
end_dt))

print(random_day)

print("Price= ",a)

elif desc==4:

print("Description: 4.Orthodontic Treatment")

a=3000

print("Appointment time: ")

start_dt = date.today().replace(day=1, month=1).toordinal()

end_dt = date.today().toordinal()

random_day = date.fromordinal(random.randint(start_dt,
end_dt))

print(random_day)

print("Price= ",a)

elif desc==5:

print("Description: 5.Cosmetic procedures")

a=5000

print("Appointment time: ")

start_dt = date.today().replace(day=1, month=1).toordinal()

end_dt = date.today().toordinal()

random_day = date.fromordinal(random.randint(start_dt,
end_dt))

print(random_day)

print("Total= ",a)
18 | P a g e
else:

print("Sorry Service not provided")

print("******************************THANK YOU
VISIT AGAIN*********************************")

if choice==4:

print("*"*10,"REPORTS","*"*10)

print("1.View Staff Reports")

print("2.View Patient Reports")

choice3=int(input("Type 1 for creation and type 2 for


management of Patient: "))

if choice3==1:

sqlCon=mysql.connector.connect(host='localhost',user='root',pass
word='root',database='dental')

cur =sqlCon.cursor()

query="select*from staff"

cur.execute(query)

result=cur.fetchall()

row=['StaffID','Name','Age','Address','EmailID','Mobile']

for row in result:

print(row)
19 | P a g e
sqlCon.commit()

sqlCon.close()

if choice3==2:

sqlCon=mysql.connector.connect(host='localhost',user='root',pass
word='root',database='dental')

cur =sqlCon.cursor()

query="select*from patient"

cur.execute(query)

result=cur.fetchall()

row=['Name','Age','Address','EmailID','Mobile']

for row in result:

print(row)

sqlCon.commit()

sqlCon.close()if choice3==1:

sqlCon=mysql.connector.connect(host='localhost',user='root',pass
word='root',database='dental')

cur =sqlCon.cursor()

query="select*from staff"

cur.execute(query)

result=cur.fetchall()

row=['Staff ID' ,'Name' ,'Age' ,'Address' ,'Email ID',


'Mobile']

for row in result:


20 | P a g e
print(row)

sqlCon.commit()

sqlCon.close()

else:

print("Enter Valid Details")

OUTPUT
21 | P a g e
ENTERING WITH USERNAME AND PASSWORD:

TO CREATE STAFF:
22 | P a g e
23 | P a g e
To manage staff:
Update staff:

24 | P a g e
To create patient:

25 | P a g e
To manage patient:

Update patient

26 | P a g e
To generate invoice:

27 | P a g e
28 | P a g e
CONCLUSION
Our project is only a humble venture to
satisfy the needs to manage their project
work. Several user friendly coding have also
adopted. This package shall prove to be a
powerful package in satisfying all the
requirements of the school. The objective of
software planning is to provide a frame work
that enables the manager to make
reasonable estimates made within a limited
time frame at the beginning of the software
project and should be updated regularly as
the project progresses.

29 | P a g e
BIBILIOGRAPHY

Textbooks:
Computer Science with python by
Sumitra Arora
Computer Science with python by
Preeti Arora
Websites:
https://en.wikipedia.org/
https://python.mykvs.in/
https://www.geeksforgeeks.org/

30 | P a g e

You might also like