Kiosk Engine v1.2.4+ Dokumen Panduan Teknis SIMRS Khanza & BPJS Kesehatan

Panduan Cepat Setup Awal & Deployment Anjungan Mandiri SEP

Petunjuk operasional lengkap untuk Tim IT Rumah Sakit & Teknisi Lapangan. Membahas distribusi konfigurasi massal, enkripsi otomatis (Zero-Leakage), integrasi biometrik sidik jari & FRISTA otomatis, konfigurasi penyimpanan berkas PDF SEP via jaringan (Samba Share), serta pengelolaan pengecualian poliklinik non-SEP mandiri.

Alur Kerja Cepat Deployment Kiosk Baru

Aplikasi Anjungan Mandiri SEP dirancang dengan arsitektur Zero-Maintenance & Secure by Design. Teknisi hanya perlu mempersiapkan satu file config.json di Flashdisk, lalu sistem akan menangani enkripsi, lokasi penyimpanan terlindungi, dan otomatisasi biometrik secara mandiri.

Diagram Alur Distribusi Konfigurasi:
1. Siapkan Flashdisk ➔ Installer .exe + config.json ➔ 2. Pasang di PC Kiosk ➔ 3. Auto Enkripsi config.enc ➔ 4. config.json Terhapus Bersih
Mengapa config.json otomatis dihapus pada mode Release?
Demi mematuhi standar keamanan rumah sakit, kredensial sensitif (Password Database Khanza, BPJS Secret Key, User Key) langsung dienkripsi dengan standar AES-256 CBC ke dalam %APPDATA%\AnjunganMandiriSEP\config.enc. File teks biasa (plain text) langsung dimusnahkan agar tidak dapat dibaca oleh pihak yang tidak berhak di mesin anjungan publik.
1. Cara Impor & Distribusi Konfigurasi (config.json)

Metode A: Deployment Massal Cepat via Flashdisk (Rekomendasi Teknisi)

Sangat cocok jika Rumah Sakit memiliki lebih dari 1 unit mesin anjungan mandiri atau loket admisi. Anda tidak perlu mengetik konfigurasi satu per satu di layar sentuh.

1
Ambil Berkas config.example.json
Buka folder rilis aplikasi, salin berkas config.example.json ke Flashdisk Anda.
2
Ubah Nama Berkas Menjadi config.json
Rename file tersebut dari config.example.json menjadi config.json.
Catatan: Pastikan ekstensi Windows menampilkan ekstensi file yang benar, jangan sampai menjadi config.json.json atau config.json.txt.
3
Edit Kredensial Rumah Sakit
Buka config.json menggunakan Notepad atau Visual Studio Code. Sesuaikan:
  • Koneksi MySQL database SIMRS Khanza (Host IP, Port, User, Password, Nama Database).
  • Kredensial BPJS VClaim & Antrean (Cons ID, Secret Key, User Key).
  • Profil Rumah Sakit (Nama RS, Alamat, ID Kiosk).
  • Kredensial Petugas Biometrik Sidik Jari / FRISTA.
  • Lokasi folder penyimpanan berkas PDF SEP (Drive Lokal / Samba).
4
Letakkan Bersebelahan dengan Installer di Flashdisk
Struktur isi Flashdisk Anda cukup seperti berikut:
Struktur Flashdisk
📁 USB FLASHDISK (D:)
 ├── 📄 Anjungan Mandiri SEP_1.2.0_x64-setup.exe
 └── 📄 config.json  <-- (File konfigurasi yang sudah disesuaikan)
5
Jalankan Instalasi di PC Client
Colokkan Flashdisk ke PC Kiosk, jalankan file setup installer sampai selesai. Saat aplikasi pertama kali terbuka:
  • Aplikasi mendeteksi config.json eksternal yang Anda bawa.
  • Otomatis mengimpor ke %APPDATA%\AnjunganMandiriSEP\.
  • Otomatis mengenkripsinya menjadi config.enc.
  • File config.json di Flashdisk/kiosk langsung dihapus bersih secara otomatis demi keamanan!

Metode B: Melalui Menu Pengaturan di Layar Kiosk (Admin UI)

