VClaim BPJS Error: Panduan Solusi Lengkap untuk Rumah Sakit [2026]

Thesar MedMinutes, Business Development MedMinutes · · 22 menit baca
VClaim BPJS Error: Panduan Solusi Lengkap untuk Rumah Sakit [2026]

VClaim BPJS Error: Panduan Solusi Lengkap untuk Rumah Sakit [2026]

Pukul 07.30 pagi. Antrian pendaftaran sudah mengular. Petugas admisi klik "Cari Peserta" di SIMRS --- dan layar menampilkan pesan merah: "401 Unauthorized". Pasien menunggu, dokter menunggu, manajemen mulai bertanya.

Kalau Anda pernah mengalami skenario ini, Anda tidak sendirian. Berdasarkan pengalaman kami mendampingi 50+ rumah sakit di 8+ provinsi, error VClaim BPJS adalah salah satu masalah operasional paling sering dan paling frustrasi di rumah sakit Indonesia. Masalahnya: tidak ada satu pun panduan komprehensif yang mengumpulkan semua error VClaim beserta solusinya di satu tempat.

Sampai sekarang.

Untuk Direktur & Wadir Keuangan: Error VClaim bukan hanya masalah teknis — ini masalah revenue. Setiap jam VClaim down di satu loket pendaftaran, rata-rata 15-20 pasien terhambat. Jika RS Anda punya 5 loket dengan rata-rata klaim Rp 4,5 juta, 1 jam downtime = potensi Rp 67-90 juta proses klaim tertunda. Dalam sebulan, ini bisa berarti ratusan juta rupiah tertahan di pipeline. Solusi jangka panjangnya: SIMRS dengan bridging VClaim terintegrasi yang mengeliminasi 60-70% error manual.

Artikel ini adalah referensi definitif untuk setiap error VClaim BPJS yang mungkin Anda temui — lengkap dengan penyebab, langkah troubleshooting, dan cara mencegahnya. Bookmark halaman ini dan bagikan ke tim IT dan pendaftaran RS Anda.


Daftar Isi

  1. Memahami Arsitektur VClaim BPJS
  2. Kategori A: HTTP/API Errors
  3. Kategori B: Data & Business Logic Errors
  4. Kategori C: SEP & Rujukan Errors
  5. Kategori D: Connection & Infrastructure Errors
  6. Quick Reference Table: 28 Error VClaim
  7. Tips Mencegah Error VClaim
  8. Kapan Hubungi Helpdesk BPJS
  9. Bagaimana RME Terintegrasi Mengurangi Error VClaim
  10. FAQ

Memahami Arsitektur VClaim BPJS

Sebelum masuk ke daftar error, penting untuk memahami bagaimana VClaim bekerja di balik layar. Pemahaman ini akan membantu Anda mendiagnosa masalah lebih cepat.

Alur Request VClaim

SIMRS (Aplikasi RS)

→ HTTP Request + Header Autentikasi

→ API Gateway BPJS (dvlp.bpjs-kesehatan.go.id / apijkn.bpjs-kesehatan.go.id)

→ VClaim Service

→ Database BPJS

Komponen Autentikasi VClaim

Setiap request ke VClaim API membutuhkan 3 komponen header:

HeaderDeskripsiContoh
`X-cons-id`Consumer ID unik per faskes`12345`
`X-timestamp`Unix timestamp saat request dikirim`1709784000`
`X-signature`HMAC-SHA256 dari Consumer ID + timestamp, di-hash dengan Consumer Secret`Base64(HMAC-SHA256(...))`
Penting: Signature dihitung dengan formula:
signature = Base64(HMAC-SHA256(consId + "&" + timestamp, consSecret))

Jika salah satu komponen ini tidak valid --- entah karena Consumer ID salah, timestamp tidak sinkron, atau secret key expired --- Anda akan mendapat error autentikasi.

Enkripsi Response (VClaim v2)

Sejak VClaim versi 2, response dari BPJS dienkripsi menggunakan:

  1. AES-256-CBC untuk enkripsi data
  2. LZ-String untuk kompresi
  3. Key dekripsi: `consId + consSecret + timestamp`

Ini berarti: jika ada masalah dengan proses dekripsi di sisi SIMRS, Anda bisa mendapat data yang "rusak" meskipun response dari BPJS sebenarnya sukses.


Kategori A: HTTP/API Errors

Error di kategori ini terjadi pada level protokol HTTP --- sebelum request Anda sampai ke business logic VClaim. Biasanya terlihat dari HTTP status code.

Error A1: 401 Unauthorized

AspekDetail
HTTP Code401
Pesan"Unauthorized" atau "Silahkan cek kembali Cons-ID dan SecretKey Anda"
FrekuensiSangat sering --- error VClaim #1 paling umum
Penyebab:
  1. Consumer ID atau Secret Key salah. Biasanya terjadi setelah BPJS melakukan reset credential atau Anda baru migrasi server.
  2. Timestamp tidak sinkron. VClaim mentoleransi selisih waktu maksimal 2 menit antara server RS dan server BPJS. Jika jam server Anda selisih lebih dari itu, signature akan dianggap invalid.
  3. Signature salah. Kesalahan dalam implementasi HMAC-SHA256 --- misalnya encoding yang tidak tepat, atau urutan parameter yang terbalik.
  4. Consumer ID belum diaktivasi untuk environment production.
Solusi:
  1. Verifikasi Consumer ID dan Secret Key di portal BPJS (dvlp.bpjs-kesehatan.go.id).
  2. Cek sinkronisasi waktu server: jalankan `date` di terminal server dan bandingkan dengan waktu sebenarnya. Selisih harus < 60 detik.
  3. Pastikan format signature: `Base64(HMAC-SHA256(consId + "&" + timestamp, consSecret))`.
  4. Test dengan tool seperti Postman menggunakan credential yang sama --- jika di Postman berhasil, masalah ada di kode SIMRS.

Error A2: 403 Forbidden

