- Overview
- Key Features
- Technologies Used
- Getting Started
- Installation
- Usage
- Demo
- Technical Demo
- Screenshots
- Contributing
- License
- Acknowledgments
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.
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.
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.
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.
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.
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.
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.
- Frontend: React
- Backend: FastAPI
- Database: SQLite
- AI Integration: Google Gemini
- Authorization: OPAL (Open Policy Administration Layer)
- Containerization: Docker
- Authentication: JWT (JSON Web Tokens)
To get started with CarePlus, you'll need to set up both the frontend and backend components of the application.
git clone https://github.com/rajesh-adk-137/CarePlus.git
-
Navigate to the frontend directory:
cd CarePlus/frontend
-
Install dependencies:
yarn install
-
Start the development server:
yarn run dev
-
Ensure you have Docker installed on your system and RUNNING. Windows users may install Docker Desktop.
-
Navigate to the backend directory:
cd CarePlus/backend
-
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
-
-
-
Initialize Policies folder as a Git repository (For Opal configuration):
cd policies git init git add . git commit -m "Initial commit" cd ..
-
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. -
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
- Access the frontend application by opening your browser and navigating to
http://localhost:5173
. - Sign up as either a patient or a doctor.
- Log in to access the features specific to your role.
- For patients:
- Submit symptoms and receive AI-powered analysis and advice.
- View doctor recommendations based on your symptoms.
- For doctors:
- Create and manage your professional profile.
- Patient can contact you through the public email you added in your profile.
CarePlus_demo.mp4
CarePlus_technical.mp4
We welcome contributions to CarePlus! If you'd like to contribute, please follow these steps:
-
Fork the repository
-
Create your feature branch:
git checkout -b feature/AmazingFeature
-
Commit your changes:
git commit -m 'Add some AmazingFeature'
-
Push to the branch:
git push origin feature/AmazingFeature
-
Open a Pull Request
This project is licensed under the MIT License.
- Google Gemini API for AI-powered symptom analysis
- React for the frontend framework
- FastAPI for the backend framework
- OPAL for dynamic access control
- Docker for containerization
- SQLite for the database