Jika aplikasi sudah terpasang dan Anda ingin memperbarui konfigurasi atau mencadangkan:

  1. Pada layar awal Kiosk, klik Ikon Gembok atau tombol Pengaturan di pojok kanan atas.
  2. Masukkan PIN Petugas / Administrator. (PIN Default Pabrik: 1234).
  3. Di halaman Pengaturan, gulir ke bagian Operasional Konfigurasi & Berkas:
    • Tombol "Impor config.json": Buka file explorer untuk memilih file config.json dari Flashdisk. Sistem langsung memperbarui pengaturan dan mengenkripsinya seketika.
    • Tombol "Ekspor config.json": Mengekspor konfigurasi aktif saat ini menjadi file plain text ke Flashdisk untuk dijadikan template mesin kiosk lainnya.
    • Tombol "Reset ke Pengaturan Pabrik": Menghapus bersih berkas config.enc dan license.enc di %APPDATA%\AnjunganMandiriSEP jika Anda ingin melakukan setup dari nol (Clean Slate).
Mengapa Disimpan di APPDATA?
Konfigurasi disimpan pada folder khusus: C:\Users\{Username}\AppData\Roaming\AnjunganMandiriSEP\.
Tujuannya agar saat ada Pembaruan Otomatis (Auto-Update OTA) dari server cloud, file executable diperbarui tanpa pernah menimpa atau menghapus konfigurasi database dan lisensi rumah sakit yang sudah berjalan.
2. Lokasi Instalasi Biometrik (Sidik Jari & FRISTA) & Auto-Login

Sistem Kiosk dilengkapi dengan modul Smart Win32 UIAutomation yang mampu mengendalikan aplikasi resmi BPJS Kesehatan (Aplikasi Sidik Jari After.exe maupun Aplikasi Pengenalan Wajah FRISTA) secara otomatis tanpa perlu campur tangan petugas setiap ada pasien datang.

Jenis Biometrik Nama Eksekutor Lokasi Instalasi Standar (Default Path) Konfigurasi di config.json
Sidik Jari (Fingerprint) After.exe C:\Program Files (x86)\BPJS Kesehatan\Aplikasi Sidik Jari BPJS Kesehatan\After.exe
Fallback: C:\Program Files (x86)\Aplikasi Sidik Jari BPJS Kesehatan\After.exe
"url_aplikasi_fingerprint"
Face Recognition (FRISTA) frista.exe C:\frista\frista.exe
Working Directory: C:\frista\
"url_aplikasi_frista"

Bagaimana Otomatisasi Bekerja Saat Pasien Pertama Datang?

1
Pemeriksaan Proses Latar Belakang (Process Inspection)
Ketika pasien memilih menu cetak SEP atau verifikasi biometrik, backend Rust memeriksa apakah proses After.exe atau frista.exe sudah aktif di Windows. Jika belum menyala, sistem langsung mengeksekusi aplikasi tersebut beserta direktori kerjanya secara otomatis.
2
Deteksi Form Login & Otomatisasi Masuk (Auto-Login)
Jika aplikasi BPJS baru terbuka dan menampilkan form login petugas, Win32 Automation mendeteksi elemen input (txtUsername & txtPassword pada Sidik Jari, atau form login FRISTA). Sistem mengisikan Username & Password petugas secara otomatis dari config.enc lalu menekan tombol Login.
3
Auto-Typing Nomor Kartu BPJS Pasien
Setelah masuk ke layar utama verifikasi, sistem mendeteksi input nomor kartu (txtpsnoka) dan otomatis menempelkan (paste) Nomor Kartu BPJS pasien yang sedang dilayani. Jendela aplikasi dimajukan ke posisi terdepan (BringWindowToTop).
4
Pasien Melakukan Pemindaian
Pasien hanya tinggal menempelkan jari pada alat scanner sidik jari atau menghadap ke kamera FRISTA. Petugas rumah sakit tidak perlu melakukan klik atau ketik apapun!
5
Pasien Berikutnya (Instan & Cepat)
Untuk pasien ke-2 dan seterusnya, karena aplikasi biometrik sudah dalam kondisi login di latar belakang, sistem langsung memanggil window ke depan dan memasukkan Nomor Kartu BPJS pasien baru dalam hitungan milidetik.
Tips Penting Instalasi Biometrik:
1. Pastikan folder C:\frista dan C:\Program Files (x86)\BPJS Kesehatan\... dimasukkan ke dalam daftar Exclusion (Pengecualian) Windows Defender / Antivirus agar tidak diblokir saat startup otomatis.
2. Pastikan akun user_finger dan password_finger di config.json adalah akun petugas yang masih aktif dan memiliki hak akses verifikasi biometrik dari Kantor Cabang BPJS Kesehatan.
3. Setting Lokasi Simpan PDF SEP (Samba / Share Folder / Drive Lokal)