AspekDetail
HTTP Code403
Pesan"Forbidden" atau "IP Address tidak terdaftar"
FrekuensiSering --- terutama setelah migrasi server
Penyebab:
  1. IP server RS tidak terdaftar di whitelist BPJS. Setiap Consumer ID terikat dengan IP tertentu.
  2. IP berubah karena migrasi server, perubahan ISP, atau penggunaan IP dinamis.
  3. Mengakses dari environment yang salah (production vs development).
Solusi:
  1. Cek IP publik server: `curl ifconfig.me` atau `curl ipinfo.io/ip`.
  2. Daftarkan IP baru melalui portal BPJS atau hubungi PIC BPJS cabang.
  3. Jika menggunakan cloud server, pastikan IP static/elastic, bukan dynamic.
  4. Periksa apakah ada proxy atau load balancer yang mengubah source IP.

Error A3: 408 Request Timeout

AspekDetail
HTTP Code408
Pesan"Request Timeout"
FrekuensiSering --- terutama jam sibuk (07.00-10.00)
Penyebab:
  1. Server BPJS overload pada jam pendaftaran pagi.
  2. Koneksi internet RS lambat atau tidak stabil.
  3. Timeout setting di SIMRS terlalu pendek (default banyak framework: 30 detik).
Solusi:
  1. Implementasi retry mechanism dengan exponential backoff: tunggu 2 detik, retry; tunggu 4 detik, retry; tunggu 8 detik, retry.
  2. Naikkan timeout setting di SIMRS menjadi minimal 60 detik.
  3. Monitor bandwidth internet pada jam sibuk --- pertimbangkan dedicated line untuk bridging BPJS.
  4. Implementasi queue system agar request tidak menumpuk bersamaan.

Error A4: 500 Internal Server Error

AspekDetail
HTTP Code500
Pesan"Internal Server Error"
FrekuensiKadang-kadang --- biasanya masalah di sisi BPJS
Penyebab:
  1. Bug atau crash di server VClaim BPJS. Ini bukan kesalahan Anda.
  2. Request body malformed --- JSON tidak valid, field wajib kosong.
  3. Data yang dikirim menyebabkan error di sisi BPJS (edge case yang tidak ter-handle).
Solusi:
  1. Cek apakah error terjadi untuk semua request atau hanya request tertentu. Jika hanya request tertentu, periksa payload yang dikirim.
  2. Validasi JSON request body sebelum dikirim.
  3. Jika error terjadi untuk semua request, tunggu 15-30 menit lalu coba lagi.
  4. Cek grup Telegram/WhatsApp komunitas BPJS IT untuk konfirmasi apakah ada gangguan massal.
  5. Jika berlanjut > 1 jam, hubungi helpdesk BPJS.

Error A5: 502 Bad Gateway

AspekDetail
HTTP Code502
Pesan"Bad Gateway"
FrekuensiJarang --- biasanya maintenance BPJS
Penyebab:
  1. API Gateway BPJS tidak bisa menghubungi backend VClaim. Biasanya terjadi saat maintenance atau deployment.
  2. Backend VClaim sedang restart.
Solusi:
  1. Tunggu 5-10 menit, lalu coba lagi.
  2. Cek apakah ada pengumuman maintenance dari BPJS.
  3. Jika berlanjut > 30 menit, hubungi helpdesk.

Error A6: 503 Service Unavailable

AspekDetail
HTTP Code503
Pesan"Service Unavailable" atau "Service sedang dalam perbaikan"
FrekuensiJarang --- biasanya maintenance terjadwal
Penyebab:
  1. Maintenance terjadwal VClaim. Biasanya malam hari atau akhir pekan.
  2. Server overload sehingga BPJS menonaktifkan sementara.
Solusi:
  1. Cek jadwal maintenance di portal BPJS.
  2. Siapkan prosedur manual (formulir kertas) untuk pendaftaran saat VClaim down.
  3. Catat data pasien dan buat SEP setelah VClaim kembali online.

Error A7: 404 Not Found

AspekDetail
HTTP Code404
Pesan"Not Found" atau "Endpoint tidak ditemukan"
FrekuensiJarang --- biasanya setelah update API
Penyebab:
  1. URL endpoint salah --- typo atau versi API yang sudah deprecated.
  2. BPJS mengubah endpoint tanpa notifikasi yang jelas.
Solusi:
  1. Verifikasi endpoint dengan dokumentasi VClaim terbaru.
  2. Pastikan base URL sesuai environment: `https://apijkn.bpjs-kesehatan.go.id/vclaim-rest-v2.0/` untuk production.
  3. Cek changelog VClaim untuk perubahan endpoint.

Kategori B: Data & Business Logic Errors

Error di kategori ini terjadi ketika request berhasil sampai ke server BPJS, tapi data yang dikirim tidak valid atau tidak memenuhi aturan bisnis. HTTP status code biasanya 200, tapi field `metaData.code` berisi kode error.

Error B1: Peserta Tidak Ditemukan

AspekDetail
Code`metaData.code: 201`
Pesan"Data peserta tidak ditemukan"
FrekuensiSangat sering
Penyebab:
  1. Nomor kartu BPJS salah --- typo saat input, kartu lama yang sudah diganti.
  2. NIK tidak terdaftar di database BPJS.
  3. Peserta sudah dinonaktifkan (pindah perusahaan, tunggakan iuran perusahaan).
Solusi:
  1. Minta pasien menunjukkan kartu BPJS fisik atau aplikasi JKN untuk verifikasi nomor.
  2. Coba cari menggunakan NIK sebagai alternatif nomor kartu.
  3. Arahkan pasien untuk cek status kepesertaan via aplikasi JKN Mobile atau kantor BPJS.

Error B2: Peserta Tidak Aktif

