Skip to content

LIS & PACS ​

Halaman ini untuk tim IT faskes yang menyambungkan OpenSIMRS ke sistem informasi laboratorium (LIS) dan ke PACS/RIS radiologi. Setelah mengikuti halaman ini, Anda memahami pola konfigurasinya, cara mendaftarkan alamat penerima hasil di sistem mitra, dan cara mengujinya dengan server tiruan sebelum memakai sistem sungguhan.

Integrasi yang tersedia ​

IntegrasiLayananFitur katalogKonfigurasi koneksiPemetaan kode
LIS Patologi Kliniklab-service (8087)lab_bridging_lisSetting › Konfigurasi Integrasi › LIS › Lab PKLaboratorium › Mapping LIS
LIS Patologi Anatomipenunjang-service (8099)pa_bridging_lisSetting › Konfigurasi Integrasi › LIS › Lab PAPatologi Anatomi › Mapping LIS PA
LIS Mikrobiologipenunjang-service (8099)mikro_bridging_lisSetting › Konfigurasi Integrasi › LIS › MikrobiologiMikrobiologi › Mapping LIS
PACS/RIS Radiologipenunjang-service (8099)rad_bridging_pacsSetting › Konfigurasi Integrasi › Radiologi › PACS/RISRadiologi › Mapping PACS

Nyalakan fitur bridging di Setting › Manajemen Modul bila belum aktif di segmen faskes Anda. Lihat Manajemen Modul & Fitur.

Pola konfigurasi ​

Semua bridging di atas memakai pola yang sama.

1. Koneksi ​

Satu faskes boleh punya lebih dari satu koneksi (misalnya dua vendor LIS). Satu koneksi ditandai bawaan dan dipakai bila petugas tidak memilih.

Isi koneksi pada umumnya:

KolomArahKeterangan
URL registrasi / kirim orderOpenSIMRS → sistem mitraAlamat tujuan order
URL ambil hasilOpenSIMRS → sistem mitraOpsional, untuk menarik hasil secara manual
API keyOpenSIMRS → sistem mitraKunci yang diberikan vendor. Dikirim saat OpenSIMRS memanggil sistem mitra
Kode RS (dan kode lab untuk LIS PK)OpenSIMRS → sistem mitraIdentitas faskes di sistem mitra
Kunci masuksistem mitra → OpenSIMRSDibuat otomatis oleh OpenSIMRS saat koneksi baru disimpan

Kolom tambahan per integrasi:

  • LIS PK: mode kirim per_order atau bulk (kirim massal untuk MCU). Mode bulk membutuhkan URL registrasi bulk dan Kode Lab.
  • LIS PA: URL laporan (opsional).
  • PACS/RIS: URL viewer untuk membuka citra.

2. Kunci masuk per koneksi ​

Kunci masuk adalah sandi yang dipakai sistem mitra saat mengirim hasil ke OpenSIMRS. Aturannya:

  • kunci ditampilkan utuh satu kali saat dibuat. Salin dan pasang segera di sistem mitra;
  • setelah itu hanya tampil tersamar;
  • tombol Buat ulang kunci masuk membuat kunci baru dan langsung membatalkan kunci lama;
  • OpenSIMRS menentukan koneksi dan faskes dari kunci ini, tidak pernah dari isi pesan.

API key dan kunci masuk disimpan terenkripsi. Kunci enkripsinya:

IntegrasiVariabel (bila kosong memakai SECRET_KEY)
LIS PK, LIS MikrobiologiLIS_KUNCI_RAHASIA
LIS PAPA_LIS_KUNCI_RAHASIA
PACS/RISRAD_PACS_KUNCI_RAHASIA

DANGER

Jangan mengganti kunci enkripsi atau SECRET_KEY setelah koneksi tersimpan. API key dan kunci masuk lama tidak bisa dibaca lagi.

3. Pemetaan kode ​

Sistem mitra biasanya punya kode master sendiri. Petakan kode OpenSIMRS ke kode sistem mitra sebelum mengirim order pertama:

  • LIS PK: tindakan/tarif lab, item hasil pemeriksaan, serta unit asal, dokter, dan penjamin. Order MCU memakai unit asal dan dokter MCU yang dipetakan di tempat yang sama;
  • LIS PA: pemeriksaan, unit/dokter/penjamin, dan field hasil (per koneksi);
  • LIS Mikrobiologi: kode per jenis master;
  • PACS/RIS: tindakan → kode prosedur & modalitas, unit/dokter/penjamin, serta ruang/alat → AE Title.

4. Alur order dan hasil ​

  1. Petugas memvalidasi order di OpenSIMRS. Order dikirim ke sistem mitra memakai koneksi bawaan, atau koneksi yang dipilih.
  2. Bila pengiriman gagal, validasi order dibatalkan, sehingga order tidak tampak sudah terkirim padahal belum. Khusus radiologi, tombol Validasi Saja tetap tersedia sebagai jalur darurat.
  3. Hasil masuk dengan dua cara:
    • push: sistem mitra memanggil titik masuk OpenSIMRS dengan kunci masuk;
    • tarik manual: petugas berizin menekan ambil hasil, dan OpenSIMRS memanggil URL ambil hasil koneksi.
  4. Setiap pengiriman tercatat di riwayat. Bila status tidak pasti (misalnya koneksi terputus setelah data terkirim), gunakan Cek status sebelum mengirim ulang agar tidak terjadi registrasi ganda.

