The aim of this .NET Application is to develop an ASP.NET 3.5 Web Application using Microsoft Visual Studio 2008, SQL Server 2008 and Crystal Report.
Aim of this assignment is to develop a web application that can be used to keep track of the patients registering in a hospital.
Also, this system should support features such as- accessing the previous visit histories of any patient, search for patients by name and other attributes, etc.
Explanation of some frequently used terms for this system-
1. Patient - a patient is the person who visits the hospital for treatment/consultation
2. Doctor - a doctor will be assigned to each patient.
3. Bed - if patient type is "In Patient", a bed will be assigned to the user.
4. Visit - a patient can visit the hospital any number of times.
Some of the most general requirements of the system are:
• Registration of patients
• Users are either normal users or admin; they need to login before using the system
• Users of this system can search for patients by name, admission date and discharge
• Users can view the previous visit histories of any patient
• System can maintain the list of doctors in the hospital
• System can maintain the list of beds/rooms available in the hospital
• Patients can be categorised into "In Patients" and "Out Patients"
Our Web system has the following basic pages
1. Login page for the booking staff
Home Page for the hospital- this page should contain some details about the hospital with a banner at the top.
2. Site Map- This page is the gateway to the website and should depict the
website structure and it should contain click-able links to all the pages.
website that deals with credit card transactions has to have one of these.
Following basic pages/screens are used with use of ADO.NET for data operations):
(both “in” and “out”)
• Data control displays the list of registered patients.
• Staff’s are able to enter the full of a patient to filter the list of patients.
• It is also possible to filter patient list by DateofRegistration.
• This screen allows add/edit patient registration. We had used a Grid View for this purpose
• This screen displays the list of patient visits.
• The details of patient visits can also be filtered by patient name, date of visit and date of discharge.
• This screen displays the list of all available doctors.
For the above pages we had used the proper Validations, Themes and User Controls.
This part of the web system will be accessed by the admin (username: admin, password: admin).
Following admin pages are added to the system:
This page has the following features-
• Assign a doctor to a patient,
• Treatment history of each doctor (i.e. which patient he/she has treated in past and/or is treating)
• Add/Edit doctors
For all these pages we had used ADO.NET
The themes for admin pages are different from Staff Pages.
We had used LINQ to code the following additional admin pages:
• This screen uses a grid view to display the list of all available beds in the hospital.
• Add/Edit bed information
• A page that calculates amount payable by the “in-patient” upon discharge.
• Presenting of an Invoice and change of status (patient-discharged) in the database.
Apart from that we had implemented:
1. Some AJAX controls to any of the above pages.
2. Changed the admin login functionality:
We are storing the admin password in an encrypted format in the database. Now the admin login code is reading an encrypted password.
3. Used the Crystal Report to the project that displays the following statistics:
• Top 5 doctors (in terms of how many patients have they treated?)
• A graphical element to the report to visually display the above information
We had also attached all the databases and Stored Procedures that we had used in our Application and some of the related files associated with the Application.
Q1. Which Business Objects have I used?
Ans1. We had used all the Business Objects that are required in the System.
Such as :
1. Bd --> Bed Business Object
2. Doctor --> Doctor Business Object
3. DoctorPatientVisit -->Patient Visits Business Object
4. Patient -->Patient Business Object
5. User -->User Business Object
Q2. Why did I choose to create and choose them?
Ans2. We chose to create the above Business Objects because to Seperate the logic from the Application and make the use of:
1. Object Orientedness
2. Code Extensibility
Q3. Explanation of my directory structure.
Ans3. We had used the appropriate directory structures for the Application
3. Booking Staff
4. Business Objects
8. User Controls
9. Error Handling
We had planned to chose these Directory structure in order to seperate the functionality and logic; in order to make the program making more sense to any other user.
1. In AdminOperations we had implemented all the Admin pages which only admin has the rights to do.
2. In App_Themes we had putten the seperate themes for Booking Staff and Admin to make the pages bit different.
3. In Booking Staff we had implemented all the pages that are required by Staff Operations.
4. In Business Objects we had implemented all the Business Objects that are required by the System, such as Doctor, Patient, User, Bed
5. In DAL we had implemented the Data Logic Layer for every Business Objects Operation with the DataBase.
6. In Images all the Images are contained.
7. In Presentation we have all the Basic web pages for the system.
8. In User Controls we had implemented all the User Controls or Custom Controls for the Web pages i.e. for Staff and Admin
9. In Error Handling we had implemented the Custome Error pages such as "Error 404"
Q4. How many C# coding guidelines have been adopted?
Ans4. We had used all the maximum possible conventions that was applicable to our application.
Q5. What AJAX Controls we had used?
Ans5. We had used:
1. List Search Extender
2. WaterMark Extender
3. Tab Control
4. Drop Down Extender
5. Validation Extender
6. Text Filtering Extender