How prithish44/pharma-help works
Pharma Help digitizes handwritten prescriptions, grounds extracted medications against CMS data, and scores the result through deterministic and visual audits. The user uploads an image in the scanner UI; the backend processes it and returns structured clinical data, an audit, and an anonymized preview for review and export. The sampled source shows the API, RAG service, and UI request path; several additional extraction and redaction details are documented in the README, so those relationships are attributed to that documentation.
Main entry points: main.py Processing API · rag_service.py Prescription enrichment · PrescriptionScanner.jsx Scanner UI · chroma_db Chroma vector store
Components 19
Scanner experience
- Scanner UI
frontend/src/PrescriptionScanner.jsx - Review and export
frontend/src/PrescriptionScanner.jsx
Prescription processing
- Processing API
main.py - Image preparation
main.py - Privacy redaction
main.py - Clinical transcription
main.py - YOLO model weights
runs/detect/train8/weights/best.pt
Clinical grounding
- Prescription enrichment
rag_service.py - CMS drug dataset
CMS-DATASET.csv - Clinical entities dataset
ANALYSIS OF PRESCRIPTION ENTITIES - Updated Entities.csv - Chroma vector store
chroma_db - CMS medication matching
rag_service.py - Clinical entity lookup
rag_service.py
Quality evaluation
- Deterministic audit
main.py - Visual audit
main.py - Scored prescription result
main.py
Other components
- Clinician
- Gemini API
- YOLO detector
Connections 21
- Clinician → Scanner UI: uploads image
README.txt - Scanner UI → Processing API: submits image
frontend/src/PrescriptionScanner.jsx - Processing API → Image preparation: decodes image
main.py - Processing API → Privacy redaction: redacts regions
main.py - Privacy redaction → YOLO detector: detects regions
main.py - YOLO detector → YOLO model weights: loads weights
- Processing API → Clinical transcription: transcribes image
README.txt - Clinical transcription → Gemini API: requests extraction
README.txt - Processing API → Prescription enrichment: grounds extracted data
README.txt - Prescription enrichment → CMS medication matching: checks medications
rag_service.py - CMS medication matching → Chroma vector store: queries formulary
rag_service.py - Prescription enrichment → Clinical entity lookup: looks up entities
rag_service.py - Clinical entity lookup → Chroma vector store: queries entities
rag_service.py - Prescription enrichment → CMS drug dataset: indexes dataset
rag_service.py - Prescription enrichment → Clinical entities dataset: indexes entities
rag_service.py - Processing API → Deterministic audit: runs rule audit
main.py - Processing API → Visual audit: runs visual audit
main.py - Visual audit → Gemini API: critiques transcription
main.py - Processing API → Scored prescription result: assembles scores
main.py - Processing API → Review and export: returns result
frontend/src/PrescriptionScanner.jsx - Review and export → Clinician: shows and exports
README.txt