Professional Documents
Culture Documents
Submitted by
Aloke Kumar. Mondal Roll No.: 0967010034
CERTIFICATION:
Certified that this project report titled iDoc-Tools for Doctor Consultation is the bonafide work of Aloke Kr. Mondal(Roll No: 0967010034), who carried out the main project work done under my supervision. Certified further, that to the best of my knowledge the work reported herein does not form part of any other project report or dissertation on the basis of which a degree or award was conferred on an earlier occasion on this or any other candidate.
Signature of HOD
.. Signature of Principal
Signature of Director
Ecotech Consultants
Page 2
ACKNOWLEDGEMENT:
I express my sincere gratitude to Dr. MUKHERJEE, DIRECTOR and Dr. ANSARI, PRINCIPAL, MID,Rajbandh, for their support and encouragement for the successful completion of the project. I record my sincere thanks to Mr. NIRUPAM BURMAN Head, Department of Computer Applications, Management Institute of Durgapur, for his continuous support and keen interest to make this project a successful one. I find no word to express profound gratitude to my internal guide Mr. Atanu
Sarkar ,MCA department, MID,Rajbandh.
Finally I thank my beloved family member and friend for their motivation, encouragement and cooperation in all aspect which led me to the completion of this project.
Name of the Student
Aloke Kr. Mondal.
Ecotech Consultants
Page 3
TABLE OF CONTENTS:
1 2 OBJECTIVE ............................................................................................................................................ 6 SOFTWARE SPECIFICATION .............................................................................................................. 6 About STRUTS5 Struts Flow Diagram...6
JSP Pages................................................................................................................................................... 9
JAVA Files ................................................................................................................................................. 9 XML Details ............................................................................................................................................... 9 5 SYSTEM DESIGNS .............................................................................................................................. 12 Data Flow Diagram....12
Context Level DFD...12 Level-1 DFD..13 Level-2 DFD.14
E-R Diagram.....15 Database Designs.....18 6 7 ARCHITECTURE OVERVIEW ............................................................................................................. 21 CODING ................................................................................................................................................ 22 JSP Pages Code..23 Property Resources Details29 Form pages Code.33 DTO Pages Codes69 Delegate Pages Code..93 Common Pages Code..94 Action Pages Code...98 DAO Pages code.111 Handler Pages Code..112 XML Pages Code....123 Ecotech Consultants Page 4
TESTING.133
Unit Testing.133 Integration Testing....133 System Testing133
10 CONCLUSION135 11 BIBLIOGRAPHIES135
Ecotech Consultants
Page 5
1. OBJECTIVE
I-Health is a great effort to provide sustainable benefits to doctors and patients. This is an online healthcare portal where patients can seek online doctor consultation by scheduling appointments online. This is a platform too for doctors where they can show their expertise and capability to diagnose severe ailments of registered patients. This portal is controlled by centralized admin where every action is monitored by the concerned admin user.
Ecotech Consultants
Page 6
3. FUNCTIONAL SPECIFICATION
This J2EE project contains three major modules viz. Doctor Module, Patient Module and Admin Module.
Doctor Module:
Functional Requiremen t Serial No 1 Functional Specification Functional Specification Details
Doctor
To register doctor has to enter data into fields User Id, Password, Confirm Password, First Name, Last Page 7
Ecotech Consultants
2 3
Patient Module:
Functional Requirement Serial No 1 Functional Specification Functional Specification Details
Patient Registration
To register doctor has to enter data into fields User Id, Password, Confirm Password, First Name, Last Name, Gender, Address, City, State, Reason, Contact, Email. Patient can login by UserId and Password. Patient can search doctor by City and Specialty Patient can view doctors appointment schedule and book the doctor.
2 3 4
Admin Module:
Functional Requirement Serial No 1 Functional Specification Functional Specification Details
Ecotech Consultants
4. TECHNICAL DESIGN
JSP Pages:
index.jsp patientReg.jsp deleteProfile.jsp doctorFind.jsp doctor-patient-search.jsp doctorUpdate.jsp patientUpdate.jsp forgetLogin.jsp forgetLoginActive.jsp doctorReg.jsp insurance-reg.jsp logout.jsp profile.jsp profile1.jsp success.jsp
JAVA Files:
Struts Action Java Classes
DoctorAction.java DoctorModifyAction.java DoctorProfileAction.java DoctorSearchAction.java DoctorUpdateAction.java ForgetLoginAction.java InsurenceAction.java PatientAction.java PatientModifyAction.java PatientUpdateAction.java SearchDoctorAction.java Ecotech Consultants Page 9
XML DETAILS
struts-config.xml web.xml
Ecotech Consultants
Page 11
ADMIN
Control
Control
PATIENT
Confirm appointment
DOCTOR
Ecotech Consultants
Page 12
Level-1 DFD:
Master DB
ADMIN
Paymen t Confir m to to
Patient DB
PATIENT
Registe r to to
Health Covera ge
Doctor DB
Insurance DB
Ecotech Consultants
Page 13
Level-2 DFD
Payment Gateway
Master DB
ADMIN
to
Patient DB
Conf irm to
Register to
PATIENT
DOCTOR
Store and
Health Coverag e
Retrieve
Search & Fix appointment
Doctor DB
INSURANCE
Store and Retrieve
Logi n to
Insurance DB
DOCTOR Profile
Ecotech Consultants
Page 14
DOCTOR
Email #Doctor_i d Doctor _regno User_nam e passwo rd Fst_nam e Lst_nam e gen der City Addres s State Designation
Contact_no
Specialty
PATIENT ATTRIBUTES
PATIENT
#Patient_i d Username City Password addre ss Fst_name age State Email Contact_no Insurance_id Reason_of _visit
Zip
Lst_nam e
Gender
Ecotech Consultants
Page 15
INSURANCE
#insu_id Claim_a mt Policy _amt Claim last_da te Agent_nm Agent_id
DOCTOR PROFILE
Payment _Gateway
Ecotech Consultants
Page 16
ADMIN
1
Controlled
Payment Gateway
1
Controlle d by
m m
Search
m m
PATIENT
DOCTOR
Fix Appointme nt
1 m
NO
1
Pay via credit card or cash
1 YES
INSURANCE
Ecotech Consultants
Page 17
Database Diagram:
doctor_mstr Table Details:
COLUMN NAME doc_id doctor_regno usrnm pwd fst_nm lst_nm gender addr city state designation specialty cntc_no email DATA TYPE CONSTRAINTS DESCRIPTION
bigint(100) varchar(100) varchar(100) varchar(100) varchar(100) varchar(100) varchar(100) varchar(100) varchar(100) varchar(100) varchar(100) varchar(100) varchar(100) varchar(100)
primary key unique key NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL
Unique Doctor Id for every Doctor Unique Doctor Registration no. User Name of Doctor Password of Doctor First name of Doctor Last Name of Doctor Gender Address of Doctor City State Designation Specialty Contact No of Doctor E-mail Id f Doctor
Unique Patient Id for every Doctor User Name of Patient Password of Patient
Ecotech Consultants
Page 18
varchar(100) varchar(100) date varchar(100) varchar(100) varchar(100) varchar(100) blob(100) varchar(100) BLOB
Foreign Key NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL
Unique number for every doctor Practice name of Doctor Date of Registration of doctor Designation of doctor Board of Certification Hospital Affiliation Awards won Language known Professional Statement Picture
Ecotech Consultants
Page 19
Primary key, auto increment NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL
Ecotech Consultants
Page 20
6. ARCHITECTURE OVERVIEW
In software engineering, the delegation pattern is a design pattern in object-oriented programming where an object, instead of performing one of its stated tasks, delegates that task to an associated helper object. There is an Inversion of Responsibility in which a helper object, known as a delegate, is given the responsibility to execute a task for the delegator. The delegation pattern is one of the fundamental abstraction patterns that underlie other software patterns. In iDoc we have used Delegate Design pattern. Struts action mapping is intercepted and appropriate action method is invoked from Dispatch Action class. Following design pattern is used: User inputs are validated first. If any validation error occurs appropriate exception is thrown and displayed to the user Delegate layer: A delegate method is invoked from dispatch action method and user input is passed for business validations and dao operations. Here multiple handlers are invoked according to user input and business rules Handler layer: This layer handles the incoming data from user and performs business rule validation. Here multiple handler methods. From here multiple DAO methods can be invoked.
Ecotech Consultants
Page 21
7. CODING
JSP Pages Code: index.jsp
Username field will be added in the following way:
<html:text property="username" name="LoginForm" value="" styleId="username" /> Password field will be added in the following way: <html:password property="Pwd" name="LoginForm" value="" styleId="Pwd" />
Category(Doctor or Patient) field will be added in the following way:
doctorReg.jsp
Username field will be added in the following way:
Ecotech Consultants
Page 22
<html:radio property="docGender" value="MALE" name="DoctorForm" styleId="docGender" /> <html:radio property="docGender" value="FEMALE" name="DoctorForm" styleId="docGender" />
Doctor Address Fields will be added in the following way:
Ecotech Consultants
Patient-reg.jsp
Username field will be added in the following way:
<html:text property="ptntusername" name="PatientForm" value="" styleId="ptntusername" />
Ecotech Consultants
Page 24
Ecotech Consultants
Page 25
patient-doctor-Search.jsp
Search by City Drop Down list will be added in the following way:
<td>City</td> <select name=DoctorForm property=selectedCity/>
Search by Specialty Drop Down list will be added in the following way: <td> Specialty </td><select>
<option <option <option <option value="153">Find a Doctor by Specialty</option> value="132">Allergist (Immunologist)</option> value="105">Cardiologist (Heart Doctor)</option> value="98">Dentist</option></select>
Ecotech Consultants
Page 26
doctor-profile.jsp
Username field will be added in the following way:
<html:text property="docUserName" name="DoctorProfileForm" value="" styleId="docUserName"/>
Ecotech Consultants
Page 27
onclick="submitForm('edit')">EDIT</html:button>
insurance-registration.jsp
Insurance company name field will be added in the following way:
<html:text property="inscompnm" name="InsuranceForm" value="" styleId="inscompnm" />
Ecotech Consultants
Page 28
private List<LabelValueBean> spList; public List<LabelValueBean> getSpList() { return spList; } public void setSpList(List<LabelValueBean> spList) { this.spList = spList; } public String getDocGender() { return docGender; } public void setDocGender(String docGender) { this.docGender = docGender; } public String getDocFirstName() { return docFirstName; }
Ecotech Consultants Page 34
public String getAddrerror() { return addrerror; } public void setCityerror(String cityerror) { this.cityerror = cityerror; } public String getCityerror() { return cityerror; } public void setStateerror(String stateerror) { this.stateerror = stateerror; } public String getStateerror() { return stateerror; } @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest req) { ActionErrors err = super.validate(mapping, req); if (err == null) { err = new ActionErrors(); } if (getMyaction()!=null&&"save".equals(getMyaction())) { System.out.println("****************Calling Doctor Master vallidation************"); if (getDocUserName().isEmpty()) { err.add("docUserName", new ActionMessage( "error.docUserName.null")); } if (!getDocUserName().isEmpty()) { boolean i = ApplicationUtility .isStringWithNumeric(getDocUserName()); if (i == false) { err.add("docUserName", new ActionMessage( "error.docUserName.format"));
Ecotech Consultants Page 39
doctorProfileForm.java
package com.ihealth.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors;
Ecotech Consultants Page 42
public String getDocUserName() { return docUserName; } public void setDocUserName(String docUserName) { this.docUserName = docUserName; } public String getDocPasswrd() { return docPasswrd; } public void setDocPasswrd(String docPasswrd) { this.docPasswrd = docPasswrd; } public String getDocPracticeName() { return docPracticeName; } public void setDocPracticeName(String docPracticeName) { this.docPracticeName = docPracticeName; } public String getDocDateofReg() { return docDateofReg; }
Ecotech Consultants Page 43
public void setDocDateofReg(String docDateofReg) { this.docDateofReg = docDateofReg; } public String getDocDesignation() { return docDesignation; } public void setDocDesignation(String docDesignation) { this.docDesignation = docDesignation; } public String getDoctorCertification() { return doctorCertification; } public void setDoctorCertification(String doctorCertification) { this.doctorCertification = doctorCertification; } public String getDoctorHospital() { return doctorHospital; } public void setDoctorHospital(String doctorHospital) { this.doctorHospital = doctorHospital; } public String getDoctorAwards() { return doctorAwards; } public void setDoctorAwards(String doctorAwards) { this.doctorAwards = doctorAwards; } public String getDoctorLanguage() { return doctorLanguage; } public void setDoctorLanguage(String doctorLanguage) { this.doctorLanguage = doctorLanguage; } public String getDoctorStatement() { return doctorStatement; } public void setDoctorStatement(String doctorStatement) {
Ecotech Consultants Page 44
err.add("docUserName", new ActionMessage( "error.docFirstName.format")); } } if (getDocPasswrd().isEmpty()) { err.add("docPasswrd", new ActionMessage("error.docPasswrd.null")); } if (!getDocPasswrd().isEmpty()) { boolean i = ApplicationUtility .isStringWithNumeric(getDocUserName()); if (i == false) { err.add("docPasswrd", new ActionMessage( "error.docPasswrd.format")); } } if (getDocPracticeName().isEmpty()) { err.add("docPracticeName", new ActionMessage( "error.docPracticeName.null")); } if (!getDocPracticeName().isEmpty()) { boolean i = ApplicationUtility .isStringWithNumeric(getDocPracticeName()); if (i == false) { err.add("docPracticeName", new ActionMessage( "error.docPracticeName.format")); } } if (getDocDateofReg().isEmpty()) { err.add("docDateofReg", new ActionMessage( "error.docDateofReg.null")); } if (!getDocDateofReg().isEmpty()) { boolean i = ApplicationUtility .isStringWithNumeric(getDocDateofReg()); if (i == false) { err.add("docDateofReg", new ActionMessage(
Ecotech Consultants Page 46
patientForm.java
package com.ihealth.form; import javax.servlet.http.HttpServletRequest; import import import import org.apache.struts.action.ActionErrors; org.apache.struts.action.ActionForm; org.apache.struts.action.ActionMapping; org.apache.struts.action.ActionMessage;
import com.ihealth.common.ApplicationUtility; public class PatientForm extends ActionForm { private static final long serialVersionUID = 1L; private private private private private private private private private private String String String String String String String String String String ptntId; ptntusername; ptntPwd; ptntConfirmPwd; ptntFrstNm; ptntLstNm; ptntGender; ptntAge; ptntAddress; ptntCity;
Page 49
Ecotech Consultants
public String getPtntId() { return ptntId; } public void setPtntId(String ptntId) { this.ptntId = ptntId; } public String getPtntusername() { return ptntusername; } public void setPtntusername(String ptntusername) { this.ptntusername = ptntusername; } public String getPtntPwd() { return ptntPwd; } public void setPtntPwd(String ptntPwd) { this.ptntPwd = ptntPwd; } public String getPtntConfirmPwd() { return ptntConfirmPwd;
Ecotech Consultants Page 50
Ecotech Consultants
Page 55
Master
loginForm.java
package com.ihealth.form; import org.apache.struts.action.ActionForm; public class LoginForm extends ActionForm{
private static final long serialVersionUID = 1L; private private private private String String String String username; pwd; myaction; category;
public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getMyaction() { return myaction; } public void setMyaction(String myaction) { this.myaction = myaction; Ecotech Consultants Page 60
InsuranceForm.java
package com.ihealth.form; import javax.servlet.http.HttpServletRequest; import import import import org.apache.struts.action.ActionErrors; org.apache.struts.action.ActionForm; org.apache.struts.action.ActionMapping; org.apache.struts.action.ActionMessage;
import com.ihealth.common.ApplicationUtility; public class InsuranceForm extends ActionForm { private private private private private private private private private private private private private private private private private private private private private private private private private private private static String String String String String String String String String String String String String String String String String String String String String String String String String String final long serialVersionUID = 1L; inscompnm; inspolicynm; inspersonnm; inspersonage; inspolicystart; inspolicyexp; inspolicyren; insagentnm; insagentid; inscashless; insamount; insclaimdt; insclaim; myaction; inscompnmerror; inspolicyerror; inspersonerror; inspersonageerror; insstarterror; insexperror; insreneweerror; insagentnmerror; insagentiderror; inscashlesserror; insamounterror; insclaimdterror; Page 61
Ecotech Consultants
Ecotech Consultants
Page 62
public String getInscashlesserror() { return inscashlesserror; } public void setInscashlesserror(String inscashlesserror) { this.inscashlesserror = inscashlesserror; } public String getInsamounterror() { return insamounterror; } public void setInsamounterror(String insamounterror) { this.insamounterror = insamounterror; } public String getInsclaimdterror() { return insclaimdterror; } public void setInsclaimdterror(String insclaimdterror) { this.insclaimdterror = insclaimdterror; } public String getInsclaimerror() { return insclaimerror; } public void setInsclaimerror(String insclaimerror) { this.insclaimerror = insclaimerror; } public void setInsreneweerror(String insreneweerror) { this.insreneweerror = insreneweerror; } public String getInsreneweerror() { return insreneweerror; } @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest req) { ActionErrors err = super.validate(mapping, req); if (err == null) { err = new ActionErrors(); } if (getMyaction() != null && "save".equals(getMyaction())) { System.out .println("****************Calling Insurance vallidation************"); Ecotech Consultants Master
Page 65
if (getInscompnm().isEmpty()) { err.add("inscompnm", new ActionMessage( "error.inscompnm.null")); } if (!getInscompnm().isEmpty()) { boolean i = ApplicationUtility .isStringWith(getInscompnm()); if (i == false) { err.add("inscompnm", new ActionMessage( "error.inscompnm.format")); } }
if (getInspolicynm().isEmpty()) { err.add("inspolicynm", new ActionMessage( "error.inspolicynm.null")); } if (!getInspolicynm().isEmpty()) { boolean i = ApplicationUtility .isStringWith(getInspolicynm()); if (i == false) { err.add("inspolicynm", new ActionMessage( "error.inspolicynm.format")); } } if (getInspersonnm().isEmpty()) { err.add("inspersonnm", new ActionMessage( "error.inspersonnm.null")); } if (!getInspersonnm().isEmpty()) { boolean i = ApplicationUtility .isStringWith(getInspersonnm()); if (i == false) { err.add("inspersonnm", new ActionMessage( "error.inspersonnm.format")); } } if (getInspersonage().isEmpty()) { err.add("inspersonage", new ActionMessage( Ecotech Consultants Page 66
} } if (getInsagentnm().isEmpty()) { err.add("insagentnm", new ActionMessage( "error.insagentnm.null")); } if (!getInsagentnm().isEmpty()) { boolean i = ApplicationUtility .isStringWith(getInsagentnm()); if (i == false) { err.add("insagentnm", new ActionMessage( "error.insagentnm.format")); } } if (getInsagentid().isEmpty()) { err.add("insagentid", new ActionMessage( "error.insagentid.null")); } if (!getInsagentid().isEmpty()) { boolean i = ApplicationUtility .isStringWith(getInsagentid()); if (i == false) { err.add("insagentid", new ActionMessage( "error.insagentid.format")); } } if (getInsamount().isEmpty()) { err.add("insamount", new ActionMessage( "error.insamount.null")); } if (!getInsamount().isEmpty()) { boolean i = ApplicationUtility .isNumeric(getInsamount()); if (i == false) { err.add("insamount", new ActionMessage( "error.insamount.format")); } } if (getInsclaimdt().isEmpty()) { err.add("insclaimdt", new ActionMessage( "error.insclaimdt.null")); }
Ecotech Consultants
Page 68
DoctorProfiledto.java
package com.ihealth.dto; Ecotech Consultants Page 77
public class DoctorProfileDto { private static final long serialVersionUID = 1L; private String docUserName; private String docPasswrd; private String docPracticeName; private String docDateofReg; private String docDesignation; private String doctorCertification; private String doctorHospital; private String doctorAwards; private String doctorLanguage; private String doctorStatement; private String doctorPic; private String doctorPayment; public String getDocUserName() { return docUserName; } public void setDocUserName(String docUserName) { this.docUserName = docUserName; } public String getDocPasswrd() { return docPasswrd; } public void setDocPasswrd(String docPasswrd) { this.docPasswrd = docPasswrd; } public String getDocPracticeName() { return docPracticeName; } public void setDocPracticeName(String docPracticeName) { this.docPracticeName = docPracticeName; } public String getDocDateofReg() { return docDateofReg; } public void setDocDateofReg(String docDateofReg) { this.docDateofReg = docDateofReg; } public String getDocDesignation() { return docDesignation; } public void setDocDesignation(String docDesignation) { this.docDesignation = docDesignation; } public String getDoctorCertification() { return doctorCertification; } public void setDoctorCertification(String doctorCertification) { this.doctorCertification = doctorCertification; } public String getDoctorHospital() { return doctorHospital; } Ecotech Consultants Page 78
DoctorProfiledto.java
package com.ihealth.dto; public class PatientDto { private static final long serialVersionUID = 1L; private String ptntId; private String ptntusername; private String ptntPwd; private String ptntConfirmPwd; private String ptntFrstNm; Ecotech Consultants Page 79
Insurancedto.java
package com.ihealth.dto; public class InsuranceDto { private static final long serialVersionUID = 1L; private String inscompnm; private String inspolicynm; private String inspersonnm; private String inspersonage; private String inspolicystart; private String inspolicyexp; private String inspolicyren; private String insagentnm; private String insagentid; private String inscashless; private String insamount; private String insclaimdt; private String insclaim; private String myaction; private String inscompnmerror; private String inspolicyerror; private String inspersonerror; private String inspersonageerror; private String insstarterror; private String insexperror; private String insreneweerror; private String insagentnmerror; private String insagentiderror; private String inscashlesserror; private String insamounterror; private String insclaimdterror; private String insclaimerror; public String getInscompnm() { return inscompnm; Ecotech Consultants Page 88
logindto.java
package com.ihealth.dto; public class LoginDto { private static final long serialVersionUID = 1L; private private private private String String String String username; pwd; myaction; category;
public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getMyaction() { return myaction; } public void setMyaction(String myaction) { this.myaction = myaction; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public static long getSerialversionuid() { return serialVersionUID; } } Ecotech Consultants Page 92
DoctorProfileDelegate.java
package com.ihealth.delegate; import com.ihealth.dto.DoctorProfileDto; public class DoctorProfileDelegate { public static int saveDoctorProfile(DoctorProfileDto doctorprofiledto) { return 0; } }
patientDelegate.java
package com.ihealth.delegate; import com.ihealth.dto.PatientDto; import com.ihealth.handler.PatientHandler; public class PatientDelegate { Ecotech Consultants Page 93
loginDelegate.java
package com.ihealth.delegate; import com.ihealth.dto.LoginDto; import com.ihealth.handler.LoginHandler; public class LoginDelegate {
public static boolean isPwdMatch(String ptntPwd, String ptntConfirmPwd) { Boolean b = false; b=ptntPwd.equals(ptntConfirmPwd); if(b){ return true; } else { return false; } } }
AppOnLoad.java
package com.ihealth.common; import import import import import import java.sql.SQLException; javax.naming.Context; javax.naming.InitialContext; javax.naming.NamingException; javax.servlet.ServletException; javax.sql.DataSource;
import org.apache.struts.action.ActionServlet; import org.apache.struts.action.PlugIn; import org.apache.struts.config.ModuleConfig; import com.mysql.jdbc.Connection; public class AppOnLoad implements PlugIn { Ecotech Consultants Page 96
IHealthConstants.java
public interface IHealthConstants { public static final String MYSQLURL = "java:comp/env/jdbc/ihealthDB"; public static final int PATIENT_DAO = 1; public static final int DOCTOR_DAO = 2; }
public class SigninAction extends DispatchAction { public ActionForward save(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { final String NEXT_PAGE = "success"; return mapping.findForward(NEXT_PAGE); } public ActionForward Login(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { final String doctot_page = "doctorhomepage"; final String patient_page = "patienthomepage"; String next_page = null; LoginForm loginForm = (LoginForm) actionForm; String category = loginForm.getCategory(); if(category.equals("DOCTOR")) { Ecotech Consultants Page 98
DoctorAction.java
package com.ihealth.action; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; Ecotech Consultants Page 99
public ActionForward save(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { final String NEXT_PAGE = "success"; DoctorForm doctorForm = (DoctorForm) actionForm; doctorForm.setDocMessage("inside save method"); DoctorDto doctordto = new DoctorDto();
doctordto.setDoctorid(doctorForm.getDoctorid()); doctordto.setDocUserName(doctorForm.getDocUserName()); doctordto.setDocPasswrd(doctorForm.getDocPasswrd()); doctordto.setDocConfirmPassword(doctorForm.getDocConfirmPassword()); doctordto.setDoctorReg(doctorForm.getDoctorReg()); doctordto.setDocFirstName(doctorForm.getDocFirstName()); doctordto.setDocLastName(doctorForm.getDocLastName()); doctordto.setDocAddress(doctorForm.getDocAddress()); doctordto.setDocGender(doctorForm.getDocGender()); doctordto.setDocDesignation(doctorForm.getDocDesignation()); Ecotech Consultants Page 100
public ActionForward edit(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { final String NEXT_PAGE = "doctorreg"; DoctorForm doctorForm = (DoctorForm) actionForm; doctorForm.setDocMessage("inside Edit method"); List<LabelValueBean> specialityList = new ArrayList<LabelValueBean>(); LabelValueBean lbValueBean = new LabelValueBean("Find a Doctor by Specialty", "Find a Doctor by Specialty"); LabelValueBean lbValueBean1 = new LabelValueBean("Dentist", "Dentist");LabelValueBean lbValueBean2 = new LabelValueBean("Dermatologist", "Dermatologist"); LabelValueBean lbValueBean3 = new LabelValueBean("Dietitian", Ecotech Consultants Page 101
"Infectious Disease Specialist"); LabelValueBean lbValueBean10 = new LabelValueBean("Nephrologist (Kidney Specialist)", "Nephrologist (Kidney Specialist)"); LabelValueBean lbValueBean11 (incl Headache Specialists)", = new LabelValueBean("Neurologist
"OB-GYN (Obstetrician-Gynecologist)"); LabelValueBean lbValueBean13 LabelValueBean("Ophthalmologist", "Ophthalmologist"); LabelValueBean lbValueBean14= new LabelValueBean("Optometrist", "Optometrist"); LabelValueBean lbValueBean15= new LabelValueBean("Orthodontist", "Orthodontist"); LabelValueBean Ecotech Consultants lbValueBean16= new LabelValueBean("Orthopedic Page 102 = new
"Physical Therapist (Physical Medicine)"); LabelValueBean Surgeon", "Plastic Surgeon"); LabelValueBean (Foot Specialist)", lbValueBean22 = new LabelValueBean("Podiatrist lbValueBean21 = new LabelValueBean("Plastic
"Podiatrist (Foot Specialist)"); LabelValueBean lbValueBean23 = new LabelValueBean("Primary Care Doctor (General Practitioner)", "Primary Care Doctor (General Practitioner)"); LabelValueBean LabelValueBean("Prosthodontist", "Prosthodontist"); LabelValueBean lbValueBean25 = new LabelValueBean("Psychiatrist", "Psychiatrist"); LabelValueBean lbValueBean26 = new LabelValueBean("Psychologist", "Psychologist"); LabelValueBean lbValueBean27 = new LabelValueBean("Pulmonologist (Lung Doctor)", Ecotech Consultants Page 103 lbValueBean24 = new
"Sports Medicine Specialist"); LabelValueBean lbValueBean32 = new LabelValueBean("Urologist", "Urologist"); specialityList.add(lbValueBean); specialityList.add(lbValueBean1); specialityList.add(lbValueBean2); specialityList.add(lbValueBean3); specialityList.add(lbValueBean4); specialityList.add(lbValueBean5); specialityList.add(lbValueBean6); specialityList.add(lbValueBean7); specialityList.add(lbValueBean8); specialityList.add(lbValueBean9); specialityList.add(lbValueBean10) specialityList.add(lbValueBean11); specialityList.add(lbValueBean12); specialityList.add(lbValueBean13); specialityList.add(lbValueBean14); specialityList.add(lbValueBean15); specialityList.add(lbValueBean16); specialityList.add(lbValueBean17); specialityList.add(lbValueBean18); specialityList.add(lbValueBean19); specialityList.add(lbValueBean20); specialityList.add(lbValueBean21); specialityList.add(lbValueBean22); specialityList.add(lbValueBean23); specialityList.add(lbValueBean24); specialityList.add(lbValueBean25); specialityList.add(lbValueBean26); specialityList.add(lbValueBean27); specialityList.add(lbValueBean28); specialityList.add(lbValueBean29); Ecotech Consultants Page 104
PatientAction.java
package com.ihealth.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import com.ihealth.delegate.PatientDelegate; import com.ihealth.dto.PatientDto; import com.ihealth.form.PatientForm;
patientdto.setPtntReasonOfVisit(patientForm.getPtntReasonOfVisit()); patientdto.setPtntinsuranceid(patientForm.getPtntinsuranceid()); int status = PatientDelegate.savePatient(patientdto); if (status == 1) { System.out.println("heghhgeehhhhhhhhgggeeehhee"); Ecotech Consultants Page 106
return mapping.findForward(NEXT_PAGE); } public ActionForward cancel(ActionMapping mapping, ActionForm actionForm,HttpServletRequest request, HttpServletResponse response) throws Exception { final String NEXT_PAGE = "index"; PatientForm patientForm = (PatientForm) actionForm; patientForm.setMssg("inside camcle method"); return mapping.findForward(NEXT_PAGE); } }
DoctorSearchAction.java
package com.ihealth.action; Ecotech Consultants Page 107
public class DoctorSearchAction extends DispatchAction{ public ActionForward search(ActionMapping mapping, ActionForm actionForm,HttpServletRequest request, HttpServletResponse response) throws Exception { DoctorForm doctorForm = (DoctorForm) actionForm; doctorForm.setDocMessage("inside search method"); DoctorDto doctordto = new DoctorDto(); doctordto.setDoctorid(doctorForm.getDoctorid()); doctordto.setDocUserName(doctorForm.getDocUserName()); doctordto.setDocPasswrd(doctorForm.getDocPasswrd()); doctordto.setDocConfirmPassword(doctorForm.getDocConfirmPassword()); doctordto.setDoctorReg(doctorForm.getDoctorReg()); doctordto.setDocFirstName(doctorForm.getDocFirstName()); doctordto.setDocLastName(doctorForm.getDocLastName()); doctordto.setDocAddress(doctorForm.getDocAddress()); doctordto.setDocGender(doctorForm.getDocGender()); doctordto.setDocDesignation(doctorForm.getDocDesignation()); doctordto.setDocCity(doctorForm.getDocCity()); doctordto.setDocState(doctorForm.getDocState()); doctordto.setDocSpecialty(doctorForm.getDocSpecialty()); doctordto.setDocContact(doctorForm.getDocContact()); doctordto.setDocMail(doctorForm.getDocMail());
Ecotech Consultants
Page 108
DoctorProfileAction.java
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import com.ihealth.delegate.DoctorProfileDelegate; import com.ihealth.dto.DoctorProfileDto; import com.ihealth.form.DoctorProfileForm; public class DoctorProfileAction extends DispatchAction { public ActionForward save(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { final String NEXT_PAGE = "success"; DoctorProfileForm doctorProfilrForm = (DoctorProfileForm) actionForm; DoctorProfileDto doctorprofiledto = new DoctorProfileDto(); doctorprofiledto.setDocUserName(doctorProfilrForm.getDocUserName()); doctorprofiledto.setDocPasswrd(doctorProfilrForm.getDocPasswrd()); doctorprofiledto.setDocPracticeName(doctorProfilrForm .getDocPracticeName()); doctorprofiledto.setDocDateofReg(doctorProfilrForm.getDocDateofReg()); doctorprofiledto.setDocDesignation(doctorProfilrForm .getDocDesignation()); doctorprofiledto.setDoctorCertification(doctorProfilrForm Ecotech Consultants Page 109
public interface CommonDao { int savePatient(PatientDto patientdto); int saveDoctor(DoctorDto doctordto); int saveInsurance(InsuranceDto insuranceDto); List<DoctorDto> searchDoctor(DoctorDto doctordto); int saveDoctorProfile(DoctorProfileDto doctorprofiledto); }
DaoFactory.java
package com.ihealth.dao; import com.ihealth.common.IHealthConstants; public class DaoFactory { private static DaoFactory daoFactory = null; private DaoFactory() { } public static DaoFactory getInstance() { if (daoFactory == null) { daoFactory = new DaoFactory(); } return daoFactory; }
Ecotech Consultants
Page 111
DoctorDao.java
package com.ihealth.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.List; import import import import import import import import javax.naming.Context; javax.naming.InitialContext; javax.naming.NamingException; javax.sql.DataSource; com.ihealth.dto.DoctorDto; com.ihealth.dto.DoctorProfileDto; com.ihealth.dto.InsuranceDto; com.ihealth.dto.PatientDto;
public class DoctorDAO implements CommonDao { public int saveDoctor(DoctorDto doctordto) { System.out.println("callling doctordao"); Connection connection = getConnection(); int status=0; String doctusername=doctordto.getDocUserName(); String doctpwd=doctordto.getDocPasswrd(); String doctreg=doctordto.getDoctorReg(); String doctfstname=doctordto.getDocFirstName(); String doctlstname=doctordto.getDocLastName(); String doctgender=doctordto.getDocGender(); String doctaddress=doctordto.getDocAddress(); String docdesignation=doctordto.getDocDesignation(); String doctcity=doctordto.getDocCity(); String doctstate=doctordto.getDocState(); String doctspecialty=doctordto.getDocSpecialty(); String doctcontact=doctordto.getDocContact(); String doctmail=doctordto.getDocMail(); try{ Ecotech Consultants Page 112
PreparedStatement preparedStatement = connection.prepareStatement("insert into doctor_mstr(doctor_regno,usrnm,pwd,fst_nm,lst_nm,gender,addr,city,state,desig nation,specialty,cntc_no,email) values(?,?,?,?,?,?,?,?,?,?,?,?,?)"); preparedStatement.setString(1,doctreg ); preparedStatement.setString(2,doctusername ); preparedStatement.setString(3,doctpwd); preparedStatement.setString(4,doctfstname ); preparedStatement.setString(5,doctlstname ); preparedStatement.setString(6,doctaddress ); preparedStatement.setString(7,doctcity ); preparedStatement.setString(8,doctstate ); preparedStatement.setString(9,doctgender ); preparedStatement.setString(10,docdesignation ); preparedStatement.setString(11,doctspecialty ); preparedStatement.setString(12,doctcontact ); preparedStatement.setString(13,doctmail); status=preparedStatement.executeUpdate(); System.out.println(status); }catch(SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } return status; } private Connection getConnection() { Connection connection = null; Context context = null; try { context = new InitialContext(); DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/ihealthDB"); connection = (Connection) ds.getConnection(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } @Override public List<DoctorDto> searchDoctor(DoctorDto doctordto) { return null; }
Ecotech Consultants
Page 113
DoctorProfileDao.java
package com.ihealth.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.List; import import import import import import import import javax.naming.Context; javax.naming.InitialContext; javax.naming.NamingException; javax.sql.DataSource; com.ihealth.dto.DoctorDto; com.ihealth.dto.DoctorProfileDto; com.ihealth.dto.InsuranceDto; com.ihealth.dto.PatientDto;
public class DoctorProfileDAO implements CommonDao { @Override public int saveDoctorProfile(DoctorProfileDto doctorprofiledto) { System.out.println("callling doctorpatientdao"); Connection connection = getConnection(); int status=0; String doctusername=doctorprofiledto.getDocUserName(); String doctpwd=doctorprofiledto.getDocPasswrd(); String PracticeName=doctorprofiledto.getDocPracticeName(); String docDateofReg=doctorprofiledto.getDocDateofReg(); String docDesignation=doctorprofiledto.getDocDesignation(); String docCertification=doctorprofiledto.getDoctorCertification(); String docHospital=doctorprofiledto.getDoctorHospital(); Ecotech Consultants Page 114
PreparedStatement preparedStatement = connection.prepareStatement("insert into dctor_profile(practice_nm,date_of_reg,designation,board_of_cert,hospital_affl n,awards,lngs,prof_stmt,pic,payple) values(?,?,?,?,?,?,?,?,?,?)"); preparedStatement.setString(1,PracticeName ); preparedStatement.setString(2,docDateofReg ); preparedStatement.setString(3,docDesignation); preparedStatement.setString(4,docCertification ); preparedStatement.setString(5,docHospital ); preparedStatement.setString(6,docAwards ); preparedStatement.setString(7,docLanguage ); preparedStatement.setString(8,docStatement ); preparedStatement.setString(9,docPic ); preparedStatement.setString(10,docPayment );
System.out.println(e.getMessage()); e.printStackTrace(); } return status; } private Connection getConnection() { Connection connection = null; Context context = null; try { context = new InitialContext(); DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/ihealthDB"); connection = (Connection) ds.getConnection(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; Ecotech Consultants Page 115
PatientDao.java
package com.ihealth.dao; import import import import import import import import import import import import java.sql.Connection; java.sql.PreparedStatement; java.sql.SQLException; java.util.List; com.ihealth.dto.DoctorDto; com.ihealth.dto.DoctorProfileDto; com.ihealth.dto.InsuranceDto; com.ihealth.dto.PatientDto; javax.naming.Context; javax.naming.InitialContext; javax.naming.NamingException; javax.sql.DataSource;
public class PatientDAO implements CommonDao { public int savePatient(PatientDto patientdto) { System.out.println("---------->>>>>___-----"); System.out.println("callling patitentdao"); Connection connection = getConnection(); Ecotech Consultants Page 116
InsuranceDao.java
package com.ihealth.dao; import import import import java.sql.Connection; java.sql.PreparedStatement; java.sql.SQLException; java.util.List;
public class InsuranceDAO implements CommonDao{ @Override public int saveInsurance(InsuranceDto insuranceDto) { System.out.println("callling patitentdao"); Connection connection = getConnection(); int status = 0; //String patientid=""; String inscompnm = insuranceDto.getInscompnm(); String inspolicynm = insuranceDto.getInspolicynm(); String inspersonnm = insuranceDto.getInspersonnm(); String inspersonage = insuranceDto.getInspersonage(); String inspolicystart = insuranceDto.getInspolicystart(); String inspolicyexp = insuranceDto.getInspolicyexp(); String inspolicyren = insuranceDto.getInspolicyren(); String insagentnm = insuranceDto.getInsagentnm(); String insagentid = insuranceDto.getInsagentid(); String inscashless = insuranceDto.getInscashless(); String insamount = insuranceDto.getInsamount(); String insclaimdt = insuranceDto.getInsclaimdt(); String insclaim = insuranceDto.getInsclaim(); try { System.out.println("inside try"); PreparedStatement preparedStatement = connection .prepareStatement("insert into insu_mstr(comp_nm,policy_nm,person_nm,person_age,policy_start,policy_exp,poli cy_ren,agent_nm,agent_id,cashless,policy_amount,claim_dt,claim_amount) values(?,?,?,?,?,?,?,?,?,?,?,?,?)"); preparedStatement.setString(1, preparedStatement.setString(2, preparedStatement.setString(3, preparedStatement.setString(4, preparedStatement.setString(5, preparedStatement.setString(6, preparedStatement.setString(7, preparedStatement.setString(8, preparedStatement.setString(9, Ecotech Consultants inscompnm); inspolicynm); inspersonnm); inspersonage); inspolicystart); inspolicyexp); inspolicyren); insagentnm); insagentid); Page 119
status = preparedStatement.executeUpdate(); System.out.println(status); } catch (SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } return status; } private Connection getConnection() { Connection connection = null; Context context = null; try { context = new InitialContext(); DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/ihealthDB"); connection = (Connection) ds.getConnection(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } @Override public int savePatient(PatientDto patientdto) { return 0; } @Override public int saveDoctor(DoctorDto doctordto) { return 0; } @Override public List<DoctorDto> searchDoctor(DoctorDto doctordto) { return null; } @Override public int saveDoctorProfile(DoctorProfileDto doctorprofiledto) { Ecotech Consultants Page 120
DoctorProfileHandler.java
package com.ihealth.handler; import com.ihealth.common.constant; import com.ihealth.dao.CommonDao; import com.ihealth.dao.DaoFactory; import com.ihealth.dto.DoctorProfileDto; public class DoctorProfileHandler { private static CommonDao commondao; public static CommonDao getDAO() { DaoFactory dao = DaoFactory.getInstance(); return dao.getDAO(constant.DEMO); } public static int saveDoctorProfile(DoctorProfileDto doctorprofiledto) { commondao = getDAO(); return commondao.saveDoctorProfile(doctorprofiledto); } }
PatientHandler.java
package com.ihealth.handler; import import import import com.ihealth.dao.CommonDao; com.ihealth.dao.DaoFactory; com.ihealth.dto.PatientDto; com.ihealth.common.*;
public class PatientHandler extends constant { public static int savePatient(PatientDto patientdto) { System.out.println("Patient Handler"); DaoFactory dao = DaoFactory.getInstance(); Ecotech Consultants Page 122
InsuranceHandler.java
package com.ihealth.handler; import com.ihealth.common.constant; import com.ihealth.dao.CommonDao; import com.ihealth.dao.DaoFactory; import com.ihealth.dto.InsuranceDto; public class InsuranceHandler extends constant { private static CommonDao commondao; public static CommonDao getDAO() { DaoFactory dao = DaoFactory.getInstance(); return dao.getDAO(constant.DEMO); } public static int saveInsurance(InsuranceDto insuranceDto) { commondao = getDAO(); return commondao.saveInsurance(insuranceDto); } }
<action path="/LoginAction" name="LoginForm" type="com.ihealth.action.SigninAction" scope="request" parameter="myaction"> <forward name="doctorhomepage" path="/Profile.jsp"></forward> <forward name="patienthomepage" path="/Profile1.jsp"></forward> <forward name="forget" path="/forgetLogin.jsp"></forward> <forward name="doctorRegPage" path="/doctorReg.jsp" /> <forward name="patientRegPage" path="/patient-reg.jsp" /> </action> <action path="/PatientUpdateAction" name="PatientForm" type="com.ihealth.action.PatientUpdateAction" parameter="myaction" scope="request"> <forward name="logOut" path="/logout.jsp" /> <forward name="patientUpdate" path="/patient-update.jsp" /> <forward name="search" path="/patient-doctor-search.jsp" /> <forward name="delete" path="/deleteProfile.jsp" /> </action> <action path="/patientAction" name="PatientForm" type="com.ihealth.action.PatientAction" parameter="myaction" scope="request" validate="true" input="/patient-reg.jsp"> <forward name="success" path="/patient-reg.jsp" /> <forward name="patient-reg" path="/patient-reg.jsp" /> <forward name="index" path="/index.jsp" /> </action> <action path="/patientProfileAction" name="PatientForm" type="com.ihealth.action.PatientProfileAction" parameter="myaction" scope="request" validate="true" input="/Ptientprofile.jsp"> <forward name="success" path="/Ptient-profile.jsp" /> <forward name="patient-reg" path="/Ptient-profile.jsp" /> <forward name="index" path="/index.jsp" /> </action> <action path="/InsuranceAction" name="InsuranceForm" type="com.ihealth.action.InsuranceAction" scope="request" parameter="myaction" input="/insurance-reg.jsp" validate="true"> <forward name="success" path="/insurance-reg.jsp" /> <forward name="insurance-reg" path="/insurance-reg.jsp" /> <forward name="index" path="/index.jsp" /> </action> <action path="/DoctorAction" name="DoctorForm"
Ecotech Consultants
Page 124
<action path="/DoctorUpdateAction" name="DoctorForm" type="com.ihealth.action.DoctorUpdateAction" scope="request" parameter="myaction"> <forward name="logOut" path="/logout.jsp" /> <forward name="doctorUpdate" path="/doctor-update.jsp" /> <forward name="search" path="/doctor-patient-search.jsp" /> <forward name="delete" path="/deleteProfile.jsp" /> </action> <action path="/DoctorModifyAction" name="DoctorForm" type="com.ihealth.action.DoctorUpdateAction" scope="request" parameter="myaction"> <forward name="logOut" path="/logout.jsp" /> <forward name="doctorUpdate" path="/doctor-update.jsp" /> <forward name="search" path="/doctor-patient-search.jsp" /> <forward name="delete" path="/deleteProfile.jsp" /> <forward name="success" path="/success.jsp" /> <forward name="reg" path="/doctor-update.jsp" /> <forward name="back" path="/Profile.jsp" /> </action> <action path="/SearchDoctorAction" name="DoctorForm" type="com.ihealth.action.DoctorUpdateAction" parameter="myaction" scope="request"> <forward name="logOut" path="/logout.jsp" /> <forward name="patientUpdate" path="/doctor-update.jsp" /> <forward name="search" path="/doctor-patient-search.jsp" /> <forward name="delete" path="/deleteProfile.jsp" /> <forward name="submit" path="/doctorFind.jsp" /> </action> <action path="/PatientModifyaction" name="PatientForm" type="com.ihealth.action.PatientUpdateAction" parameter="myaction" Ecotech Consultants Page 125
web.xml
<servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>2</load-on-startup> Ecotech Consultants Page 126
Ecotech Consultants
Page 127
8. SCREENSHOTS
Home Page:
Ecotech Consultants
Page 128
Login Page:
Ecotech Consultants
Page 129
Contact Us Page:
Ecotech Consultants
Page 130
Search Page:
Ecotech Consultants
Page 131
Ecotech Consultants
Page 132
TESTING
Unit Testing:
In computer programming, unit testing is a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine if they are fit for use. Intuitively, one can view a unit as the smallest testable part of an application. In procedural programming a unit could be an entire module but is more commonly an individual function or procedure. In object-oriented programming a unit is often an entire interface, such as a class, but could be an individual method. Unit Benefits: The goal of unit testing is to isolate each part of the program and show that the individual parts are correct.A unit test provides a strict, written contract that the piece of code must satisfy. As a result, it affords several benefits. Tests are created by programmers or occasionally by white box testers during the development process.
Integration Testing:
Integration testing (sometimes called Integration and Testing, abbreviated "I&T") is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before validation testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing. There are two major ways of carrying out an integration test, called the bottom-up method and the top-down method. Bottom-up integration testing begins with unit testing, followed by tests of of progressively higher-level combinations of units called modules or builds. In top-down integration testing, the highest-level modules are tested first and progressively lower-level modules are tested after that. In a comprehensive software development environment, bottomup testing is usually done first, followed by top-down testing. The process concludes with multiple tests of the complete application
Ecotech Consultants
Page 133
Ecotech Consultants
Page 134
10.CONCLUSION
This project is all about online searching and appointment of respective Doctors. A patient can search his/her required doctors by searching them via practice name or speciality or city and can fix appointment with the selected one according to their requirement for ailment. This project contains certain features such as: Time saving is a major advantage of this project. Sitting at home a patient can search for doctors according to their reasons and can fix appointment online. Faster, secure and convenient delivery of results regarding doctor profiles More Productivity of doctors. Higher quality service and satisfaction for patients.
Despite so many advantages, there are certain limitations which are to be worked upon during future enhancements. Some of the demerits of the project is: Doctors need to regularly update their profile so as that it becomes easy for the patients to search proper doctors. Doctors need to pay a registration fee to the admin of this website. A patient should be efficient in using internet, he must know machine usage so as to search doctors properly following instructions. This project needs a gateway to build the link between the admin, doctors, patients. Lastly, there are many more features to be added to this project to make it live on internet which are not possible at present due to its confidentiality.
11.BIBLIOGRAPHY
1. Herbert Schildt, Patrick Naughton: JAVA :The Complete Reference , McGraw-Hill Osborne Media. 2. James Holmes: Struts: The Complete Reference, McGraw-Hill Osborne Media, ISBN 0-07223131-9 3. We use The Web Sits www.google.com, www.zocdoc.com, www.roseindia.com, www.vannlia.com, strutssurvivalguide.pdf.
Ecotech Consultants Page 135