Choose any one of the problems given in the appendix and perform its structured analysis (you will have use this problem for the rest of the course also as many of the programming assignments are based on this choice. So please choose wisely).
The dental practice uses a manual patient and billing system to serve approximately 1,100 patients. The primary components of the manual system are scheduling patient appointments, maintaining patient dental records, and recording financial information.
Due to increased competitive pressure, Dr. Patel desires to automate his customer records and billing.
New patients must complete the patient history form. The data elements are listed in Table 1.
Then, at the first visit, the dentist evaluates the patient and completes the second half of the patient history information with standard dental codes (there are 2,000 codes) to record recommended treatments.
The data elements completed by the dentist are listed as Table 2.
The patient history form is filed in a manila folder, with the name of the patient as identification, along with any other documents from subsequent visits.
A calendar of appointments is kept by the secretary, who schedules follow-up visits before the patient leaves the office. The calendar data elements are shown as Table 3.
Also, before the patient leaves, any bills, insurance forms, and amounts due are computed.
The client may pay at that time, or may opt for a monthly summary bill. The secretary maintains bill, insurance, and payment information with the patient history.
Financial data elements are shown in Table 4.
Every week, the secretary types mailing labels that are attached to appointment reminder cards and mailed.
Once per month, the secretary types and sends bills to clients with outstanding balances.
1. Extract information needed for an automated application¶
Based on the application above, the application would be a Query Application; the user would be able to query the database for information about the patients, the dentist, the appointments, and the billing information.
Suggested users for this application would be the Dentist, the Secretary; patients would not be able to use this application.
According to the information in Dr. Patel’s Dental Practice System, the application would only need to do:
Stor information permanently on a database (the patient’s information, the dentist’s information, the appointments, and the billing information).
The ability to update these data by the dentist and the secretary.
The ability to extends these data by adding new patients, new dentists, new appointments, and new billing information.
The ability to query, aggregate, and filter the data in a certain way that serves the purpose of the operation.
The ability to print the data in a certain way that serves the purpose of the operation, for example, building the monthly bills, then printing them.
The ability to store Procedure Codes, then retrieve and update them as needed.
The application would not need to do:
No mentions about handling the payments, we expect that the secretary would handle the payments (cache, checks, ..etc); so the application would not need to handle the payments, but balances should be updated once a payment is made.
No mentions for reminders, not for the patients (for their appointments), nor for the secretary (for the weekly, monthly tasks); as mentioned above, the secretary will send weekly reminders for appointments, and monthly bills. The Requirement statement does not mention how this is going to be sent, but this is out of the scope of the application.
To analyze the application, The text will use the structured top-down analysis, which includes the following activities:
Developing the context diagram.
Developing the data flow diagram, then balancing it with the context diagram.
Since the application, will not send reminders, nor handle payments, there are not many external entities that the application will interact with.
Only the Dentist and the Secretary will interact with the application.
Secretary will perform the following tasks:
Add new patients (filling the first part of the patient history form).
Add new appointments.
Add new billing information.
Get the scheduled appointments for this week, and print them.
Get the monthly bills for this month, and print them.
Get Patient
Dentist will perform theses actions on the application:
Complete the patient history form (filling the second part of the patient history form during their first visit to the clinic).
Add patient’s diagnosis Information.
Update Procedure Codes.
So, the context diagram would be as follows:
3. Build levels set of DFDs build balanced with the context diagram¶
The text will start by building the Level 0 DFD
All modules in the diagram need to interact with single, relationally stored database; to simplify the diagram, the diagram shows only one database box, with two fat arrows, one for input, and one for output, to show that the database is both an input and an output for all the modules.
please notice that the database her is a store and not an entity.
To Simplify the detailed DFDs, the text will use the structure chart to build the deals as follows:
similarly, the one can build the other levels of DFDs for the Secretary, the text will not include this chart.