Claude vision's self-reported text coordinates had a small but consistent bias, causing the patient-row double-click to land above the name and the Exam-column divider count to occasionally miscount and hard-fail. Swap patient-row, Exam, and Save button targeting to exact OCR bounding boxes (Google Vision via the existing PaymentOCRService) instead of AI-estimated ratios.
Medical Billing OCR API (FastAPI)
1) Prereqs
- Google Cloud Vision service-account JSON.
GOOGLE_APPLICATION_CREDENTIALSenv var pointing to that JSON.- Tesseract installed (for fallback OCR), and on PATH.
2) Install & run (local)
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/service-account.json
uvicorn app.main:app --reload --port 8080