Setiap kali pasien berhasil menerbitkan SEP di anjungan, sistem langsung menghasilkan berkas digital PDF Surat Eligibilitas Peserta (SEP) berstandar BPJS lengkap dengan QR Code tanda tangan digital dan barcode nomor SEP untuk arsip rekam medis elektronik (RME) atau klaim Casemix.

Format Penulisan Parameter sep_pdf_dir

Metode Penyimpanan Contoh Penulisan di config.json Keterangan
Samba / Shared Folder (UNC Path) "sep_pdf_dir": "\\\\192.168.1.10\\Guest\\SEP" Menyimpan langsung ke Server File Sharing / NAS RS.
Wajib Escape: Gunakan 4 backslash \\\\ di awal dan 2 backslash \\ antar folder.
Mapped Network Drive "sep_pdf_dir": "Z:\\SEP" Jika folder jaringan sudah di-mount sebagai Network Drive letter (misal Drive Z:).
Harddisk Lokal PC Kiosk "sep_pdf_dir": "C:\\SEP" Menyimpan di partisi lokal komputer anjungan (misal C:\SEP atau D:\BerkasSEP).

Struktur Hierarki Folder yang Dibentuk Otomatis

Sistem secara otomatis mengelompokkan berkas secara rapi menurut pola:

Hierarki Direktori Berkas SEP
{sep_pdf_dir} \ {TAHUN} \ {RAJAL / RANAP} \ {BULAN} \ {HARI} \ {NO_SEP}.pdf

Contoh Riil Kasus: Pasien Rawat Jalan yang terbit SEP pada tanggal 26 September 2026 dengan Nomor SEP 0087R0010926V000001 akan tersimpan di:

Path Riil Berkas PDF
\\192.168.1.10\Guest\SEP\2026\RAJAL\09 SEPTEMBER\26\0087R0010926V000001.pdf

Pengaturan Hak Akses (Permissions) & Kredensial Samba

A
Hak Akses Share Folder (Security Permissions)
Pastikan folder share pada server Samba atau Windows Server memberikan izin Read & Write (Modify) kepada user PC Kiosk (atau grup Everyone / Guest dalam intranet RS).
B
Simpan Kredensial di Windows Credential Manager
Jika server Samba membutuhkan otentikasi login, simpan kredensial tersebut di Windows Kiosk agar otomatis login saat PC menyala tanpa intervensi manusia:
  1. Buka Control Panel di PC Kiosk ➔ Pilih Credential Manager (Pengelola Kredensial).
  2. Pilih tab Windows Credentials ➔ Klik Add a Windows credential.
  3. Masukkan Internet or network address: IP Server (misal 192.168.1.10).
  4. Masukkan Username & Password Samba server ➔ Klik OK.
Mekanisme Perlindungan Jaringan (Automated Local Fallback):
Jika kabel LAN terputus, switch jaringan restart, atau server Samba sedang mengalami gangguan (down), mesin anjungan TIDAK AKAN macet atau gagal cetak.
Sistem backend secara cerdas mendeteksi kegagalan jaringan dan langsung menyimpan berkas PDF secara lokal ke: ./PDF_SEP/{TAHUN}/{RAJAL}/{BULAN}/{HARI}/{NO_SEP}.pdf.
Pasien tetap mendapatkan struk cetak fisik SEP dan antrean di lobby rumah sakit tetap berjalan lancar.
4. Pengaturan Pengecualian Poliklinik BPJS (Non-SEP Mandiri)
Fitur Baru v1.2.4+

Di rumah sakit, terdapat unit atau poliklinik tertentu yang tidak diperkenankan menerbitkan SEP secara mandiri di anjungan. Contoh umum: Poli Radiologi (Rontgen/CT-Scan/USG), Laboratorium, Medical Check Up (MCU), Hemodialisa (Cuci Darah), Fisioterapi / Rehab Medik, atau Klinik VCT.

PENTING — Pembatasan Ini HANYA Berlaku untuk Alur Jaminan BPJS:
Filter pengecualian poliklinik (excluded_poli) secara khusus hanya mengunci alur BPJS (Check-in Mobile JKN & Penerbitan SEP Kontrol) karena membutuhkan verifikasi berkas pengantar internal dokter dan penjadwalan alat penunjang di loket fisik.
Pasien UMUM (Non-BPJS) TETAP DAPAT check-in di seluruh poliklinik aktif tanpa batasan sama sekali.

Mekanisme Intersepsi Dini Kiosk (Early Guard):

