AI-HealthCare-Assistant

AI-HealthCare-Assistant

🏥 AI-powered healthcare web app | Symptom detection · Nearest doctor search · Blockchain medical records · X-Ray diagnosis · Face ID auth | Built with React, Node.js, Python, Flask, MongoDB & Ethereum smart contracts | MERN Stack · Machine Learning

Stars: 127

Visit
 screenshot

NearestDoctor is a full-stack, AI-powered healthcare web application that bridges the gap between patients and medical professionals. It combines machine learning, blockchain, facial recognition, and natural language processing into a seamless platform that covers the entire patient journey from first symptom to secured medical record. The platform offers features like AI symptom detection & chatbot, location-based doctor search, smart appointment scheduling, blockchain medical records, X-ray lung diagnosis, mental health test, doctor identity verification, multi-mode authentication, blogs & web scraping search, paramedical e-shop, AI voice assistant, and integrated payments. The architecture follows a microservices-inspired MERN architecture with React.js frontend, Node/Express REST API, Python Flask AI/ML microservices, MongoDB database, Ethereum smart contracts, TensorFlow for face recognition and X-ray diagnosis, Nanonets AI OCR API, Dialogflow for chatbot, Google Maps API, ALAN SDK for voice assistant, and Stripe API for payments.

README:

NearestDoctor Logo

🏥 NearestDoctor - AI Healthcare Assistant

Your intelligent, AI-powered companion for smarter, faster, and safer healthcare.

YouTube Demo

Project Demo Video
▲ Click to watch the full demo

📖 Table of Contents


🧠 About The Project

NearestDoctor is a full-stack, AI-powered healthcare web application that bridges the gap between patients and medical professionals. It combines machine learning, blockchain, facial recognition, and natural language processing into a seamless platform that covers the entire patient journey from first symptom to secured medical record.

💡 "Every patient deserves professional medical guidance, instantly and securely — no matter where they are."

The Problem

Despite advances in digital health, patients still face three core challenges:

  • 🔍 Finding the right doctor: it's hard to know which specialist fits your symptoms.
  • 📆 Getting an appointment: scheduling is manual, slow, and rarely location-aware.
  • 🔐 Securing medical records: records are fragmented, inaccessible, and vulnerable to breaches.

NearestDoctor was designed from the ground up to solve all three.


✨ Key Features

Feature Description
🤖 AI Symptom Detection & Chatbot Patients chat with a Dialogflow-powered bot, describe symptoms, and receive an illness prediction with the right specialist recommendation.
📍 Location-Based Doctor Search Find the nearest doctor or first available appointment in real time.
📅 Smart Appointment Scheduling Book with the nearest doctor or earliest available slot directly through the chatbot flow.
🔗 Blockchain Medical Records Patient data is stored on Ethereum using smart contracts. Every update creates a verifiable, immutable transaction block.
🫁 X-Ray Lung Diagnosis Doctors upload chest X-rays; a TensorFlow pre-trained model predicts COVID-19, tuberculosis, or pneumonia in seconds.
🧠 Mental Health Test Patients take a guided quiz to assess their mental wellbeing, then receive a result and curated article suggestions.
🪪 Doctor Identity Verification Doctors verify their real identity using a national card ID processed through the Nanonets AI OCR API before they can register.
🤳 Multi-Mode Authentication Three login options: LinkedIn OAuth, username/password, or Face ID (TensorFlow deep learning model).
📰 Blogs & Web Scraping Search Doctors publish articles; an integrated web scraping engine lets users search for external medical content by keyword.
🛒 Paramedical E-Shop ML-based patient behavioral analysis drives personalized product recommendations.
🎙️ AI Voice Assistant ALAN SDK integration lets users navigate the platform entirely by voice commands.
💳 Integrated Payments Stripe API handles doctor subscription plans and patient service payments.

🚀 Tech Stack


Layer Technology Version
Frontend React.js v18
Backend API Node.js + Express.js Node v16.13.1 / Express v4.17.1
AI/ML Microservices Python + Flask Flask v2.1
Database MongoDB v5.9.1
Blockchain Ethereum Smart Contracts
Face Recognition TensorFlow (pre-trained deep learning model)
ID Card OCR Nanonets AI API
Chatbot (Symptoms + Appointments) Dialogflow
X-Ray Diagnosis TensorFlow (pre-trained model)
Maps & Location Google Maps API
Voice Assistant ALAN SDK
Payments Stripe API
OAuth LinkedIn OAuth
Languages JavaScript, Python, HTML5, CSS

📐 Architecture

Technical Architecture Diagram

The platform follows a microservices-inspired MERN architecture:

  • The React.js frontend communicates with the Node/Express REST API for core operations.
  • AI features run as independent Flask microservices (symptom detection, face recognition, X-ray diagnosis, OCR, behavioral analysis).
  • MongoDB stores application data users, appointments, blogs, shop inventory.
  • Ethereum smart contracts handle patient medical records with immutability and permission-based access control.

