Kiosk Cetak SEP Mandiri: Mempercepat Alur Pasien BPJS Rawat Jalan
Sobat IT RS, pernah ngerasain ruang tunggu pasien RS kayak stasiun saat jam pulang kantor? Terutama antrean di loket verifikasi BPJS, bikin petugas pusing, pasien makin uring-uringan. Komplain ngalir, HP CS panas. Padahal, mayoritas pasien rawat jalan "cuma" perlu terbitin SEP buat lanjut poli. Gak jarang satu pasien nunggu setengah jam, padahal prosesnya sendiri 3 menit. Sakitnya tuh di sini.
Solusi paling sering dibahas manajemen: tambah loket. Tapi, SDM terbatas, shift pagi-akhir pekan sering bolong, biaya nambah. Nah, kenapa gak coba Kiosk Cetak SEP Mandiri? Mesin cetak self-service, pasien sendiri yang generate SEP pakai KTP+fingerprint. Integrasi langsung ke SIMRS dan API VClaim BPJS. Alur lebih ringkas, petugas bisa fokus kasus khusus. Yuk, bedah teknisnya.
Masalah di Lapangan: Loket BPJS = Bottleneck
Penyebab Penumpukan
- Volume pasien tinggi: RS rujukan, kunjungan rawat jalan 200-600 pasien/hari, mayoritas peserta BPJS.
- Proses manual: Input data ke SIMRS, verifikasi berkas, cetak SEP, butuh waktu—apalagi kalau data pasien kurang lengkap atau faskes rujukan beda.
- SDM terbatas: Idealnya 3-4 loket, realita kadang cuma 1-2 aktif, apalagi shift siang/sore.
- Pasien belum familiar digital: Banyak pasien senior kurang paham aplikasi mobile, takut salah input.
- Masalah e-KTP: e-KTP kadang rusak/chip error, fingerprint sering gagal, terutama lansia.
Dampak ke Operasional
- Antrian panjang, keluhan pasien naik.
- Waktu tunggu poli molor, jadwal dokter kacau.
- Petugas burnout, data entry rawan salah (typo/no. KTP/kode diagnosa).
- Laporan harian klaim BPJS telat, risiko klaim tertolak naik.
Kiosk Cetak SEP Mandiri: Apa dan Bagaimana?
Konsep Kiosk
- Mesin touchscreen (PC mini/All In One), ada scanner e-KTP, modul fingerprint, printer thermal/A4 untuk cetak SEP.
- Terintegrasi ke SIMRS (Web API) & VClaim BPJS (rest API service, endpoint /SEP/2.0/insert).
- User pasien: datang, scan KTP, fingerprint, validasi data, tekan Cetak, SEP keluar. Petugas standby bantu troubleshooting.
Komponen Kunci
- Perangkat Keras:
- PC touchscreen (Windows/Linux), minimal RAM 4GB.
- Scanner reader e-KTP (support baca chip, PC/SC compliant).
- Fingerprint reader (SDK open, rekam/validasi sidik jari via Dukcapil lokal).
- Printer thermal/A4 (direct cetak kertas SEP standar BPJS).
- Perangkat Lunak:
- Frontend UI (Electron/React JS, bisa webview kiosk mode).
- Middleware (Node.js/Python/.NET), bridging hardware ke SIMRS & VClaim.
- Integrasi SIMRS & VClaim (REST API, web service SOAP kalau BPJS belum upgrade endpoint).
Alur Teknis Cetak SEP Mandiri
Diagram Alur (Teks)
- Pasien pilih menu "Cetak SEP Mandiri" di kiosk.
- Pasien scan e-KTP → data NIK terbaca.
- Kiosk tarik data peserta ke SIMRS via API internal (cek sudah daftar poli hari ini).
- Kiosk minta verifikasi sidik jari → validasi ke Dukcapil/SIMRS (data biometric lokal).
- Ambil data peserta, nomor rujukan, diagnosa (otomatis dari booking/pendaftaran SIMRS).
- Kiosk panggil API VClaim /SEP/2.0/insert, request SEP baru.
- Response sukses → kiosk cetak SEP, keluar kertas. Kalau gagal (error API/invalid), tampil pesan error dan tombol "Panggil Petugas".
- SEP tercatat di SIMRS, pasien lanjut ke poly.
Snippet Integrasi API VClaim (Contoh Python requests)
import requests
import datetime
import hashlib
import base64
cons_id = "xxxxxxxx"
secret = "yyyyyyyy"
user_key = "zzzzzzzz"
timestamp = str(int(datetime.datetime.now().timestamp()))
signature = base64.b64encode(
hashlib.sha256((cons_id + "&" + timestamp).encode('utf-8')).digest()
).decode()
url = "https://apijkn.bpjs-kesehatan.go.id/vclaim-rest/SEP/2.0/insert"
headers = {
"X-cons-id": cons_id,
"X-timestamp": timestamp,
"X-signature": signature,
"user_key": user_key,
"Content-Type": "application/x-www-form-urlencoded"
}
payload = {
"request": {
"t_sep": {
"noKartu": "0001112223334",
"tglSep": "2024-06-12",
"ppkPelayanan": "0123U001",
"jnsPelayanan": "2",
"klsRawat": {"klsRawatHak":"3", "klsRawatNaik":"", "pembiayaan":"", "penanggungJawab":""},
"noMR": "RS00123456",
"rujukan": {"asalRujukan":"1", "tglRujukan":"2024-06-10", "noRujukan":"1200000001", "ppkRujukan":"0123U011"},
"catatan": "",
"diagAwal": "A09",
"poli": {"tujuan":"INT", "eksekutif":"0"},
"cob": {"cob":"0"},
"katarak": {"katarak":"0"},
"jaminan": {"lakaLantas":"0", "penjamin": {"tglKejadian":"", "keterangan":"", "suplesi":{"suplesi":"0", "noSepSuplesi":"", "lokasiLaka":{}}}},
"skdp": {"noSurat":"SKDP0001", "kodeDPJP":"12345"},
"noTelp": "0812345678",
"user": "kiosk-cetak"
}
}
}
response = requests.post(url, json=payload, headers=headers, timeout=10)
print(response.json())
Struktur Tabel SIMRS (Contoh Minimalis)
t_sep_kiosk
-----------
id_sep BIGSERIAL PRIMARY KEY
no_sep VARCHAR(32)
no_kartu VARCHAR(13)
tgl_sep DATE
nama VARCHAR(100)
no_mr VARCHAR(20)
poli_tujuan VARCHAR(16)
kode_dokter VARCHAR(16)
status_cetak SMALLINT DEFAULT 0 -- 0: belum, 1: sudah
created_at TIMESTAMP DEFAULT now()
Antisipasi Masalah Fingerprint/e-KTP
- Fingerprint gagal (lansia, luka) → fallback: input manual kode OTP via SMS (harus integrasi SIMRS-SMS gateway, pastikan nomor HP pasien update!)
- e-KTP rusak/tidak terbaca → fallback: input NIK manual, tetap wajib konfirmasi sidik jari/OTP.
- Data tidak ditemukan → pasien diarahkan ke petugas, lapor anomali data SIMRS/BPJS.
Keuntungan Kiosk Cetak SEP Mandiri
- Waktu tunggu berkurang drastis: 2-3 menit per pasien, tanpa antrean panjang di loket.
- SDM petugas efisien: Fokus data bermasalah, bukan entry rutin SEP.
- Data lebih rapi: Minim typo, semua input terstruktur, histori tercatat otomatis.
- Audit trail jelas: Siapa dan kapan cetak SEP, semua terekam di SIMRS.
- Integrasi VClaim real-time: Proses klaim lebih lancar, risiko SEP ganda/invalid turun.
Studi Kasus: RSUD Kabupaten X, Implementasi Q1 2024
- Dulunya antrean SEP rawat jalan 30-40 pasien jam 7-9 pagi. Komplain pasien tinggi, poli molor start 30 menit.
- Implementasi 2 unit kiosk (touchscreen 15", scanner e-KTP, fingerprint, printer A4). UI pakai ReactJS, middleware Python Flask, SIMRS PostgreSQL, printer via CUPS.
- Alur: Pasien scan KTP, fingerprint, verifikasi poli tujuan & nomor HP, cetak SEP. Total waktu: 2-3 menit (sebelumnya 10-15 menit/loket).
- Fallback: Fingerprint gagal → input OTP SMS, e-KTP rusak → input NIK manual plus konfirmasi petugas.
- Hasil: 70% pasien rawat jalan gunakan kiosk, antrean loket tinggal separuh, keluhan menurun tajam.
- Monitoring: Tabel t_sep_kiosk ditarik harian, query untuk analisa:
SELECT tgl_sep, COUNT(*) AS jumlah_sep,
SUM(CASE WHEN status_cetak = 1 THEN 1 ELSE 0 END) AS sudah_cetak,
SUM(CASE WHEN status_cetak = 0 THEN 1 ELSE 0 END) AS belum_cetak
FROM t_sep_kiosk
WHERE tgl_sep >= CURRENT_DATE - INTERVAL '7 days'
GROUP BY tgl_sep
ORDER BY tgl_sep DESC;
- RS tambah notifikasi WhatsApp otomatis: "SEP sudah tercetak. Silakan lanjut ke poli."
- Petugas lebih fokus handling kasus: SEP rujukan ganda, klaim SEP invalid, pasien BPJS KIS bermasalah.
Tips Implementasi Kiosk SEP Mandiri di RS
- Pilih hardware rugged: Jangan sekadar PC murah, pastikan tahan minimal 18 jam/hari, sparepart lokal, suku cadang ready.
- Pakai reader e-KTP certified: Hindari scanner abal-abal, pastikan support PC/SC, periksa kompatibilitas OS.
- Integrasi data booking: Kiosk wajib narik jadwal poli dari SIMRS, bukan input manual, biar pasien gak bisa asal cetak SEP buat hari yang belum daftar.
- Jaga keamanan session: Kiosk harus clear session tiap transaksi selesai atau setelah idle 1 menit. Cegah pasien ngintip data pasien sebelumnya.
- Audit log wajib: Simpan log siapa (NIK), kapan, status sukses/gagal, response API BPJS. Ideal: file log terpisah dari DB.
- Petugas standby: Minimal ada 1 petugas yang cek antrian, bantu pasien lansia/gagal verifikasi.
- Backup manual: Kalau server BPJS/VClaim down, tetap bisa input SEP manual, simpan antrian cetak, push ke VClaim setelah recover.
Potensi Kendala dan Solusi
- API VClaim lambat/error: Simpan antrian request, pakai background worker untuk retry. Tampilkan info jelas di kiosk: "Layanan BPJS sedang lambat, silakan tunggu."
- Hardware rusak: Standby 1 kiosk cadangan, petugas cek status tiap jam. Sediakan nomor hotline support.
- Koneksi internet putus: Kiosk bisa simpan request lokal sementara, sync otomatis saat koneksi balik.
- Pasien tidak bisa scan fingerprint: Selalu sediakan opsi backup (OTP SMS/manual petugas).
- Data SIMRS belum update: Pastikan antrian booking online/backoffice update real-time ke sistem yang diakses kiosk.
Contoh Script Auto-Logout Kiosk (Web UI, JavaScript)
let idleTimeout;
function resetIdleTimer() {
clearTimeout(idleTimeout);
idleTimeout = setTimeout(() => {
window.location.href = "/logout";
}, 60000); // 1 menit idle logout
}
window.onload = resetIdleTimer;
document.onmousemove = resetIdleTimer;
document.onkeypress = resetIdleTimer;
Checklist Integrasi SIMRS x Kiosk SEP
- API pendaftaran/booking real-time (pastikan status pasien sudah ambil nomor poli).
- Endpoint API internal SIMRS: GET data peserta by NIK/noMR, POST create log cetak SEP.
- Mapping kode poli, kode dokter, format nomor MR sesuai kebutuhan endpoint VClaim.
- Validasi nomor rujukan (aktif, belum expired, belum dipakai cetak SEP lain).
- Enkripsi koneksi internal (HTTPS), role-based session di SIMRS.
Efek Domino: Workflow RS Lebih Luwes
- Pasien rawat jalan lebih cepat ke poli, antrean lebih lancar.
- Petugas tidak keteteran entry SEP, lebih siap menangani edge case.
- Monitoring klaim lebih real-time, laporan untuk BPJS/Akreditasi lebih rapi.
- Manajemen bisa ukur kinerja: berapa persen SEP terbit via kiosk vs manual, waktu rata-rata proses SEP, anomali/human error turun.
Penutup: Kunci Sukses = Kolaborasi
Kiosk SEP mandiri bukan sulap, tapi kunci biar RS cepat adaptasi: pasien lebih mandiri, SDM IT & petugas lebih fokus. Kuncinya: integrasi data solid, UI gampang dipakai, backup manual siap, dan audit trail jalan. Sobat IT RS yang tertarik mulai, pastikan punya tim kecil bridging SIMRS-VClaim, tes hardware, dan prototipe kecil dulu sebelum deploy besar. Daripada nambah loket (dan darah tinggi tiap Senin pagi), mending investasi ke kiosk. Lebih tenang, lebih scalable.
PETIRS