Glosarium
Semua istilah yang muncul di dokumentasi ini, dijelaskan dengan bahasa sehari-hari.
Istilah bisnis & operasional
| Istilah | Penjelasan |
|---|---|
| Draft booking | Permintaan janji temu yang belum dibayar. Jadwal belum dikunci. Tabel: booking_requests |
| Janji temu (Appointment) | Jadwal resmi yang sudah dikunci. Lahir setelah pembayaran diterima |
| Biaya reservasi | Tarif yang dibayar untuk mengunci jadwal. Default Rp25.000, diatur di .env |
| Link pembayaran | URL Duitku yang dikirim ke pasien. Punya batas waktu (default 60 menit) |
| Kedaluwarsa | Batas waktu bayar lewat tanpa dibayar. Jadwal tidak dikunci |
| Rekonsiliasi | Sapuan otomatis yang memeriksa apakah ada pembayaran lunas yang belum jadi janji temu |
| Poliklinik / Poli | Unit layanan rumah sakit (Poli Anak, Poli Jantung, dst.) |
| No. RM | Nomor Rekam Medis pasien dari SIMRS. Tersimpan sebagai simrs_patient_id |
| Walk-in | Pasien yang datang langsung tanpa janji temu, ambil nomor di kios |
| Loket | Meja pelayanan yang memanggil nomor antrian. Tabel: queue_counters |
| Papan tayang | Layar TV di ruang tunggu yang menampilkan nomor yang dipanggil |
Istilah percakapan & AI
| Istilah | Penjelasan |
|---|---|
| AI Agent | Konfigurasi kepribadian + pengetahuan + kredensial LLM. Satu akun WhatsApp memakai satu AI Agent |
| LLM | Large Language Model — model bahasa yang menyusun balasan (ChatGPT, Claude, Gemini, dll.) |
| Prompt | Instruksi yang dikirim ke LLM: identitas, gaya bicara, batasan, pengetahuan |
| Knowledge Base | Teks pengetahuan yang diberikan ke AI: ketikan manual + hasil ekstraksi berkas PDF/gambar |
| Knowledge Data Model | Data CRM yang boleh diakses AI. READ = dibaca jadi teks. WRITE = AI bisa membuat data |
| Tool | Kemampuan AI untuk melakukan sesuatu (bukan sekadar menjawab): buat booking, cek pembayaran, catat keluhan, simpan survei |
| Playbook tool | Instruksi tambahan tentang cara memakai tool: jangan mengarang link, jangan mengarang nominal |
| Allowlist | Daftar tool yang boleh dipanggil AI. Nama di luar daftar ditolak sebelum dieksekusi |
| Token | Satuan pemakaian LLM. Ditagih per token input + output. Dicatat di ai_token_usages |
| AI Timer | Jam kerja AI. Di luar jam ini AI tidak membalas |
| Split Bubble Chat | Pecah satu balasan panjang jadi beberapa gelembung pesan (maksimal 4) |
| Stop AI When Human Chat | Kalau agen manusia sudah membalas, AI berhenti sampai sesi di-reset |
| Whitelist Balasan AI | Daftar nomor tester yang boleh dibalas AI saat mode testing |
| Mode testing | Saklar global yang membatasi AI & pesan keluar ke nomor tester saja |
| Simulator | Fitur menguji AI Agent tanpa WhatsApp. Tool berjalan tanpa menyentuh Duitku maupun database |
| Halusinasi | Model bahasa mengarang informasi yang tidak ada. Karena itu banyak penjagaan di sistem ini |
| Prompt injection | Upaya menyetir AI lewat isi pesan agar melakukan sesuatu yang tidak seharusnya |
Istilah teknis umum
| Istilah | Penjelasan |
|---|---|
| Webhook | Alamat yang dipanggil sistem luar untuk memberi tahu ada kejadian ("ada pesan masuk", "pembayaran lunas") |
| Callback | Sama seperti webhook; istilah yang dipakai Duitku |
| Antrean pekerjaan (Queue) | Daftar tugas yang dikerjakan di latar belakang, di luar permintaan web |
| Worker | Proses yang mengambil dan mengerjakan tugas dari antrean. Wajib hidup |
| Scheduler | Penjadwal yang menjalankan tugas berkala (cron) |
| Cron | Format jadwal. */5 * * * * = tiap 5 menit; 0 1 * * * = tiap hari jam 01:00 |
| Idempoten | Aman diulang: menjalankan dua kali menghasilkan efek yang sama dengan sekali |
| Transaksi | Sekelompok penulisan database yang berhasil semua atau gagal semua |
Lock / lockForUpdate | Mengunci baris database supaya dua proses tidak menyentuhnya bersamaan |
| Rollback | Membatalkan perubahan dan mengembalikan ke kondisi sebelumnya |
| Upsert | Perbarui kalau sudah ada, buat kalau belum |
| Migrasi | Berkas yang mengubah struktur database secara bertahap dan terlacak |
| Seeder | Berkas yang mengisi data awal (peran, akun bawaan, data contoh) |
| Signature | Sidik jari kriptografis untuk membuktikan pesan benar-benar dari pengirim yang diklaim |
| Terenkripsi | Disimpan dalam bentuk teracak; hanya bisa dibaca dengan APP_KEY |
| Normalisasi nomor | Menyeragamkan format nomor telepon: buang non-digit, 08… → 62… |
Istilah arsitektur aplikasi
| Istilah | Penjelasan |
|---|---|
| Laravel | Kerangka kerja PHP yang menjadi fondasi aplikasi |
| Filament | Kerangka kerja panel admin di atas Laravel — semua menu /admin dibangun dengannya |
| Livewire | Teknologi yang membuat halaman bereaksi tanpa menulis JavaScript |
| Resource | Satu unit CRUD di Filament (daftar + form + tabel untuk satu model) |
| Page | Halaman kustom Filament di luar pola CRUD (Chat Rooms, SIMRS Sync, dst.) |
| Model | Kelas PHP yang mewakili satu tabel database |
| Service | Kelas berisi logika bisnis, terpisah dari controller dan model |
| Job | Tugas yang dikerjakan worker di latar belakang |
| Event & Listener | Pola "umumkan kejadian" → "ada yang menanggapi". Contoh: ReservationPaid → ConfirmBookingOnPayment |
| Policy | Kelas yang menentukan siapa boleh melakukan apa pada satu model |
| Middleware | Lapisan pemeriksa yang dilewati setiap permintaan sebelum sampai ke tujuan |
| Schema (PostgreSQL) | Pengelompokan tabel dalam satu database. Sistem ini punya public, crm, ai |
| Watermark | Penanda "sudah tersinkron sampai kapan" |
| Cursor | Penanda "lintasan yang sedang berjalan sudah sampai baris mana" |
| Chunk | Potongan data yang diproses sekaligus (default 1000 baris) |
Nama sistem & mitra
| Nama | Penjelasan |
|---|---|
| CRM RSI | Aplikasi ini — Customer Relationship Management Rumah Sakit Islam |
| SIMRS | Sistem Informasi Manajemen Rumah Sakit — sistem inti RS, sumber data pasien/dokter/kunjungan |
| Jasnita / ChatPanel / Toschat | Penyedia gerbang WhatsApp resmi. ChatPanel adalah panel agennya, Toschat nama API-nya |
| WABA | WhatsApp Business Account — akun WhatsApp resmi bisnis |
| Duitku | Penyedia gerbang pembayaran (VA, QRIS, e-wallet, kartu kredit) |
| Meta | Perusahaan pemilik WhatsApp; menetapkan aturan seperti jendela 24 jam |
| Inimedia | Layanan API tambahan untuk pencarian data pasien |
| Docusaurus | Alat pembuat situs dokumentasi ini |
| Mermaid | Format penulisan diagram yang dipakai di seluruh dokumen ini |
Istilah yang sering disalahpahami
"Sent" ≠ "sampai ke pasien"
Sent artinya gerbang WhatsApp menerima pesannya. Kalau jendela 24 jam sudah lewat, Meta membuang pesan diam-diam.
"Expired" ≠ "pasti tidak dibayar"
Expired adalah tebakan lokal berdasarkan jam kami sendiri. Link Duitku bisa saja masih hidup — dan kalau pembayarannya masuk, statusnya dibuka kembali jadi Success.
"Cancelled" ≠ "mati"
Draft Cancelled berarti "digantikan link baru". Link lamanya masih bisa dibayar, dan kalau dibayar tetap menghasilkan janji temu.
"Draft" ≠ "janji temu"
Draft booking hanya permintaan. Jadwal belum dikunci sampai pembayaran diterima.