AspekDetail
CodeBervariasi
Pesan"Peserta tidak aktif" atau "Status kepesertaan: Non Aktif"
FrekuensiSering
Penyebab:
  1. Tunggakan iuran > 1 bulan (peserta mandiri/PBPU).
  2. Perusahaan belum membayar iuran karyawan.
  3. Peserta meninggal dunia atau pindah ke luar negeri.
  4. Masa aktif kartu habis dan belum diperpanjang.
Solusi:
  1. Informasikan pasien untuk melunasi tunggakan melalui kantor BPJS, mobile banking, atau minimarket.
  2. Untuk peserta PPU (pekerja penerima upah), minta pasien menghubungi HRD perusahaan.
  3. Setelah tunggakan dilunasi, aktivasi membutuhkan waktu 1x24 jam --- informasikan ke pasien.
  4. Untuk kasus darurat, proses pasien dengan jaminan deposit dan buat SEP setelah kepesertaan aktif.

Error B3: Nomor Kartu Tidak Valid

AspekDetail
CodeBervariasi
Pesan"Nomor kartu tidak valid" atau "Format nomor kartu salah"
FrekuensiKadang-kadang
Penyebab:
  1. Format nomor kartu salah --- nomor kartu BPJS harus 13 digit.
  2. Karakter non-numerik ikut terinput (spasi, huruf O bukan angka 0).
  3. Nomor kartu lama yang sudah dimigrasikan ke nomor baru.
Solusi:
  1. Validasi format di sisi SIMRS: hanya angka, 13 digit.
  2. Implementasi auto-trim spasi dan validasi karakter.
  3. Jika nomor kartu berubah, minta pasien mengecek nomor terbaru di aplikasi JKN.

Error B4: Diagnosa Tidak Sesuai

AspekDetail
CodeBervariasi
Pesan"Kode diagnosa tidak valid" atau "Diagnosa tidak sesuai dengan poli tujuan"
FrekuensiKadang-kadang
Penyebab:
  1. Kode ICD-10 salah atau tidak ada di master data BPJS.
  2. Kode ICD-10 tidak sesuai dengan poli/spesialisasi yang dituju.
  3. Versi kode ICD-10 berbeda antara SIMRS dan database BPJS.
  4. Diagnosa utama menggunakan kode yang terlalu umum (misal R69 - Illness unspecified).
Solusi:
  1. Gunakan kode ICD-10 dari master data BPJS, bukan dari referensi WHO langsung.
  2. Pastikan mapping diagnosa-poli sudah benar di SIMRS.
  3. Untuk koding ICD-10 yang akurat, pertimbangkan menggunakan tools berbasis AI seperti CDSS MedMinutes yang memiliki modul ICD-10 AI untuk membantu dokter memilih kode yang tepat dan sesuai aturan BPJS.
  4. Baca panduan lengkap kami tentang optimasi koding ICD-10 untuk klaim BPJS.

Error B5: DPJP Tidak Valid

AspekDetail
CodeBervariasi
Pesan"Kode DPJP tidak valid" atau "DPJP tidak terdaftar"
FrekuensiKadang-kadang
Penyebab:
  1. Kode dokter (DPJP) tidak terdaftar di mapping VClaim untuk faskes tersebut.
  2. Dokter baru yang belum didaftarkan ke BPJS.
  3. Kode dokter di SIMRS berbeda dengan kode di VClaim.
  4. STR dokter sudah expired sehingga dinonaktifkan oleh BPJS.
Solusi:
  1. Sinkronkan master data dokter antara SIMRS dan VClaim menggunakan endpoint referensi DPJP.
  2. Daftarkan dokter baru melalui portal BPJS atau PIC BPJS cabang.
  3. Pastikan mapping kode dokter SIMRS ↔ kode BPJS sudah benar.
  4. Ingatkan manajemen RS untuk memperbarui STR dokter sebelum expired.

Error B6: Kode PPK Tidak Sesuai

AspekDetail
CodeBervariasi
Pesan"PPK pelayanan tidak sesuai" atau "Kode PPK tidak valid"
FrekuensiJarang
Penyebab:
  1. Kode PPK (faskes) yang digunakan tidak sesuai dengan Consumer ID.
  2. Kesalahan konfigurasi saat setup awal bridging.
  3. RS punya beberapa kode PPK (rawat jalan, rawat inap, IGD) dan yang digunakan salah.
Solusi:
  1. Pastikan kode PPK yang dikirim sesuai dengan yang terdaftar untuk Consumer ID tersebut.
  2. Cek konfigurasi mapping PPK di SIMRS.
  3. Untuk RS dengan multi-PPK, pastikan routing ke PPK yang benar berdasarkan jenis layanan.

Error B7: Kelas Rawat Tidak Sesuai Hak

AspekDetail
CodeBervariasi
Pesan"Kelas rawat tidak sesuai dengan hak peserta"
FrekuensiSering
Penyebab:
  1. Kelas rawat yang dipilih lebih tinggi dari hak peserta tanpa ada persetujuan naik kelas.
  2. Data hak kelas di SIMRS tidak ter-update setelah peserta mengubah kelasnya.
Solusi:
  1. Selalu ambil data hak kelas dari response `peserta` VClaim, jangan hard-code di SIMRS.
  2. Jika pasien ingin naik kelas, gunakan mekanisme selisih biaya (iur biaya) yang sesuai regulasi.
  3. Sinkronkan master data peserta setiap kali pasien mendaftar.

Demo Gratis 30 Menit
Lihat langsung berapa
revenue RS Anda yang bocor
Dalam 30 menit, kami analisis data klaim RS Anda — langsung di depan Anda.
Jadwalkan Demo
Tanpa biaya, tanpa kewajiban

Kategori C: SEP & Rujukan Errors

Error di kategori ini berkaitan dengan pembuatan Surat Eligibilitas Peserta (SEP), rujukan, dan surat kontrol. Ini adalah error yang paling langsung berdampak pada proses pendaftaran pasien.

Error C1: Tanggal SEP Tidak Valid

