Skip to content

moosakhan2/skribe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skribe — AI-Assisted Medical Intake

Skribe reimagines the medical intake process using conversational AI. Instead of filling out generic forms, patients have a voice conversation with a warm AI agent that asks clinically grounded follow-up questions, then generates a physician-ready PDF report shareable before the appointment.

Live Demo

🔗 Try Skribe on Hugging Face

The Problem

  • Patients struggle to articulate symptoms clearly, especially across language barriers
  • Generic intake forms miss critical follow-up questions
  • North America faces a growing medical staff shortage
  • Doctors waste 5-10 minutes per patient on manual intake

How It Works

  1. Patient signs in → language selected → AI greets them
  2. Phase 1 - Intake: AI collects name, age, conditions, medications, allergies, family history
  3. Phase 2 - Symptoms: AI asks clinically grounded follow-up questions using RAG retrieval from NIH MedQuAD (47,457 medical Q&A pairs)
  4. Report generated: Structured PDF with patient history, symptoms, severity, triggers, associated symptoms, and plain-English summary
  5. Shareable link: Patient sends report to doctor before appointment

Why Not Just Use ChatGPT?

  • No clinical structure — Skribe follows the OLDCARTS framework
  • No memory — Skribe remembers your history across visits
  • No boundaries — generic LLMs may suggest diagnoses (dangerous)
  • No structured output — Skribe produces a physician-ready PDF

Architecture

  • Voice Input → OpenAI Whisper (ASR) → text transcript
  • RAG Retrieval → ChromaDB searches NIH MedQuAD (47,457 Q&A pairs) → clinical context
  • Llama 3.3 70B on Groq → conversation agent asks grounded follow-up questions
  • ElevenLabs TTS → speaks questions back to patient
  • ReportLab → generates structured PDF report
  • Shareable link → patient sends to doctor before appointment

Tech Stack

  • Frontend: React, Tailwind CSS
  • Backend: FastAPI, Python
  • LLM: Llama 3.3 70B via Groq
  • ASR: OpenAI Whisper
  • TTS: ElevenLabs
  • RAG: ChromaDB + sentence-transformers + NIH MedQuAD dataset
  • PDF: ReportLab
  • Auth: JWT + SQLite
  • Deployment: Hugging Face Spaces (Docker)

Languages Supported

English, Spanish, French, Mandarin, Hindi, Arabic, Portuguese

Clinical Standards

Skribe follows the OLDCARTS clinical framework:

  • Onset, Location, Duration, Character
  • Aggravating factors, Relieving factors, Timing, Severity

Setup

# Backend
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload

# Frontend
cd frontend
npm install
npm start

Environment Variables

GROQ_API_KEY= OPENAI_API_KEY= ELEVENLABS_API_KEY= SECRET_KEY=any-random-string-you-choose

Built For

AMD Developer Hackathon 2026 — AI Agents & Agentic Workflows Track

Disclaimer

Skribe is an AI-assisted intake tool only. It does not constitute medical advice or diagnosis.

About

AI-Assisted Medical Intake

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors