Welcome!
Creating new instance...Initializing components...
Shereen Lee
← Code
05

Reconstructing Clinical Evidence from Endometrial Cancer Archives

Provinans turns scanned legacy pathology records into durable datasets that can support years of research.

Timeline
July 2026 - Present
Role
Solo developer
Team
In consultation with Dr. Blake Gilks
Tools
Python, TypeScript, FastAPI, React, PostgreSQL, Tesseract. Extraction: Claude Sonnet 5, ColPali
Reconstructing Clinical Evidence from Endometrial Cancer Archives hero
Overview

Provinans is an open-source tool for research teams that hold scanned pathology reports. A model reads each report into a structured record, and three reviewers check that record. A data manager matches each field in the lab's registry to a field in a shared standard. An annotator checks every value against the report it came from. A pathologist decides the values the annotator cannot settle from the report alone.

Context

A documented Phase III trial can take 6 to 10 years to complete. Patient records already held in hospital archives offer a faster source of evidence. Dr. Blake Gilks has spent years with a lab team sorting through archives by hand to assemble the patient groups needed to test hypotheses.

Those records can be incomplete or wrong. In one 2025 study from the Gilks lab, 4 of 43 patients had conflicting classifications between their tumour sites.

The standards also change. In 2023, FIGO, the international body that sets gynecological cancer staging, added 11 new substages, so records written before and after 2023 store stage differently. Labs need a way to pull the reliable values out of their own archives and show how each value was checked.

Process
Role

Data manager

The data manager sets up the cohort. Claude proposes how each field in the lab's registry matches a field in the shared standard, and the data manager accepts or changes each match.

01 / 09
Open the worklistSplit one field into three lab resultsCheck each value against the reportLink the patient's other recordsSend a value to a pathologistDecide the escalated valueReview the whole cohortRestage under FIGO 2009 or 2023Export a dataset another lab can rebuild
01

Open the worklist

The worklist tracks 550 cases, one scanned report per patient. 100 cases are confirmed and 450 are waiting for review.

Role

Data manager

The data manager sets up the cohort. Claude proposes how each field in the lab's registry matches a field in the shared standard, and the data manager accepts or changes each match.

Open the worklist
01

Open the worklist

The worklist tracks 550 cases, one scanned report per patient. 100 cases are confirmed and 450 are waiting for review.

Split one field into three lab results
02

Split one field into three lab results

Claude notices that one registry field holds three separate lab results: POLE, MMR and p53. The data manager asks Claude about the field and applies the three-field split that Claude proposes.

Role

Annotator

The annotator checks every value in each case against its report and sends the values the report cannot settle to a pathologist.

Check each value against the report
03

Check each value against the report

A model fills in each field from the report and links every value to the passage it came from. The annotator confirms each value or corrects it.

Link the patient's other records
04

Link the patient's other records

Provinans links the report to the patient's treatment, recurrence, survival and follow-up records. The annotator confirms that these records belong to the same patient before the case joins the cohort.

Send a value to a pathologist
05

Send a value to a pathologist

This report says lymphovascular invasion was found but never says how much, and the amount changes the FIGO stage. The annotator cannot settle the value from the report, so the annotator sends it to a pathologist.

Role

Pathologist

The pathologist decides the few values that need clinical judgement, then reviews results across the whole cohort.

Decide the escalated value
06

Decide the escalated value

The pathologist sees the report passage, the staging rule and the patient's other records on one screen. When the pathologist confirms the value, every classification that depends on it updates.

Review the whole cohort
07

Review the whole cohort

The dashboard shows which values are confirmed, why other values are missing, and which cases the reports can only narrow to a range of stages. It also charts recurrence and survival from the clinical records.

Restage under FIGO 2009 or 2023
08

Restage under FIGO 2009 or 2023

The pathologist can restage every case under either FIGO edition. A case that the report narrows only to a range of stages keeps that range under both editions.

Export a dataset another lab can rebuild
09

Export a dataset another lab can rebuild

Every exported value records the passage it came from, the standard and rule applied, the reviewer's decision and its revision history.

Outcomes

Provinans exports a longitudinal dataset for research. A second lab that confirms the same values in the same reports against the same field list produces an identical table.

References
  1. Clements, A., et al. (2025). Molecular classification of endometrial cancers and association with survival: ancillary analysis of GOG-0258. Gynecologic Oncology, 193, 119–129.
  2. Hjelmeland, M. E., et al. (2024). Loss of vimentin expression in preoperative biopsies predicts poor prognosis in endometrial cancer. BJC Reports, 2, 81.
  3. Jamieson, A., et al. (2025). Co-existent endometrial and ovarian carcinoma: molecular and pathological features define a low-risk entity. International Journal of Gynecological Cancer, 35(8).

← Back to Code