AspekDetail
CodeBervariasi
Pesan"Tanggal SEP tidak valid" atau "Tanggal SEP tidak boleh kurang dari tanggal rujukan"
FrekuensiSering
Penyebab:
  1. Format tanggal salah --- VClaim menggunakan format `YYYY-MM-DD`.
  2. Tanggal SEP lebih awal dari tanggal rujukan.
  3. Tanggal SEP mundur (backdating) lebih dari batas toleransi BPJS.
  4. Tanggal SEP di masa depan (advance dating).
Solusi:
  1. Pastikan format tanggal: `YYYY-MM-DD` (contoh: `2026-03-07`).
  2. Validasi di SIMRS: tanggal SEP >= tanggal rujukan.
  3. Untuk SEP backdating, ikuti prosedur persetujuan dari kepala BPJS cabang.
  4. Pastikan jam server sudah benar --- jika timezone salah, tanggal bisa terhitung berbeda.

Error C2: SEP Duplikat

AspekDetail
CodeBervariasi
Pesan"Peserta sudah memiliki SEP aktif" atau "SEP duplikat"
FrekuensiSering
Penyebab:
  1. Pasien sudah terdaftar di RS lain atau poli lain dengan SEP yang masih aktif.
  2. Double entry oleh petugas admisi --- tombol diklik dua kali.
  3. SEP sebelumnya belum di-delete meskipun pasien batal berobat.
Solusi:
  1. Cek SEP aktif terlebih dahulu menggunakan endpoint `monitoring/HistoriPelayanan` sebelum membuat SEP baru.
  2. Jika SEP lama perlu dibatalkan, gunakan endpoint `SEP/Delete` dengan alasan yang valid.
  3. Implementasi debounce/lock pada tombol buat SEP di SIMRS agar tidak double-click.
  4. Untuk rawat inap, pastikan SEP rawat jalan sudah ditutup sebelum buat SEP rawat inap.

Error C3: Rujukan Expired

AspekDetail
CodeBervariasi
Pesan"Rujukan sudah tidak berlaku" atau "Masa berlaku rujukan sudah habis"
FrekuensiSering
Penyebab:
  1. Rujukan sudah melewati masa berlaku --- rujukan FKTP berlaku 90 hari, rujukan antar RS berlaku sesuai ketentuan.
  2. Rujukan sudah digunakan untuk kunjungan sebelumnya dan tidak bisa dipakai lagi.
Solusi:
  1. Cek masa berlaku rujukan sebelum membuat SEP: gunakan endpoint `Rujukan/Peserta/{noKartu}`.
  2. Jika rujukan expired, minta pasien kembali ke FKTP (puskesmas/klinik) untuk membuat rujukan baru.
  3. Untuk kasus tertentu (rujukan iteratif), gunakan mekanisme surat kontrol.
  4. Informasikan pasien tentang masa berlaku rujukan saat pertama kali mendaftar.

Error C4: Surat Kontrol Expired

AspekDetail
CodeBervariasi
Pesan"Surat kontrol sudah tidak berlaku"
FrekuensiKadang-kadang
Penyebab:
  1. Surat kontrol melewati tanggal rencana kontrol yang ditetapkan.
  2. Surat kontrol sudah digunakan dan belum dibuat surat kontrol baru untuk kunjungan berikutnya.
Solusi:
  1. Buat surat kontrol baru melalui endpoint `RencanaKontrol/Insert`.
  2. Pastikan tanggal rencana kontrol realistis dan diinformasikan ke pasien.
  3. Implementasi reminder otomatis di SIMRS untuk pasien yang mendekati jadwal kontrol.

Error C5: Prosedur Tidak Sesuai Diagnosa

AspekDetail
CodeBervariasi
Pesan"Prosedur tidak sesuai dengan diagnosa"
FrekuensiKadang-kadang
Penyebab:
  1. Kode prosedur (ICD-9-CM) tidak relevan dengan diagnosa (ICD-10) yang dipilih.
  2. Prosedur memerlukan diagnosa pendukung yang belum diinput.
  3. Mapping prosedur-diagnosa BPJS memiliki aturan spesifik yang tidak terpenuhi.
Solusi:
  1. Verifikasi kombinasi diagnosa-prosedur dengan panduan clinical pathway RS.
  2. Pastikan diagnosa utama dan sekunder sudah lengkap sebelum menambahkan prosedur.
  3. Gunakan tools CDSS MedMinutes dengan modul SOAP Extraction untuk memastikan dokumentasi klinis lengkap dan kode yang konsisten.

Error C6: Faskes Perujuk Tidak Sesuai

AspekDetail
CodeBervariasi
Pesan"Faskes perujuk tidak sesuai" atau "PPK rujukan tidak valid"
FrekuensiKadang-kadang
Penyebab:
  1. Pasien dirujuk dari faskes yang bukan FKTP terdaftar pasien tersebut.
  2. Kode faskes perujuk salah dalam data rujukan.
  3. Aturan rujukan berjenjang tidak terpenuhi (harus dari FKTP ke FKRTL, tidak bisa langsung ke RS tipe A).
Solusi:
  1. Verifikasi faskes FKTP terdaftar pasien melalui endpoint peserta.
  2. Untuk kasus gawat darurat, gunakan flag IGD pada pembuatan SEP --- ini bypass aturan rujukan.
  3. Pastikan alur rujukan berjenjang sudah sesuai ketentuan BPJS.

Error C7: Poli Tujuan Tidak Sesuai Rujukan

AspekDetail
CodeBervariasi
Pesan"Poli tujuan tidak sesuai dengan poli rujukan"
FrekuensiKadang-kadang
Penyebab:
  1. Poli yang dipilih di SEP berbeda dengan poli yang tertera di rujukan.
  2. Mapping kode poli SIMRS dan kode poli BPJS tidak sinkron.
Solusi:
  1. Ambil kode poli dari data rujukan dan gunakan kode tersebut saat membuat SEP.
  2. Sinkronkan master data poli antara SIMRS dan referensi VClaim.
  3. Jika pasien perlu ke poli berbeda dari rujukan, buat rujukan internal dari poli awal.

