/CarePlus

Primary LanguageJavaScriptMIT LicenseMIT


CarePlus: AI-Powered Healthcare Management System

Watchers Forks Star

Issues Open Pull Request

License

Table of Contents

Overview

CarePlus is an innovative AI-powered healthcare management system designed to bridge the gap between patients and healthcare providers. By leveraging advanced technologies such as Google Gemini AI for symptom analysis and OPAL (Open Policy Administration Layer) for dynamic access control, CarePlus offers a comprehensive solution for personalized medical advice and efficient doctor-patient connections. The system caters to both patients seeking immediate health guidance and doctors looking to manage their professional profiles, all within a secure and policy-driven environment. With its user-friendly interface built on React and a robust FastAPI backend, CarePlus aims to revolutionize healthcare accessibility and management in the digital age.

Key Features

AI-Powered Symptom Analysis and Severity Assessment

CarePlus leverages Google Gemini AI to analyze patient-reported symptoms, considering factors like age, gender, symptoms, duration and discomfort level. The AI provides a comprehensive assessment, including potential causes, severity classification (mild, severe, or extreme), and tailored advice. This feature offers patients quick, preliminary insights into their health status, aiding in informed decision-making about seeking further medical attention.

Dynamic Access Control with OPAL Integration

CarePlus integrates OPAL (Open Policy Administration Layer) for real-time, context-aware access control. This system enables dynamic adjustment of user access based on roles, symptom severity, and current policies, without requiring application restarts. For example, OPAL controls which components (like immediate remedies or doctor recommendations) are accessible to users based on their condition's severity, ensuring appropriate management of sensitive information and critical actions.

Personalized Healthcare Recommendations

Based on AI analysis and severity assessment, CarePlus offers personalized healthcare advice. For mild cases, it suggests immediate remedies and home care. Severe cases receive more comprehensive guidance and connections to medical professionals. Extreme cases prompt urgent care instructions. This tiered approach ensures users receive appropriate care guidance for their specific situation.

Intelligent Doctor-Patient Matching

CarePlus features a system that matches patients with healthcare providers based on symptom nature and severity. It maintains detailed doctor profiles and highlights professionals whose expertise aligns with patient needs. This intelligent matching streamlines the healthcare-seeking experience, potentially reducing time to treatment and improving patient outcomes.

Comprehensive Doctor Profile Management

Healthcare professionals can create and manage detailed profiles within CarePlus, including specializations and qualifications. Doctors can specify their field of expertise, upload profile pictures, and provide contact information. This feature facilitates accurate doctor-patient matching and builds patient confidence in healthcare provider credentials.

Secure and Role-Based User Authentication

CarePlus implements robust authentication, distinguishing between patient and doctor roles from signup. Combined with OPAL's policy enforcement, this ensures users access only relevant features and information. For instance, doctors can manage profiles and get messages in their public email, while patients submit symptoms and receive personalized advice. This approach enhances platform security and provides a tailored user experience.

Technologies Used

  • Frontend: React
  • Backend: FastAPI
  • Database: SQLite
  • AI Integration: Google Gemini
  • Authorization: OPAL (Open Policy Administration Layer)
  • Containerization: Docker
  • Authentication: JWT (JSON Web Tokens)

Getting Started

To get started with CarePlus, you'll need to set up both the frontend and backend components of the application.

Installation

Clone the Repository

git clone https://github.com/rajesh-adk-137/CarePlus.git

Frontend Setup

  1. Navigate to the frontend directory:

    cd CarePlus/frontend
  2. Install dependencies:

    yarn install
  3. Start the development server:

    yarn run dev

Backend Setup

  1. Ensure you have Docker installed on your system and RUNNING. Windows users may install Docker Desktop.

  2. Navigate to the backend directory:

    cd CarePlus/backend
  3. Setting up a virtual environment (recommended):

    • Install virtualenv:

      pip install virtualenv
    • Create a virtual environment:

      virtualenv venv
    • Activate the virtual environment:

      • On Windows:

        venv\Scripts\activate
      • On macOS and Linux:

        source venv/bin/activate
  4. Initialize Policies folder as a Git repository (For Opal configuration):

    cd policies
    git init
    git add .
    git commit -m "Initial commit"
    cd ..
  5. Create a .env file in the backend directory with the following content:

    DATABASE_URL=sqlite:///./test.db
    SECRET_KEY=thiswillalsowork
    OPAL_SERVER_URL=http://opal_server:7002
    OPA_SERVER_URL=http://opa:8181
    API_KEY=YOUR_GEMINI_API_KEY
    

    Replace YOUR_GEMINI_API_KEY with your actual Gemini API key.

  6. Build and start the Docker containers from backend directory (this may take a few minutes):

    docker compose up --build

    For subsequent runs, you can simply use:

    docker compose up

    To stop the containers:

    docker compose down

Usage

  1. Access the frontend application by opening your browser and navigating to http://localhost:5173.
  2. Sign up as either a patient or a doctor.
  3. Log in to access the features specific to your role.
  4. For patients:
    • Submit symptoms and receive AI-powered analysis and advice.
    • View doctor recommendations based on your symptoms.
  5. For doctors:
    • Create and manage your professional profile.
    • Patient can contact you through the public email you added in your profile.

Demo

CarePlus_demo.mp4

Technical Demo

CarePlus_technical.mp4

Screenshots

Landing Page: landing_page about Page: about_page

about app: about_app

response for mild cases: response_for_mild_case

response for severe cases: response_for_severe_case

response for extreme cases: response_for_extreme_case

doctor card: doctor_card

illness form: illness_form

doctor form: doctor_form

Contributing

We welcome contributions to CarePlus! If you'd like to contribute, please follow these steps:

  1. Fork the repository

  2. Create your feature branch:

    git checkout -b feature/AmazingFeature
  3. Commit your changes:

    git commit -m 'Add some AmazingFeature'
  4. Push to the branch:

    git push origin feature/AmazingFeature
  5. Open a Pull Request

License

This project is licensed under the MIT License.

Acknowledgments