Expected duration: 1 day or less The objective is to build a structured blood test database that allows pathology results to be viewed, edited, filtered, and exported to Excel via a web-based HTML interface. The system stores results in a clean, standardised format so trends can be analysed accurately over time.
Using AI-assisted OCR, I have built a local Python extraction pipeline that converts PDF pathology reports into machine-readable text and inserts structured data into a SQLite database. The majority of blood tests extract correctly, including canonical test name, result value, unit, and reference range.
However, I have reached a specific technical issue with three markers:
• CRP (C-reactive protein) • ESR • GLU (Glucose)
The OCR output clearly contains the correct lines, and debug logs confirm they are processed. Yet no rows are inserted for these markers.
The failure appears to occur between canonical matching, numeric extraction, or validation logic.
Current System Architecture
The system runs locally and consists of:
• extraction_core_2.py (main engine) • Supporting modules for OCR preprocessing, lab dictionary building, regex matching, and validation • SQLite backend • Schema-driven canonical lab dictionary • Controlled fuzzy fallback logic • HTML viewer for results display and Excel export
Pipeline flow:
Convert PDF to image (pdf2image)
Preprocess
Run Tesseract OCR
Clean and normalise text
Match against canonical lab dictionary
Extract:
canonical test name
numeric result
unit
reference range
Validate
Insert into SQLite
The engine is deterministic and rule-based.
The Specific Problem
Example OCR line:
CRP H 5.2 mg/L 0-5
OCR text is correct. NUMBER_PATTERN matches. The canonical dictionary contains the test.
Yet:
Inserted 0 rows from 0126251OrderReport_23B00006604_CRP.pdf
Likely failure points include:
• Canonical containment match failing due to normalisation • Flag tokens (“H”, “L”) interfering with numeric capture • Numeric extraction anchored incorrectly • Validation rejecting due to strict range formatting • Unit pattern mismatch (e.g. mmol/L) • Dictionary indexing issue • Match overridden by another lab name • Guard conditions too strict
If validation fails, the row is rejected silently.
All other panels extract correctly. The issue appears isolated.
This is a focused debugging and refinement request. I have spent many hours attempting to isolate the issue and now require an experienced developer to identify the blocking condition and implement a practical fix.
I have been advised this should take 1–2 hours for a senior developer.
Aplicación Nativa Android TV para M3U Category: Android, Android App Development, Android Studio, Debugging, Graphic Design, Java, Kotlin, Mobile App Development Budget: $30 - $250 USD
21-Apr-2026 03:57 GMT
Draft Council-Ready Elevations Category: 3D Rendering, AutoCAD, Autodesk Revit, Building Architecture, Building Design, Building Information Modeling, Drafting, Revit Budget: $30 - $250 AUD
21-Apr-2026 03:57 GMT
Operadores Atención Telefónica y Chat Category: Call Center, Conflict Resolution, CRM, Customer Service, Customer Support, Phone Support, Technical Support, Time Management, Training, VoIP Budget: $30 - $250 USD
SEO Content for Lifestyle & Tech Category: AI Content Writing, Article Writing, Artificial Intelligence, Content Strategy, Content Writing, Keyword Research, SEO, Travel Writing Budget: $30 - $250 USD
21-Apr-2026 03:56 GMT
Customer Portal Development Category: API Development, Graphic Design, UI / User Interface, User Experience Research, User Interface / IA, Web Application, Web Design Budget: ₹750 - ₹1250 INR
21-Apr-2026 03:53 GMT
Recover Cached Wallet Seed Image Category: Cryptocurrency, Data Extraction, Data Management, Digital Forensics, Instructional Design, SQLite, Technical Documentation, User Experience Research, Web Development, Web Scraping Budget: $30 - $250 AUD
21-Apr-2026 03:53 GMT
Asistente Virtual para Despacho de Abogados Category: Admin Support, Call Center, Customer Service, Local Job, Odd Jobs, Time Management, Training, Virtual Assistant Budget: €250 - €750 EUR
21-Apr-2026 03:53 GMT
WordPress Blog for Personal Stories Category: CSS, HTML, PHP, Web Design, Web Development, WordPress, WordPress Design, WordPress Plugin Budget: $1500 - $3000 USD
21-Apr-2026 03:52 GMT
Organic design in Solidwork Category: 3D Design, 3D Drafting, 3D Modelling, 3D Printing, 3D Rendering, CAD / CAM, Mechanical Engineering, Solidworks Budget: $15 - $25 USD