Skip to content

Project on Mediscreen App - Specialized in detection of risk factors associated to diseases like diabetes using predictive analysis approach on patients medical record history thereby targeting to be useful for Health centers and private clinics.

Notifications You must be signed in to change notification settings

selvaradjousk/Mediscreen

Repository files navigation

*** *** ***

Mediscreen

Mediscreen is a Spring Boot web application with MSA (MicroService Architecure) that faciliates to connect microservices with the industry's most scalable and flexible API Platform through recent cross-cutting edge technologies.

MEDISCREEN BANNER

Project Domain goals:

  • Provide a web app interface to users (Health centers & Private clinics) those who are interested in specialized information pertaining to detection of potential risk factors associated to diseases like diabetes.
  • Provides reliable and up-to-date real-time information on the -Patients vulnerability_ to risk to diseases based on their individual medical track records using a predictive analysis approach with atmost accuracy.

It is available as a web interface both on PC & mobile platforms for Abernathy clinic users & will be made extended to all users of different Health centers and private clinics customized to their potential goals.

Key features

  • Helps maintain accurate information record on the Patients;
  • Provides enhanced Medical record management & maintenance capabilities with better UX (User experience) on using the web app user nterface.
  • Provides reliable and up-to-date real-time information through Assessment Reports on their potential vulnerability to potential diseases based on the risk factors information persist on their medical record information.

To meet the predictable possiblility on the anticipated explosive growth potential among the user's client base in the health sector, the recent & modern cross-cutting edge technological integration in the architecture design has been implemented in this project to optimize performance for future high volume user demands.

Technological Spec & Run Prerequisites

  • Java 11 JDK
  • Gradle 7.3
  • Docker (Scalability)
  • Discovery services (High availability)

Architectural Spec:

Mediscreen application is composed of primarily 3 microservices:

  • Microservice: Patient
  • Microservice: Notes
  • Microservice: Assessment
  • Microservice: ui
    • more complementary Microservices to enhance scalability & high availaibility features

README detailed information on the individual microservices through the link below:

MVC patient microservice MVC patient history microservice MVC patient assessment microservice MVC ui microservice
MVC ui angular microservice MVC ui react microservice


Application Run configuration


gradle bootRun or ./gradle bootRun
gradle bootWar or ./gradle bootWar or ./gradle bootJar


Building Docker images

Use the Dockerfile on the package roots containing individual 4 services to build docker images

SYNTAX:

docker build . -f Dockerfile -t imageNameToBeCreated

Running a Docker image

Use the DockerImage created above & run a Docker image using the command below

SYNTAX:

docker run -d -p HostPort:InternalAppPort --name dockerContainerNameToBeCreated -d DockerImageName

Docker Compose

In case, if want to use an automated multi-container workflow with docker-compose, follow details below:

To deploy all Mediscreen microservices in a single go, use the docker-compose.yml on the package root containing all services that will orchestrate multiple containers wherein it will make it to work together based on the defined configuration in it. (Feel free to change the configuration settings for you required workflow)

SYNTAX:

docker-compose up -d

Testing

Gradle, Junit (Unit & Integration Tests).

SYNTAX:

gradlew test or ./gradlew test or gradlew clean test

JaCoCo coverage

SPRINT I - jacoco_report_patient


SPRINT II - jacoco_report_patient_history


SPRINT III - jacoco_report_patient_assessment


SPRINT I, II & III - jacoco_report_ui


Gradle

SPRINT I - gradle_report_patient


SPRINT II - gradle_report_patient_history


SPRINT III - gradle_report_patient_assessment


SPRINT I, II & III - gradle_report_ui


Junit

SPRINT I - jacoco_report_patient


SPRINT II - jacoco_report_patient_history


SPRINT III - jacoco_report_patient_assessment


SPRINT I, II & III - jacoco_report_ui


Reporting

Tests distribution - (Unit Tests & Integration Tests)

SPRINT  - graph_tests_distribution


Tests distribution - (Unit Tests & Integration Tests)

SPRINT  - graph_jacoco_coverage_percent_graph


Metrics

UI - UX frontend - Thymeleaf

Patient assessment - GET http://localhost:8080/assess/2

SPRINT I, II & III - ui_thymleaf_patient_assessment


UI - UX frontend - Angular

Patient assessment - GET http://localhost:4200/assess/3

SPRINT I, II & III - ui_angular_patient_assessment


UI - UX frontend - React js

Patient assessment - GET http://localhost:3000/assess/4

SPRINT I, II & III - ui_react_patient_assessment


API (Endpoints) documentation

All endpoints are documented with POSTMAN and can be accessed launched with the below link to POSTMAN:

POSTMAN API DOCUMENTATION


POSTMAN - MEDISCREEN APIs




SPRINT Backlog documentation (KANBAN @notion.io)

All SPRINT progress are documented with Notion.io and reported in the link below:

SPRINT I, II & III & IV - Completion (Angular + React)

SPRINT I, II & III - completion


SPRINT progress documentation for this project

NOTION - Backlog Online - Link



notion BANNER

SPRINT Retrospective documentation

All SPRINT Retrospectives are documented reported here in the link below:

SPRINT Retrospectives documentation for this project


SPRINT Retrospectives readme documentation for this project


SPRINT I, II & III - Retrospective

SPRINT I, II & III - Retrospective


SPRINT on Project Completion - Link below

retrospective BANNER


SPRINT Tasks timeline progress documentation

All Tasks timeline progress are documented and reported here in the link below:

Tasks Timeline progress documentation


Authors

Mentee: @Senthil
Mentor: Clément SEZETTRE

Senthil Linkedin   Clement Linkedin

versions

Version: 1.0.0

License

@OpenClassrooms & @Mediscreen

OPENCLASSROOMS LOGO


Reference Documentation

For further reference, please consider the following sections:

Guides

The following guides illustrate how to use some features concretely:

Additional Links

These additional references should also help you:

About

Project on Mediscreen App - Specialized in detection of risk factors associated to diseases like diabetes using predictive analysis approach on patients medical record history thereby targeting to be useful for Health centers and private clinics.

Resources

Stars

Watchers

Forks

Packages

No packages published