✅ Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/ahlem-phantom/AI-HealthCare-Assistant.git
    cd AI-HealthCare-Assistant
  2. Install Node.js dependencies

    npm install
    # or
    yarn install
  3. Install Python dependencies (for AI services)

    pip install -r requirements.txt
  4. Configure environment variables

    Create a .env file in the root directory:

    MONGO_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret
    PORT=5000
    STRIPE_SECRET_KEY=your_stripe_key
    GOOGLE_MAPS_API_KEY=your_maps_key
    DIALOGFLOW_PROJECT_ID=your_dialogflow_project_id
    NANONETS_API_KEY=your_nanonets_key
  5. Start the main development server

    npm run development
  6. Start Flask AI microservices (in a separate terminal)

    cd py-side
    flask run
  7. Open the app at http://localhost:3000 🎉


🔄 How It Works

For Patients

  1. Select Role — choose "Patient" at the landing screen.
  2. Register & Log In — via username/password or LinkedIn OAuth.
  3. Describe Symptoms — chat with the Dialogflow AI bot; receive a specialist recommendation.
  4. Mental Health Check — take the guided quiz and get personalized article suggestions.
  5. Book an Appointment — schedule with the nearest or first-available doctor via the chatbot and Google Maps.
  6. Medical Records — your records are securely stored on the blockchain; grant selective access to your chosen doctors.

For Doctors

  1. Verify Identity — upload your national card ID; Nanonets OCR confirms authenticity in real time.
  2. Register Face ID — enroll your face using the TensorFlow model for future biometric logins.
  3. Choose a Plan & Pay — select a subscription tier and complete payment via Stripe.
  4. Log In — use LinkedIn OAuth, username/password, or a live Face ID camera scan.
  5. Use the Dashboard — manage appointments, write blogs, run X-ray lung diagnoses (COVID / TB / pneumonia), and access patient records via blockchain with granted permission.

📸 Screenshots

Choose a role
1. Choose a Role
FaceID Login
2. Face ID Login
CardID Verification
3. Card ID Verification
CardID Success
4. Verification Success
Blog List
5. Blog & Forum
Web Scraping
6. Web Scraping Search
Appointments
7. Appointments List
Symptoms Detection
8. Symptom Selection
Suggestions
9. AI Specialist Suggestions
More Suggestions
10. Chatbot Recommendations

🗺️ Roadmap

  • [x] Phase 1 — Study & Prototyping

    • Problem definition, state of the art & competitive analysis
    • Feasibility study, wireframes
  • [x] Phase 2 — Design & Initial Build

    • Data model & physical/logical architecture design
    • Static frontend + first Node.js components
  • [x] Phase 3.1 — Feature Implementation (V1)

    • Full backend REST API
    • Frontend integration with all services
    • Core AI modules: symptom detection, face ID, OCR verification
  • [x] Phase 3.2 — Finalization & Deployment (V2)

    • X-ray diagnosis, mental health test, blockchain records
    • Final integration, system testing & deployment
  • [ ] v3 — Coming Soon


🔮 Upcoming: Version 3

We're actively working on the next major release:

  • 🎨 Redesigned UI/UX with a modern design system
  • ⚡ Migration from Node.js backend to FastAPI
  • 🤖 Integration of LLM models for smarter symptom analysis and conversational AI
  • 🧪 Full CI/CD pipeline for automated testing & deployment
  • 📦 All libraries and dependencies upgraded to latest stable versions
  • 🏗️ Scalable, cloud-ready architecture

🏆 Achievements

🎖️ NearestDoctor was selected among dozens of projects to participate in the 9th Edition Ceremony of Best Engineering Projects of 2022 at Esprit School of Engineering, Tunisia.

NearestDoctor Logo

🤝 Contributing

Contributions are welcome! Here's how to get started:

  1. Fork the project
  2. Create your feature branch
    git checkout -b feature/AmazingFeature
  3. Commit your changes
    git commit -m "Add AmazingFeature"
  4. Push to the branch
    git push origin feature/AmazingFeature
  5. Open a Pull Request

See open issues for ideas and known bugs. Don't forget to ⭐ star the project if you find it useful!


👥 Team

Built with 💕 by AlphaCoders 5 engineering students from Esprit School of Engineering, Tunisia.

Project Mentor: [email protected]


Ahlem Laajili

Skander Turki

Syrine Zahras

Hichem Ben Zammal

Nesrine Ben Mahmoud

⚠️ Deprecation Notice

Important: This project was built in 2022 and several of its core libraries and dependencies are now outdated or deprecated. The codebase across all four modules react-app/, server/, py side/, and blockchain/ requires updates before it can be safely run in a modern environment.

Known areas that need attention:

  • React: project uses an older setup; migration to current React + Vite recommended, update of deprecated dependencies
  • Node.js / Express: dependencies likely have known CVEs; run npm audit and update
  • Python / Flask: AI service dependencies (TensorFlow, OpenCV, etc.) need version pinning and updates.

A full dependency refresh is planned as part of v3. Contributions to modernize the stack are very welcome, see Contributing.


🙌 Acknowledgments


Made with 💕 by AlphaCoders · Esprit School of Engineering · Tunisia · 2022

⬆ Back to top

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for AI-HealthCare-Assistant

Similar Open Source Tools

For similar tasks

For similar jobs