2026-06-05 14:56:49 +07:00
2026-06-05 08:33:09 +07:00
2026-06-05 11:32:00 +07:00
2026-06-05 08:33:09 +07:00
2026-06-05 08:11:44 +07:00
2026-06-05 08:11:44 +07:00
2026-06-05 08:11:44 +07:00
2026-06-05 08:11:44 +07:00
2026-06-05 08:11:44 +07:00
2026-06-05 08:11:44 +07:00

dicom-iso

This repo is a Go service for downloading DICOM studies from PACS, building ISO files, and relaying studies to a CD publisher.

It replaces the old PHP scripts, which are now kept in legacy/ only for reference.

What is in the repo

  • main.go and internal/: the Go application
  • pkg/: lower-level helpers
  • config.example.yaml: config template
  • docs/: project notes
  • legacy/: old PHP scripts and raw reference files

Important constraints

  • no secrets in the repo
  • no outbound internet in the build environment
  • restricted package sources

Runtime dependencies

The service needs:

  • DCMTK binaries
  • PACS access
  • patient API access
  • CD publisher access
  • MicroDicom files
  • writable temp storage

Setup

Before running the service, make sure the VM has:

  • Go installed, if you are building on that machine
  • DCMTK binaries available
  • MicroDicom files in a real directory
  • network access to PACS, the patient API, and the CD publisher
  • a writable temp directory

Create a local config file from the template:

cp config.example.yaml config.yaml

Then adjust the paths, hosts, ports, and tokens for your environment.

Build

A normal Go build is enough in a friendly environment:

go build -o mkiso-server .

In production, the build must follow your approved offline package path. This repo should not depend on live public downloads during a restricted build.

Run

You can run the service directly:

./mkiso-server

Or pass a config path explicitly:

./mkiso-server /path/to/config.yaml

By default, the app looks for ./config.yaml.

Health check

After startup, check:

curl http://127.0.0.1:8080/api/health

Config

Use config.example.yaml as the starting point. Keep real config.yaml local and untracked.

More notes

  • VM deployment: docs/deployment-vm.md
  • nginx example: docs/reverse-proxy-nginx.md
Description
No description provided
Readme 9.6 MiB
1 Latest
2026-06-08 09:19:47 +07:00
Languages
Go 73.5%
PHP 15.8%
Shell 10.7%