Titik masuk hasil ​

Daftarkan alamat berikut di sistem mitra. Kirim kunci masuk di header x-api-key atau parameter ?key=. Titik masuk ini tidak memakai JWT login.

IntegrasiAlamat langsung ke layananAlias di bawah /api/v3
LIS PKPOST http(s)://<host lab-service>/adam-lis/bridgingPOST /api/v3/lab/lis/hasil
LIS PAPOST http(s)://<host penunjang-service>/adam-pa-lis/bridgingPOST /api/v3/penunjang/patologi/lis/hasil
LIS MikrobiologiPOST http(s)://<host penunjang-service>/adam-lis/mikrobiologi/bridgingPOST /api/v3/penunjang/mikrobiologi/lis/hasil
PACS/RISPOST http(s)://<host penunjang-service>/adam-pacs/bridgingPOST /api/v3/penunjang/radiologi/pacs/hasil

Galat dari titik masuk dikembalikan dalam format { "success": false, "message": "…" }.

Di balik gateway, pakai alias /api/v3

Gateway nginx bawaan (deploy/server/gateway.nginx.conf) hanya meneruskan /api/v3/* dan /adam-lis/ (ke lab-service). Alamat /adam-pa-lis/, /adam-pacs/, dan /adam-lis/mikrobiologi/ tidak sampai ke penunjang-service lewat gateway. Bila sistem mitra mengakses OpenSIMRS lewat gateway atau domain API, daftarkan alias /api/v3/... dari tabel di atas.

Contoh uji titik masuk dengan alias (data fiktif, kunci dari OpenSIMRS):

bash
curl -X POST "https://api.simrs.contoh.id/api/v3/lab/lis/hasil" \
  -H "Content-Type: application/json" \
  -H "x-api-key: <kunci masuk>" \
  -d @hasil-uji.json

Format isi pesan mengikuti kontrak tiap integrasi. Rujukan lengkapnya ada di README server tiruan pada bagian berikut.

Menguji dengan server tiruan ​

Repo menyediakan server tiruan tanpa dependensi di folder scripts/. Gunakan hanya data fiktif (NIK berawalan 9999).

IntegrasiPerintahPort bawaanRujukan kontrak
LIS PKnode scripts/lis-tiruan.mjs2312scripts/README-lis-tiruan.md
LIS PAnode scripts/lis-pa-tiruan.mjs2313scripts/README-lis-pa-tiruan.md
LIS MikrobiologiPORT=2612 node scripts/lis-tiruan-mikro.mjsatur dengan PORT (contoh README: 2612)scripts/README-lis-tiruan-mikro.md
PACS/RISnode scripts/pacs-tiruan.mjs2412scripts/README-pacs-tiruan.md

Selain itu, LIS_MODE=mock (LIS PK), PA_LIS_MODE=mock (LIS PA), dan LIS_MIKRO_MODE=mock (LIS Mikrobiologi) membuat registrasi dibalas tiruan tanpa server LIS.

Hak akses ​

AksiIzin
Melihat/mengubah koneksi dan kunci masukSetting › Konfigurasi Integrasi (READ / UPDATE KONFIGURASI LAINNYA). LIS Mikrobiologi memakai Mikrobiologi › Konfigurasi LIS Mikrobiologi (LIHAT / KELOLA)
Pemetaan kodeIzin datamaster/mapping modul terkait, atau UPDATE KONFIGURASI LAINNYA
Mengirim orderIzin validasi order modul terkait, mis. Laboratorium › Order Lab › VALIDASI ORDER, Radiologi › Order Radiologi › VALIDASI
Kirim massal LIS dari MCUMCU › Peserta › KIRIM LIS
Menarik hasilIzin input hasil modul terkait, mis. Laboratorium › Hasil Pemeriksaan › SIMPAN HASIL

Rute bridging PACS, LIS PA, dan HDIS juga memeriksa status fitur secara fail-closed: bila fitur nonaktif atau statusnya tidak bisa dipastikan, permintaan ditolak.

Pola yang sama: Bank Darah ↔ UTD ​

Bridging Bank Darah RS ↔ UTD (bdrs_bridging) dan HDIS hemodialisa memakai pola koneksi, kunci masuk, dan pemetaan yang sama. Konfigurasi UTD ada di Setting › Konfigurasi Integrasi › Bank Darah › UTD, pemetaannya di Bank Darah › Mapping UTD, dan titik masuknya /adam-utd/bridging. Kantong darah hanya masuk stok setelah petugas berizin menerimanya; tidak ada penerimaan otomatis. Uji dengan node scripts/utd-tiruan.mjs.

Lihat juga ​

Dirilis dengan lisensi MIT. Kontak: dev@opensimrs.com