Ketika pasien BPJS mencari data pendaftarannya, sistem seketika mencocokkan kode poli tujuan. Jika terdaftar dalam daftar pengecualian:

  • Proses verifikasi biometrik (Fingerprint & FRISTA) seketika dibatalkan sebelum dimulai, menghemat waktu tunggu antrean lobby.
  • Sistem memutar nada audio peringatan lembut (chime warning).
  • Layar menampilkan dialog edukatif: "Pendaftaran pemeriksaan untuk [Nama Poli] tidak dapat diproses melalui Anjungan Mandiri. Silakan langsung menuju ke Loket Pendaftaran / Petugas [Nama Poli]."

2 Cara Mengatur Pengecualian Poliklinik

A
Cara 1: Lewat Menu Pengaturan Admin Kiosk (Paling Praktis & Visual)
Admin rumah sakit dapat langsung memilih poliklinik secara realtime tanpa perlu mengedit berkas konfigurasi secara manual:
  1. Di layar utama anjungan, klik tombol Pengaturan (atau ikon gembok) ➔ Masukkan PIN Admin (Default: 1234).
  2. Pilih tab "Menu Layanan Kiosk", lalu gulir ke bawah ke panel "Pengecualian Poliklinik BPJS (Non-SEP Mandiri)".
  3. Sistem otomatis menampilkan daftar seluruh poliklinik aktif yang dibaca langsung dari tabel poliklinik SIMRS Khanza.
  4. Gunakan kolom Pencarian untuk menemukan poli (misal ketik: Radiologi, MCU, atau FIS).
  5. Klik pada baris poliklinik tersebut hingga statusnya berubah menjadi DIKECUALIKAN (BLOCKED).
  6. Klik tombol "Simpan Perubahan" di pojok kanan bawah. Pengaturan langsung aktif seketika tanpa perlu restart PC!
B
Cara 2: Lewat Berkas config.json di Flashdisk (Untuk Deployment Massal)
Jika Anda menginstal banyak unit anjungan sekaligus menggunakan Flashdisk, cukup tambahkan array "excluded_poli" pada config.json:
Cuplikan config.json
  "security": {
    "admin_pin": "1234",
    "officer_pin": "1234"
  },
  "excluded_poli": [
    "RDO",
    "MCU",
    "FIS",
    "U0028",
    "U0030",
    "U0031",
    "VCT",
    "IGDK"
  ]

Catatan: Masukkan kode poliklinik (kd_poli) sesuai data master tabel poliklinik pada database SIMRS Khanza rumah sakit Anda.

5. Template Lengkap config.json

Gunakan template berikut sebagai acuan membuat berkas config.json di Flashdisk Anda. Cukup ganti bagian yang berawalan YOUR_... dengan data riil rumah sakit Anda.

config.json JSON (UTF-8)
{
  "database": {
    "host": "192.168.1.5",
    "port": 3306,
    "user": "root",
    "password": "YOUR_DATABASE_PASSWORD_HERE",
    "database": "sik"
  },
  "bpjs": {
    "cons_id": "YOUR_BPJS_CONS_ID",
    "secret_key": "YOUR_BPJS_SECRET_KEY",
    "user_key": "YOUR_BPJS_USER_KEY",
    "base_url_vclaim": "https://apijkn.bpjs-kesehatan.go.id/vclaim-rest",
    "base_url_antrean": "https://apijkn.bpjs-kesehatan.go.id/antreanrs"
  },
  "satusehat": {
    "host_hybrid_web": "192.168.1.5",
    "port_web": "80",
    "hybrid_web": "webapps",
    "default_agent_nik": "0132"
  },
  "hospital": {
    "name": "RS Islam Asy-Syifaa",
    "address": "Jl. Raya Lintas Sumatera Km. 65",
    "city": "Lampung Tengah",
    "province": "Lampung",
    "phone": "081234567890",
    "email": "info@rsyifaa.com",
    "kiosk_id": "KIOSK-01",
    "auto_print_barcode": true,
    "location": "apm"
  },
  "biometric": {
    "url_aplikasi_frista": "C:\\frista\\frista.exe",
    "url_aplikasi_fingerprint": "C:\\Program Files (x86)\\BPJS Kesehatan\\Aplikasi Sidik Jari BPJS Kesehatan\\After.exe",
    "url_finger": "https://fp.bpjs-kesehatan.go.id/finger-rest/",
    "user_finger": "YOUR_FINGERPRINT_USERNAME",
    "password_finger": "YOUR_FINGERPRINT_PASSWORD"
  },
  "printer_name": "POS-58",
  "sep_pdf_dir": "\\\\192.168.1.10\\Guest\\SEP",
  "sistem_antrian_url": "",
  "menus": {
    "antrian_admisi": true,
    "checkin_umum": true,
    "checkin_mobilejkn": true,
    "satusehat": true
  },
  "updater": {
    "enabled": true,
    "server_url": "https://updates-anjungan.getnua.id/latest.json",
    "auto_check": true,
    "force_update": false
  },
  "security": {
    "admin_pin": "1234",
    "officer_pin": "1234"
  },
  "excluded_poli": [
    "RDO",
    "MCU",
    "FIS",
    "U0028"
  ]
}
6. Troubleshooting & Pertanyaan Umum (FAQ)

