DICOM Router
Overview
I built a self-hosted DICOM routing toolkit for telemedicine providers and medium-sized clinics that need to connect imaging devices to cloud storage, PACS, and AI pipelines without deploying a full enterprise PACS.
Problem
- Telemedicine teams needed DICOM routing without expensive enterprise licenses.
- The platform had to support multiple destination types: DICOM nodes, S3/MinIO, and local storage.
- AI processing required asynchronous callbacks and conditional re-routing.
- Healthcare workflows required a complete audit trail and operational reliability.
Solution
- I implemented a single Go binary that combines SCP receiver, routing engine, dispatcher, API, and web UI.
- I used rule-based routing by AE Title, modality, and tags to cover real-world workflows without plugin complexity.
- I added C-FIND/C-MOVE support and DICOMweb (QIDO-RS, WADO-RS) for interoperability and OHIF integration.
- I built callback-based AI integration so processors can classify studies and trigger follow-up routes.
- I hardened runtime behavior with retries, structured logging, graceful shutdown, and encrypted secrets.
Results
- 28,876 lines of production Go code.
- 73.2% test coverage with 700+ unit and integration tests.
- 10+ simultaneous routes handled through concurrent worker flows.
- Reduced reliance on high-cost enterprise PACS for smaller telemedicine deployments.
Stack
Go, PostgreSQL, Gin, sqlc, Templ, HTMX, Docker, DICOMweb, S3/MinIO
Architecture

Interface
