RFC media-dicom-001 — PACS / DICOM Gateway
* status: draft * created: 2026-06-27 * sector: servicesmediadicom * parent: servicesaiimaging#021 (Koder Iris PACS, Macaé 15-jul) · decision #022
Summary
A medical-imaging service that speaks DICOM to radiology gear (MRICTX-ray) and exposes a DICOMweb REST surface to Koder consumers, archiving studies to infra/data/kdb-blob. The service behind Koder Iris (the PACS product).
Why a new services/media/ sector (not services/ai/imaging)
DICOM is a wire protocol + object model, not generative AI. Its peers are services/media/{capture,transcode}. The generative imaging foundation stays clean; the only AI coupling (per-modality/disease model routing, #026) lives in services/ai/imaging and is called over the gateway. See #022 for the full topology.
House pattern (from discovery)
Crescer's existing device-integration component lab-link = a single Go binary with an embedded web UI that connects clinical analyzers to the central system via the device protocol (ASTM E1381/E1394 for lab). koder-dicom mirrors this exactly, swapping ASTM→DICOM. Integration target = Crescer/saude-core/pep-api (the Prontuário Eletrônico). Gear sits on the municipal health LAN → on-prem/edge deploy at Macaé reporting to the central (cloud) system.
Surface
- DIMSE SCP (TCP): C-ECHO (verification), C-STORE (receive). C-FINDC-MOVEMWL deferred.
- DICOMweb (HTTP): QIDO-RS (query), WADO-RS (retrieve), STOW-RS (store).
- Archive: studyseriesinstance index, kdb-blob objects, multi-tenant (RLS).
Status
v0.0.1 skeleton landed + verified against pynetdicom (C-ECHO/C-STORE 0x0000, WADO round-trip, tenant isolation). Roadmap: #023 (gateway), #024 (archive/kdb-blob),