T: Kenapa pasien BPJS di Poli Radiologi / MCU ditolak oleh mesin anjungan, sedangkan pasien Umum di poli yang sama bisa check-in?

Jawab: Hal tersebut adalah perilaku yang disengaja (by design). Pemeriksaan penunjang BPJS (seperti Radiologi, Laboratorium, MCU, atau Fisioterapi) memerlukan verifikasi berkas pengantar internal dokter, billing penunjang, atau kuota alat di loket fisik sehingga tidak diperkenankan menerbitkan SEP Mandiri di lobby anjungan.
Sebaliknya, pasien UMUM membayar secara mandiri / non-asuransi dan hanya membutuhkan nomor antrean periksa biasa, sehingga sistem mengizinkan pasien umum untuk check-in di seluruh poliklinik tanpa batasan.

T: Bagaimana cara mengizinkan atau melarang kembali poliklinik tertentu di anjungan mandiri?

Jawab: Sangat mudah tanpa menyentuh database:
1. Di mesin anjungan, klik ikon gembok / menu Pengaturan (PIN Admin: 1234).
2. Buka tab "Menu Layanan Kiosk" ➔ lihat panel "Pengecualian Poliklinik BPJS (Non-SEP Mandiri)".
3. Klik pada baris poli untuk beralih status antara "Diizinkan Kiosk" atau "DIKECUALIKAN (BLOCKED)".
4. Klik "Simpan Perubahan" di pojok bawah.

T: Saya uninstall aplikasi lama dan install versi terbaru, kenapa database masih membaca konfigurasi lama?

Jawab: Secara desain, konfigurasi disimpan di %APPDATA%\AnjunganMandiriSEP\config.enc agar kebal terhadap auto-update. Jika Anda ingin mengganti konfigurasi secara total:
1. Cukup bawa file config.json baru di Flashdisk saat membuka installer.
2. Atau masuk ke menu Pengaturan Kiosk (PIN: 1234) lalu klik "Reset ke Pengaturan Pabrik".
3. Atau hapus manual folder %APPDATA%\AnjunganMandiriSEP melalui Windows Run (Win+R).

T: Jendela After.exe atau FRISTA tidak mau otomatis mengisi username dan password?

Jawab: Periksa hal berikut:
1. Pastikan jalur file pada url_aplikasi_fingerprint atau url_aplikasi_frista di config mengarah tepat ke file .exe yang terpasang.
2. Pastikan field user_finger dan password_finger tidak kosong di file config.json.
3. Pastikan tidak ada aplikasi overlay atau antivirus yang memblokir skrip PowerShell otomatisasi di background.

T: File PDF SEP tidak muncul di server Samba?

Jawab:
1. Periksa folder lokal Kiosk pada subfolder PDF_SEP. Jika berkas tersimpan di sana, berarti jalur Samba Anda tidak dapat ditulis (Write permission denied atau koneksi terputus).
2. Pastikan penulisan backslash di JSON sudah di-escape ganda: "\\\\192.168.1.10\\Guest\\SEP".
3. Pastikan kredensial share folder sudah tersimpan di Windows Credential Manager pada PC Kiosk.

T: Pasien sempat dibatalkan di loket, lalu daftar ulang di hari yang sama. Apakah bisa menggunakan mesin anjungan?

Jawab: BISA (Mulai v1.1.9). Sistem Kiosk v1.1.9 sudah dilengkapi logika pencarian cerdas yang memfilter status pendaftaran. Pendaftaran yang berstatus Batal akan diabaikan, dan sistem secara otomatis memprioritaskan nomor rawat aktif terbaru yang didaftarkan ulang pada hari yang sama.