---
title: "Modernizing a clinical-trial platform inside a validated environment"
description: "Case study: Bluepes modernized a European CRO's clinical-trial platform (CTMS, eTMF, RBQM) — legacy K2 to React, codebase refactor (Hooks, Vite, MUI DataGrid), full-stack .NET/C#, and Power BI clinical-operations dashboards — under 21 CFR Part 11, GCP, EU CTR, and CSV."
url: "https://bluepes.com/projects/clinical-trial-platform-modernization"
language: "en"
---

# Modernizing a clinical-trial platform inside a validated environment

## Project Overview

Industry

- [Clinical research (CRO)](https://bluepes.com/healthcare)

Pharmacovigilance

Engagement

- [Dedicated development team](https://bluepes.com/dedicated-development-team)

Since 2022

Domain

Clinical-trial management: CTMS, eTMF, RBQM, site analytics

Team

- [Dedicated team](https://bluepes.com/dedicated-development-team)
- [Power BI specialist](https://bluepes.com/power-bi-consulting-services)

Services

Frontend modernization

Full-stack development

- [Power BI](https://bluepes.com/power-bi-consulting-services)

Technologies

React, MUI, Redux, Vite

.NET, C#

Power BI, DAX

## At a glance

### What it is

A European CRO's in-house clinical-trial intelligence platform.

- Trial management (CTMS) and document archiving (eTMF)
- Risk-Based Quality Management and site analytics
- Runs under 21 CFR Part 11, GCP, and EU CTR

### How we're involved

A dedicated engineer embedded in the client's process since 2022.

- Lead engineer inside the client's Scrum team
- Frontend migration, then full-stack, then Power BI
- Access through isolated virtual machines

### What Bluepes does

Long-term engineering inside a regulated product.

- Modernization without pausing validated releases
- Frontend, backend, and BI in one engagement
- Delivery aligned to Computer System Validation

## About the Project

### Background

The client is a European contract research organization running its own clinical-trial intelligence platform — trial management (CTMS), document archiving (eTMF), risk-based quality management, site analytics, and reporting. The platform operates under 21 CFR Part 11, Good Clinical Practice, ICH guidelines, and the EU Clinical Trials Regulation, and it handles patient-safety data: adverse events, lab values, deviations, and key risk indicators.

### What the client needed

Parts of the platform's frontend were built on K2, a legacy workflow tool that was hard to maintain and out of step with the rest of the React interface. The internal team knew the product well but did not have the capacity to rewrite legacy screens while continuing regular feature delivery. They needed a dedicated team that could work long-term inside a regulated environment, match the client's release rhythm, and take on more responsibility over time. Every change goes through Computer System Validation before it reaches production, so pausing delivery for a large rewrite was not an option.

120px

96px

80px

20px

## Why this project is engineering-complex

### Change control under CSV

Every change is validated before it reaches production.

- Documentation and QA sign-off per release
- No feature freeze for a big rewrite
- Validation evidence collected each sprint

### Legacy inside a live product

K2 screens modernized while features keep shipping.

- A legacy workflow tool, hard to maintain
- Out of step with the React interface
- Rebuilt screen by screen, not all at once

### Patient-safety data

The platform supports safety-critical decisions.

- Adverse events, lab values, deviations, KRIs
- Engineering quality has downstream effects
- Clinical-data standards: CDISC, MedDRA

## Outcomes

### A modernized frontend

Legacy K2 replaced with a current React codebase.

- Class components rewritten to Hooks
- ~40 screens moved to MUI DataGrid
- Build migrated from Webpack to Vite

### Scope that grew with trust

From frontend-only to full-stack over four years.

- Expanded into .NET and C# backend work
- Lead engineer still embedded in the team
- A second engineer added at peak demand

### Clinical-operations reporting

Power BI for the clinical-operations team.

- Two new dashboards on the client's data
- Existing reports fixed and tuned
- R visuals for views standard charts miss

## Working inside a validated environment

### Delivery under change control

Under Computer System Validation, every change to the platform is documented, QA-signed, and released through the client's change-control process. That rules out big-bang rewrites: a long feature freeze is not an option, so modernization happens in small, validated increments woven into the normal sprint. The team works inside the client's tools and security perimeter rather than as a separate vendor track.

Day-to-day practices that keep delivery compliant and moving:

- Validation evidence collected as part of each sprint, not bolted on at the end
- Access through isolated virtual machines, with permissions limited to the modules the team owns
- Security-policy sign-off and the client's monitoring and audit tooling
- Screen-by-screen modernization, so feature delivery never freezes for a rewrite
- Library and toolchain upgrades staged in increments that each pass review and validation

## What we delivered

### Frontend migration: K2 to React

- Replaced legacy K2 screens with React
- Tables, forms, and API integration
- Across multiple platform modules

### Codebase refactor & toolchain

- Class components to functional + Hooks
- Upgraded React, MUI, and Redux
- Build moved from Webpack to Vite

### MUI DataGrid migration

- ~40 screens moved to DataGrid
- Pagination and column controls
- Loaders and skeletons for larger datasets

### Full-stack expansion (.NET / C#)

- Backend work alongside the interface
- Scope grew over four years
- One embedded lead engineer

### [Power BI clinical-ops dashboards](https://bluepes.com/blog/healthcare-semantic-model-power-bi)

- Two dashboards for clinical operations
- Fixed and tuned existing reports
- R visuals for non-standard views

### Patient visit-timeline

- Expected vs actual study-stage dates
- Modeled in the data layer, not the visual
- DAX measures for protocol edge cases

## Engineering challenges we solved

### Modernizing without pausing validated releases

The platform ships under CSV, so a long rewrite freeze was off the table.

- Modernized screen by screen
- Each increment passed review and validation
- Woven into the normal sprint cycle
- ~40 screens migrated to DataGrid alone

### A patient timeline when patients don't follow the protocol

The clean-data assumption broke: patients skipped stages, attended out of order, or moved to amended protocols.

- Restructured the data layer
- Per-patient stage names and dates
- DAX measures for the edge cases
- The visual stayed simple

### Upgrades on a live, regulated codebase

Major library and build changes had to land without disrupting releases.

- React, MUI, and Redux upgraded in steps
- Webpack replaced with Vite
- Each change validated before production

## Our Approach

### [Step 1 — Onboarding into the client's process](https://bluepes.com/blog/dedicated-engineering-teams-europe)

- Join the Scrum team and release rhythm
- Set up VM-isolated access
- Sign security-policy documentation

### Step 2 — Plan within change control

- Scope increments that pass CSV
- Sequence work to avoid release freezes
- Agree validation evidence per sprint

### Step 3 — Build and modernize incrementally

- Replace legacy screens with React
- Refactor and upgrade in small steps
- Expand from frontend to full-stack

### Step 4 — Validate and release

- QA sign-off and CSV documentation
- Release through the client's change control
- No feature freeze for a rewrite

### Step 5 — Support and grow scope

- Maintain and improve on real usage
- Take on more responsibility over time
- Add Power BI when the need appeared

## Need a dedicated team for a regulated platform?

We work as part of your engineering team, inside your tools and your security perimeter.

[Discuss a dedicated team](https://bluepes.com/contact)

## Projects

More systems we've delivered across regulated and high-load industries.

- [Healthcare Platform Project Development](https://bluepes.com/projects/healthcare-platform)

[See all](https://bluepes.com/projects)

## FAQ

### How do you work inside a validated (CSV) environment?

Every change is built to pass Computer System Validation: documented, QA-signed, and released through the client's change-control process. We collect validation evidence as part of the sprint rather than at the end, so releases stay compliant without slowing to a stop.

### How do you modernize a legacy frontend without pausing releases?

Screen by screen, inside the normal sprint cycle. We replace legacy screens, refactor components, and upgrade libraries in small increments that each pass review and validation, so feature delivery never freezes for a rewrite.

### Can you embed engineers in our Scrum team long-term?

Yes. This is a dedicated-team engagement — our engineers work exclusively on the client's platform, in the client's tools and release rhythm, and take on more responsibility as trust grows. The lead engineer has been on the team since 2022.

### Do you provide Power BI for clinical operations?

Yes. We built two clinical-operations dashboards on the client's data, fixed existing reports, and added R visuals for views standard charts could not express — including a patient visit-timeline that handles patients who do not follow the protocol schedule.

### How do you handle access and data security on a regulated platform?

Our engineers work through isolated virtual machines with permissions limited to the modules they own, sign the client's security-policy documentation, and operate under the client's monitoring and audit tooling.

### What clinical-domain standards did you work around?

The platform operates under 21 CFR Part 11, Good Clinical Practice, and the EU Clinical Trials Regulation, with clinical-data standards including CDISC and MedDRA and pharmacovigilance integration. Our engineering was built to fit those constraints from the start.

### How long has the engagement run?

The dedicated team has worked on the platform since 2022, moving from frontend migration through a full codebase refactor to full-stack development, with a parallel Power BI engagement. The lead engineer is still embedded in the client's team.
