# Status Job BPJS pada Antrean

## Pengantar

Untuk setiap antrean pasien dengan penjamin **BPJS**, Dekacare secara otomatis mengirimkan data pendaftaran ke sistem BPJS melalui dua job (proses latar belakang). Status dari kedua job ini ditampilkan secara real-time pada kartu antrean, membantu petugas memantau keberhasilan sinkronisasi data dengan BPJS.

Pemahaman terhadap status job BPJS sangat penting untuk memastikan data kunjungan pasien tercatat dengan benar di sistem Jaminan Kesehatan Nasional.

## Jenis Job BPJS

Setiap antrean BPJS memiliki dua job yang berjalan secara otomatis:

<table id="bkmrk-badgenama-jobjob-typ"><thead><tr><th>Badge</th><th>Nama Job</th><th>Job Type</th><th>Fungsi</th></tr></thead><tbody><tr><td>**P**</td><td>Pendaftaran PCare</td><td>`pendaftaran_pcare`</td><td>Mengirimkan data pendaftaran kunjungan pasien ke layanan PCare BPJS</td></tr><tr><td>**A**</td><td>Antrean FKTP</td><td>`tambah_antrean_fktp`</td><td>Mengirimkan data antrean ke sistem antrean FKTP (Fasilitas Kesehatan Tingkat Pertama) BPJS</td></tr></tbody></table>

## Tampilan Badge Status

Status job ditampilkan dalam bentuk **badge kecil** pada baris detail kartu antrean. Badge hanya muncul untuk pasien dengan penjamin BPJS (`penjamin_id = 2`).

### Format Badge

Setiap badge menampilkan format: **\[Huruf\]: \[Status\]**

- **P: OK** — Pendaftaran PCare berhasil
- **P: Gagal** — Pendaftaran PCare gagal
- **P: processing** — Pendaftaran PCare sedang diproses
- **A: OK** — Antrean FKTP berhasil
- **A: Gagal** — Antrean FKTP gagal
- **A: processing** — Antrean FKTP sedang diproses

### Warna Badge

<table id="bkmrk-statuswarna-badgeket"><thead><tr><th>Status</th><th>Warna Badge</th><th>Keterangan</th></tr></thead><tbody><tr><td>**OK (Success)**</td><td><span style="color: #166534; background: #dcfce7; padding: 2px 8px; border-radius: 4px;">Hijau</span></td><td>Job berhasil dieksekusi dan data terkirim ke BPJS</td></tr><tr><td>**Gagal (Failed)**</td><td><span style="color: #991b1b; background: #fee2e2; padding: 2px 8px; border-radius: 4px;">Merah</span></td><td>Job gagal, data tidak terkirim ke BPJS</td></tr><tr><td>**Processing**</td><td><span style="color: #92400e; background: #fef3c7; padding: 2px 8px; border-radius: 4px;">Kuning</span></td><td>Job sedang dalam antrian proses</td></tr><tr><td>**N/A**</td><td><span style="color: #6b7280; background: #e5e7eb; padding: 2px 8px; border-radius: 4px;">Abu-abu</span></td><td>Tidak ada data job tracker untuk antrean ini</td></tr></tbody></table>

## Nomor Antrean PCare

Selain badge status job, kartu antrean juga menampilkan **badge PCare** di area status (pojok kanan atas) yang menunjukkan nomor antrean PCare:

<table id="bkmrk-kondisitampilanwarna"><thead><tr><th>Kondisi</th><th>Tampilan</th><th>Warna</th></tr></thead><tbody><tr><td>Pendaftaran PCare sukses</td><td>**PCare: \[nomor\]**</td><td>Hijau (background hijau muda)</td></tr><tr><td>Pendaftaran PCare gagal</td><td>**PCare: 0**</td><td>Merah (background merah muda)</td></tr></tbody></table>

## Detail Error BPJS

Ketika badge status menunjukkan **Gagal**, petugas dapat melihat detail error dengan cara:

1. **Hover (arahkan kursor)** pada badge yang berstatus Gagal
2. Sistem akan menampilkan **tooltip** berisi pesan error dari BPJS
3. Pesan error ini berasal langsung dari respons API BPJS dan membantu mengidentifikasi penyebab kegagalan

<div class="callout info" id="bkmrk-tips%3A-pesan-error-da">**Tips:** Pesan error dari BPJS biasanya cukup deskriptif. Contoh umum: *“Nomor kartu BPJS tidak ditemukan”*, *“Pasien tidak aktif”*, *“Tanggal kunjungan tidak valid”*.

</div>## Validasi Status BPJS Sebelum Terima Antrean

Saat petugas menekan tombol **Terima** pada antrean BPJS, sistem melakukan validasi status job terlebih dahulu:

### Alur Validasi

1. Sistem memeriksa status **Pendaftaran PCare** (job type: `pendaftaran_pcare`)
2. Sistem memeriksa status **Antrean FKTP** (job type: `tambah_antrean_fktp`)
3. Jika **salah satu atau keduanya gagal**:
    - Dialog peringatan ditampilkan dengan detail error dari setiap job yang gagal
    - Petugas harus mengonfirmasi apakah tetap ingin melanjutkan penerimaan
4. Jika **keduanya sukses**: proses penerimaan berjalan normal tanpa peringatan tambahan

<div class="callout warning" id="bkmrk-peringatan%3A-menerima">**Peringatan:** Menerima antrean dengan status job BPJS gagal berarti data kunjungan pasien *belum* tercatat di sistem BPJS. Hal ini dapat berdampak pada:

- Klaim BPJS yang tidak dapat diproses
- Data kunjungan yang tidak tersinkronisasi
- Potensi penolakan klaim di kemudian hari

Disarankan untuk melakukan **Resend PCare** terlebih dahulu sebelum menerima antrean.

</div>## Panduan Penanganan Status Job

<table id="bkmrk-skenariotindakan-yan"><thead><tr><th>Skenario</th><th>Tindakan yang Disarankan</th></tr></thead><tbody><tr><td>P: OK, A: OK</td><td>Terima antrean seperti biasa</td></tr><tr><td>P: Gagal, A: OK</td><td>Coba **Resend PCare** terlebih dahulu. Jika tetap gagal, hubungi administrator</td></tr><tr><td>P: OK, A: Gagal</td><td>Terima antrean dengan konfirmasi. Antrean FKTP dapat di-handle manual</td></tr><tr><td>P: Gagal, A: Gagal</td><td>Coba **Resend PCare**. Jika gagal, konsultasikan dengan administrator sebelum menerima</td></tr><tr><td>P: Processing, A: Processing</td><td>Tunggu beberapa saat dan **Refresh** data. Job sedang dalam antrian proses</td></tr></tbody></table>