Kategori D: Connection & Infrastructure Errors

Error di kategori ini berkaitan dengan infrastruktur jaringan, SSL, dan konfigurasi server. Biasanya ditangani oleh tim IT RS.

Error D1: Connection Refused / Connection Error

AspekDetail
Pesan"Connection refused", "ECONNREFUSED", atau "Could not connect to server"
FrekuensiKadang-kadang
Penyebab:
  1. Server BPJS tidak bisa dijangkau dari jaringan RS.
  2. Firewall RS memblokir koneksi ke IP/port BPJS.
  3. DNS tidak bisa resolve domain BPJS.
  4. ISP mengalami gangguan pada routing ke server BPJS.
Solusi:
  1. Test konektivitas: `ping apijkn.bpjs-kesehatan.go.id` dan `telnet apijkn.bpjs-kesehatan.go.id 443`.
  2. Cek firewall: pastikan port 443 (HTTPS) tidak diblokir untuk outbound connection.
  3. Cek DNS: `nslookup apijkn.bpjs-kesehatan.go.id` --- jika gagal, coba ganti DNS ke 8.8.8.8.
  4. Jika menggunakan proxy, pastikan konfigurasi proxy benar di SIMRS.

Error D2: SSL/TLS Error

AspekDetail
Pesan"SSL handshake failed", "UNABLE_TO_VERIFY_LEAF_SIGNATURE", atau "SSL certificate problem"
FrekuensiKadang-kadang --- terutama pada server lama
Penyebab:
  1. Sertifikat SSL server BPJS di-update dan CA-nya belum ada di trust store server RS.
  2. Versi TLS terlalu lama --- BPJS mungkin sudah membutuhkan TLS 1.2 atau 1.3.
  3. CA bundle di server RS outdated.
  4. Proxy/firewall melakukan SSL inspection yang merusak sertifikat.
Solusi:
  1. Update CA certificates: `sudo update-ca-certificates` (Linux) atau download CA bundle terbaru.
  2. Pastikan server mendukung TLS 1.2 minimum: `openssl s_client -connect apijkn.bpjs-kesehatan.go.id:443 -tls1_2`.
  3. Jika menggunakan Node.js, pastikan tidak ada `NODE_TLS_REJECT_UNAUTHORIZED=0` di production --- ini hanya boleh untuk debugging.
  4. Cek apakah proxy/firewall melakukan SSL interception dan tambahkan exception untuk domain BPJS.

Error D3: Decrypt Error (VClaim v2)

AspekDetail
Pesan"Decrypt error", response berisi karakter acak, atau JSON parse error pada response
FrekuensiSering --- terutama saat migrasi ke VClaim v2
Penyebab:
  1. Implementasi dekripsi LZ-String tidak benar di sisi SIMRS.
  2. Key dekripsi salah --- key harus dibuat dari `consId + consSecret + timestamp` dari request.
  3. Library LZ-String yang digunakan tidak kompatibel dengan versi yang digunakan BPJS.
  4. Encoding mismatch --- response harus di-decode sebagai UTF-8 terlebih dahulu.
Solusi:
  1. Pastikan alur dekripsi benar:
- Ambil `response` dari field JSON response BPJS.

- Buat key: `consId + consSecret + timestamp` (timestamp yang sama dengan yang ada di header request).

- Decrypt AES-256-CBC menggunakan key tersebut.

- Decompress hasil decrypt menggunakan LZ-String (`decompressFromEncodedURIComponent`).

  1. Gunakan library LZ-String yang sudah teruji. Untuk PHP: `lz-string-php`; untuk Java: `lz-string-java`; untuk Node.js: `lz-string` npm package.
  2. Pastikan timestamp yang digunakan untuk decrypt sama persis dengan timestamp yang dikirim di header request. Jangan generate timestamp baru untuk decrypt.
  3. Test dekripsi dengan response sampel dari dokumentasi BPJS.

Error D4: Fingerprint Gagal

AspekDetail
Pesan"Fingerprint tidak valid" atau error pada proses fingerprint verification
FrekuensiKadang-kadang --- untuk layanan yang memerlukan verifikasi biometrik
Penyebab:
  1. Device fingerprint reader tidak terdeteksi atau driver bermasalah.
  2. Sidik jari pasien tidak terbaca --- jari basah, kotor, atau luka.
  3. Data fingerprint pasien belum terdaftar di BPJS.
  4. Versi SDK fingerprint tidak kompatibel dengan sistem operasi.
Solusi:
  1. Pastikan driver fingerprint reader ter-install dan up-to-date.
  2. Bersihkan sensor fingerprint reader secara berkala.
  3. Minta pasien mengeringkan jari sebelum scan. Coba jari yang berbeda.
  4. Jika fingerprint gagal berulang, gunakan verifikasi alternatif sesuai ketentuan BPJS (foto pasien + NIK).

Error D5: Connection Timeout (Network Level)

AspekDetail
Pesan"ETIMEDOUT", "ESOCKETTIMEDOUT", atau "Network timeout"
FrekuensiKadang-kadang --- berbeda dari HTTP 408
Penyebab:
  1. Koneksi tidak bisa established ke server BPJS (berbeda dari 408 di mana koneksi berhasil tapi response lama).
  2. Routing internet bermasalah antara RS dan data center BPJS.
  3. MTU mismatch pada jaringan RS.
Solusi:
  1. Traceroute ke server BPJS: `traceroute apijkn.bpjs-kesehatan.go.id` untuk identifikasi hop yang bermasalah.
  2. Hubungi ISP jika ada hop yang timeout.
  3. Cek MTU: `ping -M do -s 1472 apijkn.bpjs-kesehatan.go.id` --- jika gagal, mungkin perlu adjust MTU.
  4. Pertimbangkan backup ISP atau VPN sebagai jalur alternatif.

