adult dentistry management system - information …fw48/eport/documents/info606project.pdf · 4.1...

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

Upload: doandang

Post on 01-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

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 patient’s 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 Dentistry’s 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 patient’s 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 patient’s 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 patient’s records are made

by either the dentist or the nurse and saved to

the database.

6. Add office visit information and procedure

performed

After patient completes their visit, a staff or

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 patient’s billing

information.

9. Bill health insurance (Check or EDI

(Electronic Data Interchange) Payment

A member of the staff submits a claim for each

patient to the patient’s health insurance (is

applicable) for reimbursement.

10. Generate bill/payment reports Any employee may generate a report of

information in the system. All patent’s

personal information are excluded.

11. Generate active patient report Any employee may generate a report of

information in the system. All patent’s

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 patient’s 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 office’s 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.

Patient’s information includes unique patient id #, name, address, contact phone number, social

security number, patient’s 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 patient’s 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 patient’s

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 patient’s visit, a staff or a nurse is to

update the patient’s 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 patient’s 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 patient’s 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

Computer and Processor

Personal computer with an Intel Pentium IV 3.2 GHz or

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 patient’s information and related processes. It presents a visual representation of

Adult Dentistry’s 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

Employees

Title LName

EmployeeTyp

e

EmployeeID

FName

Address

PhoneNumber

Specialty

Appointments

ApptID

ApptDate

ApptTime

AttendingPhys

ician

PatientID(FK1

)

EmployeeID(F

K2)

PatientInfo

FName

LName

Street

PhoneNumber

SocSecNum

PpatientID

DOB

EmergencyCo

ntact

EmergencyPh

oneNumber

Relationship

Health

Insurance

PolicyNumber

HealthInsuran

ceName

HealthInsuran

ceType

PolicyHolderN

ame

Relationship

PatientID(FK1

)

Visits

VisitID

ApptID(FK1)DiagCodeProcCodeServiceCode

ToothNumber

Code

ToothSurface

Code

Prescriptions

StartDate

EndDate

GenericName

BrandName

IntakeMethod

Dosage

PrescriptionN

umber

RemainingRef

illStatus

VisitID(FK1)

Invoices

InvoiceNum

InvoiceDate

ServiceDate

TotalAmount VisitID(FK1)

Receivables

PaymentNum

ber

AmountRecei

ved

ReceivedDate

Description

MethodBalanceInvoiceNum(F

K1)

Scheduled

with

1

M

Has

M

1

Confirmed

Makes

Create

Create

Generate

1

1

1

1

1

M

1

M

M 1

Employee

Type

EmployCode

EmployDescri

ption

Diagnoses

DiagCode

DiagDescripti

on

Procedures

ProcCode

ProcDescripti

on

TypeOfSer

vice

ServiceCode

ServiceDescri

ption

ToothNumber

ToothNumber

Code

ToothDescripti

on

ToothSurface

ToothSurface

Description

ToothSurface

Code

DueDate

City

ZipCode

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 it’s 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 patient’s identity (ssn, address, phone number) due to

HIPPA regulations. It retrieves patient’s id and information regarding that patient’s 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 patient’s account.

5.2 Brief Explanation of Each Table

PatientInfo – contains information regarding patient demographics

HealthInsurance—contains patient insurance information

Appointments—appointments are scheduled with various employees

Adult Dentistry Management System

14

Visits—once an appointment is confirmed a visit is made. This tracks the patient history.

Employees—contain employee information.

Prescriptions—contain prescription history for patient.

Invoices—contain billing information.

Receivables—contain accounts receivable information.

Procedures—contain procedure codes and descriptions.

Services—contain services codes and descriptions.

Diagnoses—contain services codes and descriptions.

Tooth Number—contains tooth number and descriptions.

Tooth Surface—contains 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 Window’s 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 patient’s 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 don’t

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 doesn’t 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

Patient’s 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.