Professional Documents
Culture Documents
SalomonKSEA MyBachelorFinalYearProject 16 - 05 - 2021
SalomonKSEA MyBachelorFinalYearProject 16 - 05 - 2021
____________________
(signature)
«___» __________2021
DEGREE: BACHELOR
HEALTHCARE CENTER MANAGEMENT SYSTEM
Cherkasy-2021
1
TABLE CONTENTS
Content…………............................................................................................2
INTRODUCTION..........................................................................................4
1REVIEW AND COMPARATIVE ANALYSIS…………….………….....5
1.1 OpenClinic GA ..........................................................................................5
1.2 HospitalRun offline EHS..................................................................7
1.3 Bahmni ……………………………………………………………8
1.4 Summary Of The Analysis ..............................................................9
1.5 Outline of the development stages...................................................9
1.5.1 The Main App’s Functions ..........................................................10
Conclusion of the first section..………………………………………….…10
2 2. ANALYSIS OF THE HEALTHCARE MANAGEMENT SYSTEM
……………………………………...………………………………………11
2.1 The Use Case UML Diagram........................................................11
2.2 Breaking down the system requirement for each actor……….….14
2.3 The Activity Diagram………………………………….………..16
2.4 The State Diagram…….……………………………....…………21
2.5 The Architectural Design…………………………………….….22
2.5.1 The Package Diagram………………………….……….22
2.6 The Communication Diagram…………………………………..23
2
3.1 The Login and Registration Page…....……………………….....33
3.2 The Patient’s Home Page....……………………………………..34
3.3 The Patient’s Appointment Page;………………………………..34
3.4 The Patient billing Page………………………………………....35
3.5 The List Of the Departments…………………………………....36
3. 6 The List Of the Doctors and Online appointment……………...37
3. 6 The List Of the Doctors and Online appointment……………...37
3.8 The Doctor’s Home Page……………………………………….39
3.9 The Admin graphical Interface………………………………....40
3.10 Admin Adding Users…………………………………………..41
3.10.1 Showing the selected user and their Detail………………….42
3.11 Testing results’ table………………………………………….43
Conclusion of the third section……..……………………………………..45
CONCLUSION……....…………...……………………………………....45
LIST OF SOURCES USED…………..….………………………………47
APPENDIX A - Conceptual data model of Healthcare………………..48
3
INTRODUCTION
4
Object Of Development: healthcare system management for hospitals
and healthcare centres.
The subject of development: A Software to improve and automate a
healthcare centre’s daily tasks.
Analysing and studying already existing and selling software will give us
a better understanding of how enterprise applications are designed, it will help
us point out some key features and possibly some features that could be
improved or added. By the end of this analysis, we will understand how
real-world applications work and try to develop our software by considering the
main design patterns and adding the missing features of the below software to
ours.
1.1 OpenClinic GA
This application is open source and therefore free to use. Not only
is it extensible but it also offers almost all the functionalities that are
needed to better operate any kind of health-related organisation.
Moreover, patients themselves can log into their profiles and either view
their past medical history or update the information they are allowed to
update about themselves (Fig 1.1).
5
Fig 1.1 - Open Clinic
6
1.2 HospitalRun offline EHS
This application might not have as many features as the above one
but it is suitable for places where having access to the internet is a
challenge. It has an easy-to-use interface and offers most of the
functionality that a small-scaled hospital will need. The demo application
can be tried on their official website after registration.
7
HospitalRun Offline’s disadvantages:
1.3 Bahmni
The software is a combination of three open-source applications:
OpenEMR which focuses on Medical records and management of patients,
OpenERP to handle financial accounting and billing and finally OpenELIS
which helps with laboratory management. This software primarily targets
organisations that operate on a low resource.
Fig 1. 3 - Bahmni
8
- Possibility to send medical prescriptions to patients or pharmacies
through the software easy and simple to use; no need for prior training
- A wide range of functionality
- Also has an integrated client control and billing system
- An option to manage Doctors schedules and appointments
9
1.5.1 The Main App’s Functions
From the Study we carried out earlier, we now have an idea of the
functionality our application must-have, so as to be complete and efficient. The
application should have a good and user-friendly interface A patient registration
form. It should also be able to manage patients’ orders, maintain an accurate
record of the bills and financial transactions. In order to achieve this we will
have to:
10
features are what we will take advantage of while developing our
application.
11
Fig 2.1 - Patient’s UML Diagram
Compared to Doctors, Patients have a lot more functions. Doctors can
only log into the system, check their current appointments, accept or
reject patients’ appointment requests based on their schedule. In case an
appointment is accepted, a Doctor can do an online consultation and send
the consultation bills to patients. Doctors can also reset or change the
login password and see their old client treatment history. After a patient
has paid for their consultation, Doctors can receive a notification from the
12
server that the payment was made. The Doctor's interaction with the
system is represented below in the following image (Fig 2. 2 )
13
Fig 2.3 Doctor’s UML Diagram
14
- Register
- Login
- Search the list of Departments
- Select a Doctor based on their Profile(qualification and experience)
- Book an appointment with their selected Doctor
- Receive Medical bills
- Pay for their Consultation or Medical fees
- Reset their Login details
- Check their treatment history
- Send feedback to the doctor who consulted them
The Doctors, who represent the second main actors in the application play
the following roles :
- Login
- Check current appointments
- Accept Appointments
- Reject Appointments
- Send consultation Bills
- Reset Login Credentials
- Check Old patients treatment history
- Receive payment receipt
Finally, as of now, the last actor of our application is the administrator whose
role is to:
- Login
- Add staff members
- Edit staff members’ details
- Delete staff members
- Reset their login Credentials
- See all department information
- Lock and unlock users
15
2.3 The Activity Diagram
The first activity we are going to start with is user
registration as it represents the door to the system. Without registering it
is impossible to have access to the healthcare system. By default, any user
is registered as a patient since the hospital members are being registered
by the administrator.
Once on the application home page, users will have an
option to either log in or register. To register, new patients have to fill in
their personal details such as full name, email address, phone number,
address, date of birth and type their password and reconfirm it. When all
inputs are filled, the user can click on the register button and their
registration information will be saved into the hospital database.
However, a number of mistakes from the users that can prevent them from
registering successfully as the system will automatically ask them to
correct those.
Users can’t be trusted and can type numbers into inputs that
are meant for letter vise-versa. If a user types in the name input a name
that is less than three letters a warning message will automatically appear
telling them that the minimum number of characters allowed should be
three. In the same way, if they type in a wrong email address (an email
that does not have the sign “@” in it and does not end with “.com”) a red
line will appear around the input with a message telling them how to
correct the error. Users can also make a mistake while re-typing the
passwords. On the registration form there is one input for the password,
and another one to confirm the same password and it is likely that users
write the wrong password. If that is the case again, an error message will
display to help them correct the mistake.
To sum up, while registering, users must fill the Surname
name input with at least a word that has three or more letters. Then fill in
with their date of birth and to help them a date picker API will be
integrated to avoid them making mistakes. The next step will be to fill in
the input for the email correctly as mentioned earlier. Since the email
address will be used to log the user in later , the system will check if the
email already exists and display an error message if so. Then, the user
must provide their phone number in numbers and finally type and
confirm their password. When they click on the register, their details will
be saved in the database and they will be redirected to their profile which
can be updated later on with their profile picture more other information
they will be allowed to add. The images below illustrate the activity
diagram for the registration form. (Fig 2.4)
16
Fig 2.4 - User’s Registration Activity Diagram
17
provided password to the one in the database. If the provided password
does not match the one in the database, the system will respond back
with an ‘unauthorised’ error message. By not telling the user the exact
nature of the error, we can prevent potential hackers from knowing where
the problem comes from to deter any further hack attempt. Finally , if the
username and password provided are correct, the user will be redirected to
their homepage or profile page . The Image below (Fig 2.5) shows the
user’s login Activity.
18
Another important activity in the program is the searching
activity. Here we decided to combine the searching and editing activities
while drawing as these two activities can happen one after the other.
Searching should be possible for patients. However, they should not have
the ability to edit unless it is their own details. Doctors should also be
able to search and should but would not have the possibility to edit.
Therefore, the right to edit is reserved only to the administrator. Since the
Health Center has many departments, the search user must select the
department they would like to search and the list of members of that
department will be populated from the server. They can either scroll
through the populated list or simply start typing the user’s name they are
looking for in the search bar. As they type, all names in the database
which contains the typed letters will be displayed so that they can choose
the name they are looking for. If there is no match, the server will display
a notification message that no user was found. On the other hand, the
matching name will be displayed.
The next set of actions to take will be to delete or edit the
user’s details and since the delete action is pretty elementary, we will not
include it in the diagram. To edit, the user will click on the edit button
and the editing form will be displayed. After editing , the user will just
have to click on the save button and the new details will be saved in the
database. The server will then return the edited data to the user and that
will mark the end of the editing activity. The search and editing activities
are represented on the below diagram(Fig 2.6 Search and Edit Diagram)
19
Fig 2.6 - Search and Edit Activity Diagram
20
In order to better understand the behaviours of our patient object, we
need to use a state machine diagram and the image below (image 2.7)
shows the state the ‘appointment’ object takes over its life cycle.
21
initiated and the ‘appointment’ class will take a pending state. Once the
confirmation response is returned from the doctor, the ‘appointment’
class’ status will change to booked and only new appointments will be
initiated if there is no pending appointment.
22
access to the public members of the Billing package because a Doctor
may send bills to clients. Therefore, The Doctor package could use the
Billing Package public members. In the same way, The Billing Package
could use the User or specifically the Patient Package since only patients
will be issued bills in the system.
23
Fig 2.9 - The health care communication diagram
24
Fig 2.10 - Patient-Doctor Sequence Diagram
25
action in our sequence (2) is fired by the appointment class which at this
stage will first record the patient’s message and notify the doctor (3).
After this will have a response from the doctor’s class which response to
the appointment class by sending a confirmation. Stage (3) and (4)
represent the period of time during which the doctor’s first activity
happened in the system. On reception of the confirmation, the
appointment class will then send a notification to the patent and therefore
close its line of activities. The period starting from (2) to (5) is the period
of time that was taken for the appointment class to complete its activity.
Next, the patient will then proceed with the payment (6) and
consequently create an action from the billing class to notify the doctor.
The second sequence of activity for the doctor starts at that moment (7).
This time the doctor class will respond to the billing class with a
confirmation of receipt and thus finish its second sequence of activity (8).
The billing sequence of activities end at (9) when a notification message
is sent to the patient, which is then displayed on the patient UI (user
interface)
26
2.8 The Architecture Of HealthCare System
27
MVC (model-view-controller) architecture allows us to separate our
backend models (database classes) from our frontend models (view
models) and use a controller as a middleware to allow communication
between them.
28
Fig 2.12 - The Healthcare System Class Diagram
29
Fig 2.12 - The Healthcare System Class Diagram
30
2.10 The database or SQL Server
For this application, we are making use of SQL Server as our database
and a better or more productive way to design the application will be to
use a package such as Entity Framework.
31
[Figure 2.13 image downloaded from Entity Framework - Architecture -
Tutorialspoint]
32
Since our healthcare system has three main actors, each
actor has a model and consequently a View that represents the frontend or
graphical aspect of the system. No homepage is shared by patients,
doctors or administrators. The front end of every actor is based on the
model classes and therefore unique. However, a user must log in first
before accessing their homepage so the login page remains the same for
the three actors of the application.
Description:
Response
Users must enter a valid user id and password to open the user page. If the login
details are valid, then the user will be redirected to their account page. A new
user to the HealthCare system must register in order to create an account.
33
3.2 The Patient’s Home Page
34
3.4 The Patient billing Page
Description:
On this page, the patient can see the consultancy fee, laboratory charges
and any other related fee.
Response :
After accepting the patient’s appointment request, the doctor will send them an
electronic invoice or a quote for them to pay for the consultation fee.
Functional Requirements
- Consultancy fee
- Laboratory fee
35
3.5 The List Of the Departments
36
3. 6 The List Of the Doctors and Online appointment
Once a department is selected, all the doctors in it will be
displayed to the patient who can continue by selecting a doctor of his
choice. When the patient selects the doctor, they can see their
qualification, level of experience and age and book an appointment with
them.
Response
37
Functional Requirement:
38
3.8 The Doctor’s Home Page
Description:
Doctors can check appointments taken by patients. Doctors can view Patients
Test reports, older prescriptions’ details. Doctors can also check their billing and
monthly salary details.
Responses:
A doctor logs into their account, sees their profile and any update on their salary
or department. They can also see their pending and current appointments.
39
Functional requirements
Description
The Admin is a super-user. He/she is able to control the whole system. The
Admin can add, delete, update and modify the system.
40
3.10 Admin Adding Users
41
Description
With the search functionality, the user can find the detail of either a patient of a
staff member in a second which allows them to save more time and be effective
42
Function Desired action Response received
1 2 3
Logging in to an account or
Registration or Login or in the Click "Login" or “Register”
creating a new account
system
Ability to book an appointment with Click Send the appointment request
doctors "Book" at the top of any page to the doctor
directly via the platform
Click "Search" at the top of the
Ability to search through for the list of The request is sent and the
page
doctors response displays on the
page.
Click “Pay bills” Redirection to the visa or
Ability to pay the bills
MasterCard form
Click the “Feedback” tab and Save the feedback into the
Ability to send feedback after
write feedback about a doctor database and notify the doctor
consultation
The treatment history page
View treatment history Click the “treatment history “ displays
tab
Table 3.1 - Test results of the patient’s activities
1 2 3
Logging in to an account or
Registration or Login into the Click "Login" or “Register”
creating a new account
system
Ability to accept appointment Click Send notification to the
request "Notification" at the top of any patient that their request was
directly via the platform page and accept a request accepted
Click "Search" at the top of the
Ability to search through for the list of The request is sent and the
page
patient response displays on the
page.
Click “Send bills” Send the issued bill to the
Ability to create and send consultation
patient as a notification
bills
43
Click the “Notification” tab Display feedback from patients
Can view feedback from patients
and select the feedback section
1 2 3
Logging in to an account or
Login into the system Click "Login" or “Register”
creating a new account
Ability to add staff members Click Save added data into the
"Add Staff" at the top of the database
page
Ability to add edit users’ details Click “Edit” in the header of Save edited in the database
the page and update details
Ability to add delete users’ details Click “delete” in the header of Delete user’s data in the
the page and update the details database
44
Conclusion of the third section
While working on the third section of our thesis, we made use of the
JavaScript language to manipulate the DOM. The whole project was written in
the C# language and we were able to build our Healthcare system in the Dotnet
framework.
The client-side of our Healthcare system was designed using HTML 5,
CSS and Bootstrap 4. For the backend, we used C # and SQL server. Visual
Studio was used as our IDE because it is natively the best development
environment for .Net projects.
During the development process of the system, we designed the main
diagrams to help us organise and point out the part to focus on. We then created
all the necessary models for the system and made sure that interaction between
all the system’s components was effective and fluid. A user interface was then
designed for all the actors of the system and the system was finally tested to
make sure it works as expected and complies with the requirements.
CONCLUSION
45
doctors and Admins can so far effectively interact with it as long as they
exercise their attributed functions.
However, the healthcare system is open for extension and can be greatly
improved. More analytics tools could be added to keep track of the healthcare
centre’s data; a section for pharmacy management could also be added and a lot
more. In other words, the application can easily be upgraded according to the
needs of the healthcare system.
46
LIST OF SOURCES USED
1. Entity Framework 6: Get started with Entity Framework 6 - EF6 |
Microsoft Docs
2. Entity Framework: Entity Framework - Architecture -
Tutorialspoint
3. Sql Server: SQL Database – Managed Cloud Database Service |
Microsoft Azure
4. Sql server management Studio: SQL Server Management Studio
(SSMS) - SQL Server Management Studio (SSMS) | Microsoft Docs
5. Bootstrap: Introduction · Bootstrap v5.0 (getbootstrap.com)
6. JavasCript: JavaScript | MDN (mozilla.org)
7. The Three-tier Architecture: Three-tier architectures - IBM
Documentation
8. Html tutorials: HTML Tutorial (w3schools.com)
9. Html more link: HTML Tutorial - Tutorialspoint
10. Css: CSS Tutorial (w3schools.com)
11. Code First Migration: Entity Framework - Code First Migration -
Tutorialspoint
12. Getting started with font awesome: Get Started with Font Awesome
13. Font awesome CDN: FONT-AWESOME CDN links - CDNPKG
14. Visual Studio 2019: Visual Studio IDE, Code Editor, Azure
DevOps, & App Center - Visual Studio (microsoft.com)
15. Types of UML Diagrams: UML Diagram Types | Learn About All
14 Types of UML Diagrams (creately.com)
16. The Database Diagram: MySQL:: MySQL Workbench
17. Migrating SQL database to MySql: (1080) How to Convert MS
SQL Database to MySQL Database (Step by Step) - YouTube
18. Jquery: jQuery API Documentation
47
APPENDIX A - Conceptual database model of the Healthcare Center
48