Error D6: Rate Limiting

AspekDetail
HTTP Code429
Pesan"Too Many Requests" atau "Rate limit exceeded"
FrekuensiJarang --- hanya pada RS besar dengan volume tinggi
Penyebab:
  1. Terlalu banyak request dalam waktu singkat ke API BPJS.
  2. Loop atau bug di SIMRS yang mengirim request berulang-ulang.
  3. Beberapa proses/thread mengirim request bersamaan.
Solusi:
  1. Implementasi request throttling: batasi maksimal 5-10 request per detik.
  2. Gunakan caching untuk data yang jarang berubah (data peserta, referensi poli, referensi dokter).
  3. Periksa log SIMRS untuk request yang berulang atau infinite loop.
  4. Implementasi queue untuk request VClaim agar tidak menumpuk.

Quick Reference Table: 28 Error VClaim

Berikut tabel ringkasan semua error yang dibahas dalam artikel ini. Bookmark tabel ini untuk referensi cepat saat troubleshooting.

#ErrorCek PertamaSolusi Cepat
A1401 UnauthorizedConsumer ID, Secret Key, timestampVerifikasi credential, sinkronkan jam server
A2403 ForbiddenIP server, whitelistDaftarkan IP baru di portal BPJS
A3408 Request TimeoutKoneksi internet, jam sibukNaikkan timeout, implementasi retry
A4500 Internal Server ErrorPayload JSON, status server BPJSValidasi JSON, tunggu 15-30 menit
A5502 Bad GatewayStatus maintenance BPJSTunggu 5-10 menit, cek pengumuman
A6503 Service UnavailableJadwal maintenanceGunakan prosedur manual, coba lagi nanti
A7404 Not FoundURL endpointVerifikasi endpoint dengan dokumentasi terbaru
B1Peserta tidak ditemukanNomor kartu, NIKVerifikasi nomor dari kartu fisik/JKN Mobile
B2Peserta tidak aktifStatus iuran, kepesertaanLunasi tunggakan, hubungi HRD perusahaan
B3Nomor kartu tidak validFormat 13 digitValidasi format, trim spasi
B4Diagnosa tidak sesuaiKode ICD-10, poli tujuanCek master data BPJS, gunakan CDSS
B5DPJP tidak validKode dokter, STRSinkronkan master data dokter
B6PPK tidak sesuaiKode faskes, Consumer IDCek konfigurasi mapping PPK
B7Kelas rawat tidak sesuaiHak kelas pesertaAmbil hak kelas dari response peserta
C1Tanggal SEP tidak validFormat tanggal, timezoneFormat YYYY-MM-DD, cek jam server
C2SEP duplikatSEP aktif sebelumnyaCek histori, delete SEP lama jika perlu
C3Rujukan expiredMasa berlaku rujukanMinta pasien buat rujukan baru di FKTP
C4Surat kontrol expiredTanggal rencana kontrolBuat surat kontrol baru
C5Prosedur tidak sesuai diagnosaKombinasi ICD-10 & ICD-9-CMVerifikasi clinical pathway
C6Faskes perujuk tidak sesuaiFKTP terdaftar, rujukan berjenjangVerifikasi faskes FKTP, gunakan flag IGD
C7Poli tujuan tidak sesuaiPoli di rujukan vs poli SEPAmbil kode poli dari data rujukan
D1Connection refusedKoneksi internet, firewall, DNSPing, cek firewall port 443, cek DNS
D2SSL/TLS errorSertifikat, versi TLSUpdate CA cert, pastikan TLS 1.2+
D3Decrypt errorImplementasi LZ-String, keyVerifikasi alur dekripsi, gunakan library teruji
D4Fingerprint gagalDevice, driver, kondisi jariUpdate driver, bersihkan sensor, jari kering
D5Connection timeoutRouting internet, MTUTraceroute, hubungi ISP, backup koneksi
D6Rate limiting (429)Volume request, loopThrottle request, implementasi caching
D7JSON parse errorResponse format, encodingCek encoding UTF-8, validasi response body

Error D7: JSON Parse Error (Bonus)

Satu error tambahan yang sering terjadi tapi jarang dibahas:

AspekDetail
Pesan"Unexpected token", "JSON.parse error", atau "Invalid JSON response"
FrekuensiKadang-kadang
Penyebab:
  1. Response dari BPJS bukan JSON valid --- bisa karena HTML error page (maintenance page) yang di-parse sebagai JSON.
  2. Proses dekripsi gagal sebagian sehingga menghasilkan string yang bukan JSON valid.
  3. Encoding issue --- BOM (Byte Order Mark) di awal response.
Solusi:
  1. Log raw response sebelum parsing untuk debugging.
  2. Cek apakah response dimulai dengan `{` atau `` --- jika dimulai dengan `<`, kemungkinan Anda mendapat HTML error page.
  3. Strip BOM jika ada: `response.replace(/^\xEF\xBB\xBF/, '')`.
  4. Implementasi try-catch pada JSON parse dan berikan pesan error yang informatif ke user.

Tips Mencegah Error VClaim

Lebih baik mencegah daripada troubleshooting. Berikut best practices yang kami rekomendasikan berdasarkan pengalaman implementasi di 50+ rumah sakit:

1. Sinkronisasi Waktu Server (NTP)

Ini adalah penyebab error #1 yang paling mudah dicegah tapi paling sering diabaikan.

Install NTP (jika belum)

sudo apt install ntp

Konfigurasi NTP server Indonesia

Edit /etc/ntp.conf, tambahkan:

server 0.id.pool.ntp.org

server 1.id.pool.ntp.org

server 2.id.pool.ntp.org

Restart NTP service

sudo systemctl restart ntp

Verifikasi sinkronisasi

ntpq -p

Target: Selisih waktu antara server RS dan UTC harus < 30 detik. Cek secara berkala, minimal 1x seminggu.

