Voice Based Virtual Health Assistant
- Introduction
- Project Overview
- Components
- Installation
- Usage
- Demo
- Design Overview
- Benefits
- Future Scope
Welcome to CareConnect, an innovative healthcare assistant leveraging Plivo APIs to provide accessible healthcare advice through phone calls. This document provides comprehensive information about the project, its components, installation instructions, and usage guidelines.
CareConnect aims to make healthcare advice easily accessible by utilizing Plivo's Voice API. It enables users to seek medical advice through phone calls, offering a seamless and convenient experience.
The frontend is responsible for providing the user interface. It allows users to initiate a call, input their number which is then used to initiate an outbound call to the user.
The Flask application acts as the backend server. It handles the initiation of outbound calls, processes user input, interfaces with the Hugging Face API for symptom-to-disease prediction, and communicates with the Plivo API for voice interactions.
Plivo's Voice API is a crucial component of CareConnect. It facilitates voice interactions between users and the system, enabling seamless communication.
It takes the speech input from the user and converts it to text using the Speech-to-Text API. The text is then used to predict a diagnosis based on the symptoms provided by the user. The diagnosis is then converted to speech using the Text-to-Speech API and communicated to the user.
Also used is the Plivo Number API, which is used to purchase a Plivo number for the outbound call.
Install required dependencies using
pip install -r requirements.txt
- Clone the repository:
git clone <repo-url>
- Navigate to the
frontend
directory using the following command:
cd CareConnect/src/frontend
- Run the following command to start a local server:
python3 -m http.server
- Navigate to the
src
directory:
cd CareConnect/src
- Run the Flask application:
python main.py
.
- Download and install Ngrok from https://ngrok.com/download.
- Open a terminal and run Ngrok: `
ngrok http 5000
- Ngrok will provide a secure tunnel to the locally running Flask app. Use the generated URL in your Plivo application by pasting it in the .env file (which is created to store the auth details and huggingface token).
- Access the frontend interface via
http://0.0.0.0:8000/index.html
. - Click on "Start Call" to initiate a call.
- Follow the prompts to input your symptoms using voice.
- Wait for the system to provide a diagnosis based on your symptoms.
A live demonstration of the project is available at Demo Video Link.
- Outbound call is initiated when the user clicks "Start Call".
- User provides symptom input via voice.
- Symptom-to-Disease model predicts a diagnosis using the speech input.
- The model is based on a Transformer-based encoder-decoder architecture.
- Trained on a dataset of 100,000 symptom-disease pairs.
- Link To Model
- Quick and accessible healthcare advice.
- Efficient processing of speech input.
- Reliable diagnoses based on a comprehensive dataset.
- Integration with Plivo Messaging API for follow-up information.
- Implementation of Call Recording for reference.
- Call Forwarding to Specialist Doctors for advanced consultation.