The dental office has been using a spreadsheet, paper charts (a manual process)
to track its ..... Based on the Adult Dentistry Management System ER Diagram, ...
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 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
2
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. 2. 3. 4. 5. 6. 7.
The number of patients that is or has been serviced at the office The number of employees and their titles and roles Documentation and billing process The average number of visits per month The top services perform The different kind of health insurance accepted 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 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 patient’s 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 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
13. Back up data 14. Schedule Patient Appointment 15. Update Diagnosis 16. Update Prescriptions
7 The user has to end his/her session by logging out. Weekly or monthly data backup process. Any of the staff may schedule an appointment for a patient to meet with a dentist or nurse. Any changes in a patient diagnosis are made by the dentist and saved to the database. 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 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 Operating System
Optical Drive Network USB port Other
9
Microsoft Windows® 2000 with Service Pack 4 (SP4), Microsoft Windows® XP SP2 or Microsoft Windows Vista CD-Rom/DVD 10/100/1000 Mbps 2 Powered USB 2.0 ports or Powered USB 2.0 Hub 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 Title
HealthInsuran ceName
LName
HealthInsuran ceType
PolicyHolderN ame
PolicyNumber Specialty
Relationship
FName Health Insurance
EmployeeID
PatientID(FK1 )
Address
Employees
PhoneNumber
1
M Scheduled with
PpatientID FName
Has EmployeeTyp e
ApptID
M 1
ApptDate
LName
EmployCode ApptTime Appointments
Employee Type
Makes
M
1
PatientInfo
City
AttendingPhys ician
EmployDescri ption
ZipCode
PatientID(FK1 )
1
Relationship Street
EmployeeID(F K2)
Confirmed
EmergencyPh oneNumber PhoneNumber
ServiceCode
ProcCode
DiagCode
1
EmergencyCo ntact
ApptID(FK1)
DOB
ToothNumber Code
SocSecNum
VisitID DiagCode
ToothSurface Code
PrescriptionN umber
Visits 1
DiagDescripti on
StartDate Create
Diagnoses
EndDate
M Prescriptions
ProcCode
GenericName
1 ProcDescripti on
Procedures
BrandName
IntakeMethod ServiceCode TypeOfSer vice
Create ToothNumber
Dosage
ToothSurface VisitID(FK1)
ServiceDescri ption
Status ToothNumber ToothDescripti Code on
ToothSurface Code
RemainingRef ill
ToothSurface 1 Description
PaymentNum ber AmountRecei ved
InvoiceNum Receivables InvoiceDate
M Invoices
1
ReceivedDate
Generate Description
ServiceDate InvoiceNum(F K1)
DueDate TotalAmount
VisitID(FK1)
Balance
Method
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 nonredundant 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 "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"
19
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 "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",
21
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('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 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.
23