BSc Project in Amirkabir University of Technology(Tehran Polytechnique), Prototyping a Healthcare System using microservices architecture include four services: 1.User 2. Disease Prediction 3. Expertise Detection 4. Search Physician
this project was under supervision of Professor Amir Kalbasi
You can see full report in this file(in Persian): Thesis Report
Applications in the field of healthcare have developed according to the user's needs and their capabilities have increased. Accurate disease diagnosis with methods based on artificial intelligence is one of the up-to-date issues of these systems. Apart from the diagnosis of the disease, in many cases the patient does not know which doctor he should consult with which specialty. This confusion may lead to referring to an unrelated specialist and waste a lot of time.Software architecture has always been one of the important issues in design and development. Microservices architecture, as an indicative model of software architecture, which was created with the philosophy of separating large system components into smaller services, offers many solutions for design and implementation. In this project, the healthcare system for disease diagnosis and referral to a specialist has been designed and prototyped using microservice architecture. The system is divided into small and independent services in a way that is scalable and can be developed and maintained in the future. In this project, the user can interact with the program using the user interface and meet his needs by connecting to the services. The implemented services are: user login service, disease prediction service, expertise detection service, physician search service. Each of the services has different capabilities that will be discussed below.
In the end, with the tools and evaluation methods and their matching with the system requirements, relying on the principles of software engineering, it can be seen that the microservice architecture and the technologies used are a suitable option for the design of the desired system.
Chapter 1: Introduction
Chapter 2: Review of Previous Work
Chapter 3: Microservices Architecture
Chapter 4: System Requirements
Chapter 5: Design and Implementation
Chapter 6: System Evaluation
Chapter 7: Conclusion and Future Recommendations
The system include four services: 1.User 2. Disease Prediction 3. Expertise Detection 4. Search Physician.
Use-Case Diagram:
This service includes three main functions: registration, validation and login, user profile, home page. The main implementation of this service has been done with the libraries inside the Flask framework.
Run:
This service gets patient symptoms and give probable diseases. it has implemented with XGBoost
, symptoms-disease dataset
Run:
This service gets list of diseases and give probable expertise that the patient should visit. it can be seperated in UI. disease-expertise dataset
Run:
This service gets an expertise and give the physicians with particular expertise sorted by user rating. we can use this service from both navigation-bar and previous service.
Run:
Python
, HTML/CSS/JS
, Flask
, XGBoost
, MySQL
, Docker
have fun :)