Health Hub
Health Hub
Project Report
SUBMITTED BY
2024
Department of Computer Science
ACHARAYA NARENDRA DEV COLLEGE
ACKNOWLEDGEMENT
This Project was jointly undertaken by Adarsh Kumar, Shravan Kumar and Kartik Dhama
as their Semester-IV Software Engineering Project, under the guidance and supervision of
Dr. Vibha Gaur. Our primary thanks go to her, who poured over every inch of our project with
painstaking attention and helped us throughout the working of the project. It is our privilege to
acknowledge our deepest gratitude to her for her inspiration which has helped us immensely.
We are extremely grateful to her for her unstilted support and encouragement in the preparation
of this project.
CERTIFICATE
This is to certify that the project entitled “HEALTHHUB: A COMPREHENSIVE
HOSPITAL LISTING AND PATIENT RECORDS MANAGEMENT SYSTEM” has been
done by: Adarsh Kumar, Sharvan Kumar and Kartik Dhama of Bachelor of Computer
Science(Prog.) during Semester-IV from Acharya Narendra Dev College, University of Delhi
under the supervision of Dr. Vibha Gaur.
Supervisor
Dr. Vibha Gaur
Contents
PROBLEM STATEMENT
In the healthcare sector, efficient management of hospital listings and patient records is
paramount for providing quality care, ensuring patient safety, and streamlining administrative
processes. However, many healthcare facilities still rely on outdated paper-based systems or
disjointed electronic systems, leading to inefficiencies, errors, and compromised patient care.
Therefore, the need for a comprehensive Hospital Listing and Patient Record Management
System arises to address these challenges: -
Key Challenges
o Privacy and Security Concerns.
o Insufficient appointment scheduling.
o Limited accessibility of patient records to hospitals which delays the treatment.
o Lack of hospital knowledge to patient in their locality.
Goal
Developing a Comprehensive Hospital Listing and Patient Record Management System that
addresses the above challenges is essential for modernizing healthcare delivery. The proposed
system should include the following features:
o A unified patient health record that includes medical history, lab results, imaging studies
and medication records.
o An appointment scheduling that optimizes appointment slots based on patient needs and
doctors' availability.
o Listing of hospitals so that patients can find the best possible hospital for their treatment at
their locality.
Chapter 2
PROCESS MODEL
Incremental Model is an iterative software development approach where the software system
is developed in increments or smaller portions. Each increment builds upon the functionality
of the previous increment, gradually adding new features until the complete system is
developed. This model divides the software development process into manageable increments,
allowing for incremental development, testing, and delivery of software functionality.
Incremental model is used as:
1. Basic patient record management.
2. Appointment scheduling.
3. Hospital listing and search functionality.
4. Integration with external systems.
Advantages:
o Incremental Model enables the early delivery of essential features or core functionality.
o Since each increment is developed and delivered incrementally, you have the opportunity
to have feedback on the functionality.
o The Incremental Model reduces the risk as it is divided into increments, issues are identified
early in the process.
o Testing is easy as you can test each increments separately.
Disadvantages:
o Managing dependencies and interactions between increments can become complex as the
development progresses.
o If the requirements for each increment are not carefully defined or prioritized, there is a
risk of delivering increments with incomplete or insufficient functionality.
o Managing multiple increments simultaneously may introduce additional overhead.
o The effectiveness of the Incremental Model depends heavily on the initial architecture and
design decisions made at the beginning of the project.
Chapter 3
REQUIREMENT MODELING & ANALYSIS
Requirement analysis is the process of gathering, documenting, and analyzing the requirements
for a system. It involves understanding the needs of users and translating them into a form that
can be understood by developers.
Modelling involves creating abstract representations of the system being developed. Models
are used to understand, communicate, and validate the system's requirements, design, and
behaviour. Data Flow Diagrams (DFDs) are used for modelling the requirements.
ESTIMATIONS
estimation refers to the process of predicting the effort, time, resources, and cost required to
complete a software development project or a specific task within that project. Estimation plays
a crucial role in project planning, scheduling, budgeting, and resource allocation.
1. External Inputs (EI): These are user inputs that add, change, or delete data within the
system being measured. Each unique input type is counted. In given project login ID,
password, personal information and medical records are external inputs.
2. External Output (EO): These are user outputs generated by the system being measured.
Each unique output type is counted. In given project output screen and confirmation of
appointments are external outputs.
3. External Inquiries (EQ): An external inquiry is a user request for information from the
system being measured those results in the retrieval of data, without updating or altering
any data within the system. In other words, an external inquiry involves the system
providing information in response to a user's query without changing the internal state of
the system. appointment scheduling by patient is only external inquiries.
4. Internal Logical Files (ILF): These are user-recognizable groups of logically related data
within the system being measured, maintained by the system. repositories, user database
and result repositories are internal logical files.
5. External Interface Files (EIF): Each external interface file is a logical grouping of data
that resides external to the application but provides data that may be of use to the
application. There are no EIF.
All the five parameters of function points are assigned some weight that have been
experimentally determined and shown in the table 5.1.1.
Table 5.1.1. Computing Function Points
Functional Weighting Factors Count Total
Units
Now value adjustment points have been calculated by answering some questions on the scale
of 0 to 5 which is being shown in table 5.1.2.
4. Is performance critical? 3
14. Is the application designed to facilitate change and ease of use by the user? 3
∑(fi) 36
The fi( i = 1 to 14 ) are value adjustment factors (VAF) based on responses to the questionnaires
from table 5.1.2.
Count total is the sum of all function point entries obtained from the table 5.1.1.
The function point (FP) is thus calculated with the following formula :
Function Point = Unadjusted Function Point * Complexity Adjustment Factor
FP = UFP * CAF
Where CAF is complexity adjustment factor and is equal to [0.65 + 0.01 x ΣFi]. The Fi (i=1 to
14) are the degree of influence and are based on responses to questions noted in 5.1.2.
Function point for this project is calculated below :
FP = UFP * CAF
FP = UFP * [0.65 + 0.01 * Σ (Fi)]
FP = 64 * [0.65 + 0.01 * 36]
FP = 64 * 1.01
FP = 64.64
Hence, 64.64 is being obtained as function point for this project.
5.2 Effort
Efforts refers to the amount of time, resources, and work required to complete a software
development project or task. Effort encompasses various activities involved in the software
development lifecycle, including analysis, design, coding, testing, documentation, and
deployment.
It is calculated as E = FP / P where ,
E stands for effort
FP stands for function points
P stands for productivity
SCHEDULING
Scheduling refers to the process of creating a timeline or plan for completing various tasks and
activities within a software development project. Scheduling involves determining when
specific tasks will be started and completed, allocating resources to those tasks, and
establishing dependencies between them.
Project Scheduling
Project scheduling involves creating a detailed plan for the execution of tasks and activities
within a software development project. It's a critical aspect of project management aimed at
organizing and coordinating resources, timelines, and dependencies to ensure the successful
delivery of the software product.
Here are the key components and steps involved in project scheduling in software engineering:
o Tasks and activities required to complete the project, this typically involves breaking down
the project scope into smaller, manageable units
o Identify all the functions required to complete the project.
o Determine the dependency among various activities.
o Establish the most likely size for the time duration required to complete the activities.
o Allocate resources to activities.
o Plan the beginning and ending dates for different activities.
o Determine the critical path. A critical way is the group of activities that decide the duration
of the project.
RISK MANAGEMENT
DESIGN
Design refers to the process of creating a blueprint or plan for building a software system that
meets specified requirements and objectives. It encompasses the architectural, structural, and
behavioural aspects of the software, defining how it will be organized, how its components will
interact, and how it will function.
1. Start
2. Display Menu:
a. List Hospitals
b. Manage Patient Records
c. Exit
3. Read user input
4. If user input is "a":
Display list of hospitals
5. If user input is "b":
Display sub-menu for managing patient records:
a. Add new patient
b. Search for patient
c. Update patient information
d. Delete patient record
e. Go back to main menu
6. Read user input for patient record management
7. If user input is "a":
Prompt user to enter patient information (name, age,
gender, etc.)
Add new patient record to database
8. If user input is "b":
Prompt user to enter patient name or ID to search
Display patient information if found
9. If user input is "c":
Prompt user to enter patient name or ID to update
Display current patient information
Allow user to update patient details
10. If user input is "d":
Prompt user to enter patient name or ID to delete
Delete patient record from database
11. If user input is "e":
Go back to main menu
12. If user input is "c":
Exit the program
13. End
Chapter 9
Testing
Testing is the process of evaluating a software application or system to ensure that it behaves
as expected and meets the specified requirements. The primary goal of testing is to identify
defects, bugs, or errors in the software so that they can be fixed before the product is released
to users.
Reference
1. Aggarwal, K. K., & Singh, Y. (2007). Software Engineering. 3rd edition. New Age
International Publishers.
2. Pressman, R. S., & Maxim, B. R. (2015). Software Engineering: A Practitioner’s Approach.
8th edition. McGraw-Hill.