1001 Freelance Projects
Latest Projects from Freelance Marketplaces
Today is: 04-Mar-2026 08:54 GMT
View Project
View this project in detail (Note: you will be redirected to external marketplace)
Project title: Extract blood test data from PDF documents that have been OCR'd
Posted by: External project from PeoplePerHour
Started: 03-Mar-2026 14:36 GMT
Description: 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.

What Is Required

This is not a rebuild.

We do not want:

• Re-architecture
• Experimental AI guessing logic
• Large-scale changes
• Expanded fuzzy matching

We need:

1. Precise Diagnosis

Identify exactly where CRP, ESR, and GLU are failing insertion and which rule is causing rejection.

2. Minimal Safe Fix

Implement a targeted correction that:

• Adjusts canonical matching if required
• Anchors numeric extraction correctly
• Allows flag tokens without blocking capture
• Relaxes only necessary validation checks
• Preserves deterministic behaviour

3. Zero Regression

• No impact to currently working panels
• No performance degradation
• No uncontrolled fuzzy expansion

4. Modular Implementation

If appropriate:

• Implement as small isolated module
or
• Cleanly adjust matching block

The existing architecture should remain intact.

Constraints

The system is designed to be:

• Deterministic
• Schema-driven
• Reproducible
• Forensic-grade

We cannot introduce probabilistic or unpredictable behaviour.

Longer-Term Goal

After stabilising extraction:

• Migrate to web deployment
• Enable structured uploads
• Add trend analysis
• Later incorporate AI-assisted interpretation

Immediate priority:

Stabilise deterministic extraction for CRP, ESR, and GLU without breaking the existing engine.

Materials Provided

Uploaded:

• Full extraction_core_2.py (text format)
• Screenshot of HTML viewer
• Sample PDF files
• Export showing required output

Additional materials available on request:

• Sample OCR blocks
• Canonical dictionary entries
• Regex patterns
• Validation logic
• Database schema
• Debug logs

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.

Looking for a swift turnaround.
Project ID: 3472184
Project category:
Project budget:
View this project in detail (Note: you will be redirected to external marketplace)
Last Projects / Browse Projects
  Project Started
Arduino and Python
Category: Arduino, Electrical Engineering, Embedded Systems, Programming, Python, Signal Processing
Budget: $10 - $50 USD
04-Mar-2026
05:04 GMT
Fix Titan Mail DNS Records
Category: DNS, Email Handling, Email Marketing, Linux, Network Administration, System Admin, System Administration, Technical Support
Budget: ₹600 - ₹1500 INR
04-Mar-2026
05:01 GMT
Gaming Clips & Full Video Editing
Category: Adobe Premiere Pro, After Effects, DaVinci Resolve, Final Cut Pro, Social Video Marketing, Subtitles & Captions, Video Editing, Video Production, Video Services
Budget: $30 - $250 USD
04-Mar-2026
05:01 GMT
Rockstar Account Login Fix -- 2
Category: Account Management, Customer Support, JavaScript, Mobile App Development, MySQL, PHP, Technical Support, Troubleshooting
Budget: $10 - $30 CAD
04-Mar-2026
04:58 GMT
High-end Website Redesign & SEO
Category: Branding, Content Management System (CMS), Digital Marketing, Graphic Design, SEO, Social Media Management, User Experience Research, Web Design, Web Development
Budget: $30 - $250 USD
04-Mar-2026
04:58 GMT
Funny reels maker 04-Mar-2026
04:57 GMT
I need a backlink from 99design.com or designboom.com 04-Mar-2026
04:57 GMT
Need classic asp code on my websites updated to asp.net etc 04-Mar-2026
04:57 GMT
Restaurant & Bar - Entrance Design - Outdoor Sitting 04-Mar-2026
04:57 GMT
Experienced UX Designer needed for website / app improvement 04-Mar-2026
04:57 GMT
Zoho CRM Enterprise Build – Sales OS (SMS & VoIP Integration) 04-Mar-2026
04:57 GMT
UK-Based Senior Technical SEO Consultant (2-Month Engagement) 04-Mar-2026
04:57 GMT
Bug fix for unwanted scrolling behavior in jQuery Mobile 04-Mar-2026
04:57 GMT
UK-Based Senior SaaS UX Designer Needed 04-Mar-2026
04:57 GMT
Accountant (Xero Specialist)
Category: Accounting, Admin Support, Bookkeeping, Finance, Financial Analysis, Project Management, Tax, Time Management
Budget: $750 - $1500 AUD
04-Mar-2026
04:56 GMT
Browse All Projects
Projects by Skills ...
Projects for 'android'
Projects for 'ajax'
Projects for 'asp'
Projects for 'aspnet'
Projects for 'cms'
Projects for 'cpp'
Projects for 'csharp'
Projects for 'css'
Projects for 'delphi'
Projects for 'design'
Projects for 'drupal'
Projects for 'excel'
Projects for 'facebook'
Projects for 'flash'
Projects for 'html'
Projects for 'java'
Projects for 'javascript'
Projects for 'joomla'
Projects for 'iphone'
Projects for 'mysql'
Projects for 'photoshop'
Projects for 'php'
Projects for 'python'
Projects for 'ruby'
Projects for 'seo'
Projects for 'sql'
Projects for 'sysadm'
Projects for 'translate'
Projects for 'typing'
Projects for 'twitter'
Projects for 'vbnet'
Projects for 'xml'
Projects for 'wordpress'
Projects for 'writing'
Read RSS feeds ... New!
RSS feed for 'android'
RSS feed for 'ajax'
RSS feed for 'asp'
RSS feed for 'aspnet'
RSS feed for 'cms'
RSS feed for 'cpp'
RSS feed for 'csharp'
RSS feed for 'css'
RSS feed for 'delphi'
RSS feed for 'design'
RSS feed for 'drupal'
RSS feed for 'excel'
RSS feed for 'facebook'
RSS feed for 'flash'
RSS feed for 'html'
RSS feed for 'java'
RSS feed for 'javascript'
RSS feed for 'joomla'
RSS feed for 'iphone'
RSS feed for 'mysql'
RSS feed for 'photoshop'
RSS feed for 'php'
RSS feed for 'python'
RSS feed for 'ruby'
RSS feed for 'seo'
RSS feed for 'sql'
RSS feed for 'sysadm'
RSS feed for 'translate'
RSS feed for 'typing'
RSS feed for 'twitter'
RSS feed for 'vbnet'
RSS feed for 'xml'
RSS feed for 'wordpress'
RSS feed for 'writing'
New!
Проекты на русском
(Projects in Russian)

Short URL:
1001fp.com
Mobile version:
m.1001freelanceprojects.com
Copyright © 2005-2025 1001 Freelance Projects