Skip to content
Ozan Doruk Yavuz logo Ozan Doruk Yavuz

IVDR Compliance & Document Validation Platform

An internal platform I built at Vitrosens Biotechnology that helps in vitro diagnostic teams build and check their IVDR technical documentation. At its core is a deterministic rule engine with more than 75 rules across 15 categories that validates uploaded documents against EU IVDR and ISO standards, with results broken down by severity, category, and standard. It also tracks standards (auto-fetching the IVDR text from EUR-Lex), and bundles more than fifteen scientific tools for IVD validation, from accelerated stability modelling to limit-of-detection curve fitting. Built with FastAPI and React 19.

  • Python
  • FastAPI
  • React
  • TypeScript
  • SQLite
  • Tailwind CSS
  • NumPy
  • SciPy
  • Keycloak

Summary. An internal platform I built at Vitrosens Biotechnology that helps in vitro diagnostic teams build and check their IVDR technical documentation. At its core is a deterministic rule engine that validates uploaded documents against EU IVDR and ISO standards, and around it sit standards tracking and a set of scientific tools for IVD validation.

The document validation screen, choosing a document category such as stability studies or performance evaluation before checking
Validation starts by choosing the document type; each one has its own set of rules.

How a document is validated

Upload IVD .docx document Document parser PyMuPDF · python-docx Layer selector rules by document type and subtype Rule engine 75+ deterministic rules · 15 categories Validation report by severity, category, and standard JSON for the UI PDF report Standards ISO + IVDR
Every document runs through the same deterministic pipeline, so the same input always produces the same report.

The rule engine

The heart of the platform is a rule engine with more than seventy-five deterministic rules grouped into fifteen categories, covering structure, content, tables, templates, and validation. A layer system applies the right rules for each document type and subtype, so a real-time assay sheet is checked differently from a packaging insert. Every finding carries a severity and a category and points back to the part of the standard it comes from. Because the rules are deterministic, the same document always produces the same result. Teams can also add their own rules, which go through a draft and review step before they go live.

Standards, kept current

The platform tracks the standards that matter for IVD work, including ISO 13485, ISO 14971, ISO 20916, EN 13612, and IVDR. It fetches the IVDR text automatically from EUR-Lex and parses it into sections, and a health dashboard flags anything that has gone out of date so it can be refreshed. A compliance check then compares a document against a chosen standard, deterministically, with an optional AI second opinion.

The analysis tools

The automation tools page, grouped into lab calculators, document QA and analysis, and authoring and batch tools
The automation tools: lab calculators, document QA, and authoring helpers, all in the browser.

Around the validation core there are more than fifteen tools for the day-to-day science of IVD validation: accelerated stability modelling with Arrhenius shelf-life projection, limit-of-detection curve fitting, clinical performance metrics such as sensitivity, specificity, and agreement, precision and repeatability, method comparison with Bland-Altman, and hook-effect detection, among others. They turn raw study numbers into the figures and summaries the documentation needs.

Stack and delivery

Python and FastAPI on the back, React 19 with TypeScript, Vite, and Tailwind on the front, SQLite for state, and PyMuPDF and python-docx for reading and writing the documents, with NumPy and SciPy behind the scientific tools. The interface is localized in English and Turkish, sign-in is local or through Keycloak single sign-on, and releases use a blue-green deployment with a health check and automatic rollback. The optional AI features run through an external gateway, so nothing is sent anywhere unless it is configured.

Questions

Does it use AI to validate documents?

No. The 75-plus rules are deterministic and repeatable, so the same document always gives the same result. AI is optional and only used for free-form questions and an optional second-opinion compliance check, through an external gateway, never as the source of truth.

What does it actually check?

Whether an IVD technical document is structured and filled in the way IVDR and the relevant ISO standards require: required sections and fields, table formats, version history, cross-references, and so on, with each finding tied to a category and a severity.