Rural Healthcare Telemedicine MVP - Nabha
π Live Demo
π Try the Application
π± Demo Credentials
Phone: 9876543210
Password: demo123
π₯ Project Overview
A telemedicine platform designed to address healthcare accessibility challenges in Nabha and surrounding rural areas of Punjab, India. This MVP provides video consultations, digital health records, medicine availability tracking, and offline capabilities optimized for low-bandwidth rural environments.
Problem Statement (ID: 25018)
- Organization: Government of Punjab, Department of Higher Education
- Category: Software (MedTech/BioTech/HealthTech)
- Target: 173 villages served by understaffed Nabha Civil Hospital
π― Key Features
Core MVP Features
- Multi-lingual Support - Punjabi, Hindi, and English interfaces
- Video Consultations - Low-bandwidth optimized telemedicine
- Digital Health Records - Offline-capable patient records
- Medicine Tracker - Real-time pharmacy inventory
- AI Symptom Checker - Rule-based health assessment
- Offline Mode - Works without constant internet
ποΈ Project Structure
rural-healthcare-mvp/
βββ .github/
β βββ workflows/
β βββ deploy.yml # GitHub Actions CI/CD
βββ backend/
β βββ src/
β β βββ config/
β β β βββ database.js # Database configuration
β β βββ controllers/ # Request handlers
β β βββ middleware/
β β β βββ auth.js # JWT authentication
β β β βββ errorHandler.js
β β β βββ rateLimiter.js
β β βββ models/
β β β βββ User.js # User model with auth
β β βββ routes/
β β β βββ auth.routes.js
β β β βββ consultation.routes.js
β β β βββ medicine.routes.js
β β β βββ record.routes.js
β β β βββ symptom.routes.js
β β βββ utils/
β β β βββ symptomData.js # AI symptom checker data
β β βββ server.js # Main server file
β βββ .env.example # Environment variables template
β βββ package.json # Backend dependencies
βββ frontend/
β βββ public/
β β βββ index.html # Main HTML file
β β βββ manifest.json # PWA manifest
β βββ src/
β β βββ components/
β β β βββ Layout/
β β β β βββ Layout.js # Main layout wrapper
β β β βββ PrivateRoute.js # Protected route component
β β βββ i18n/
β β β βββ i18n.js # Multi-language support
β β βββ pages/
β β β βββ Login.js # Login page
β β β βββ Register.js # Registration page
β β β βββ Dashboard.js # Main dashboard
β β β βββ Consultations.js
β β β βββ VideoCall.js # Video consultation
β β β βββ HealthRecords.js
β β β βββ MedicineTracker.js
β β β βββ SymptomChecker.js
β β β βββ Profile.js
β β βββ store/
β β β βββ store.js # Redux store configuration
β β βββ App.js # Main React component
β β βββ index.js # React entry point
β β βββ index.css # Global styles
β β βββ serviceWorker.js # PWA service worker
β β βββ serviceWorkerRegistration.js
β βββ package.json # Frontend dependencies
βββ database/ # SQLite database files
βββ docs/ # Additional documentation
βββ scripts/ # Utility scripts
βββ .gitignore # Git ignore file
βββ Dockerfile # Docker configuration
βββ docker-compose.yml # Docker Compose setup
βββ netlify.toml # Netlify deployment config
βββ vercel.json # Vercel deployment config
βββ README.md # Project documentation
π Quick Start
Prerequisites
- Node.js (v16+ recommended)
- npm or yarn
- Git
Installation
- Clone the repository
- Install Backend Dependencies
- Install Frontend Dependencies
cd ../frontend
npm install
- Set up environment variables
# Create .env file in backend directory
cp backend/.env.example backend/.env
# Edit with your configuration
- Initialize Database
cd backend
npm run db:init
- Start Development Servers
Backend (Terminal 1):
cd backend
npm run dev
# Server runs on http://localhost:5000
Frontend (Terminal 2):
cd frontend
npm start
# App runs on http://localhost:3000
π» Technology Stack
Backend
- Node.js - Runtime environment
- Express.js - Web framework
- SQLite - Lightweight database
- JWT - Authentication
- Socket.io - Real-time communication
- WebRTC - Video calling
Frontend
- React - UI framework
- Material-UI - Component library
- Redux Toolkit - State management
- Service Workers - Offline capabilities
- IndexedDB - Local data storage
- WebRTC - Video consultations
π± Features Implementation
1. User Registration/Login
- Phone number-based authentication
- OTP verification
- Role-based access (Patient/Doctor/Pharmacy)
2. Video Consultations
- WebRTC-based video calls
- Low-bandwidth optimization
- Call scheduling and queuing
- In-call chat and file sharing
3. Digital Health Records
- Patient medical history
- Prescription management
- Lab report uploads
- Offline sync capability
4. Medicine Availability
- Real-time inventory tracking
- Pharmacy network integration
- Alternative medicine suggestions
- Price comparison
5. AI Symptom Checker
- Multi-language symptom input
- Common rural health conditions database
- Emergency detection and alerts
- Doctor recommendation
6. Offline Functionality
- Service worker caching
- Queue-based data sync
- Local data persistence
- Automatic retry mechanisms
π API Endpoints
Authentication
POST /api/auth/register
- User registration
POST /api/auth/login
- User login
POST /api/auth/verify-otp
- OTP verification
Consultations
GET /api/consultations
- List consultations
POST /api/consultations/book
- Book appointment
GET /api/consultations/:id
- Get consultation details
POST /api/consultations/:id/join
- Join video call
Health Records
GET /api/records
- Get patient records
POST /api/records
- Create new record
PUT /api/records/:id
- Update record
GET /api/records/:id/download
- Download record
Medicine Tracker
GET /api/medicines/search
- Search medicines
GET /api/medicines/availability
- Check availability
GET /api/pharmacies/nearby
- Find nearby pharmacies
Symptom Checker
POST /api/symptoms/check
- Analyze symptoms
GET /api/symptoms/conditions
- List common conditions
π Security Considerations
- JWT-based authentication
- HTTPS enforcement in production
- Data encryption at rest
- HIPAA compliance considerations
- Regular security audits
- Input validation and sanitization
π Database Schema
Users Table
- id, phone, name, role, language, created_at
Patients Table
- id, user_id, age, gender, village, medical_history
Doctors Table
- id, user_id, specialization, license_no, hospital_id
Appointments Table
- id, patient_id, doctor_id, date_time, status, meeting_link
Health Records Table
- id, patient_id, type, data, created_by, created_at
Medicines Table
- id, name, generic_name, category, typical_price
Pharmacy Inventory Table
- id, pharmacy_id, medicine_id, quantity, price, updated_at
π’ Deployment
Local Development
Production Build
# Backend
cd backend
npm run build
# Frontend
cd frontend
npm run build
Docker Deployment
Environment Variables
Required environment variables:
DATABASE_URL
- SQLite database path
JWT_SECRET
- JWT signing secret
PORT
- Server port
NODE_ENV
- Environment (development/production)
TWILIO_ACCOUNT_SID
- For SMS OTP (optional)
TWILIO_AUTH_TOKEN
- For SMS OTP (optional)
- Lazy loading of components
- Image compression and optimization
- CDN integration for static assets
- Database query optimization
- Caching strategies
- Progressive Web App features
π§ͺ Testing
# Run backend tests
cd backend
npm test
# Run frontend tests
cd frontend
npm test
# E2E tests
npm run test:e2e
π€ Contributing
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature
)
- Commit changes (
git commit -m 'Add AmazingFeature'
)
- Push to branch (
git push origin feature/AmazingFeature
)
- Open Pull Request
π License
This project is developed for the Government of Punjab under the Department of Higher Education.
π₯ Stakeholders
- Primary: Rural patients in Nabha and 173 surrounding villages
- Secondary: Nabha Civil Hospital staff
- Tertiary: Punjab Health Department, Local pharmacies
π Success Metrics
- Number of consultations completed
- Average wait time reduction
- Medicine availability improvement
- User satisfaction scores
- System uptime and reliability
π Support
For issues and questions:
- Create an issue in the repository
- Contact the development team
- Refer to the documentation in
/docs
πΊοΈ Roadmap
Phase 1 (MVP) - Current
- Basic telemedicine functionality
- User authentication
- Simple symptom checker
Phase 2
- Advanced AI diagnosis assistance
- Integration with government health schemes
- Multi-hospital network
Phase 3
- Wearable device integration
- Predictive health analytics
- Expanded language support
Built with β€οΈ for rural healthcare accessibility in Punjab
Rural Healthcare MVP
Healthcare at your doorstep - A comprehensive telemedicine platform designed specifically for rural healthcare in the Nabha region, serving 173+ villages with limited medical infrastructure.
π Live Demo
π Live Application: https://gautamkapil9080.github.io/NEW-SIHMVP
π Source Code: https://github.com/gautamkapil9080/NEW-SIHMVP
Demo Credentials:
- Patient: Any name (e.g., βRajesh Kumarβ) + Village (e.g., βNabhaβ)
- Doctor:
demo@doctor.com
/ demo123
π Problem Statement
Rural healthcare in the Nabha region faces critical challenges:
- 173+ villages served by understaffed Nabha Civil Hospital
- Only 11 doctors available out of 23 sanctioned posts
- Patients travel long distances only to find specialists unavailable
- Medicine stock-outs at local pharmacies
- Only 31% rural households have reliable internet access
π‘ Our Solution: Complete Healthcare Ecosystem
A Progressive Web App (PWA) that provides comprehensive healthcare services optimized for rural internet connectivity and basic smartphones.
π Key Features
1. π Multilingual Interface
- Support for English, Hindi, and Punjabi
- Cultural sensitivity for rural communities
- Real-time language switching (planned)
2. πΉ Video Consultations
- Low-bandwidth optimized for rural internet via Jitsi Meet
- Real-time video/audio consultations
- Doctor-patient appointment management
- Connection quality indicators
3. π€ AI Symptom Checker
- Intelligent symptom analysis with confidence scoring
- Priority-based recommendations (Low/Medium/High/Emergency)
- Direct integration with consultation booking
- Optimized for common rural health issues
4. π Real-time Medicine Tracker
- Live pharmacy inventory across Nabha region (simulated)
- Location-based search and filtering
- Direct pharmacy contact integration
- Price comparison across vendors (planned)
5. π Digital Prescription System
- PDF generation with jsPDF
- Complete medical history access
- Doctor prescription forms with common medicines
- Downloadable and printable prescriptions
6. ποΈ Government Schemes Integration
- Ayushman Bharat PM-JAY information
- Punjab Health Scheme center locator
- Jan Aushadhi generic medicine stores
- Direct helpline integration
7. π¨ Comprehensive Emergency Services
- Multiple emergency numbers (108, 100, 101, 1070)
- GPS location sharing with emergency services
- Emergency warning signs recognition
- One-click emergency calling
π οΈ Technical Architecture
Modern Tech Stack
- Frontend: React 18 with TypeScript
- Styling: Tailwind CSS with custom components
- Database: Firebase Firestore for real-time data
- Video Calls: Jitsi Meet embedded integration
- AI Services: Mock implementation (Wrap AI ready)
- PDF Generation: jsPDF for prescriptions
- PWA: Service workers for offline functionality
- Authentication: Simple name-based for patients, email/password for doctors
Progressive Web App (PWA)
- Install on mobile devices like native app
- Offline-first architecture (planned)
- Service worker for caching (basic implementation)
- Responsive design for all screen sizes
π Expected Impact & Scalability
- 100,000+ rural residents served
- 60-70% reduction in unnecessary travel
- 3x increase in doctor availability through virtual consultations
- Real-time medicine access for 50+ pharmacies
Government-Ready Solution
- Designed for official deployment by Punjab Health Department
- Cost-effective - works on existing mobile infrastructure
- Scalable - template for other districts across India
- Secure - follows healthcare data protection standards
π Getting Started
Prerequisites
- Node.js 16+ - Download from nodejs.org
- npm (comes with Node.js)
- Git - Download from git-scm.com
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Firebase account (optional - app works offline)
π§ Quick Start (5 minutes)
- Clone the repository
git clone https://github.com/YOUR_USERNAME/rural-healthcare-mvp.git
cd rural-healthcare-mvp
- Install dependencies
This may take 2-3 minutes to download all packages
- Start the development server
Server will start on http://localhost:3000 and open automatically
- Start using the app!
- Patient Demo: Use any name + village (suggestions provided)
- Doctor Demo:
demo@doctor.com
/ demo123
π₯ Firebase Setup (Optional)
The app works completely offline using localStorage. For real-time features:
- Create Firebase project at https://console.firebase.google.com
- Enable Firestore Database
- Copy config to
src/firebase.ts
:
const firebaseConfig = {
apiKey: "your-api-key",
authDomain: "your-project.firebaseapp.com",
projectId: "your-project-id",
// ... rest of config
};
π¦ Available Commands
npm start # Start development server (http://localhost:3000)
npm test # Run tests
npm run build # Build for production
npm run eject # Eject from Create React App (not recommended)
π Troubleshooting
Port 3000 already in use?
npm install fails?
npm cache clean --force
npm install
Node.js not found?
- Install from nodejs.org
- Restart your terminal after installation
- Verify with
node --version
and npm --version
π― Demo Credentials
Doctor Login
- Email:
demo@doctor.com
- Password:
demo123
Or use any of these pre-configured doctors:
dr.sharma@nabha.gov.in
/ doctor123
dr.kaur@nabha.gov.in
/ doctor123
dr.singh@nabha.gov.in
/ doctor123
Patient Login
- Name: Any name (e.g., βJohn Doeβ)
- Village: Any village (suggestions provided)
π± How to Use
For Patients:
- Click βPatient Loginβ on the landing page
- Enter your name and village
- Describe symptoms in the symptom checker
- Review AI analysis and recommendations
- Request video consultation if needed
- Access emergency services if urgent
- View government health schemes
For Doctors:
- Click βDoctor Loginβ and use demo credentials
- View pending patient consultation requests
- Accept consultations to start video calls
- Create and generate PDF prescriptions
- Monitor patient statistics
ποΈ Project Structure
rural-healthcare-mvp/
βββ public/
β βββ index.html
β βββ manifest.json (PWA)
βββ src/
β βββ components/ # React components
β β βββ LandingPage.tsx
β β βββ PatientLogin.tsx
β β βββ DoctorLogin.tsx
β β βββ PatientDashboard.tsx
β β βββ DoctorDashboard.tsx
β β βββ PrescriptionForm.tsx
β β βββ PatientPrescriptions.tsx
β βββ contexts/ # React contexts
β β βββ AuthContext.tsx
β βββ services/ # API and utility services
β β βββ aiService.ts # AI symptom analysis
β β βββ firestoreService.ts
β β βββ prescriptionService.ts
β βββ App.tsx # Main app component
β βββ index.tsx # Entry point
β βββ index.css # Tailwind CSS
βββ tailwind.config.js # Tailwind configuration
βββ package.json
βββ README.md
π¨ Design System
Color Palette
- Primary Blue: Healthcare trust and reliability
- Secondary Green: Health and wellness
- Accent Orange: Urgency and calls-to-action
- Emergency Red: Critical alerts and emergency actions
Typography
- Clean, readable fonts optimized for rural users
- Multiple text sizes for accessibility
- High contrast for better visibility
π¨ Emergency Features
- One-click emergency calling: Direct access to 108, 100, 101, 1070
- GPS location sharing: Automatic location detection and sharing
- Emergency triage: AI identifies emergency conditions
- Hospital locator: Integration with Google Maps
π₯ Health Schemes Integration
The platform provides easy access to:
- Ayushman Bharat PM-JAY: Up to βΉ5 lakh coverage
- Punjab Health Scheme: State-specific benefits
- Jan Aushadhi: Affordable generic medicines
- Direct helpline numbers and application links
π€ AI-Powered Features
Symptom Analysis
- Pattern recognition for common rural health issues
- Confidence scoring (60-95%)
- Urgency classification
- Specialist recommendations
- Treatment suggestions
Common Conditions Covered
- Fever and infections
- Respiratory issues
- Gastrointestinal problems
- Skin conditions
- Emergency situations
- Chronic disease management
π Prescription System
Features
- Digital prescription generation
- PDF download with jsPDF
- Common medicine database
- Dosage and frequency templates
- Patient medication history
- Printable format for local pharmacies
Medicine Database
Pre-loaded with common rural healthcare medicines:
- Paracetamol, Ibuprofen
- Antibiotics (Amoxicillin, Azithromycin)
- Antacids, Antihistamines
- Diabetic medications
- Vitamins and supplements
π PWA Features (Planned Enhancement)
- Offline functionality: Core features work without internet
- App installation: Install like native mobile app
- Push notifications: Appointment reminders
- Background sync: Data synchronization when online
- Cache management: Efficient data storage
π Security & Privacy
- Data encryption: All patient data encrypted
- HIPAA compliance: Healthcare data protection
- Secure authentication: Doctor credential verification
- Privacy controls: Patient consent management
- Audit trails: Complete activity logging
π Future Enhancements
Phase 2 Features
- Multi-language voice interface
- Real-time chat during consultations
- Medicine delivery integration
- Health insurance processing
- Specialist referral system
Phase 3 Features
- IoT device integration (BP monitors, glucometers)
- AI-powered health predictions
- Community health worker dashboard
- Mobile health unit coordination
- Telemedicine kiosks in villages
π€ Contributing
This MVP was built for internal hackathon demonstration. Future contributions welcome for:
- Multi-language support implementation
- Real AI service integration
- Enhanced PWA features
- Performance optimizations
- Additional government scheme integrations
- Emergency: 108 (Ambulance), 100 (Police), 101 (Fire)
- Technical Support: support@ruralhealthcare.gov.in
- Health Schemes: 14555 (PM-JAY), 1800-180-2024 (Punjab Health)
π License
This project is designed for government deployment and public health benefit.
Built with β€οΈ for rural healthcare transformation in Punjab, India
Serving 173+ villages β’ Connecting patients with doctors β’ Healthcare at your doorstep