Building an app to digitise 213 pages of medical bills (WIP)

I finally got a copy of the itemised bill for Sterling's entire ICU stay, over 7 months worth of statements. The only issue is, they're printed on paper, and there's 213 pages of them.

I could have spent weeks entering each page manually into a spreadsheet, but where would be the fun in doing that? Why spend weeks, when I can spend months building an app instead? 😬

an example statement
An example of one of the 213 pages

After scanning every page, some statements are just one page long, others are many pages long. While their format remains the same, the length of the statement charges & payments differs drastically, which makes it hard to automatically pull OCR data from a statement.

Instead, I built an app to view the statement, the generated OCR data, to correct any mistakes, and enter its data into a database, using the following tech:

  • Docker
  • Laravel 9 (API)
  • Vue.js 3 (Frontend/UI)
  • - to convert scanned pages in machine readable text, by using their Zonal OCR to extract data from the tables, row-by-row.

It's a pretty simple app. You load the scanned statement, and then approve the OCR captured value, or edit the value to match the statement, verbatim. Save the page, rinse, and repeat.

const str = `"Rinse & Repeat"\n`;
// "Rinse & Repeat"
// "Rinse & Repeat"
// "Rinse & Repeat"

The accuracy of OCR is around 90-99%, but I needed 100% accuracy, with every dollar accounted for, and totals, balances matching the statement values exactly, with no exceptions.

Which is why I'm building this app.

Pages Digitised:


Checkout the Work-In-Progress code in the GitHub Repository.