Skip to content

An AI-powered medical chatbot providing users with personalized healthcare support across 16 specializations, with features like symptom checking, medication reminders, expert consultations, and emergency assist. The chatbot supports multilingual communication and voice input for accessibility. Demo VideoπŸ‘‡

Notifications You must be signed in to change notification settings

GautamBytes/Medecro_AI_PERSONALIZED_PLATFORM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Medical Chatbot Project

Welcome to the Medical Chatbot project! This chatbot is designed to assist users with medical queries and provide relevant information based on the selected medical specialization. The chatbot is built using Streamlit and various Python libraries, with an integrated Node.js server for the symptom checker feature.

Table of Contents

  1. Overview
  2. Features
  3. Prerequisites
  4. Installation
  5. Running the Application
  6. File Structure
  7. Usage
  8. Contributing
  9. License

Overview

The Medical Chatbot is built to answer medical queries based on a selected medical specialization, assist users with medication reminders, and provide features like symptom checking, expert consultations, emergency assist, and much more.

Key technologies used:

  • Streamlit for the main interface.
  • Node.js for symptom checker.
  • Google Translate API for multilingual support.
  • SQLite for database integration.

Features

  • Multiple Medical Specializations: Get tailored responses based on the chosen category (e.g., Cardiologist, Dermatologist, etc.).
  • Multilingual Support: Supports English, Hindi, Spanish, French, and German.
  • Voice Input & Text-to-Speech: Interact via speech and hear responses from the chatbot.
  • Symptom Checker: A separate symptom-checking tool.
  • Medication Reminders: Set reminders for medications via notification, email, or voice.
  • Consult Experts: Connect with medical professionals for consultations.
  • Emergency Assist: Quick access to emergency contacts and ambulance services.
  • Document Uploads: Upload medical records and related documents.
  • Follow-up Questions: Dynamically generated questions based on the previous query.
  • Download Chat History: Save your entire chat as a PDF.

Prerequisites

Before cloning and running this project, ensure you have the following installed:

Install required Python libraries using the provided requirements.txt.

pip install -r requirements.txt

Install Node.js dependencies for the Symptom Checker:

cd chat
npm install

Installation

Step 1: Clone the Repository

Start by cloning the repository to your local machine using the following command:

git clone https://github.com/GautamBytes/Medecro_AI_PERSONALIZED_PLATFORM.git

Replace <repository-url> with the actual GitHub repository URL.

Step 2: Navigate to the Project Directory

Once the repository is cloned, navigate into the project directory:

cd med_chatbot

Step 3: Install Python Dependencies

Install all the required Python packages by running:

pip install -r requirements.txt

Step 4: Install Node.js Dependencies (For Symptom Checker)

Navigate to the chat directory and install the required Node.js packages:

cd chat
npm install

This will install all the dependencies listed in the package.json file.


Running the Application

The application requires two terminals to run: one for the main chatbot interface and another for the symptom checker feature.

Step 1: Running the Main Chatbot

In the first terminal, navigate to the project root and run the following command to start the chatbot interface using Streamlit:

streamlit run model.py

This will start the chatbot at http://localhost:8501.

Step 2: Running the Symptom Checker

In a second terminal, navigate to the chat directory and start the symptom checker server:

cd chat
node server.js

The symptom checker will be available at http://localhost:3000.


File Structure

Below is a detailed explanation of the file structure for better understanding:

med_chatbot/
β”‚
β”œβ”€β”€ model.py                 # Main Python file for running the chatbot with Streamlit
β”œβ”€β”€ health_tips/             # Health tips resources and files
β”œβ”€β”€ *.pkl                    # Preprocessed book files for medical knowledge
β”œβ”€β”€ Team_Members/            # Team member images
β”œβ”€β”€ Pre-Uploaded Posts/      # Images for pre-uploaded posts
β”œβ”€β”€ Bot_Avatars/             # Custom avatars for the chatbot based on medical specialization
β”œβ”€β”€ chat/                    # Symptom checker functionality
β”‚   β”œβ”€β”€ server.js            # Node.js server file
β”‚   β”œβ”€β”€ package.json         # Node.js dependencies
β”‚   β”œβ”€β”€ package-lock.json    # Locked versions of Node.js dependencies
β”‚   β”œβ”€β”€ views/               # EJS files (views) for the symptom checker interface
β”‚   β”œβ”€β”€ public/              # Static assets like CSS files
β”‚   β”œβ”€β”€ images/              # Images used for symptom checker UI
β”‚   └── javascripts/         # Symptom checker logic in `symptom2.js`
β”œβ”€β”€ patient_image/           # Patient-related images
β”œβ”€β”€ requirements.txt         # Python dependencies
β”œβ”€β”€ Consult_Experts/         # Files related to the expert consultation feature
β”œβ”€β”€ medicine_images/         # Images related to medicines for medication reminders
β”œβ”€β”€ data/                    # Medical data used by the chatbot
β”œβ”€β”€ Talaash/                 # Project-specific resources
β”œβ”€β”€ app.py                   # Main app logic file
└── llama_2_model/           # Llama 2 model integration (video for reference)

Usage

  1. Navigate to the chatbot interface at http://localhost:8501 after starting the Streamlit server.

  2. Interact with the chatbot by selecting a medical specialization, asking queries via text or voice input, and exploring follow-up questions.

  3. Check symptoms using the symptom checker, available at http://localhost:3000 after starting the Node.js server.

  4. Set medication reminders, consult experts, upload medical records, or use the emergency assist feature to assist with medical emergencies.

  5. Download chat history as a PDF for future reference.

About

An AI-powered medical chatbot providing users with personalized healthcare support across 16 specializations, with features like symptom checking, medication reminders, expert consultations, and emergency assist. The chatbot supports multilingual communication and voice input for accessibility. Demo VideoπŸ‘‡

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published