Vous êtes sur la page 1sur 23

Running Head: Adult Dentistry Management System

Adult Dentistry
Management System
Database Implementation
Lisa Barnes, Chanthy Yoeun, and Fangwu Wei
INFO 606 Advanced Database Management
Drexel University, Winter 2010
3/18/2010
Adult Dentistry Management System 2

TABLE OF CONTENT

1. SUMMARY 4
2. EXISTING SYSTEM 4
2.1 Introduction 4
2.2 Current Workflow 4
2.3 Current Issues 5
2.4 Current Assumptions 5
3. PROPOSED SYSTEM 6
3.1 Functional Requirements 6
3.2 Data Requirements 7
3.3 Non-Functional Requirements 8
3.4 System Requirements 8
4. CONCEPTUAL DESIGN 9
4.1 ER Diagram 9
4.2 Functional Dependencies and Normalization 11
4.3 Relational Schema 11
4.4 Reports 12
4.5 Data Dictionaries 13
5. IMPLEMENTATION 13
5.1 Organization of the Overall Program 13
5.2 Brief Explanation of Each Module 13
5.3 Queries 14
5.4 5.5 How to Install the Program 14
5.5 How to Run the Program 14
6. CONCLUSION 15
6.1 Summary of Work 15
6.2 Lessons Learned 15
7. REFERENCES 16
8. APPENDIX 16
8.1 Sample Input 16
8.2 Sample Output 23
Adult Dentistry Management System 3
Adult Dentistry Management System 4

1. SUMMARY

Adult Dentistry is a small dental office serving only adults between ages 18 through 75. General
services include x-rays, teeth cleaning, and fillings. Specialty services include tooth removal,
root canals, orthodontics, teeth whitening, and dental crowns/bridges.

The dental office has been using a spreadsheet, paper charts (a manual process) to track its
patient services, diagnoses, prescriptions, and billing. Because of the growth in new patients by
20% over the past three years and the increasing demands for complete and accurate
documentation for insurance purposes, submitting claims and billing/payments, the office
requires a new system to track daily processes.

The overall goal of Adult Dentistry Management System is to accurately and efficiently maintain
patient information, each patients visit, current and past diagnoses, current and past
prescriptions, bills, and available medical history. Additionally, management needs reports
generated on a periodic basis to give an account of financial, insurance, and patient information.
This system will provide staffs with the opportunity of working in a paperless office. Most of the
manual task that are being completed can be done through this automated system. Which in
turns, decrease operation costs and lost or misplaced patient charts/records. This management
system can provide the business with the tools to help run the practice effectively and increase
productivity.

2. EXISTING SYSTEM

2.1 Introduction

There are a total of 11 employees that works at Adult Dentistry (4 dentists with different
specialties, 2 nurses, 1 senior nurse, 3 staff, and 1 office manager). In order to properly address
Adult Dentistrys needs, meetings were held with the managing dentist, senior nurse, and office
manager. The staff provided information regarding current workflow, documents used to
maintain patient information, and reporting needs. From these meetings, we identified the
following:

1. The number of patients that is or has been serviced at the office


2. The number of employees and their titles and roles
3. Documentation and billing process
4. The average number of visits per month
5. The top services perform
6. The different kind of health insurance accepted
7. Types of payment options

2.2 Current Workflow

Below is a general daily operation that occurs in the office.

1. Patient contacts the office to make an appointment.


Adult Dentistry Management System 5

2. Staff scheduling the appointment must determine if patient is existing or new:


a. If existing patient: reason for appointment is given from patient and appointment
is scheduled
b. If new patient: reason for appointment, address and phone number, and health
insurance information is given from patient. Medical history forms are mailed to
new patient to be completed prior to visit.
3. Patient visits and checks in.
4. At the same time, insurance and billing information is received.
5. Medical history is gathered from several spreadsheets and handwritten on a form for
doctor to review during visit.
6. Exam and treatment is received.
7. If this is a follow-up visit, then the diagnosis and prescriptions can be updated.
8. If this is a new visit, then a diagnosis is created along with prescriptions if needed.
9. A bill is computed, no longer than 30 business days based upon services received during
visits.

2.3 Current Issues

1. Health insurance companies were denying claims and returning submitted claims due to
incorrect or inaccurate procedure code, type of service, or tooth surface code.
2. The business has been losing money due to inaccurate billing.
3. Because the spreadsheets have grown so large, data entry has become cumbersome and
generating meaningful reports has become difficult.
4. Nurses and staffs are overwhelmed with the manual workload.
5. Several spreadsheets have to be referred to in order to provide the dentist with a complete
patient history before patients is seen, causing a longer wait time.
6. During busy times, staffs would scramble to find a patients chart while they are waiting.
7. Currently there is no method to archive historical data. Patients that have not been seen
in the office for a specified time frame need to be changed to an inactive status.
8. As new roles have developed within the office, security needs to be applied to limit
access to information on an as needed basis.
9. Overtime has increased by 10% over the past year due to increasing manual work in the
office.

2.4 Current Assumptions

1. The office recently purchased new desktop computers for the managing dentist, office
manager, senior nurse, and front desk staff.
2. The office already has the minimum system requirements that support this database. No
new hardware will be purchased to implement a new system.
3. Job roles and workflow can be modified to increase the efficiency of a new system.
4. Active patients and their information will be used to populate the new system. Inactive
patients will be archived.

3. PROPOSED SYSTEM
Adult Dentistry Management System 6

3.1 Functional Requirements

The system will be password-protected with multiple levels of security to comply with HIPAA
(Health Insurance Portability and Accountability Act) standards. Data that is stored in the system
is safe and secure and staffs do not have to worry that a system crash, fire, flood, or other natural
disaster will destroy patients data. It will be a multi-user system that only allows one user to
change/edit or add information at a time. However, it may be viewed by many users and will
need to perform certain functions. A relational database will be developed that will provide the
following functionalities described in Table 1.

