SATUSEHAT DICOM Router: Panduan Instalasi Windows & Docker
Panduan teknis SATUSEHAT DICOM Router: cara menghubungkan modalitas radiologi ke NIDR via Windows installer atau Docker Compose, beserta solusi error lapangan.
Jawaban singkat
Yang perlu dipahami sebelum membaca lebih jauh
- SATUSEHAT menerima data radiologi melalui DICOM Router resmi Kemkes, yang tersedia dalam dua bentuk: Windows Binary Installer (.exe) atau container Docker (docker-compose).
- Router diunduh tidak lewat browser, melainkan via request GET endpoint API SATUSEHAT dengan otentikasi Bearer Token.
- Kegagalan pengiriman paling sering berulang karena ServiceRequest belum terkirim ke SATUSEHAT lebih dulu atau Accession Number melebihi 16 karakter.
SATUSEHAT dan Jalur Data Radiologi
SATUSEHAT adalah fondasi Rekam Medis Elektronik (RME) nasional Indonesia. Bagi faskes di seluruh negeri, dari klink tipe C/D hingga rumah sakit terpusat, sistem ini menjadi standar pertiukan data kesehatan dengan Kementerian Kesehatan.
Radiologi memiliki posisi khusus dalam ekosistem SATUSEHAT. Resume rawat jalan atau resep farmasi tersedia dalam format JSON yang mudah dipertukar, tetapi citra pemeriksaan — X-Ray, CT-Scan, USG — bertindak sebagai file biner dalam standar DICOM (Digital Imaging and Communications in Medicine) yang tidak bisa disubmit langsung lewat endpoint API biasa.
Untuk menjembatani modalitas radiologi atau server PACS lokal dengan repositori citra nasional (National Imaging Data Repository / NIDR), Kementerian Kesehatan menyediakan perangkat perantara resmi bernama DICOM Router.
SATUSEHAT DICOM Router bertindak sebagai penerima data citra (C-STORE SCP) pada port default 11112, membaca metadata pemeriksaan — khususnya Accession Number — mencocokkannya dengan ServiceRequest yang sudah terdaftar di SATUSEHAT, lalu mengunggah citra ke NIDR.
Dokumentasi resmi menyediakan dua jalur instalasi: Binary Installer untuk Windows dan Docker Compose untuk Linux/Server. Artikel ini mengupas panduan teknis kedua jalur tersebut beserta solusi atas kendala nyata yang kerap ditemui para teknisi IT di lapangan.
Prasyarat Sebelum Memulai
Sebelum menjalankan instalasi di mesin lokal, pastikan Anda telah menyiapkan hal-hal berikut:
- Kode Akses API SATUSEHAT:
Organization ID,Client ID, danClient Secret(tersedia di portal SATUSEHAT Platform faskes Anda, baik Sandbox maupun Production). - Koneksi Jaringan dan IP Statis: Komputer server yang dipasang DICOM Router harus memiliki IP statis di jaringan lokal faskes agar dapat dijangkau oleh mesin PACS atau modalitas.
- Port Terbuka: Pastikan port
11112(protokol DICOM) dan port8080(HTTP Web UI / API) tidak diblokir firewall lokal dan belum digunakan oleh aplikasi lain.
Opsi 1: Instalasi Versi Windows (Binary Installer)
Opsi ini paling banyak dipilih oleh faskes tipe C/D atau klinik yang menggunakan PC workstation Windows sebagai server radiologi sederhana.
Langkah 1: Mengunduh Installer via API
File installer tidak disediakan dalam bentuk link download browser terbuka. Anda harus melakukan request GET menggunakan Postman, cURL, atau script dengan menyertakan Bearer Token SATUSEHAT:
- Sandbox:
https://api-satusehat-stg.dto.kemkes.go.id/dicom-router-installer - Production:
https://api-satusehat.kemkes.go.id/dicom-router-installer
Header Request:
Authorization: Bearer <access_token_satusehat>
Simpan hasil response body sebagai file bernama dicom-router.zip, lalu ekstrak isinya.
Langkah 2: Menjalankan Installer
-
Buka folder hasil ekstraksi dan klik kanan pada file
dicom-router.exe→ pilih Run as administrator. -
Saat muncul jendela konfirmasi sandi ekstraksi installer, masukkan sandi arsip resmi:
dtokemkes -
Ikuti wizard instalasi hingga selesai. Secara default, aplikasi akan terpasang di:
C:\Program Files (x86)\DICOM Router\
Langkah 3: Konfigurasi router.conf
Buka file router.conf di folder instalasi menggunakan Notepad atau teks editor (dengan hak Administrator). Masukkan kredensial faskes Anda:
[settings]
org_id=100026xxx
client_id=your_client_id_here
client_secret=your_client_secret_here
url=https://api-satusehat.kemkes.go.id
http_port=8080
dicom_port=11112
ae_title=DCMROUTER
Catatan Kritis: Jangan menambahkan spasi di sekitar tanda sama dengan (
=). Menulisorg_id = 1000xxxsering kali menyebabkan parser gagal membaca kredensial secara diam-diam.
Langkah 4: Menjalankan DICOM Router
Jalankan aplikasi melalui shortcut desktop atau start menu. Jika berjalan normal, jendela konsol akan menampilkan listener port 11112 untuk DICOM dan port 8080 untuk HTTP service.
Opsi 2: Instalasi Versi Docker (Linux / VM)
Metode Docker sangat dianjurkan untuk lingkungan rumah sakit yang memiliki server Linux terpusat (Ubuntu Server, AlmaLinux, Debian) karena stabilitasnya jauh lebih baik untuk operasi non-stop.
Langkah 1: Mengunduh File docker-compose.zip
Sama seperti versi Windows, unduh archive Docker melalui request GET berotentikasi Bearer Token:
- Sandbox:
https://api-satusehat-stg.dto.kemkes.go.id/dicom-router - Production:
https://api-satusehat.kemkes.go.id/dicom-router
Simpan file sebagai docker-compose.zip dan ekstrak di server Linux Anda:
unzip docker-compose.zip -d dicom-router
cd dicom-router
Langkah 2: Struktur dan Konfigurasi docker-compose.yml
Isi file docker-compose.yml standar terlihat seperti berikut:
version: '3.8'
services:
dicom:
image: registry.dto.kemkes.go.id/pub/dicom-router:latest
container_name: dicom-router
restart: always
ports:
- "11112:11112"
- "8080:8080"
environment:
- ORG_ID=100026xxx
- CLIENT=your_client_id
- SECRET=your_client_secret
- URL=https://api-satusehat.kemkes.go.id
- AE_TITLE=DCMROUTER
volumes:
- ./in:/app/in
networks:
- dicom-network
networks:
dicom-network:
driver: bridge
Langkah 3: Menjalankan Container
Pastikan Docker Engine dan Docker Compose plugin telah terpasang, lalu jalankan:
docker compose up -d
Periksa log container untuk memastikan service berjalan lancar:
docker logs -f dicom-router
Langkah 4: Konfigurasi via Web UI
Jika kredensial belum dimasukkan ke environment file YAML, Anda dapat mengonfigurasinya melalui browser dengan mengakses:
http://<ip-server>:8080/config
Masukkan Organization ID, Client ID, dan Client Secret, lalu klik Simpan.
5 Jebakan Teknis yang Sering Terjadi di Lapangan
Berdasarkan riwayat ribuan kendala yang dialami teknisi faskes di seluruh Indonesia, berikut masalah yang paling sering muncul dan cara mengatasinya:
| Gejala Kendala | Penyebab Utama | Solusi Lapangan |
|---|---|---|
| Windows silent crash / file tidak terproses | Windows membatasi panjang path folder di atas 260 karakter (LongPathsEnabled) | Buka regedit → buka HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem → ubah LongPathsEnabled menjadi 1, lalu restart PC. |
Error ServiceRequest not found |
File DICOM dikirim sebelum resource ServiceRequest masuk ke SATUSEHAT | Pastikan alur sistem: SIMRS kirim ServiceRequest dulu, catat Accession Number-nya, lalu DICOM baru diforward. |
| Accession Number gagal terbaca | Format Accession Number di SIMRS melebihi 16 karakter | DICOM Router Kemkes membatasi Accession Number maksimal 16 karakter. Sesuaikan penomoran order internal Anda. |
Docker error No such file or directory: /app/in |
Folder tampungan sementara belum dibuat di host mesin | Buat folder lokal mkdir -p in di direktori yang sama dengan docker-compose.yml sebelum menjalankan perintah up. |
| Penyimpanan server lokal cepat penuh | File .dcm yang sukses terkirim tidak otomatis terhapus dari folder /app/in |
Buat cron job atau Windows Task Scheduler harian untuk menghapus file yang berumur lebih dari 3 hari. |
Menguji Pengiriman dari PACS atau Modalitas
Setelah SATUSEHAT DICOM Router berstatus aktif (listening di port 11112):
- Masuk ke pengaturan DICOM Network pada PACS lokal Anda (misalnya Orthanc, dcm4chee, atau K-PACS).
- Daftarkan entitas baru (DICOM Modality):
- Application Entity (AE) Title:
DCMROUTER - IP Address: IP komputer yang menjalankan DICOM Router
- Port:
11112
- Application Entity (AE) Title:
- Lakukan uji koneksi (C-ECHO / DICOM Ping). Jika status Success, kirimkan satu file sampel hasil pemeriksaan yang sudah memiliki Accession Number yang sinkron dengan ServiceRequest di SATUSEHAT.
- Cek keberhasilan transaksi dengan melakukan request
GET /ImagingStudy?identifier=http://sys-ids.kemkes.go.id/acsn/<Org_ID>|<ACSN>di SATUSEHAT.
Alternatif Modern: Melewati Kompleksitas Router Lokal
Menyiapkan dan memelihara DICOM Router secara mandiri menuntut alokasi hardware khusus, monitoring kestabilan port, manajemen folder tampungan, serta pembaruan berkala saat Kemkes merilis versi baru.
Bagi klinik dan rumah sakit yang menginginkan alur yang lebih praktis, pendekatan cloud-native menghilangkan semua kerumitan di atas:
Imagestro-PACS mengintegrasikan alur pengiriman data radiologi ke SATUSEHAT secara bawaan (cloud-native). Faskes Anda tidak perlu menginstal DICOM Router terpisah, tidak perlu merawat server lokal untuk routing, dan tidak perlu khawatir dengan batasan teknis file system. Dilengkapi dengan Modality Worklist (MWL) otomatis, Web DICOM Viewer, serta Accession Number modifier, Imagestro menjamin data radiologi Anda terhubung ke SATUSEHAT dengan standar kepatuhan penuh. Coba Imagestro Free Tier atau pelajari detail arsitekturnya di solusi Imagestro-PACS.
Istilah penting
Glossary singkat
- SATUSEHAT
- Sistem Rekam Medis Elektronik (RME) nasional Indonesia dari Kementerian Kesehatan yang menerima dan menyimpan data kesehatan faskes, termasuk citra radiologi di NIDR.
- DICOM Router
- Middleware perantara resmi Kemkes yang menerima file DICOM dari PACS atau modalitas via protokol C-STORE (port 11112), lalu meneruskannya ke repositori SATUSEHAT NIDR.
- NIDR / DICOM Store
- Repositori citra radiologi nasional Kemenkes (secara resmi disebut SATUSEHAT DICOM Store dalam dokumentasi teknis) yang menjadi tujuan pengiriman data DICOM faskes dan penerbit WADO URL.
- router.conf
- File konfigurasi DICOM Router pada sistem Windows yang menyimpan parameter organization ID, client credentials, endpoint URL SATUSEHAT, dan port komunikasi.
Baca sumbernya
Referensi dan dokumentasi
- Sistem DICOM SATUSEHAT Platform Dokumentasi resmi standar pencitraan medis digital DICOM dan alur pengarsipan citra Kemenkes RI.
- Arsitektur Sistem DICOM SATUSEHAT Panduan arsitektur integrasi modalitas, PACS lokal, resource ServiceRequest, dan event C-STORE.
- Dokumentasi DICOM Router SATUSEHAT Spesifikasi alur middleware DICOM Router, integrasi MWL, pengiriman ke DICOM Store, dan respons WADO URL.
Pertanyaan umum
Yang sering ditanyakan sebelum implementasi
- Bagaimana SATUSEHAT menerima file DICOM dari faskes?
- SATUSEHAT tidak menerima file DICOM langsung dari modalitas. Faskes menginstal DICOM Router resmi dari Kemkes, yang bertindak sebagai penerima C-STORE SCP pada port 11112, mencocokkan Accession Number dengan ServiceRequest yang sudah terdaftar di SATUSEHAT, lalu meneruskan citra ke NIDR.
- Mengapa installer DICOM Router SATUSEHAT tidak bisa diunduh lewat browser?
- Kemenkes membatasi distribusi installer dan docker-compose.zip hanya untuk faskes terverifikasi. Pengunduhan dilakukan melalui request HTTP GET ke endpoint API SATUSEHAT dengan menyertakan Bearer Token otentikasi dari Client ID dan Secret faskes.
- Apa sandi arsip paket installer Windows DICOM Router?
- Arsip installer resmi dicom-router.exe dari DTO Kemkes diekstrak menggunakan sandi arsip standar "dtokemkes" (tanpa tanda kutip). Kredensial operasional (Organization ID, Client ID, Secret) bersifat rahasia dan harus dijaga oleh faskes.
- Kapan SATUSEHAT mulai menerima file DICOM setelah instalasi router?
- SATUSEHAT hanya memproses file DICOM jika ServiceRequest dengan Accession Number yang cocok sudah terkirim dan terdaftar lebih dulu. Urutan wajib: SIMRS kirim ServiceRequest, catat Accession Number, lalu file DICOM diforward ke router.
Umpan balik
Apakah panduan ini membantu memahami integrasi & alur DICOM?
Kirim Data Radiologi ke SATUSEHAT Tanpa Beban Setup Mandiri
Hubungkan alur radiologi faskes Anda—mulai dari worklist modalitas, accession number otomatis, web DICOM viewer, hingga sinkronisasi SATUSEHAT. Tersedia Free Tier untuk klinik dan rumah sakit.