diff --git a/README.md b/README.md index f3e02b8..3b36169 100644 --- a/README.md +++ b/README.md @@ -1 +1,396 @@ -MedCareDoctorPatient +# MedCare ๐ฅ๐ป๐ค + +*A Full-Stack Medical Healthcare Application with AI-Powered Diagnostics and Role-Based Access Control* + +--- + +## ๐ Description + +**MedCare** is a comprehensive healthcare platform that connects patients with verified doctors through a modern web interface enhanced with cutting-edge AI technology. Our platform leverages **Groq AI** and **LLaMA models** to provide intelligent symptom analysis, preliminary diagnostics, and treatment recommendations, while maintaining secure appointment booking, medical record management, and consultation services with role-based access control. + +Whether you're a patient seeking AI-enhanced healthcare insights or a doctor utilizing advanced AI tools for better patient care, MedCare offers an intuitive, secure, and intelligent platform for all your healthcare needs. + +## โจ Key Features + +### ๐ค **AI-Powered Healthcare Intelligence** +- **Groq AI Integration**: Ultra-fast AI inference for real-time medical analysis +- **LLaMA Model Support**: Advanced language models for medical text understanding +- **Intelligent Symptom Checker**: AI-powered preliminary diagnosis based on symptoms +- **Medical Report Analysis**: Automated analysis of uploaded medical documents +- **Treatment Recommendations**: AI-generated treatment suggestions for doctors +- **Drug Interaction Checker**: AI-powered medication safety analysis +- **Medical Literature Search**: AI-enhanced search through medical databases + +### ๐จโโ๏ธ **For Doctors (AI-Enhanced)** +- **AI Diagnostic Assistant**: Get AI-powered insights for patient diagnosis +- **Patient Management**: View and manage assigned patients with AI-generated summaries +- **Medical Records Review**: AI-enhanced analysis of patient medical records +- **Diagnosis Notes**: Create comprehensive diagnosis records with AI suggestions +- **Appointment Management**: AI-optimized scheduling and patient prioritization +- **Professional Profile**: Manage credentials, specializations, and consultation fees +- **Clinical Decision Support**: AI-powered treatment recommendations + +### ๐ฅ **For Patients (AI-Powered)** +- **AI Symptom Checker**: Get preliminary AI analysis of your symptoms +- **Smart Appointment Booking**: AI-recommended doctor matching based on symptoms +- **Medical Records Upload**: AI-powered document analysis and categorization +- **Appointment History**: Track appointments with AI-generated health insights +- **Secure Payments**: Process consultation fees through integrated payment system +- **Health Insights**: AI-powered health trend analysis and recommendations +- **Medication Reminders**: AI-optimized medication scheduling + +### ๐ **Security & Authentication** +- JWT-based authentication with role-based access control +- Secure password hashing with bcrypt +- Protected routes based on user roles +- Session management with token refresh +- HIPAA-compliant data handling for AI processing + +### ๐พ **Data Management & AI Processing** +- MongoDB integration for scalable data storage +- File upload to AWS S3 with secure access +- Email notifications via AWS SES +- Stripe payment processing integration +- **Groq AI API** for lightning-fast inference +- **LLaMA model deployment** for advanced medical NLP +- Secure AI data processing with privacy protection + +## ๐ ๏ธ Tech Stack + +### Frontend +| Technology | Purpose | +|------------|---------| +| **React 18** | Modern UI framework with hooks | +| **TypeScript** | Type-safe development | +| **Tailwind CSS** | Utility-first CSS framework | +| **React Router** | Client-side routing | +| **Lucide React** | Beautiful icon library | +| **Vite** | Fast build tool and dev server | + +### Backend +| Technology | Purpose | +|------------|---------| +| **FastAPI** | High-performance Python web framework | +| **MongoDB** | NoSQL database with Motor async driver | +| **JWT** | Secure authentication tokens | +| **AWS S3** | File storage and management | +| **AWS SES** | Email notification service | +| **Stripe** | Payment processing | +| **bcrypt** | Password hashing | + +### AI & Machine Learning +| Technology | Purpose | +|------------|---------| +| **Groq AI** | Ultra-fast AI inference engine | +| **LLaMA Models** | Advanced language models for medical NLP | +| **Transformers** | Hugging Face transformers for model deployment | +| **OpenAI API** | Additional AI capabilities (optional) | +| **scikit-learn** | Traditional ML algorithms for health analytics | +| **pandas** | Data processing for AI model inputs | + +## ๐ค AI Integration Details + +### Groq AI Implementation +- **Real-time Inference**: Sub-second response times for medical queries +- **Symptom Analysis**: Instant preliminary diagnosis suggestions +- **Medical Text Processing**: Fast analysis of patient reports and notes +- **Drug Interaction Checking**: Rapid medication safety verification + +### LLaMA Model Applications +- **Medical Literature Understanding**: Advanced comprehension of medical texts +- **Patient Communication**: Natural language processing for patient queries +- **Clinical Note Generation**: AI-assisted medical documentation +- **Treatment Planning**: Intelligent treatment recommendation generation + +### AI Workflow +``` +Patient Input โ Groq AI Processing โ LLaMA Analysis โ Medical Insights โ Doctor Review +``` + +## ๐ธ Screenshots + +### AI Symptom Checker + + +### AI-Enhanced Doctor Dashboard + + +### Landing Page + + +### Patient Dashboard + + +### Appointment Booking + + +### Medical Records with AI Analysis + + +## ๐ Setup Instructions + +### Prerequisites +- Node.js 18+ and npm +- Python 3.10+ +- MongoDB (local or Atlas) +- AWS Account (for S3 and SES) +- Stripe Account (for payments) +- **Groq AI API Key** +- **Hugging Face Account** (for LLaMA models) + +### Frontend Setup + +1. **Install dependencies** + ```bash + npm install + ``` + +2. **Start development server** + ```bash + npm run dev + ``` + +3. **Access the application** + - Open your browser and go to `http://localhost:5173` + +### Backend Setup + +1. **Navigate to backend directory** + ```bash + cd backend + ``` + +2. **Create virtual environment** + ```bash + python -m venv venv + source venv/bin/activate # On Windows: venv\Scripts\activate + ``` + +3. **Install dependencies** + ```bash + pip install -r requirements.txt + ``` + +4. **Install AI dependencies** + ```bash + pip install groq transformers torch huggingface-hub + ``` + +5. **Set up environment variables** + - Copy `backend/.env.example` to `backend/.env` + - Fill in your API keys and configuration (including AI keys) + +6. **Run the backend server** + ```bash + python main.py + ``` + +7. **API Documentation** + - Swagger UI: `http://localhost:8000/docs` + - ReDoc: `http://localhost:8000/redoc` + +## ๐ Environment Variables + +### Backend (.env) +```env +# Database +DATABASE_URL=mongodb://localhost:27017 +DATABASE_NAME=medcare + +# JWT Authentication +SECRET_KEY=your-super-secret-jwt-key-here +ALGORITHM=HS256 +ACCESS_TOKEN_EXPIRE_MINUTES=30 + +# Stripe Configuration +STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key_here +STRIPE_PUBLISHABLE_KEY=pk_test_your_stripe_publishable_key_here +STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret_here + +# AWS Configuration +AWS_ACCESS_KEY_ID=your_aws_access_key_id +AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key +AWS_REGION=us-east-1 +AWS_S3_BUCKET_NAME=medcare-files +FROM_EMAIL=noreply@yourdomain.com + +# AI Configuration +GROQ_API_KEY=your_groq_api_key_here +HUGGINGFACE_API_TOKEN=your_huggingface_token_here +LLAMA_MODEL_NAME=meta-llama/Llama-2-7b-chat-hf +OPENAI_API_KEY=your_openai_key_here # Optional + +# Application Settings +CORS_ORIGINS=http://localhost:3000,http://localhost:5173 +``` + +### How to Get AI API Keys: + +1. **Groq AI**: Sign up at [Groq Console](https://console.groq.com) for ultra-fast inference +2. **Hugging Face**: Create account at [Hugging Face](https://huggingface.co) for LLaMA models +3. **MongoDB**: Sign up at [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) +4. **Stripe**: Create account at [Stripe Dashboard](https://dashboard.stripe.com) +5. **AWS S3 & SES**: Set up at [AWS Console](https://console.aws.amazon.com) + +## ๐ Project Structure + +``` +medcare/ +โโโ src/ # Frontend React application +โ โโโ components/ # React components +โ โ โโโ auth/ # Authentication components +โ โ โโโ patient/ # Patient-specific components +โ โ โโโ doctor/ # Doctor-specific components +โ โ โโโ ai/ # AI-powered components +โ โ โโโ ui/ # Reusable UI components +โ โโโ contexts/ # React contexts (Auth, AI, etc.) +โ โโโ main.tsx # Application entry point +โโโ +โโโ backend/ # FastAPI backend +โ โโโ routes/ # API route handlers +โ โ โโโ patient.py # Patient endpoints +โ โ โโโ doctor.py # Doctor endpoints +โ โ โโโ ai.py # AI-powered endpoints +โ โโโ auth/ # Authentication logic +โ โโโ services/ # External service integrations +โ โ โโโ stripe.py # Payment processing +โ โ โโโ s3.py # File storage +โ โ โโโ ses.py # Email service +โ โ โโโ groq_ai.py # Groq AI integration +โ โ โโโ llama_service.py # LLaMA model service +โ โโโ models/ # Data models +โ โโโ ai/ # AI model configurations +โ โโโ database.py # Database operations +โ โโโ main.py # FastAPI application +โโโ +โโโ package.json # Frontend dependencies +โโโ tailwind.config.js # Tailwind CSS configuration +โโโ vite.config.ts # Vite build configuration +โโโ README.md # This file +``` + +## ๐ฎ API Endpoints + +### Authentication +- `POST /api/auth/register` - Register new user +- `POST /api/auth/login` - User login +- `GET /api/auth/me` - Get current user + +### AI-Powered Endpoints +- `POST /api/ai/symptom-check` - AI symptom analysis +- `POST /api/ai/analyze-report` - AI medical report analysis +- `POST /api/ai/drug-interaction` - AI drug interaction check +- `GET /api/ai/health-insights` - AI-generated health insights +- `POST /api/ai/treatment-suggestions` - AI treatment recommendations + +### Patient Endpoints +- `GET /api/patient/profile` - Get patient profile +- `PUT /api/patient/profile` - Update patient profile +- `POST /api/patient/upload-medical-record` - Upload medical record +- `GET /api/patient/medical-records` - Get patient's records +- `GET /api/patient/doctors` - Get AI-recommended doctors +- `POST /api/patient/book-appointment` - Book appointment +- `GET /api/patient/appointments` - Get patient appointments + +### Doctor Endpoints +- `GET /api/doctor/profile` - Get doctor profile +- `PUT /api/doctor/profile` - Update doctor profile +- `GET /api/doctor/patients` - Get assigned patients +- `GET /api/doctor/medical-records` - Get patient records with AI insights +- `POST /api/doctor/diagnosis` - Create AI-enhanced diagnosis +- `GET /api/doctor/appointments` - Get doctor appointments + +## ๐งช Demo Accounts + +### Patient Account +- **Email**: `patient@demo.com` +- **Password**: `password` + +### Doctor Account +- **Email**: `doctor@demo.com` +- **Password**: `password` + +## ๐ค AI Model Information + +### Groq AI Features +- **Speed**: Sub-second inference times +- **Accuracy**: High-precision medical analysis +- **Scalability**: Handles multiple concurrent requests +- **Cost-Effective**: Optimized pricing for healthcare applications + +### LLaMA Model Capabilities +- **Medical NLP**: Specialized in healthcare language understanding +- **Multilingual**: Support for multiple languages +- **Context Awareness**: Understanding of medical context and terminology +- **Privacy-Focused**: Can be deployed locally for sensitive data + +## ๐ Security Features + +- **Authentication**: JWT tokens with role-based access +- **Data Protection**: Encrypted passwords with bcrypt +- **File Security**: Secure S3 uploads with signed URLs +- **Input Validation**: Comprehensive data validation +- **CORS Protection**: Configured for secure cross-origin requests +- **AI Privacy**: Secure AI processing with data anonymization +- **HIPAA Compliance**: Healthcare data protection standards + +## ๐ Deployment + +### Frontend (Netlify/Vercel) +```bash +npm run build +# Deploy dist/ folder to your hosting provider +``` + +### Backend (Production) +```bash +# Using gunicorn for production +pip install gunicorn +gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 +``` + +### AI Model Deployment +```bash +# For local LLaMA deployment +python -m transformers.models.llama.convert_llama_weights_to_hf \ + --input_dir /path/to/llama/weights \ + --model_size 7B \ + --output_dir ./models/llama-7b-hf +``` + +## ๐ค Contributing + +1. Fork the repository +2. Create a feature branch (`git checkout -b feature/amazing-ai-feature`) +3. Commit your changes (`git commit -m 'Add amazing AI feature'`) +4. Push to the branch (`git push origin feature/amazing-ai-feature`) +5. Open a Pull Request + +## ๐ License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +## ๐ Support + +For support and questions: +- Create an issue in the repository +- Check the API documentation at `/docs` +- Review the AI model documentation +- Check Groq AI documentation for inference optimization + +--- + +