Smiles dental centre requires a computer system that can maintain records on its patients as well as automate specific processes that take place daily. The centre has a dental surgeon, an orthodontist and a dentist. The orthodontist deals with customers with braces (new and existing customers); the dental surgeon will do root canals, dentures, dental implants and crowning whilst the dentist takes care of minor dental work, extraction, cleaning, fillings etc. The data to be captured would include: patient’s full name, registration number, date of birth, address, phone number, last treatment, last appointment date, and next appointment date and allergy and so on. Data on the doctors may include name, contact number, specialisation etc.

The following are to be considered:
(i) Only authorized personnel of Smiles Dental Centre can use the system. Implement minimum security by allowing access to the system only upon verification of a username and password. After three unsuccessful attempts, the system should lock out the user.

(ii) Provide a menu which allows for the functions described below to be carried out upon successful entry into the system. Unless the user chooses to exit the menu, it should always appear on the screen after each option is executed. The options to be presented should include: Patient Update - (New patients/Old patients), Print receipt, Display Reports, Patient Notification, Information etc.

(iii) The system should be able to allow the user to add, update, delete and display records of the patient. The system should also include a transaction module that will reflect charge and payment by the patient.

(iv) For new patients a registration number will be assigned incrementally, and each registration number is unique.

(v) The Transaction process will reflect payment for patient. Each patient that visits will be seen for dental examination, cleaning, root canal, extraction, dentures, fillings, and braces etc. For each consultation a fee is charged and the patient may or may not use a health card. The plan for the card pays 85% while the patient pays 15%, the limit on the card is $15000.00 however, once that is exhausted the patient has to pay the full amount. E.g. If the transaction is cleaning and the card has $4,000.00, the card will pay for $3,400.00 and so the patient will need to pay $4,100.00. After a transaction, the patients records should be updated with the last treatment and next appointment date (if one is required).

(vi) The patient should be issued a receipt after consultation showing: patient name, doctor, type of appointment, amount charged, amount paid and balance.

(vii) Generate a Income Report that shows
a) the number of patients
b) total fees charged
c) total fees collected
d) total fees to be collected from Health Insurance

(viii) An income report for each doctor showing total number of patients, patient name, treatment, fee charged, amount paid for each patient and total number of fees collected

The following is also needed:

(1) A patient Notification report that displays the information for all members who has not visited the centre in six months or has an outstanding balance; display names, account#, contact number, contact address and amount outstanding (if any).
(2) A doctors report that shows the doctor’s name, number of patients under their treatment, and the name of each patient.

Some of the fees are given below (you can assume your own):
Type of Service Cost
Dental Examination $5,500.00
Cleaning $7500.00
Extraction $11,500.00
Fillings $12,000.00
Xray $2800.00
Braces US$7000.00
The owners’ wish for you to implement a menu-based C program that will simulate the operations of this system by allowing for the functionality described above to be carried out upon successful entry into the restricted area.

So what do you need help with? We are not going to write that program for you, so you might as well get started.

i started the code but im running in to truoble when i am to read and update the file.just need some ideas to point me in the right direction

First I suppose you will want to create a structure to hold all the data for a patient. And you will want to make a linked list of those structures so that you can easily add new patients when needed.

Once you do that you might be ready to write the file i/o code. The simplest and quickest way to write the patient data to a file is in binary mode where the entire structure is written at one time and with one line of c code. The problem with that is it can not be easily read with another program such as Notepad.exe or any other text editor.

If you want to see the file with a text editor then you will have to write each field of the structure in text mode. This is a little more difficult to code and more time consuming to run but at lest you will be able to view the file with a text editor.

Another method, which is even more complicated, is to save the data in an SQL database, such as MS-Access or SqLite. This would require you to learn the SQL language in order to maintain the database. SqLite might be the ideal database for your project because it's small and does not require an outside database engine like MS-Access installed on the computer.

This article has been dead for over six months. Start a new discussion instead.