Cardiolytics Home Care

Cardiolytics Home Care

Project Overview

Cardiolytics: Cardiovascular Analytics for Homecare

Cardiolytics is a web-based cardiovascular analytics platform that integrates IoT, ensemble learning, and a document-grounded chatbot to support cardiovascular homecare services. The system consists of three core features:

Core Features

BP Monitor – Real-time Blood Pressure Monitoring

This feature uses an ESP32 microcontroller to simulate real-time blood pressure data transmission via MQTT (EMQX Broker) and Apache Kafka, enabling:

  • Device connectivity via Connect to Device button
  • Measurement trigger through Start Measurement
  • Live dashboard displaying systolic, diastolic, and heart rate data
  • Automatic detection of connection status (connected/disconnected)
  • Secure data persistence into a backend MySQL database via Flask API

CVD Predict – Cardiovascular Disease Risk Prediction

Users can assess their risk of cardiovascular disease by submitting clinical and lifestyle data. The modeling pipeline includes:

  • Two-phase Exploratory Data Analysis (EDA)
  • Preprocessing (column renaming, IQR-based outlier removal, feature encoding)
  • Feature engineering:
    • Body Mass Index (BMI)
    • Pulse Pressure (PP)
    • Mean Arterial Pressure (MAP)
  • Model training using:
    • Gradient Boosting (LightGBM, CatBoost, HistGB)
    • Tabular Deep Learning (TabNet, TabTransformer, FT-Transformer)
    • Stacking & Hybrid Voting Ensembles
  • Best model (Voting Hybrid) achieves:
    • Accuracy: 74.08%
    • AUC: 0.8018
  • Final prediction reports are downloadable in PDF format

Cardiobot – Document-Based Educational Chatbot (RAG)

This Retrieval-Augmented Generation (RAG) chatbot answers cardiovascular-related questions based on uploaded verified documents:

  • Uses Gemini 2.5 Flash as the main LLM
  • Embeds medical documents via multilingual-e5-large
  • Stores chunks in Pinecone vector store
  • Supports conversational memory via LangChain
  • Validates answers using:
    • Cosine similarity
    • Word overlap detection
  • Caches repeated questions to optimize performance
  • Links answers to the exact source document section

Web Interface

Cardiolytics is accessible via a web interface, structured for two user roles:

User Side (Patients)

  • View health summary and connected device status
  • Submit predictions through CVD Predict form
  • View prediction history and download medical PDF reports
  • Chat with Cardiobot for document-grounded health information

Admin Side

  • Approve new patient registrations
  • Monitor all users’ BP and CVD prediction data
  • Manage model uploads (.pkl), IoT devices, and chatbot documents
  • Preview document content

Key Achievements

  • BP Monitor: Real-time monitoring pipeline with MQTT → Kafka → Flask integration, powered by simulated ESP32 data
  • CVD Predict: Achieved 74.08% accuracy and 0.8018 AUC using hybrid ML/DL ensemble
  • Cardiobot: Gemini-powered RAG chatbot with document-based Q&A and source-linked responses
  • Web App: Role-based interface for patient and admin
  • Deployment: Fully tested locally with end-to-end data flow validation

Features

Feature 1

Tech Stack

FlaskEMQXApache KafkaNode-REDLangChainHuggingFaceMySQLGemini APIPineconeTailwind CSS

Access Links