2. IP Whitelisting & Monitoring

  • Catat IP publik server yang terdaftar di BPJS. Simpan di dokumentasi IT.
  • Set monitoring alert jika IP publik berubah (terutama untuk ISP yang tidak menjamin static IP).
  • Gunakan elastic/static IP pada cloud server (AWS EIP, GCP Static IP, dll).
  • Jika punya backup ISP, daftarkan kedua IP ke BPJS.

3. Logging yang Komprehensif

Setiap request dan response VClaim harus di-log. Minimal informasi yang harus dicatat:

FieldContoh
Timestamp2026-03-07T08:30:15.123Z
Endpoint/SEP/Insert
Request Body(sanitized --- tanpa credential)
HTTP Status200
Response CodemetaData.code: 200
Response MessagemetaData.message: OK
Duration (ms)1250
User/WorkstationAdmin01 / PC-Admisi-03

Log ini akan sangat berharga saat troubleshooting --- Anda bisa melihat pola error (jam tertentu, endpoint tertentu, user tertentu).

4. Backup Connection

  • Siapkan ISP cadangan yang bisa di-switch dalam hitungan menit.
  • Pertimbangkan 4G/5G backup sebagai last resort.
  • Implementasi automatic failover jika koneksi utama down.
  • Test failover secara berkala --- jangan tunggu sampai koneksi utama benar-benar mati.

5. Validasi Input di Sisi SIMRS

Banyak error bisa dicegah dengan validasi sebelum mengirim request ke BPJS:

ValidasiRule
Nomor kartu BPJS13 digit, hanya angka
NIK16 digit, hanya angka
TanggalFormat YYYY-MM-DD, tidak di masa depan, tidak lebih dari 7 hari di masa lalu
Kode diagnosaAda di master data, sesuai poli
Kode DPJPAda di mapping VClaim
JSON payloadValid JSON, field wajib terisi

6. Caching Data Referensi

Data referensi yang jarang berubah sebaiknya di-cache di SIMRS:

  • Referensi poli --- cache 24 jam.
  • Referensi DPJP --- cache 6 jam.
  • Referensi diagnosa --- cache 7 hari.
  • Referensi prosedur --- cache 7 hari.
  • Referensi faskes --- cache 7 hari.

Ini mengurangi jumlah request ke BPJS dan mempercepat proses pendaftaran.

7. Monitoring & Alerting

Setup monitoring untuk mendeteksi masalah sebelum menjadi krisis:

  • Alert jika error rate > 10% dalam 15 menit terakhir.
  • Alert jika average response time > 10 detik.
  • Alert jika ada 5+ error berturut-turut pada endpoint yang sama.
  • Dashboard real-time yang menampilkan status VClaim saat ini.

Kapan Hubungi Helpdesk BPJS

Tidak semua error bisa diselesaikan sendiri. Hubungi helpdesk BPJS ketika:

  1. Error 500/502/503 berlanjut > 1 jam dan sudah dikonfirmasi bukan dari sisi RS.
  2. Perlu mendaftarkan IP baru atau Consumer ID baru.
  3. Data peserta tidak sinkron antara VClaim dan JKN Mobile (peserta klaim aktif tapi VClaim bilang tidak aktif).
  4. Error baru yang tidak ada di dokumentasi dan tidak bisa diidentifikasi penyebabnya.
  5. Perlu reset Consumer Secret karena security breach.

Kontak Helpdesk BPJS

ChannelDetail
Call Center165 (dari HP) atau 021-165 (dari telepon kantor)
Emailhalo@bpjs-kesehatan.go.id
WhatsApp (CHIKA)08118-165-165
Portaldvlp.bpjs-kesehatan.go.id → menu Support
PIC CabangHubungi PIC IT BPJS cabang setempat (minta nomor ke bagian umum RS)
Tips saat menghubungi helpdesk:
  • Siapkan Consumer ID dan kode PPK.
  • Siapkan screenshot error dan log request/response.
  • Catat waktu kejadian yang spesifik.
  • Jelaskan langkah yang sudah dilakukan untuk troubleshooting.
  • Minta nomor tiket untuk follow-up.

Bagaimana RME Terintegrasi Mengurangi Error VClaim

Banyak error VClaim sebenarnya disebabkan oleh ketidaksinkronan antara SIMRS dan VClaim --- data yang tidak ter-update, format yang salah, atau mapping yang tidak konsisten.

