/HealU

POLYCLINIC MANAGEMENT SYSTEM

Primary LanguageTypeScriptApache License 2.0Apache-2.0

HealU - POLYCLINIC MANAGEMENT SYSTEM

Table of Contents

Introduction

HealU is a Polyclinic Management System that is developed to help the polyclinic to manage their daily operations. This system is developed using microservices architecture. This system is developed as a part of the Healthcare Information System course (SBE40XX) at the Department of Systems & Biomedical Engineering, Cairo University.

Overview

The system consists of:

  • Home Page
  • 6 clinics (Medical Staff Portals)
  • API Gateway
  • Patient Portal
  • Admin Portal
  • Tons of backend services

Clinics

Features (Bear with me, it's a long list ;) )

  • Patient Portal
    • Patient Login
    • Patient Registration
      • Enter Personal Information
      • Enter Medical Information
      • Upload Medical Records
    • Manage Appointments
      • View Appointments
      • Cancel Appointments
      • Book Appointments
      • View Appointment Details
    • Patient Profile
    • Patient Medical Records
  • Admin Portal
    • Admin Login
    • Admin Dashboard & Analytics
      • View Statistics and Data for the whole system components
    • Clinic Management
      • (Add, Edit, Remove) Clinic
      • (Add, Edit, Remove) Clinic Services
      • (Add, Edit, Remove) Clinic Medical Staff
    • Patient Management
  • Medical Staff Portals (One for each Clinic)
    • Medical Staff Dashboard for Appointments & Patients
      • Manage Appointments
      • Manage Patients
      • (Add, Remove, Edit) Appointment Slots
    • Medical Staff Dashboard for Prescriptions & Medical Records
      • (View, Add) Patient Medical Records
      • (View, Add) Patient Prescriptions
      • (View,Request, Add) Lab Tests
    • Specialized Workflow features for each clinic
  • API Gateway
    • Authentication
    • Authorization
    • Load Balancing
    • Routing
    • Caching
    • Rate Limiting
    • Logging
    • Monitoring
  • Billing System
    • Offline Payment
    • Online Payment (PayPal)
    • Generate Bills & Invoices
    • View Bills & Invoices
    • Pay Bills
  • Document Management System
    • Upload Medical Documents
      • DICOM Images
      • JPEG/PNG Images
      • PDF Files
      • Word Documents
      • Excel Sheets
    • (View, Edit) Documents
    • Download Documents
  • Electronic Medical Records System
    • (View, Add) Patient Medical Records
    • (View, Add) Patient Prescriptions
    • (View,Request, Add) Lab Tests
    • (View, Add) Patient Medical Documents
  • Appointment Management System
    • (View, Add, Cancel) Appointments
    • (View, Add, Cancel) Appointment Slots
    • (View, Add, Cancel) Appointment Requests
    • (View, Add, Cancel) Appointment Cancellations

System Architecture

The system is developed using microservices architecture. The system consists of 6 clinics, each clinic has its own portal for the medical staff to manage the clinic's operations. There might be a backend service for the clinic or not, depending on the clinic's operations. The interactions between the clinics and the other system components are done via REST APIs. the connection between the clinics & services and the other system components is done via the API Gateway. The API Gateway is responsible for authentication, authorization, load balancing, routing, caching, rate limiting, logging, and monitoring.

System Architecture

Database schemas

Services

  • Appointments Service

    Appointments Service

  • Electronic Medical Records Service

    Electronic Medical Records Service

  • Registration Service

    Registration Service

  • Billing Service

    Billing Service

  • Document Management Service

    Document Management Service

  • Admin Service

    Admin Service

Technologies

Frontend

The Whole frontend is a single project where all the team members worked on. Following MVC architecture.

cpp cpp cpp cpp

Backend

The backend is developed using microservices architecture. Each service is a separate project.

cpp cpp cpp cpp cpp

Databases

Multiple databases are used in the system. Each service has its own database, according to its needs.

cpp cpp cpp

How to Run the Project

Most Services and Databases are hosted on render.com. Most of them may be down due to the limited free tier.

Live Service URLs

cpp

You can run the project locally by following these steps:

  1. Clone the project
  2. Install the dependencies for each service
    • for nodejs services:
      cd ./service-name
      npm install
    • for python services:
      cd ./service-name
      pip install -r requirements.txt
  3. Run the services
    • for nodejs services:
      cd ./service-name
      npm run dev OR npm start
    • for python services:
      cd ./service-name
      python manage.py runserver
  4. Run the frontend
  • do the following:
    cd ./client
    npm install
    npm start

5.Enjoy!

Screenshots

Home Page

Home Page

Appointments

Patient Portal

Clinic Portal

Clinic Portal Clinic Portal

Analytics

Analytics

Documentations

All the Services APIs is documented on Postman

cpp

Contributors

Around 40 Senior Students from the Department of Systems & Biomedical Engineering, Cairo University contributed to this project. They were divided into 7 teams, each team was responsible for a clinic and a service. and 1 core team that was responsible for the Patient Portal and API Gateway. Each team had a team lead, these leads with the core team formed the project management team. which was responsible for Admin Service, Analytics, and Billing System & more

Core Team
Zeyad Amr Fekry
Zeyad Amr Fekry

(Team Lead)
Full Stack
Ahmed Abd ElRaouf
Ahmed Abd ElRaouf

Full Stack
Abdelrahman Yasser
Abdelrahman Yasser

Frontend
Mo'men Mohamed
Mo'men Mohamed

Frontend
Mazen Tarek
Mazen Tarek

PM & Backend
MDIMA ( Nutrition Clinic )
Ibrahim Mohamed
Ibrahim Mohamed

(Team Lead)
Full Stack
Maha Medhat
Maha Medhat

Backend
Doha Eid
Doha Eid

Backend
Maye Khaled
Maye Khaled

Frontend
Maye Khaled
Amira Mohamed

Frontend
MADS ( Dental Clinic )
Mohamed Ismail
Mohamed Ismail

(Team Lead)
Full-Stack
Dina Mostafa
Dina Mostafa

Backend
Sherif Ahmed
Sherif Ahmed

Backend
Ahmed El Sarta
Ahmed El Sarta

Frontend
Adham Mohammed
Adham Mohammed

Frontend
Mina Azeer
Mina Azeer

Backend
iHIS ( Ophthalmology Clinic )
Hanya Ahmed
Hanya Ahmed

(Team Lead)
Full-Stack
Mariam Mounier
Mariam Mounier

Frontend
Aya Amr
Aya Amr

Backend
Mohamed Salman
Mohamed Salman

Backend
Nourhan Sayed
Nourhan Sayed

Frontend
medmates ( Orthopedic Clinic )
Maryam Megahed
Maryam Megahed

(Team Lead)
Backend
Sara Amgad
Sara Amgad

Backend
Rawda Yousry
Rawda Yousry

Frontend
Rawan Abd-Elrahman
Rawan Abd-Elrahman

Frontend
Sama Mostafa
Sama Mostafa

Full Stack
care lifters ( Pediatric Clinic )
Abram Gad Hanna
Abram Gad Hanna

(Team Lead)
Frontend
Kareman Yasser Mohamed
Kareman Yasser Mohamed

Backend
Mayar Fayez Sadek
Mayar Fayez Sadek

Frontend
Nada Ahmed Mohamed
Nada Ahmed Mohamed

Backend
Naira Youssef Abdelazim
Naira Youssef Abdelazim

Frontend
Yasmin Yasser Ali
Yasmin Yasser Ali

Database

Submitted to:

Dr. Ahmed Morsy, Dr Eman Ayman & Eng Yara Wael

All rights reserved © 2024 to Systems & Biomedical Engineering, Cairo University (Class 2024)