Case study

Redica Systems cut FDA document processing from 2 days to under an hour

New FDA filings took 1 to 2 days to reach customers, and staff hand-corrected OCR and classification on thousands of documents.

Redica Systems

Redica Systems · Operations · L2

95%less time from document arrival to searchable record

The workflow before#

Redica Systems sells regulatory intelligence to life sciences quality teams. Its value depends on getting FDA 483s, warning letters, inspection reports and guidance from thousands of sources into customers' hands quickly. Much of that material arrives as scanned PDFs, some of it decades old. Commercial OCR read 85 to 90% of the text correctly, so staff corrected extractions by hand. Documents were classified manually or by rules that were right 70 to 80% of the time. A new filing took 24 to 48 hours to become searchable, and processing cost about $2.50 a document. Growth meant hiring more people to do the same correction work.

What we built#

We built a document data lake that reads, tags and indexes every regulatory document Redica collects. Files come in from every source, OCR tuned to regulatory paperwork turns them into text, and models tag each one and pull out the companies, sites and people involved. Customers can search a new filing within an hour of its arrival, and staff only look at the pages the system isn't sure about.

Ingestion that never drops a file

Every source feeds one intake path that lands the raw file in storage before anything else happens. Failed jobs go to dead letter queues and retry, so a bad scan or a timeout never means a missing document.

OCR trained on regulatory paperwork

We trained the OCR on Redica's own corpus of regulatory documents and added deskewing and denoising for poor scans. Each page gets a confidence score. Low-confidence pages go to a person and the rest flow straight through at 99%+ accuracy, so reviewers spend their time where the scan is actually hard to read.

Tagging that matches how customers search

A classification and entity extraction layer tags each document by type, GxP scope, severity and agency, and pulls out companies, sites, investigators and citations. We built the tags around the questions Redica's customers ask before an audit, such as which sites a supplier has had cited, so search returns what a quality team needs.

Search in under half a second

Results land in a search index and analytics stores, where customers search them in under half a second and Redica's analysts query them for trends across agencies and years.

How we delivered it

We ran the work over 16 weeks in three phases: core infrastructure and migration of historical documents, then the OCR and machine learning components, then knowledge transfer. Our engineers worked side by side with Redica's team throughout, and the final phase was spent upskilling them so they could retrain models and add sources on their own.

Before and after#

MeasureBeforeAfter
Time to searchable document24 to 48 hoursUnder 1 hour
OCR accuracy85 to 90%99%+
Classification accuracy70 to 80%93 to 97%
Processing cost per document$2.50$0.45
Human reviewCorrecting extractions across the boardOnly low-confidence pages

What's next#

With every document classified and its entities linked, the next step is a workflow agent that drafts the supplier risk summary a quality team reads before an audit. It would pull the relevant citations and inspection history together, with a person signing off before it reaches a customer.

ShareLinkedInEmail

Ingestion runs on Kinesis Data Streams, Lambda and API Gateway into a raw S3 zone with versioning, Intelligent-Tiering and Glacier archival, with dead letter queues for retries. Glue crawlers and jobs catalog and clean the data into a clean S3 zone partitioned by date, source and document type. Lake Formation holds access control, fine-grained permissions and audit logs. Airflow orchestrates the workflow.

OCR is Tesseract (LSTM) with custom training on the regulatory corpus, image preprocessing, multi-engine voting on high-priority documents and confidence scoring that routes low-confidence pages to human review. Heavy work runs on AWS Batch; light extraction on Lambda.

Classification uses an ensemble of bag-of-words, Word2Vec and fine-tuned BERT features with LDA topic modeling, plus named entity recognition. Models train, deploy and are monitored for drift on SageMaker, with automated retraining. Consumption is through Athena, Redshift, Elasticsearch and internal APIs.

Next step

Let's build the case study we tell next.