Sistem [Rekam Medis Elektronik (RME) yang terintegrasi langsung dengan VClaim mengatasi ini dengan:

1. Bridging Otomatis

RME yang terintegrasi tidak memerlukan "jembatan" (bridging) tambahan. Data mengalir langsung dari SIMRS ke VClaim dan sebaliknya, mengurangi titik kegagalan.

2. Validasi Real-Time

Sebelum data dikirim ke BPJS, sistem otomatis memvalidasi:

Error yang biasanya muncul di BPJS ditangkap lebih awal di sisi SIMRS, memberikan pesan yang lebih jelas ke petugas.

3. Auto-Sync Master Data

Data referensi (poli, dokter, diagnosa) otomatis ter-update tanpa intervensi manual, mengurangi error karena data yang outdated.

4. Retry & Error Handling

Untuk error sementara (timeout, server busy), sistem otomatis melakukan retry tanpa perlu intervensi petugas.

MedMinutes RME dirancang dengan integrasi VClaim sebagai fitur inti --- bukan tambahan. Hasilnya: error rate VClaim berkurang signifikan karena validasi dilakukan sebelum data dikirim ke BPJS.

Selain integrasi VClaim, MedMinutes juga menyediakan CDSS (Clinical Decision Support System) dengan modul SOAP Extraction, ICD-10 AI, Drug Interaction, dan AI Resume Medis yang membantu dokter menghasilkan dokumentasi klinis yang lengkap dan akurat --- sehingga mengurangi error koding di sisi klaim.


FAQ

1. Apakah VClaim sering down?

VClaim relatif stabil, tapi memang ada periode maintenance terjadwal (biasanya malam hari atau akhir pekan) dan kadang-kadang gangguan tidak terjadwal pada jam sibuk. Berdasarkan pengalaman, uptime VClaim sekitar 98-99%. Yang penting: selalu siapkan prosedur manual sebagai backup.

2. Bagaimana cara cek apakah error dari sisi BPJS atau dari SIMRS?

Gunakan tool independen seperti Postman atau cURL untuk mengirim request langsung ke API VClaim. Jika di Postman berhasil tapi di SIMRS gagal, masalahnya ada di kode SIMRS. Jika di Postman juga gagal, masalahnya di sisi BPJS atau koneksi jaringan. Selalu log raw request dan response untuk memudahkan isolasi masalah.

3. Berapa lama normal response time VClaim?

Rata-rata response time VClaim yang sehat adalah 1-3 detik. Jika konsisten di atas 5 detik, ada masalah --- bisa dari koneksi internet RS, konfigurasi server, atau server BPJS yang sedang sibuk. Pada jam puncak (07.00-10.00), response time bisa naik menjadi 3-5 detik dan ini masih normal.

4. Apa yang harus dilakukan jika VClaim down total saat jam pelayanan?

Terapkan prosedur darurat:

  1. Beritahu seluruh loket pendaftaran bahwa VClaim sedang gangguan.
  2. Gunakan formulir manual untuk mencatat data pasien.
  3. Pastikan pasien tetap dilayani --- jangan tolak pasien hanya karena VClaim down.
  4. Setelah VClaim kembali online, input data retroaktif (backdating SEP sesuai prosedur).
  5. Koordinasi dengan manajemen RS dan PIC BPJS jika downtime > 2 jam.

5. Apakah perlu upgrade ke VClaim v2?

Ya, sangat disarankan. VClaim v2 sudah menjadi standar resmi BPJS. Versi lama (v1) semakin jarang didukung dan mungkin akan di-deprecate. Tantangan utama migrasi ke v2 adalah implementasi dekripsi LZ-String --- pastikan tim IT Anda sudah memahami alur enkripsi/dekripsi sebelum migrasi. Tes di environment development terlebih dahulu.

6. Bagaimana cara mengurangi error VClaim tanpa overhaul SIMRS?

Ada langkah-langkah yang bisa segera dilakukan tanpa perubahan besar pada SIMRS:

  1. Sinkronkan jam server dengan NTP --- ini menghilangkan error 401 yang disebabkan timestamp.
  2. Validasi input di front-end sebelum submit --- format nomor kartu, tanggal, dll.
  3. Implementasi retry otomatis untuk error timeout (408) dan server error (5xx).
  4. Caching data referensi untuk mengurangi beban request.
  5. Untuk solusi yang lebih komprehensif, pertimbangkan BPJScan dari MedMinutes yang menganalisis data klaim dan membantu mengidentifikasi pola error yang berulang.

Penutup

Error VClaim BPJS memang tidak bisa dihindari 100% --- tapi dengan pemahaman yang benar, monitoring yang proaktif, dan prosedur yang jelas, dampaknya bisa diminimalkan secara drastis.

Tiga hal yang bisa Anda lakukan hari ini:

  1. Bookmark artikel ini dan bagikan ke tim IT dan admisi RS Anda.
  2. Cek sinkronisasi NTP server --- ini penyebab error paling umum dan paling mudah diperbaiki.
  3. Pastikan logging VClaim aktif --- tanpa log, troubleshooting hanya tebak-tebakan.

Ingin Mengurangi Error VClaim Secara Sistematis?

MedMinutes BPJScan menganalisis data klaim BPJS rumah sakit Anda dan mengidentifikasi pola error, potensi revenue yang hilang, serta peluang optimasi klaim. Sudah digunakan oleh 50+ rumah sakit di 8+ provinsi. Jadwalkan demo gratis untuk melihat potensi recovery klaim RS Anda: Hubungi MedMinutes via WhatsApp.%20Saya%20ingin%20jadwalkan%20demo%20untuk%20lihat%20potensi%20recovery%20klaim%20BPJS%20kami.>)

_Artikel ini terakhir diperbarui pada Maret 2026. Informasi error code dan solusi berdasarkan VClaim API versi 2.0. Hubungi BPJS Kesehatan untuk informasi terbaru mengenai perubahan API._

Share
Konsultasi Gratis
Frustasi dengan vendor
SIMRS Anda?
Ceritakan situasi RS Anda. Dalam demo 30 menit, kami tunjukkan berapa yang bisa dihemat — langsung dari data klaim Anda.
Chat via WhatsApp
Jawab < 1 jam di jam kerja

Dipercaya 50+ rumah sakit di 8+ provinsi

RSUP Dr. Hasan SadikinRSUP Dr. Hasan Sadikin
RS Univ. AndalasRS Univ. Andalas
RSUP Dr. Moh. HoesinRSUP Dr. Moh. Hoesin
RS Bethesda YogyakartaRS Bethesda Yogyakarta
RS SMC TelogorejoRS SMC Telogorejo
RST Bhakti Wira TamtamaRST Bhakti Wira Tamtama
LADOKGI RE MartadinataLADOKGI RE Martadinata
RSUD Kardinah TegalRSUD Kardinah Tegal
RS William BoothRS William Booth
RS Roemani MuhammadiyahRS Roemani Muhammadiyah
RS Panti Wilasa Dr. CiptoRS Panti Wilasa Dr. Cipto
RSD Idaman BanjarbaruRSD Idaman Banjarbaru
RSUP Dr. Hasan Sadikin
RS Univ. Andalas
RSUP Dr. Moh. Hoesin
RS Bethesda Yogyakarta
RS SMC Telogorejo
RST Bhakti Wira Tamtama
LADOKGI RE Martadinata
RSUD Kardinah Tegal
RS William Booth
RS Roemani Muhammadiyah
RS Panti Wilasa Dr. Cipto
RSD Idaman Banjarbaru