Radiation dose monitoring platform

Tracks each patient's cumulative radiation exposure and produces the regulatory reports CNCAN, Romania's nuclear regulator, asks for.

Role
Tech lead, team of 4-5 engineers
Scale
Every site of a private hospital network, feeding one central platform

The problem

A hospital that runs imaging equipment needs to track how much radiation each patient has received over time, follow its staff's dosimeter readings, monitor the state of its machines and report to CNCAN.

In a private hospital network, every site keeps its examinations in its own PACS, and CT dose data arrives both as standard RDSR and in Siemens and GE vendor encodings.

What I built

  • The platform: it centralizes patient examination data, calculates radiation doses and tracks each patient's cumulative exposure.
  • Tracking of staff dosimeter readings and of imaging equipment status.
  • CNCAN regulatory reports, produced from the same data.
  • The Rust DICOM ingestion gateway, installed at each site of the network. It receives studies from the site's PACS as they are produced and streams them to the central platform.

Technical details

  • An on-prem C-STORE SCP at each site, with TLS and allowlists.
  • An event-driven pipeline: object storage, a transactional outbox, quorum queues and dose-extraction workers.
  • At-least-once delivery with idempotent upserts, circuit breakers and dead-letter quarantine.
  • CT dose parsed from RDSR and from Siemens and GE vendor encodings.
  • Every site feeds the central platform concurrently over mTLS.
  • Observability with Prometheus and Grafana.

Stack

  • Python
  • Next.js
  • Rust
  • Tokio
  • dicom-rs
  • RabbitMQ
  • MinIO
  • PostgreSQL
  • Prometheus
  • Grafana