AI-Powered Healthcare Assistant for Symptom Analysis & Medical Guidance
SymptoGuide is an intelligent healthcare assistance system that helps users understand and categorize their symptoms, providing preliminary assessments and guiding them toward appropriate medical experts or hospitals.
Community Connection Challenge - The Local Services Trust Problem
Develop an intelligent healthcare assistance system that:
- โ Helps users understand and categorize their symptoms
- โ Provides preliminary, non-diagnostic assessments
- โ Guides users toward appropriate medical experts or hospitals
- โ Identifies emergency indicators and concern areas
- โ Recommends departments and specialists
โ ๏ธ Disclaimer: This system does NOT replace professional medical diagnosis. Always consult a healthcare provider for medical advice.
SymptoGuide combines Machine Learning and Natural Language Processing to:
- ๐ฃ๏ธ Accept natural language symptom descriptions - "I have a bad headache and feeling very tired"
- ๐ Extract and identify symptoms using NLP with 100+ phrase mappings
- ๐ค Predict potential conditions using an ensemble ML model (Random Forest + Gradient Boosting + SVM)
- ๐ Assess severity levels and identify emergency indicators
- ๐ Provide recommendations including specialists, medications, diet, and precautions
- ๐ฅ Connect users to nearby hospitals and appropriate departments
- Natural language processing for symptom extraction
- Support for 230+ medical symptoms
- Intelligent phrase matching ("chest pain", "difficulty breathing", etc.)
- Ensemble machine learning model with 95%+ accuracy
- Top-3 disease predictions with confidence scores
- Confidence level indicators (High/Medium/Low)
- Automatic identification of red-flag symptoms
- Emergency severity scoring
- Urgent care recommendations
- Specialist recommendations based on predicted condition
- Personalized precautions and medications
- Diet and workout suggestions
- Nearby hospital finder
- Step-by-step symptom checker wizard
- Real-time symptom extraction preview
- Beautiful, responsive design
- Dark/Light mode support
| Technology | Purpose |
|---|---|
| โ๏ธ React 18 | UI Framework |
| ๐ TypeScript | Type Safety |
| โก Vite | Build Tool |
| ๐จ Tailwind CSS | Styling |
| ๐งฉ Shadcn/UI | Component Library |
| ๐ React Query | Data Fetching |
| ๐งญ React Router | Navigation |
| ๐ Recharts | Data Visualization |
| Technology | Purpose |
|---|---|
| ๐ Python 3.10+ | Core Language |
| ๐ Flask | REST API Framework |
| ๐ค Scikit-learn | Machine Learning |
| ๐ข Pandas & NumPy | Data Processing |
| ๐ NLTK | Natural Language Processing |
| ๐ฆ Pickle | Model Serialization |
| Component | Details |
|---|---|
| ๐ฒ Algorithm | Ensemble (Random Forest + Extra Trees + Gradient Boosting + KNN + SVM) |
| ๐ Features | 230 binary symptom features |
| ๐ท๏ธ Classes | 40+ disease categories |
| ๐ Accuracy | 95%+ on test data |
SymptoGuide/
โโโ ๐ backend/
โ โโโ ๐ app.py # Flask API server
โ โโโ ๐ requirements.txt # Python dependencies
โ โโโ ๐ฆ healthcare_model.pkl # Trained ML model
โ โโโ ๐ data/
โ โ โโโ ๐ cleaned_datasets/ # Processed data files
โ โ โ โโโ diseases_symptoms_cleaned.csv
โ โ โ โโโ symptom_severity_cleaned.csv
โ โ โ โโโ medications_cleaned.csv
โ โ โ โโโ precautions_cleaned.csv
โ โ โ โโโ diets_cleaned.csv
โ โ โ โโโ ...
โ โ โโโ ๐ raw_data/ # Original datasets
โ โโโ ๐ model/
โ โโโ ๐ Healthcare_Assistant_System.py # Core ML model
โ โโโ ๐ Interract.py # CLI & NLP extraction
โ โโโ ๐ Feature_Engineering.py # Feature processing
โ โโโ ๐ Complete_data_clean.py # Data preprocessing
โ
โโโ ๐ frontend/
โ โโโ ๐ package.json # Node dependencies
โ โโโ ๐ vite.config.ts # Vite configuration
โ โโโ ๐ tailwind.config.ts # Tailwind CSS config
โ โโโ ๐ src/
โ โโโ ๐ App.tsx # Main App component
โ โโโ ๐ pages/
โ โ โโโ ๐ Index.tsx # Landing page
โ โ โโโ ๐ SymptomChecker.tsx # Symptom input wizard
โ โ โโโ ๐ Results.tsx # Analysis results
โ โ โโโ ๐ Hospitals.tsx # Hospital finder
โ โ โโโ ๐ Specialists.tsx # Specialist directory
โ โโโ ๐ components/ # Reusable UI components
โ โโโ ๐ services/
โ โ โโโ ๐ api.ts # Backend API client
โ โโโ ๐ data/
โ โโโ ๐ mockData.ts # Fallback data
โ
โโโ ๐ README.md
โโโ ๐ LICENSE
โโโ ๐ package.json
| Requirement | Version |
|---|---|
| ๐ Python | 3.10+ |
| ๐ฆ Node.js | 18+ |
| ๐ฆ npm/bun | Latest |
git clone https://github.com/ParthShikhare19/SymptoGuide.git
cd SymptoGuidecd backend
# Create virtual environment (recommended)
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/Mac
# Install dependencies
pip install -r requirements.txt
# Download NLTK data (first time only)
python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords'); nltk.download('wordnet')"cd frontend
# Install dependencies
npm install
# or
bun installcd backend
python app.pyThe API will be available at http://localhost:5000
cd frontend
npm run dev
# or
bun devThe app will be available at http://localhost:5173
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/health |
Health check |
GET |
/api/symptoms |
Get all available symptoms |
GET |
/api/symptom-keywords |
Get symptom keywords for NLP |
POST |
/api/analyze |
Analyze symptoms (ML-powered) |
POST |
/api/assess |
Simple triage assessment |
POST |
/api/extract-symptoms |
Extract symptoms from text |
curl -X POST http://localhost:5000/api/analyze \
-H "Content-Type: application/json" \
-d '{
"symptoms": ["fever", "headache", "fatigue"],
"description": "I have been feeling very tired with high fever",
"severity": "moderate",
"duration": "3-7 days"
}'You can test the model directly from the command line:
cd backend/model
python Interract.pyThen enter symptoms naturally:
๐ฃ๏ธ Describe how you're feeling: I have a bad headache, fever and feeling very tired
โ
Identified 3 symptom(s):
1. Headache
2. High Fever
3. Fatigue
Predicted Disease: Typhoid
Confidence: 87.3%
Recommended Specialist: Infectious Disease Specialist
| Dataset | Description | Records |
|---|---|---|
diseases_symptoms_cleaned.csv |
Disease-symptom mappings | 4,920 |
symptom_severity_cleaned.csv |
Symptom severity weights | 133 |
disease_description_cleaned.csv |
Disease descriptions | 41 |
precautions_cleaned.csv |
Disease precautions | 41 |
medications_cleaned.csv |
Recommended medications | 41 |
diets_cleaned.csv |
Diet recommendations | 41 |
workouts_cleaned.csv |
Workout recommendations | 41 |
- ๐ Multi-language support
- ๐ฑ Mobile app (React Native)
- ๐บ๏ธ Real-time hospital mapping with Google Maps API
- ๐ Telemedicine integration
- ๐ User health history tracking
- ๐ Symptom progression alerts
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
![]() Chetan Chaudhari |
![]() Nischay Chavan |
![]() Parth Shikhare |
![]() Tanvi Patil |
Made with โค๏ธ for better healthcare accessibility
โญ Star this repo โข ๐ Report Bug โข โจ Request Feature



