# Terima Antrean

## Pengantar

Fitur **Terima Antrean** digunakan untuk menerima pasien dari daftar antrean dan secara otomatis membuka sesi kunjungan baru. Proses ini merupakan langkah penting yang menghubungkan antrean pendaftaran dengan modul kunjungan pasien di Dekacare.

Setelah antrean diterima, sistem akan membuat record kunjungan dan mengarahkan petugas ke halaman detail pasien untuk memulai pelayanan.

## Persyaratan

<table id="bkmrk-persyaratanketeranga"><thead><tr><th>Persyaratan</th><th>Keterangan</th></tr></thead><tbody><tr><td>**Permission**</td><td>Pengguna harus memiliki permission `accept antrean`</td></tr><tr><td>**Status Antrean**</td><td>Antrean harus dalam status menunggu (belum diterima)</td></tr></tbody></table>

## Cara Menerima Antrean

1. Temukan kartu antrean pasien yang ingin diterima
2. Klik tombol **Terima** (tombol hijau dengan ikon centang) pada kartu antrean
3. Sistem akan menampilkan **dialog konfirmasi**:  
    *“Apakah anda yakin menerima antrean nomor tiket #\[nomor\]?”*
4. Klik **“Terima”** untuk melanjutkan atau **“Tidak”** untuk membatalkan
5. Jika dikonfirmasi, sistem akan:
    1. Membuat record kunjungan baru secara otomatis
    2. Menampilkan notifikasi *“Antrean berhasil diterima”*
    3. Mengarahkan (redirect) ke halaman kunjungan pasien berdasarkan No. RM

<div class="callout info" id="bkmrk-catatan%3A-selama-pros">**Catatan:** Selama proses penerimaan berlangsung, tombol Terima akan menampilkan *spinner* dan berubah teks menjadi “Proses...”. Tombol akan dinonaktifkan untuk mencegah klik ganda.

</div>## Peringatan BPJS Job Gagal

Untuk pasien dengan penjamin **BPJS**, sistem melakukan pengecekan status job BPJS sebelum menerima antrean. Jika terdapat job yang gagal, sistem akan menampilkan **dialog peringatan khusus**.

### Alur Validasi BPJS

1. Sistem memeriksa status **Pendaftaran PCare** dan **Antrean FKTP**
2. Jika salah satu atau keduanya berstatus **gagal**, dialog peringatan ditampilkan
3. Dialog menampilkan detail error dari masing-masing job yang gagal
4. Petugas dapat memilih:
    - **“Ya, Lanjutkan”** — Tetap menerima antrean meski BPJS gagal
    - **“Batal”** — Membatalkan penerimaan untuk menangani masalah BPJS terlebih dahulu

<div class="callout warning" id="bkmrk-peringatan%3A-menerima">**Peringatan:** Menerima antrean dengan status BPJS gagal berarti data pendaftaran atau antrean pasien *belum* tercatat di sistem BPJS. Pastikan Anda telah memahami konsekuensinya atau lakukan **Resend PCare** terlebih dahulu sebelum menerima antrean.

</div>### Contoh Dialog Peringatan BPJS

Dialog akan menampilkan informasi seperti:

- **Pendaftaran PCare:** <span style="color: red;">\[pesan error dari BPJS\]</span>
- **Tambah Antrean FKTP:** <span style="color: red;">\[pesan error dari BPJS\]</span>

Disertai pertanyaan: *“Yakin ingin didaftarkan visit?”*

## Proses Setelah Penerimaan

Setelah antrean berhasil diterima, sistem melakukan beberapa proses secara berurutan:

<table id="bkmrk-noprosesketerangan1b"><thead><tr><th>No</th><th>Proses</th><th>Keterangan</th></tr></thead><tbody><tr><td>1</td><td>**Buat Record Kunjungan**</td><td>Sistem membuat data kunjungan baru melalui API `antrian_ruangan/terima`</td></tr><tr><td>2</td><td>**Notifikasi Sukses**</td><td>Menampilkan toast *“Antrean berhasil diterima”*</td></tr><tr><td>3</td><td>**Refresh Data Antrean**</td><td>Data antrean dimuat ulang untuk memperbarui daftar</td></tr><tr><td>4</td><td>**Simpan Operasi**</td><td>Menyimpan operasi *openKunjungan* ke state aplikasi</td></tr><tr><td>5</td><td>**Redirect ke Kunjungan**</td><td>Mengarahkan ke halaman `/pasien/[no_rm]` untuk memulai pelayanan</td></tr></tbody></table>

## Penerimaan Antrean Apotek

Untuk antrean bertipe **Apotek** (jenis kunjungan 11), proses penerimaan memiliki alur tambahan:

1. Setelah konfirmasi, sistem menerima antrean dengan parameter khusus (`bypass_antrian_ruangan`)
2. Data kunjungan ID diperbarui pada detail order antrean
3. Sistem membuka tampilan **Summary Order Obat** untuk proses dispensing farmasi

## Penanganan Error

<table id="bkmrk-kondisi-errorperilak"><thead><tr><th>Kondisi Error</th><th>Perilaku Sistem</th></tr></thead><tbody><tr><td>Gagal membuat kunjungan</td><td>Menampilkan pesan error *“Tidak dapat menerima antrean”*</td></tr><tr><td>Koneksi terputus</td><td>Tombol kembali aktif, petugas dapat mencoba ulang</td></tr><tr><td>Response tidak valid</td><td>Proses dibatalkan, tidak ada redirect</td></tr></tbody></table>