A remote health monitoring system using IoT that integrates sensors for vital sign tracking and machine learning for health predictions. Features include real-time monitoring, a health chatbot, and a collaborative platform for patients and doctors. Remotif.AI is a comprehensive healthcare management system designed to streamline operations and improve patient care. It features an intuitive interface for managing appointments, patient records, doctor information, and administrative tasks, leveraging advanced AI technologies for enhanced patient monitoring.
- Directory Structure
- Steps to Run the Chatbot
- Steps to Run the Frontend
- Hardware Setup
- ML Model Codes
- Technologies Used
remotif.ai
│
├── Backend # Backend code for handling API requests
├── Chatbot # Chatbot functionality using OpenAI API
├── Code for Hardware # Arduino/ESP32 code for hardware components
├── Dataset # Dataset used for training and evaluation
├── Frontend # Frontend code built with React.js
├── ML models # Machine learning models for predictive analytics
└── node_modules # Node.js modules for frontend dependencies
├── package-lock.json
└── package.json
-
Install the required libraries:
Open your terminal and run:
pip install -r requirements.txt
-
Enter your OpenAI API key in the
.env
file:Create a
.env
file in the root directory with the following content:OPENAI_API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'
-
Run
vector_db.py
to create embeddings and store them in the Chroma vector database:Execute the following command in your terminal:
python Chatbot/vector_db.py
- This script will generate embeddings and store them in the
chroma_db
folder.
- This script will generate embeddings and store them in the
-
Once the embeddings are stored, start the application by running
app.py
:python Chatbot/app.py
- This will use Flask to handle requests, running on the local server at
http://127.0.0.1:5501/
.
- This will use Flask to handle requests, running on the local server at
The Remotif.AI frontend is a React-based application designed for easy navigation across devices.
- User-friendly Interface: Clean and responsive design.
- Appointment Management: Schedule and manage patient appointments.
- Patient Records: Maintain detailed patient information.
- Doctor Directory: Access a list of doctors and their specialties.
- Administrative Tools: Secure admin panel for system oversight.
- Responsive Design: Optimized for desktop and mobile.
- Home: Welcome page with quick access to key features.
- Appointments: Manage patient appointments.
- Patients: Add and manage patient records.
- Doctors: View and manage doctor information.
- Admin: Secure login for administrative tasks.
-
Clone the repository:
git clone https://github.com/Keerthivasan-Venkitajalam/remotif.ai
-
Navigate to the project directory:
cd remotif.ai cd Frontend
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
- Access the frontend at
http://localhost:3000
.
- Access the frontend at
The hardware setup for Remotif.AI involves various components that enable data collection, patient monitoring, and communication with the system. Below is a list of essential components used in this project:
-
Microcontroller:
- Arduino Nano 33 IoT:
- This compact board features built-in WiFi and Bluetooth capabilities, making it ideal for IoT applications. It is used for collecting data from sensors and transmitting it to the backend.
- Arduino Nano 33 IoT:
-
Sensors:
- ECG Sensor (e.g., AD8232):
- Monitors the electrical activity of the heart, capturing ECG signals for heart health analysis.
- Temperature Sensor (MLX90614):
- Provides accurate, non-contact temperature readings for monitoring patient body temperature.
- Heart Rate Sensor (e.g., MAX30100):
- Measures heart rate and oxygen saturation levels, essential for patient monitoring.
- ECG Sensor (e.g., AD8232):
-
Power Supply:
- USB Power Supply:
- The Arduino Nano 33 IoT can be powered through a USB cable connected to a computer or an external USB power source.
- USB Power Supply:
- Open Arduino IDE.
- Connect your Arduino Nano 33 IoT to your computer.
- Select the correct board (Arduino Nano 33 IoT) and port from the Tools menu.
- Open the
.ino
file from theCode for Hardware
directory. - Upload the code to the microcontroller.
- Wiring and Connections: Ensure that all sensors are correctly wired to the Arduino Nano 33 IoT according to the pin configuration specified in your
.ino
code. Refer to each sensor's datasheet for detailed wiring instructions. - Libraries: Install the required libraries in Arduino IDE to interface with the sensors and modules effectively. For example, libraries for the ECG sensor, MLX90614 temperature sensor, and display module.
This hardware setup enables effective data collection and communication for patient monitoring, forming a crucial part of the Remotif.AI system.
The ML models
directory contains Jupyter Notebooks for training and predicting health conditions using machine learning algorithms. To run these notebooks, follow these steps:
-
Install Jupyter Notebook (if not already installed):
pip install notebook
-
Navigate to the ML models directory:
cd ML models
-
Start Jupyter Notebook:
jupyter notebook
-
Open the respective
.ipynb
file to train or evaluate your model.- Ensure that all dependencies mentioned in the notebooks are installed. You can install additional libraries using:
pip install <library_name>
- Frontend: React.js, JavaScript (ES6+), HTML5, CSS3
- Backend: Flask
- Database: Chroma (for embeddings)
- Machine Learning: Python libraries (e.g., scikit-learn, TensorFlow)
- APIs: OpenAI API for chatbot functionalities
- Other Tools: Font Awesome for icons, jsPDF for PDF report generation