Skip to content

DinhNhat11/devHack2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

devHack2026 — Q-Doc Smart Vaccine System

A smart vaccine eligibility and reminder system — analyzes patient age, medical history, and risk factors to determine eligibility, detect overdue immunizations, send reminders, and answer vaccine questions via an AI assistant.

Project Structure

devHack2026/
├── backend/    # Python FastAPI — eligibility engine, patient CRUD, reminders, RAG assistant
├── web/        # React + Vite + Tailwind — clinic/admin/patient web UI
└── mobile/     # React Native + Expo — patient-facing mobile app

Prerequisites

Tool Version Notes
Python 3.9+
Node.js 18+
Tesseract OCR 5.x For PDF text extraction via OCR
Poppler latest Required by pdf2image for OCR
Expo Go latest Only needed for mobile

Install Tesseract & Poppler (Windows)

winget install UB-Mannheim.TesseractOCR
winget install oschwartz10612.Poppler

Environment Setup

Create a file at backend/.env with the following keys:

# SendGrid (email reminders)
SENDGRID_API_KEY=your_sendgrid_api_key
SENDGRID_FROM_EMAIL=your_verified_sender@example.com

# Twilio (SMS reminders)
TWILIO_ACCOUNT_SID=your_twilio_account_sid
TWILIO_AUTH_TOKEN=your_twilio_auth_token
TWILIO_MESSAGING_SERVICE_SID=your_twilio_messaging_service_sid

# HuggingFace (embedding model download)
HF_TOKEN=your_huggingface_token

# Groq (AI assistant LLM)
GROQ_API_KEY=your_groq_api_key

Get your free keys at:


Running the Project

1. Backend (Terminal 1)

cd backend

# Create and activate virtual environment
python -m venv .venv
.venv\Scripts\activate        # Windows
# source .venv/bin/activate   # macOS/Linux

# Install dependencies
pip install -r requirements.txt

# Ingest knowledge base PDFs into the vector store (run once, or after adding new PDFs)
# Place your PDF files in: backend/app/data/knowledge/
python manage.py ingest --reset

# Start the API server
uvicorn main:app --reload --port 8000

API docs: http://localhost:8000/docs

2. Web Frontend (Terminal 2)

cd web
npm install
npm run dev

App: http://localhost:3000 (or the next available port shown in the terminal)

3. Mobile (Terminal 3) — optional

cd mobile
npm install
npx expo start --tunnel

Scan the QR code with Expo Go (iOS/Android) or press w to open in browser.


Features

Web App (/web)

Route Access Description
/ Doctor Dashboard — stats, urgent patients
/patients Doctor Patient list, search, CSV import
/patients/:id Doctor Eligibility check, timeline, reminders
/reminders Doctor All system reminders
/admin Doctor Send/clear reminders in bulk
/my-vaccines Patient Personal vaccine profile
/assistant All AI vaccine Q&A assistant

Accessibility

A floating button (bottom-right corner) lets any user adjust:

  • Text size — 4 levels (small → extra large)
  • Colour mode — Default, High Contrast, Red-Green Safe (protanopia), Blue-Yellow Safe (tritanopia)

Settings are saved to localStorage and persist across sessions.

AI Assistant (RAG)

  • Answers vaccine questions grounded in uploaded PDF knowledge base
  • Powered by Groq (llama-3.3-70b) + ChromaDB vector store
  • Shows source citations (document name + page number) with every answer
  • Add more PDFs to backend/app/data/knowledge/ and re-run python manage.py ingest --reset

Demo Scenarios

  1. Infant (Emma, 20 months) — overdue DTaP doses, age-based eligibility
  2. Adult with conditions (James, 39) — diabetes + cardiac → flu/COVID priority
  3. Pregnant HCW (Sarah, 34) — contraindicated MMR, recommended flu
  4. Senior immunocompromised (Robert, 69) — shingles, pneumococcal, overdue boosters
  5. CSV Import — upload 5 new patients, show instant eligibility
  6. Reminder Flow — generate email/SMS for overdue patient, simulate send
  7. AI Assistant — ask "What vaccines are free of charge?" and see cited answers

About

A smart vaccine eligibility and reminder system that analyzes patient age, medical history, vaccination records, and risk factors to determine eligibility, detect overdue or upcoming immunizations, visualize a patient-friendly timeline, and simulate intelligent reminders.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors