Projects
Internal tools I have built for the radiology department at Turku University Hospital. All self-hosted on a hospital server running Podman, KVM, and PostgreSQL. Built with Claude Code and OpenCode.
All tools follow an agent-first design: AI agents can operate these systems without ever seeing patient data.
Scheduling and HR
rad.siso
Daily scheduling and staff placement for the radiology department. Supervisors assign radiologists to imaging sectors with a drag-and-drop interface. Replaces the old workflow of Excel spreadsheets and email chains. Handles vacation planning, coverage monitoring, and on-call scheduling.
rad.hr
HR and staffing management for radiologists. Tracks credentials, employment types, FTE percentages, and contract details. Includes a Kannuste module for incentive and performance metrics. Role-based access for administrators, sector leads, secretaries, and viewers.
Imaging and DICOM
rad.dose
Radiation dose collection and dashboard. Aggregates dose data from CT, fluoroscopy, and other modalities, providing visibility into patient and population-level exposure trends. Tools for tracking diagnostic reference levels and identifying outliers.
rad.pacs
PACS administration dashboard. Ingests metadata from the hospital picture archiving system, generates usage statistics, and provides tools for managing DICOM routing and audit logging.
rad.qa-viewer
Blinded MRI quality comparison tool. A hospital physicist uploads original and AI-enhanced MRI sequences. Radiologists review them side by side with synchronized scrolling and window/level controls, then vote on which is better. No login needed for reviewers (token-based access). Patient data never leaves the hospital server.
agent-rad-tools
CLI tool for loading anonymized DICOM images from the hospital PACS for research. Acts as a privacy gateway: no patient identifiers ever appear in output. Uses DICOM C-FIND and C-MOVE with allowlist-based anonymization and pseudonymized case IDs. Designed to be safe for AI agent workflows.
Knowledge and AI
rad-bot
Radiology knowledge base with semantic search. An MCP server that searches over differential diagnosis and imaging findings using hybrid vector embeddings and keyword matching. Used as a reference tool during clinical work.
liekki-sysadmin
System administration knowledge base. Another MCP server, this one indexing personal infrastructure documentation: server configs, crash logs, networking notes. Lets me search my own sysadmin knowledge from Claude Code.
arina
HL7 integration engine for radiology. Receives and processes HL7 messages from hospital information systems, enabling automated workflows between RIS, PACS, and radiology applications.
Infrastructure
Everything runs on a hospital server (i9-14900K, 128 GB RAM, RTX 5090) using Podman containers and KVM virtual machines behind a Caddy reverse proxy. PostgreSQL 16 for all databases. Ollama with the RTX 5090 for local LLM inference. Connected to the hospital DICOM network via pynetdicom.