Lewati ke konten utama

Glosarium

Semua istilah yang muncul di dokumentasi ini, dijelaskan dengan bahasa sehari-hari.


Istilah bisnis & operasional

IstilahPenjelasan
Draft bookingPermintaan janji temu yang belum dibayar. Jadwal belum dikunci. Tabel: booking_requests
Janji temu (Appointment)Jadwal resmi yang sudah dikunci. Lahir setelah pembayaran diterima
Biaya reservasiTarif yang dibayar untuk mengunci jadwal. Default Rp25.000, diatur di .env
Link pembayaranURL Duitku yang dikirim ke pasien. Punya batas waktu (default 60 menit)
KedaluwarsaBatas waktu bayar lewat tanpa dibayar. Jadwal tidak dikunci
RekonsiliasiSapuan otomatis yang memeriksa apakah ada pembayaran lunas yang belum jadi janji temu
Poliklinik / PoliUnit layanan rumah sakit (Poli Anak, Poli Jantung, dst.)
No. RMNomor Rekam Medis pasien dari SIMRS. Tersimpan sebagai simrs_patient_id
Walk-inPasien yang datang langsung tanpa janji temu, ambil nomor di kios
LoketMeja pelayanan yang memanggil nomor antrian. Tabel: queue_counters
Papan tayangLayar TV di ruang tunggu yang menampilkan nomor yang dipanggil

Istilah percakapan & AI

IstilahPenjelasan
AI AgentKonfigurasi kepribadian + pengetahuan + kredensial LLM. Satu akun WhatsApp memakai satu AI Agent
LLMLarge Language Model — model bahasa yang menyusun balasan (ChatGPT, Claude, Gemini, dll.)
PromptInstruksi yang dikirim ke LLM: identitas, gaya bicara, batasan, pengetahuan
Knowledge BaseTeks pengetahuan yang diberikan ke AI: ketikan manual + hasil ekstraksi berkas PDF/gambar
Knowledge Data ModelData CRM yang boleh diakses AI. READ = dibaca jadi teks. WRITE = AI bisa membuat data
ToolKemampuan AI untuk melakukan sesuatu (bukan sekadar menjawab): buat booking, cek pembayaran, catat keluhan, simpan survei
Playbook toolInstruksi tambahan tentang cara memakai tool: jangan mengarang link, jangan mengarang nominal
AllowlistDaftar tool yang boleh dipanggil AI. Nama di luar daftar ditolak sebelum dieksekusi
TokenSatuan pemakaian LLM. Ditagih per token input + output. Dicatat di ai_token_usages
AI TimerJam kerja AI. Di luar jam ini AI tidak membalas
Split Bubble ChatPecah satu balasan panjang jadi beberapa gelembung pesan (maksimal 4)
Stop AI When Human ChatKalau agen manusia sudah membalas, AI berhenti sampai sesi di-reset
Whitelist Balasan AIDaftar nomor tester yang boleh dibalas AI saat mode testing
Mode testingSaklar global yang membatasi AI & pesan keluar ke nomor tester saja
SimulatorFitur menguji AI Agent tanpa WhatsApp. Tool berjalan tanpa menyentuh Duitku maupun database
HalusinasiModel bahasa mengarang informasi yang tidak ada. Karena itu banyak penjagaan di sistem ini
Prompt injectionUpaya menyetir AI lewat isi pesan agar melakukan sesuatu yang tidak seharusnya

Istilah teknis umum

IstilahPenjelasan
WebhookAlamat yang dipanggil sistem luar untuk memberi tahu ada kejadian ("ada pesan masuk", "pembayaran lunas")
CallbackSama seperti webhook; istilah yang dipakai Duitku
Antrean pekerjaan (Queue)Daftar tugas yang dikerjakan di latar belakang, di luar permintaan web
WorkerProses yang mengambil dan mengerjakan tugas dari antrean. Wajib hidup
SchedulerPenjadwal yang menjalankan tugas berkala (cron)
CronFormat jadwal. */5 * * * * = tiap 5 menit; 0 1 * * * = tiap hari jam 01:00
IdempotenAman diulang: menjalankan dua kali menghasilkan efek yang sama dengan sekali
TransaksiSekelompok penulisan database yang berhasil semua atau gagal semua
Lock / lockForUpdateMengunci baris database supaya dua proses tidak menyentuhnya bersamaan
RollbackMembatalkan perubahan dan mengembalikan ke kondisi sebelumnya
UpsertPerbarui kalau sudah ada, buat kalau belum
MigrasiBerkas yang mengubah struktur database secara bertahap dan terlacak
SeederBerkas yang mengisi data awal (peran, akun bawaan, data contoh)
SignatureSidik jari kriptografis untuk membuktikan pesan benar-benar dari pengirim yang diklaim
TerenkripsiDisimpan dalam bentuk teracak; hanya bisa dibaca dengan APP_KEY
Normalisasi nomorMenyeragamkan format nomor telepon: buang non-digit, 08…62…

Istilah arsitektur aplikasi

IstilahPenjelasan
LaravelKerangka kerja PHP yang menjadi fondasi aplikasi
FilamentKerangka kerja panel admin di atas Laravel — semua menu /admin dibangun dengannya
LivewireTeknologi yang membuat halaman bereaksi tanpa menulis JavaScript
ResourceSatu unit CRUD di Filament (daftar + form + tabel untuk satu model)
PageHalaman kustom Filament di luar pola CRUD (Chat Rooms, SIMRS Sync, dst.)
ModelKelas PHP yang mewakili satu tabel database
ServiceKelas berisi logika bisnis, terpisah dari controller dan model
JobTugas yang dikerjakan worker di latar belakang
Event & ListenerPola "umumkan kejadian" → "ada yang menanggapi". Contoh: ReservationPaidConfirmBookingOnPayment
PolicyKelas yang menentukan siapa boleh melakukan apa pada satu model
MiddlewareLapisan pemeriksa yang dilewati setiap permintaan sebelum sampai ke tujuan
Schema (PostgreSQL)Pengelompokan tabel dalam satu database. Sistem ini punya public, crm, ai
WatermarkPenanda "sudah tersinkron sampai kapan"
CursorPenanda "lintasan yang sedang berjalan sudah sampai baris mana"
ChunkPotongan data yang diproses sekaligus (default 1000 baris)

Nama sistem & mitra

NamaPenjelasan
CRM RSIAplikasi ini — Customer Relationship Management Rumah Sakit Islam
SIMRSSistem Informasi Manajemen Rumah Sakit — sistem inti RS, sumber data pasien/dokter/kunjungan
Jasnita / ChatPanel / ToschatPenyedia gerbang WhatsApp resmi. ChatPanel adalah panel agennya, Toschat nama API-nya
WABAWhatsApp Business Account — akun WhatsApp resmi bisnis
DuitkuPenyedia gerbang pembayaran (VA, QRIS, e-wallet, kartu kredit)
MetaPerusahaan pemilik WhatsApp; menetapkan aturan seperti jendela 24 jam
InimediaLayanan API tambahan untuk pencarian data pasien
DocusaurusAlat pembuat situs dokumentasi ini
MermaidFormat 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.