Table 1: Adult Dentistry Management System Functionalities


Functionalities Descriptions
1. Add a new patient All new patient information is entered into the
system by a staff. Medical history, diagnosis,
prescription and additional patient information
are entered by either a nurse or a dentist.
2. Add diagnosis After opening a patient record, the dentist
determines what is wrong with the patient and
enters the diagnosis into the system.
3. Add prescription After a diagnosis is determined for a patient,
the dentist enters a prescription into the system
for that particular patient, if needed.
4. Retrieve patient information The dentist or nurse selects a particular patient
in the system and retrieves their information.
5. Edit patient information Any changes to the patients records are made
by either the dentist or the nurse and saved to
the database.
6. Add office visit information and procedure After patient completes their visit, a staff or
performed nurse will update their record with information
regarding the visit.
7. Bill patient A staff is responsible to submit a bill to each
patient for any co-pay or outstanding balance.
8. Process Payment (Check, Cash, or Credit) Once the staff receives a payment, they will
process it and update the patients billing
information.
9. Bill health insurance (Check or EDI A member of the staff submits a claim for each
(Electronic Data Interchange) Payment patient to the patients health insurance (is
applicable) for reimbursement.
10. Generate bill/payment reports Any employee may generate a report of
information in the system. All patents
personal information are excluded.
11. Generate active patient report Any employee may generate a report of
information in the system. All patents
personal information are excluded.
12. Log in/log out In order to access the system, the user is
required to enter their username and password.
Adult Dentistry Management System 7

The user has to end his/her session by logging


out.
13. Back up data Weekly or monthly data backup process.
14. Schedule Patient Appointment Any of the staff may schedule an appointment
for a patient to meet with a dentist or nurse.
15. Update Diagnosis Any changes in a patient diagnosis are made by
the dentist and saved to the database.
16. Update Prescriptions Any changes made to a patients prescription
are to be made by the dentist and saved to the
database.

3.2 Data Requirements

The proposed database will keeps track of the offices patients, their visits, medical information,
health insurance (if applicable), invoices and payments for each invoice. The office employees
consist of dentists with specific specialties, nurses, and administrative staffs.

Patients information includes unique patient id #, name, address, contact phone number, social
security number, patients date of birth, information regarding their emergency contact, and
health insurance information. Each patient can have only one emergency contact listed, but can
have none or many TPL. Each patients appointment will be linked to a dentist that will provide
the service.

Each dentist and staffs is determined by their unique id# and specialty. A dentist can see many
patients at different times and patients can be assigned to more than one dentist but can be seen
by only one dentist during each visit.

The system only allows staffs to schedule appointments for patients and include it in the patients
information to view, but it will not keep track of it. Two or more patients may not be scheduled for the
same appointment time and day with the same dentist. After each patients visit, a staff or a nurse is to
update the patients record with information regarding the visit and procedure that was performed on the
indicated tooth number and surface.

Each patient can have only one record in the system. Each record contains information regarding
the patients visits, diagnoses, and prescriptions. Each prescription will include prescription#,
start date, end date, prescription status, generic drug name, brand name, dosage, and refills
remaining. Prescription status will either be Active or Inactive.

Based on each patients visit, an invoice will be generated based on the services provided and
procedure performed and payments for the invoice are made by the appropriate party. A bill with
be generated by staffs no later than 30 days after the service date. The bill includes the billing
date, service date, service performed, place of service, procedure, and the total. A payment for
each bill is made by the appropriate party (patient or health insurance). Insurance type is HMO,
POS, PPO, Other, or None. The system will also keep track each payment made, date, amount,
description, payment method, and balance.
Adult Dentistry Management System 8

3.3 Non-Functional Requirements

1. The system will be password-protected and there will be an access hierarchy. (Security)
2. Patient records must be protected under HIPAA regulation by patient consent and signed
form and external security system.
3. All information and system design will meet federal standards (HIPAA) for PHI (protected
health information)
4. The system will be backed up daily.

3.4 System Requirements

In order to operate, manage, run, and utilize the system properly below (Table 2) is a list of the
minimum hardware and equipment required. Table 3 is the recommended hardware and
equipment if the customer wants to enhance their performances by double.

Table 2: Minimum System Requirements


Component Requirement
Computer and Processor Personal computer with an Intel Pentium IV 3.2Ghz or
faster processor
Memory 1024 MB of RAM or higher
Hard drive 40GB ATA or Serial ATA
Video Card Super VGA (1024 768)
Display Super VGA (1024 768) or higher-resolution monitor
Operating System Microsoft Windows 2000 with Service Pack 4 (SP4),
Microsoft Windows XP SP2 or Microsoft Windows
Vista
Optical Drive CD-Rom
Network 10/100 Mbps
USB port USB ports
Other Microsoft .NET Framework 1.4
Internet Explorer 6 SP2 or higher
Adobe Acrobat Reader, Macromedia Flash Player
(http://www.planetdds.com)

Table 3: Recommended System Requirements


Component Requirement
Personal computer with an Intel Pentium IV 3.2 GHz or
Computer and Processor faster processor (Pentium IV, Mobile Centrino, Dual
Core or Higher)
Memory 1024 MB of RAM or higher
Hard drive 80GB ATA or Serial ATA
Video Card Super VGA (1024 768) with 128MB or higher
Display Super VGA (1024 768) or higher-resolution monitor
Adult Dentistry Management System 9

Operating System Microsoft Windows 2000 with Service Pack 4 (SP4),


Microsoft Windows XP SP2 or Microsoft Windows
Vista
Optical Drive CD-Rom/DVD
Network 10/100/1000 Mbps
USB port 2 Powered USB 2.0 ports or Powered USB 2.0 Hub
Other Microsoft .NET Framework 1.4
Internet Explorer 6 SP2 or higher
Adobe Acrobat Reader 8.0, Macromedia Flash Player
(http://www.planetdds.com)

4. CONCEPTUAL DESIGN

4.1 ER Diagram

The ER diagram below describes the relationships between each concept (entity) within the
system for patients information and related processes. It presents a visual representation of
Adult Dentistrys Management System. Entities consist of Employees, PatientInfo,
HealthInsurance, Appointments, Visits, Prescriptions, Invoices, and Receivables. Each entity
contains attributes which are represented with ovals. Each attributes indentifies the data elements
that the system contains and manages. Also, each entity is linked to other entities by
relationships (diamond shape). The relationship descriptions how each entity relates to one
another. Table 4 lists the relationship and cardinalities between each entity.
Adult Dentistry Management System 10

Adult Dentistry Management System ER Diagram


HealthInsuran HealthInsuran PolicyHolderN
Title LName ceName ceType ame
PolicyNumber Relationship
Specialty FName

Health PatientID(FK1
EmployeeID
Insurance )
Address

PhoneNumber Employees 1 M
Scheduled
PpatientID
with
Has FName
EmployeeTyp
e ApptID M
ApptDate 1
LName
EmployCode
ApptTime Makes
M 1
Appointments PatientInfo City
Employee
Type AttendingPhys
EmployDescri ician
ZipCode
ption PatientID(FK1 1 Relationship
)
Street
EmployeeID(F EmergencyPh
Confirmed
K2) oneNumber
PhoneNumber
EmergencyCo
ServiceCode ProcCode ntact
DiagCode 1 ApptID(FK1)
ToothNumber DOB SocSecNum
Code
VisitID
ToothSurface
DiagCode PrescriptionN
Code Visits
umber
1 StartDate
DiagDescripti Create
on
Diagnoses EndDate
M

ProcCode Prescriptions
GenericName
1

Procedures BrandName
ProcDescripti
on

IntakeMethod
ServiceCode
TypeOfSer Create
Dosage
vice ToothNumber ToothSurface
VisitID(FK1)
ServiceDescri RemainingRef
Status
ption ill

ToothNumber ToothDescripti ToothSurface ToothSurface


1 PaymentNum
Code on Code Description
ber

AmountRecei
InvoiceNum ved
Receivables
InvoiceDate M ReceivedDate
Invoices 1 Generate

Description
ServiceDate

InvoiceNum(F
Balance Method
K1)
DueDate

TotalAmount VisitID(FK1)
Adult Dentistry Management System 11

Table 4: Relationship and Cardinalities of Adult Dentistry System ER Diagram


Entity Relationship Cardinality
PatientInfo : HealthInsurance Has 1:M
PatientInfo : Appointments Makes 1:M
Empoyees : Appointments Scheduled With 1:M
Appointments : Visits Confirmed 1:1
Visits : Prescriptions Create 1:M
Visits : Invoices Create 1:1
Invoices : Receivables Generate 1:M

4.2 Functional Dependencies and Normalization

Based on the Adult Dentistry Management System ER Diagram, all functional dependencies
were derived and decomposed in 3NF to avoid anomalies problems with data.

1. PatientIDFName, LName, Street, City, ZipCode, PhoneNumber, SocSecNum, DOB


2. PolicyNumberHealthInsuranceName, HealthInsuranceType, PolicyHolderName,
Relationship, PatientID
3. EmployeeIDFName, LName, Title, Specialty, Address, PhoneNumber,
EmployeeType
4. ApptIDApptDate, ApptTime, PatientID, EmployeeID
5. VisitIDApptID, DiagCode, ProcCode, ServiceCode, ToothNumberCode,
ToothSurfaceCode
6. InvoiceNumInvoiceDate, ServiceDate, DueDate, TotalAmount, VisitID
7. PrescriptionNumStartDate, EndDate, GenericName, BrandName, Dosage,Status,
VisitID
8. PaymentNumberAmountReceived, ReceivedDate, Description, Method, Balance,
InvoiceNum
9. EmployCodeEmployDescription
10. DiagCodeDiagDescription
11. ProcCodeProcDescription
12. ServiceCodeServiceDescription
13. ToothNumberCodeToothDescription
14. ToothSurfaceCodeToothSurfaceDescription

4.3 Relational Schema

Mapped translation technique was used to show the relational schema. Attributes that are
formatted with bold and underline fonts are primary keys with unique identifiers. Attributes that
are formatted with underline font are considered foreign keys, referencing a parent table.

1. R1 = {PatientID, FName, LName, Street, City, ZipCode, PhoneNumber, SocSecNum,


DOB}
Adult Dentistry Management System 12

2. R2 = {PolicyNumber, HealthInsuranceName, HealthInsuranceType, PolicyHolderName,


Relationship, PatientID}
3. R3 = {EmployeeID,FName, LName, Title, Specialty, Address, PhoneNumber,
EmployeeType}
4. R4 = {ApptID, ApptDate, ApptTime, PatientID, EmployeeID}
5. R5 = {VisitID, ApptID, DiagCode, ProcCode, ServiceCode, ToothNumberCode,
ToothSurfaceCode}
6. R6 = {InvoiceNum, InvoiceDate, ServiceDate, DueDate, TotalAmount, VisitID}
7. R7 = {PrescriptionNum, StartDate, EndDate, GenericName, BrandName,
IntakeMethod, Dosage, RemainingRefill, Status, VisitID}
8. R8 = {PaymentNumber, AmountReceived, ReceivedDate, Description, Method,
Balance, InvoiceNum}
9. R9 = {EmployCode, EmployDescription}
10. R10 = {DiagCode, DiagDescription}
11. R11 = {ProcCode, ProcDescription}
12. R12 = {ServiceCode, ServiceDescription}
13. R13 = {ToothNumberCode, ToothDescription}
14. R14 = {ToothSurfaceCode, ToothSurfaceDescription}

4.4 Reports

Based on meetings held with staffs, they have identified reports that are critical to managing the
office effectively and made sure that its included in the system. Staffs also have the ability to
create a custom report to fit their needs as operation activities changes. Below is a list of reports
management requested to have built in the system. The reports are efficient and simple to
generate, making it easy for staffs to use. This in turn would save time spent on creating reports
which decrease operation costs.

1. Patient History Report


This report determines the number of patient activities within a period. It does not include
any personal information regarding patients identity (ssn, address, phone number) due to
HIPPA regulations. It retrieves patients id and information regarding that patients visit.
This would be beneficial to the business because management will be able to view and keep
track of the number of visits per months and how often patients utilize services.

2. Procedure Over $500 Report


The report determines the top procedures performed on patients by cost. This helps
management with determining the services that are most profitable to the office.

3. Appointments Report
Track daily patient visits listing patients seen per day, services and procedures provided and
payments received. This will help management with managing the business and financial
planning.

4. Employee History
Adult Dentistry Management System 13

By keeping track of services that are performed, management can ensure the availability of
dentist and supplies. For example, if filling is the top procedure performed on patients, then
management want to make sure there are enough dentists available to perform the procedure
and not over work one another. Also, management would want to make sure that there are
enough filling supplies available to perform each procedure.

5. Patient History by Service Report


This is a report that indicates services received by the patient. It is a report that lists
categorizes services that are performed during a time period to assist the office in scheduling
practices.

6. Outstanding Invoices Report


This report looks at the total amount of invoices and the amount received. The days overdue
can tell management the amount that can be expected and also the percentage of the bill that
usually gets paid. This can also provide an invoice/payment ratio.

7. Prescription Report
This report looks at active prescriptions that were given to.

8. Annual TPL Report


This report looks to identify health insurances that are common amongst the patients in the
office. Management can re-negotiate contracts with health insurance companies that most of
their patients carries or contract with new health insurance companies that are currently not
on their panel. They would want to contract with health insurance companies that most of
their patients carries. This can help increase business and bring more patients to the office.

4.5 Data Dictionaries


See attached Table Columns.pdf.

5. IMPLEMENTATION

5.1 Organization of the Overall Program

Initially when a patient calls an appointment is recorded. An employee is assigned to perform


the examination and patient information is collected if the patient is new. Once the patient
comes in for the visit, the dentist will perform the services and assign procedure, diagnoses, and
type of service codes for insurance, billing, and patient history purposes. The dentist will also
prescribe medications if necessary. The visit will generate an invoice that will be due in 30 days.
As payments are made, they are applied to the patients account.

5.2 Brief Explanation of Each Table

PatientInfo contains information regarding patient demographics


HealthInsurancecontains patient insurance information
Appointmentsappointments are scheduled with various employees
Adult Dentistry Management System 14

Visitsonce an appointment is confirmed a visit is made. This tracks the patient history.
Employeescontain employee information.
Prescriptionscontain prescription history for patient.
Invoicescontain billing information.
Receivablescontain accounts receivable information.
Procedurescontain procedure codes and descriptions.
Servicescontain services codes and descriptions.
Diagnosescontain services codes and descriptions.
Tooth Numbercontains tooth number and descriptions.
Tooth Surfacecontains tooth surface and descriptions.

5.3 Queries

Refer to Section 4.4 Reports.

5.4 How to Install the Program

This management system was design for everyone to use from front desk staffs to the dentist.
Because the intent was to build an easy to use system, no expert is needed to set it up and
installing the system is straightforward and effortless. The time needed to install and have the
system up and running should take anywhere from thirty minutes to a few hours. It depends on
the amount of change that is required in the office to meet the needs of the office. Most features
come with pre-set defaults and usually no customization is necessary so time should be saved.

In order to successfully install the system, the following steps should be performed in the order
that it is given below.
1. Insert disk software disk
2. Once loaded, a window should appear with the name of the system, Adult Dentistry
Management System.
3. It will then ask the user if you want to begin your download process, select YES.
4. After your selection, a time bar will appear and your download process has started. As
the download process complete, the time bar will show updates with how many percent
download has completed.
5. When your time bar shows 100% completed, it means that the download is finish and a
message will appear stating Your download is complete!.
6. Select OK, the window will close and the system will open and ready to be used.

5.5 How to Run the Program

In order to utilize the system there are a few steps the user have to complete.
1. First the user has to launch the program and there are two ways to do it.
a. Start Menu: Click the Windows start button and expand the program menu, Then
select Programs (or All Programs), Adult Dentistry Management Systems folder,
and Adult Dentistry Management System application.
b. Desktop Icon: Double click the Adult Dentistry Management System icon on the
Windows Desktop to access the Adult Dentistry Management System.
Adult Dentistry Management System 15

2. Once the program is loaded, the user is required to enter their user id and password that
was given by management.
3. After the user enters their user id and password correctly and the system approves it, the
program will be fully up and running and the user may perform functionalities described
in Table 1 above.

6. CONCLUSION

6.1 Summary of Work

Based on the goal that we set at the beginning, we analyzed the existing workflow and issues in
the current adult dentistry system, and then proposed a new system in order to reduce operation
cost. The analysis to the new system is necessary in order to successfully implement it in the
future. We analyzed the functional requirements, data requirements, non-functional
requirements, and system requirements. The analysis was a foundation of the new system design.
The conceptual design focused on analyzing and designing the basic elements of a database
system. According to the requirement analysis of the new system, we created ER diagram,
relational schema, data dictionaries, FDs, routine queries, and report types. Following the design,
a set of tables with values were created in database. Users, including doctors, nurses, and staff,
can look up/insert/update/delete the patients e-records and get the relevant output.

6.2 Lessons Learned

Requirement analysis plays an important role in the life cycle of database management system
(DBMS). Many system developers only pay attention to the system design and implementation.
They have to go back to analyze requirements and redesign the system because they dont
understand target users and their needs. They ignore the importance of requirement analysis and
skip the step. We spent several weeks on doing problem statement and analyzing requirements in
order to progress next steps better. Current workflow and issues and the requirements made the
design easy and clear.

How to design a database management system is another lesson learned from the project. The
elements (ERD, relational schema, FDs, queries, etc) that we considered one by one in the design
process are essential. The combination of the elements is a good design method. We can use it as
a guide to design other DBMSs in the future.

In addition, there was a learning curve as this was the first time using Oracle. Overcoming
simple syntax errors was a common problem. There were many connection problems using
Oracle 10g and the process of creating the database had to be restarted several times.

The importance of communication and teamwork is equal to the first two lessons. We had
regular meeting and used emails to discuss our project, allocate our missions, and help others
solve problems about the project. The benefit cannot be measured, but is obvious. Because we
had good communication and teamwork, we had a unified project goal and clear and non-
redundant allocation. We collaborated efficiently and effectively.
Adult Dentistry Management System 16

What we learned is beneficial to the study/career life in the future.

7. REFERENCES

1. Curve Dental. Retrieved from http://curvedental.com/home.php

2. Planet DDS. Retrieved from


http://www.planetdds.com/requirements.aspx?ekmensel=c580fa7b_20_0_422_6

8. APPENDIX

8.1 Sample Input

*This is the initial creation of the tables and doesnt include changes that were made during the
entire project.

CREATE TABLE "EMPLOYEE"


( "EMPID" VARCHAR2(7) NOT NULL ENABLE,
"FNAME" VARCHAR2(25) NOT NULL ENABLE,
"LNAME" VARCHAR2(25) NOT NULL ENABLE,
"TITLE" VARCHAR2(30),
"SPECIALTY" VARCHAR2(30),
"ADDRESS" VARCHAR2(75),
"CITY" VARCHAR2(30),
"ST" CHAR(20),
"ZIP" CHAR(5),
"PHONENUM" CHAR(12),
"EMPTYPE" CHAR(2) NOT NULL ENABLE,
CONSTRAINT "EMPLOYEEID_PK" PRIMARY KEY ("EMPID") ENABLE
)
/
CREATE TABLE "PATIENTINFO"
( "PATIENTID" VARCHAR2(7),
"FNAME" VARCHAR2(25) NOT NULL ENABLE,
"LNAME" VARCHAR2(25) NOT NULL ENABLE,
"SOCSECNUM" VARCHAR2(11) NOT NULL ENABLE,
"SEX" VARCHAR2(1) NOT NULL ENABLE,
"DOB" DATE NOT NULL ENABLE,
"MAILINGADDRESS" VARCHAR2(45) NOT NULL ENABLE,
"CITY" VARCHAR2(25) NOT NULL ENABLE,
"ST" VARCHAR2(2) NOT NULL ENABLE,
"ZIP" NUMBER NOT NULL ENABLE,
"PHONENUMBER" VARCHAR2(12),
"EMERGENCYCONTACT" VARCHAR2(30),
"EMERGPHNUM" VARCHAR2(12),
"RELATIONSHIP" VARCHAR2(15),
CONSTRAINT "PATIENTINFO_PK" PRIMARY KEY ("PATIENTID") ENABLE,
CONSTRAINT "PID_FK" FOREIGN KEY ("PATIENTID")
REFERENCES "PATIENTINFO" ("PATIENTID") ENABLE
)
/
Adult Dentistry Management System 17

CREATE TABLE "APPOINTMENTS"


( "APPTID" VARCHAR2(30),
"APPTDATE" DATE,
"APPTTIME" VARCHAR2(30),
"PATIENTID" VARCHAR2(30),
"EMPLOYEEID" VARCHAR2(30),
CONSTRAINT "APPOINTMENTS_PK" PRIMARY KEY ("APPTID") ENABLE,
CONSTRAINT "APT_FK" FOREIGN KEY ("PATIENTID")
REFERENCES "PATIENTINFO" ("PATIENTID") ENABLE,
CONSTRAINT "VIS_FK" FOREIGN KEY ("APPTID")
REFERENCES "APPOINTMENTS" ("APPTID") ENABLE,
CONSTRAINT "EMP_FK" FOREIGN KEY ("EMPLOYEEID")
REFERENCES "EMPLOYEE" ("EMPID") ENABLE
)
/
CREATE TABLE "DIAGNOSES"
( "DIAGCODE" VARCHAR2(7) NOT NULL ENABLE,
"DIAGDESCRIPTION" VARCHAR2(75)
)
/
CREATE TABLE "EMPLTYPE"
( "EMPLCODE" CHAR(5) NOT NULL ENABLE,
"EMPLDESCRIPTION" VARCHAR2(25) NOT NULL ENABLE
)
/
CREATE TABLE "HEALTHINSURANCE"
( "POLICYNUMBER" VARCHAR2(7),
"INSURANCETYPE" VARCHAR2(30),
"INSURANCENAME" VARCHAR2(30),
"POLICYHOLDERNAME" VARCHAR2(30),
"RELATIONSHIP" VARCHAR2(30),
"PATIENTID" VARCHAR2(7) NOT NULL ENABLE,
CONSTRAINT "HEALTHINSURANCE_PK" PRIMARY KEY ("POLICYNUMBER") ENABLE,
CONSTRAINT "HIN_FK" FOREIGN KEY ("PATIENTID")
REFERENCES "PATIENTINFO" ("PATIENTID") ENABLE
)
/
CREATE TABLE "VISITS"
( "VISITID" VARCHAR2(30),
"APPTID" VARCHAR2(30),
"PATIENTID" VARCHAR2(30),
"DIAGCODE" VARCHAR2(30),
"PROCCODE" VARCHAR2(30),
"SERVICECODE" VARCHAR2(2),
"TOOTHNUMBERCODE" VARCHAR2(30),
"TOOTHSURFACECODE" VARCHAR2(1),
"APPTDATE" DATE,
CONSTRAINT "VISITS_PK" PRIMARY KEY ("VISITID") ENABLE,
CONSTRAINT "APTV_FK" FOREIGN KEY ("APPTID")
REFERENCES "APPOINTMENTS" ("APPTID") ENABLE
)
/
CREATE TABLE "INVOICES"
( "INVOICENUM" VARCHAR2(30),
"INVOICEDATE" DATE,
"SERVICEDATE" DATE,
Adult Dentistry Management System 18

"DUEDATE" DATE,
"TOTALAMOUNT" NUMBER,
"VISITID" VARCHAR2(30),
"PROCCODE" VARCHAR2(30),
CONSTRAINT "INVOICES_PK" PRIMARY KEY ("INVOICENUM") ENABLE,
CONSTRAINT "INV_FK" FOREIGN KEY ("VISITID")
REFERENCES "VISITS" ("VISITID") ENABLE,
CONSTRAINT "REC_FK" FOREIGN KEY ("INVOICENUM")
REFERENCES "INVOICES" ("INVOICENUM") ENABLE
)
/
CREATE TABLE "PRESCRIPTIONS"
( "PRESCRIPNUMBER" VARCHAR2(30),
"BRAND_NAME" VARCHAR2(30),
"GENERIC_NAME" VARCHAR2(30),
"FORM" VARCHAR2(30),
"VISITID" VARCHAR2(30),
"PATIENTID" VARCHAR2(30),
"STARTDATE" DATE,
"ENDDATE" DATE,
"DOSAGE" VARCHAR2(30),
"REFILLS" NUMBER,
"STATUS" VARCHAR2(30),
CONSTRAINT "PRESCRIPTIONS_PK" PRIMARY KEY ("PRESCRIPNUMBER") ENABLE,
CONSTRAINT "PRS_FK" FOREIGN KEY ("VISITID")
REFERENCES "VISITS" ("VISITID") ENABLE
)
/
CREATE TABLE "PROCEDURES"
( "PROCCODE" VARCHAR2(7),
"PROCDESCRIPTION" VARCHAR2(255),
"COST" NUMBER,
CONSTRAINT "PROCEDURES_PK" PRIMARY KEY ("PROCCODE") ENABLE
)
/
CREATE TABLE "RECEIVABLES"
( "PAYMENTNUM" VARCHAR2(7),
"INVOICENUM" VARCHAR2(7),
"ORGAMT" NUMBER,
"AMOUNTRECEIVED" NUMBER,
"RECEIVEDDATE" DATE,
"METHOD" VARCHAR2(15),
"BALANCE" NUMBER,
CONSTRAINT "RECEIVABLES_PK" PRIMARY KEY ("PAYMENTNUM") ENABLE,
CONSTRAINT "INVR_FK" FOREIGN KEY ("INVOICENUM")
REFERENCES "INVOICES" ("INVOICENUM") ENABLE
)
/
CREATE TABLE "TOOTHNUMBER"
( "TOOTHNUMBER" VARCHAR2(2) NOT NULL ENABLE,
"TOOTHDESCRIPTION" VARCHAR2(40) NOT NULL ENABLE,
CONSTRAINT "TH_PK" PRIMARY KEY ("TOOTHNUMBER") ENABLE
)
/
CREATE TABLE "TOOTHSURFACE"
( "SURFACECODE" CHAR(5) NOT NULL ENABLE,
Adult Dentistry Management System 19

"SURFACEDESCRIPTION" VARCHAR2(25) NOT NULL ENABLE


)
/
CREATE TABLE "TYPEOFSERVICE"
( "SERVICECODE" VARCHAR2(7) NOT NULL ENABLE,
"SERVICEDESCRIPTION" VARCHAR2(50)
)
/
CREATE UNIQUE INDEX "APPOINTMENTS_PK" ON "APPOINTMENTS" ("APPTID")
/
CREATE UNIQUE INDEX "EMPLOYEEID_PK" ON "EMPLOYEE" ("EMPID")
/
CREATE UNIQUE INDEX "HEALTHINSURANCE_PK" ON "HEALTHINSURANCE"
("POLICYNUMBER")
/
CREATE UNIQUE INDEX "INVOICES_PK" ON "INVOICES" ("INVOICENUM")
/
CREATE UNIQUE INDEX "PATIENTINFO_PK" ON "PATIENTINFO" ("PATIENTID")
/
CREATE UNIQUE INDEX "PRESCRIPTIONS_PK" ON "PRESCRIPTIONS"
("PRESCRIPNUMBER")
/
CREATE UNIQUE INDEX "PROCEDURES_IDX1" ON "PROCEDURES" ("PROCCODE")
/
CREATE UNIQUE INDEX "RECEIVABLES_PK" ON "RECEIVABLES" ("PAYMENTNUM")
/
CREATE UNIQUE INDEX "TH_PK" ON "TOOTHNUMBER" ("TOOTHNUMBER")
/
CREATE UNIQUE INDEX "VISITS_PK" ON "VISITS" ("VISITID")
/

Appointment History

select "PATIENTINFO"."PATIENTID" as "PATIENTID",


"PATIENTINFO"."FNAME" as "FNAME",
"PATIENTINFO"."LNAME" as "LNAME",
"PATIENTINFO"."SEX" as "SEX",
"PATIENTINFO"."DOB" as "DOB",
"VISITS"."TOOTHNUMBERCODE" as "TOOTHNUMBERCODE",
"VISITS"."TOOTHSURFACECODE" as "TOOTHSURFACECODE",
"VISITS"."APPTDATE" as "APPTDATE",
"PROCEDURES"."PROCDESCRIPTION" as "PROCDESCRIPTION",
"DIAGNOSES"."DIAGDESCRIPTION" as "DIAGDESCRIPTION",
"TYPEOFSERVICE"."SERVICEDESCRIPTION" as "SERVICEDESCRIPTION"
from "PATIENTINFO" "PATIENTINFO",
"PROCEDURES" "PROCEDURES",
"VISITS" "VISITS",
"DIAGNOSES" "DIAGNOSES",
"TYPEOFSERVICE" "TYPEOFSERVICE"
Adult Dentistry Management System 20

where "VISITS"."DIAGCODE"="DIAGNOSES"."DIAGCODE"
and "VISITS"."PATIENTID"(+) ="PATIENTINFO"."PATIENTID"
and "VISITS"."PROCCODE"="PROCEDURES"."PROCCODE"
and "VISITS"."SERVICECODE"="TYPEOFSERVICE"."SERVICECODE"
and "TYPEOFSERVICE"."SERVICEDESCRIPTION" ='Oral Surgery'
order by TYPEOFSERVICE.SERVICEDESCRIPTION ASC

Procedures Performed Over $500

select "VISITS"."APPTDATE" as "APPTDATE",


"VISITS"."PROCCODE" as "PROCCODE",
"PROCEDURES"."PROCDESCRIPTION" as "PROCDESCRIPTION",
"PROCEDURES"."COST" as "COST"
from "PROCEDURES" "PROCEDURES",
"VISITS" "VISITS"
where "VISITS"."PROCCODE"="PROCEDURES"."PROCCODE"
and "PROCEDURES"."COST" > 500.00
order by PROCEDURES.COST DESC

Patients with Health Insurance

select "PATIENTINFO"."PATIENTID" as "PATIENTID",


"PATIENTINFO"."FNAME" as "FNAME",
"PATIENTINFO"."LNAME" as "LNAME",
"PATIENTINFO"."SEX" as "SEX",
"PATIENTINFO"."DOB" as "DOB",
"PATIENTINFO"."MAILINGADDRESS" as "MAILINGADDRESS",
"PATIENTINFO"."CITY" as "CITY",
"PATIENTINFO"."ST" as "ST",
"PATIENTINFO"."ZIP" as "ZIP",
"PATIENTINFO"."PHONENUMBER" as "PHONENUMBER",
"HEALTHINSURANCE"."POLICYNUMBER" as "POLICYNUMBER",
"HEALTHINSURANCE"."INSURANCETYPE" as "INSURANCETYPE",
"HEALTHINSURANCE"."INSURANCENAME" as "INSURANCENAME",
"HEALTHINSURANCE"."POLICYHOLDERNAME" as "POLICYHOLDERNAME",
"HEALTHINSURANCE"."RELATIONSHIP" as "RELATIONSHIP"
from "PATIENTINFO" "PATIENTINFO",
"HEALTHINSURANCE" "HEALTHINSURANCE"
where "PATIENTINFO"."PATIENTID"="HEALTHINSURANCE"."PATIENTID"
order by PATIENTINFO.PATIENTID ASC

Active Prescriptions

select "PATIENTINFO"."PATIENTID" as "PATIENTID",


"PATIENTINFO"."FNAME" as "FNAME",
"PATIENTINFO"."LNAME" as "LNAME",
Adult Dentistry Management System 21

"PATIENTINFO"."SEX" as "SEX",
"PATIENTINFO"."DOB" as "DOB",
"PRESCRIPTIONS"."PRESCRIPNUMBER" as "PRESCRIPNUMBER",
"PRESCRIPTIONS"."BRAND_NAME" as "BRAND_NAME",
"PRESCRIPTIONS"."GENERIC_NAME" as "GENERIC_NAME",
"PRESCRIPTIONS"."FORM" as "FORM",
"PRESCRIPTIONS"."STARTDATE" as "STARTDATE",
"PRESCRIPTIONS"."ENDDATE" as "ENDDATE",
"PRESCRIPTIONS"."DOSAGE" as "DOSAGE",
"PRESCRIPTIONS"."REFILLS" as "REFILLS",
"PRESCRIPTIONS"."STATUS" as "STATUS"
from "PATIENTINFO" "PATIENTINFO",
"PRESCRIPTIONS" "PRESCRIPTIONS"
where "PATIENTINFO"."PATIENTID"(+) ="PRESCRIPTIONS"."PATIENTID"
and "PRESCRIPTIONS"."STATUS" = 'Active'
order by PATIENTINFO.LNAME ASC

Patient History (select Service Description)

select "PATIENTINFO"."PATIENTID" as "PATIENTID",


"PATIENTINFO"."FNAME" as "FNAME",
"PATIENTINFO"."LNAME" as "LNAME",
"PATIENTINFO"."SEX" as "SEX",
"PATIENTINFO"."DOB" as "DOB",
"VISITS"."TOOTHNUMBERCODE" as "TOOTHNUMBERCODE",
"VISITS"."TOOTHSURFACECODE" as "TOOTHSURFACECODE",
"VISITS"."APPTDATE" as "APPTDATE",
"PROCEDURES"."PROCDESCRIPTION" as "PROCDESCRIPTION",
"DIAGNOSES"."DIAGDESCRIPTION" as "DIAGDESCRIPTION",
"TYPEOFSERVICE"."SERVICEDESCRIPTION" as "SERVICEDESCRIPTION"
from "PATIENTINFO" "PATIENTINFO",
"PROCEDURES" "PROCEDURES",
"VISITS" "VISITS",
"DIAGNOSES" "DIAGNOSES",
"TYPEOFSERVICE" "TYPEOFSERVICE"
where "VISITS"."DIAGCODE"="DIAGNOSES"."DIAGCODE"
and "VISITS"."PATIENTID"(+) ="PATIENTINFO"."PATIENTID"
and "VISITS"."PROCCODE"="PROCEDURES"."PROCCODE"
and "VISITS"."SERVICECODE"="TYPEOFSERVICE"."SERVICECODE"
and "TYPEOFSERVICE"."SERVICEDESCRIPTION" ='Oral Surgery'
order by TYPEOFSERVICE.SERVICEDESCRIPTION ASC

Employee History

select "EMPLOYEE"."FNAME" as "FNAME",


"EMPLOYEE"."LNAME" as "LNAME",
Adult Dentistry Management System 22

"EMPLOYEE"."TITLE" as "TITLE",
"EMPLOYEE"."SPECIALTY" as "SPECIALTY",
"APPOINTMENTS"."APPTTIME" as "APPTTIME",
"APPOINTMENTS"."APPTDATE" as "APPTDATE",
"VISITS"."PROCCODE" as "PROCCODE",
"PROCEDURES"."PROCDESCRIPTION" as "PROCDESCRIPTION"
from "PROCEDURES" "PROCEDURES",
"VISITS" "VISITS",
"APPOINTMENTS" "APPOINTMENTS",
"EMPLOYEE" "EMPLOYEE"
where "EMPLOYEE"."EMPID"(+) ="APPOINTMENTS"."EMPLOYEEID"
and "APPOINTMENTS"."APPTID"="VISITS"."APPTID"
and "VISITS"."PROCCODE"="PROCEDURES"."PROCCODE"
and "APPOINTMENTS"."APPTDATE" <to_date('01-JAN-10', 'DD-MM-YY')
order by EMPLOYEE.LNAME ASC

Invoices (2010)

select "INVOICES"."INVOICENUM" as "INVOICENUM",


"PATIENTINFO"."PATIENTID" as "PATIENTID",
"PATIENTINFO"."FNAME" as "FNAME",
"PATIENTINFO"."LNAME" as "LNAME",
"PROCEDURES"."PROCDESCRIPTION" as "PROCDESCRIPTION",
"INVOICES"."INVOICEDATE" as "INVOICEDATE",
"INVOICES"."SERVICEDATE" as "SERVICEDATE",
"INVOICES"."DUEDATE" as "DUEDATE",
"INVOICES"."TOTALAMOUNT" as "TOTALAMOUNT"
from "INVOICES" "INVOICES",
"PATIENTINFO" "PATIENTINFO",
"PROCEDURES" "PROCEDURES",
"VISITS" "VISITS"
where "VISITS"."PROCCODE"="PROCEDURES"."PROCCODE"
and "VISITS"."VISITID"="INVOICES"."VISITID"
and "PATIENTINFO"."PATIENTID"(+) ="VISITS"."PATIENTID"
and "INVOICES"."INVOICEDATE" >to_date('31-DEC-09','DD-MM-YY')
order by INVOICES.INVOICENUM ASC

TPL Report

select "HEALTHINSURANCE"."INSURANCENAME" as "INSURANCENAME",


"HEALTHINSURANCE"."INSURANCETYPE" as "INSURANCETYPE",
"HEALTHINSURANCE"."POLICYNUMBER" as "POLICYNUMBER",
"HEALTHINSURANCE"."POLICYHOLDERNAME" as "POLICYHOLDERNAME",
"PATIENTINFO"."FNAME" as "FNAME",
"PATIENTINFO"."LNAME" as "LNAME"
Adult Dentistry Management System 23

from "PATIENTINFO" "PATIENTINFO",


"HEALTHINSURANCE" "HEALTHINSURANCE"
where "HEALTHINSURANCE"."PATIENTID"="PATIENTINFO"."PATIENTID"
order by HEALTHINSURANCE.INSURANCENAME ASC

Outstanding Invoices

select "INVOICES"."INVOICENUM" as "INVOICENUM",


"INVOICES"."INVOICEDATE" as "INVOICEDATE",
"INVOICES"."DUEDATE" as "DUEDATE",
"INVOICES"."TOTALAMOUNT" as "TOTALAMOUNT",
"RECEIVABLES"."BALANCE" as "BALANCE"
from "RECEIVABLES" "RECEIVABLES",
"INVOICES" "INVOICES"
where "INVOICES"."INVOICENUM"(+) ="RECEIVABLES"."INVOICENUM"
and "RECEIVABLES"."BALANCE" >0
order by INVOICES.INVOICENUM ASC

Invoices Days Outstanding

select "INVOICES"."INVOICENUM" as "INVOICENUM",


"INVOICES"."INVOICEDATE" as "INVOICEDATE",
"INVOICES"."DUEDATE" as "DUEDATE",
"INVOICES"."TOTALAMOUNT" as "TOTALAMOUNT",
"RECEIVABLES"."BALANCE" as "BALANCE",
TRUNC(SYSDATE - "INVOICES"."DUEDATE") AS "DAYS OVER"
from "RECEIVABLES" "RECEIVABLES",
"INVOICES" "INVOICES"
where "INVOICES"."INVOICENUM"(+) ="RECEIVABLES"."INVOICENUM"
and "RECEIVABLES"."BALANCE" >0
order by INVOICES.INVOICENUM ASC

8.2 Sample Output

Please see CSV files that contain output.