11 · Pengaturan
Semua layar di menu Pengaturan: master perawatan, promo dan voucher, template pesan, integrasi, kredensial agent, jejak audit, dan pemusnahan data. Menu yang tampil mengikuti izin akun Anda.
1 Katalog Perawatan
Menu Pengaturan → Katalog Perawatan (izin config:read) memuat master tindakan klinik beserta harga normal, durasi, dan status. Katalog ini dipakai dokter saat memilih tindakan, kasir saat membuat tagihan, serta komisi dan bahan (BOM) inventori.
- Cari lewat kolom Cari perawatan, saring dengan Filter kategori dan Filter status, atau ubah Urutkan.
- Klik Tambah perawatan. Isi Kode, Nama perawatan, Kategori, Durasi tindakan (menit), Harga normal; Harga promo, Harga dasar fee, Periode recall (hari), dan Kode ICD-9-CM bersifat opsional. Gambar layanan (opsional, maks. 2 MB) tampil di kartu layanan widget reservasi.
- Klik Simpan tindakan, atau Simpan tindakan & buat lagi untuk memasukkan beberapa tindakan berturut-turut.
- Tombol di kanan atas halaman: Kebijakan DP booking, Kategori tindakan, Impor dari berkas, Unduh katalog CSV.
💡 Menonaktifkan tindakan lebih aman daripada menghapusnya; data yang sudah dinonaktifkan baru bisa dimusnahkan lewat langkah Pemusnahan Data di bawah.
Daftar Katalog Perawatan: harga normal, durasi, dan status.
Dialog Tambah tindakan.
Paket layanan: beberapa layanan, satu harga
Untuk apa: menjual beberapa layanan sebagai satu produk berharga tunggal (misalnya Scaling + TSR). Pasien melihat satu item dan satu harga di booking, kasir, dan struk, sementara tiap komponen tetap dicatat sendiri untuk komisi dokter, pemakaian bahan, dan laporan.
- Klik Tambah perawatan, lalu pada Jenis pilih Paket. Jenis hanya bisa dipilih saat membuat dan tidak bisa diubah sesudah disimpan.
- Isi Kode, Nama perawatan, Kategori, dan Harga normal (harga paket).
- Di bagian Komponen paket, cari layanan lewat Cari layanan komponen, lalu pilih dari Tambah komponen. Atur Jumlah tiap komponen (1–10). Paket wajib berisi minimal dua layanan tunggal yang aktif dan berbeda; paket lain tidak bisa menjadi komponen.
- Baris ringkasan Total harga normal komponen · Harga paket · Hemat membantu menilai besar diskon paket dibanding membeli satuan.
- Durasi tindakan terisi otomatis dari jumlah durasi komponen dan boleh diubah (maksimal 480 menit).
- Blok Mengikuti komponen menampilkan pelaksana (dokter gigi / TGM) dan penanda wajib persetujuan secara hanya-baca: pelaksana paket adalah irisan pelaksana komponennya, dan persetujuan wajib bila salah satu komponen mewajibkannya. Harga dasar fee, supervisi, dan pengaturan bahan tidak diisi di paket karena mengikuti komponen.
- Klik Simpan tindakan.
Tambah tindakan berjenis Paket: Scaling + TSR, dua komponen, durasi 75 menit terisi otomatis, dan ringkasan Hemat Rp 50.000.
Di daftar katalog, paket ditandai lencana Paket, dan Filter jenis menyaring Semua jenis, Layanan tunggal, atau Paket.
Daftar katalog: lencana Paket pada Scaling + TSR dan kolom Filter jenis.
💡 Komisi dokter, insentif CS, dan bahan (BOM) diatur pada layanan komponennya, bukan pada paket. Aturan yang ditulis untuk paket ditolak.
⚠️ Layanan yang masih menjadi komponen paket aktif tidak bisa dinonaktifkan: "Layanan ini masih menjadi komponen paket aktif: … Keluarkan dari paket lebih dulu." Paket hanya ditawarkan, dan hanya bisa dimulai, di cabang yang mengaktifkan paket dan semua komponennya (lihat Ketersediaan per Cabang).
2 Kategori Tindakan
Untuk apa: kategori mengelompokkan tindakan di katalog (mis. Preventif, Bedah) dan menentukan aturan dasarnya: perlu supervisi dokter gigi atau tidak, dan siapa pelaksananya. Buka dari Katalog Perawatan → Kategori tindakan (/settings/treatment-categories; melihat butuh config:read, mengubah butuh config:create/config:update).
- Tabel memuat kolom Kategori, Urutan, Supervisi, Pelaksana, Asal (Bawaan dari sistem atau Klinik buatan sendiri), dan Status.
- Klik Tambah kategori. Isi Kode (huruf kecil, angka, garis bawah, diawali huruf; permanen setelah disimpan) dan Nama. Opsional: centang Wajib supervisi dokter gigi, dan pilih Pelaksana tindakan: Dokter gigi saja, TGM saja, atau Keduanya.
- Klik Simpan kategori (atau Simpan kategori & buat lagi).
- Untuk mengubah: titik tiga di ujung baris → Ubah. Kode tidak bisa diganti; nama, supervisi, dan pelaksana bisa.
- Titik tiga → Nonaktifkan menyembunyikan kategori tanpa dialog konfirmasi; menu yang sama menawarkan Aktifkan untuk memulihkannya. Kategori nonaktif yang tak terpakai bisa dimusnahkan lewat Pemusnahan Data.
💡 Pilihan Pelaksana tindakan hanya memengaruhi nakes yang ditawarkan widget reservasi online, bukan jadwal yang dibuat staf.
⚠️ Kode salah ketik tidak bisa diperbaiki; buat kategori baru dan nonaktifkan yang lama. Kode yang tak valid ditolak dengan pesan "Kode kategori diawali huruf dan hanya boleh memuat huruf kecil, angka, dan garis bawah."
Dialog Kategori baru.
Ubah kategori: kode terkunci.
3 Impor Katalog dari Berkas CSV
Untuk apa: memperbarui banyak tindakan dan harga sekaligus dari satu berkas, daripada mengetik satu per satu. Klik Impor dari berkas di Katalog Perawatan (rute /settings/treatments/import).
- Klik Unduh template atau Unduh berkas contoh untuk mendapatkan format CSV.
- Pada bagian 1. Unggah berkas, tarik berkas ke kotak atau klik Pilih berkas. Batas: maksimal 1000 baris dan 512 KB.
- Nyalakan Nonaktifkan tindakan yang tidak ada di berkas hanya bila berkas memuat seluruh katalog; berkas parsial akan menonaktifkan semua tindakan yang tidak tercantum.
- Pada 2. Pratinjau periksa nilai lama dan nilai baru. Tidak ada yang tertulis sebelum tombol terapkan ditekan.
- Bila ada baris bermasalah, klik Unduh baris gagal, perbaiki, lalu unggah ulang.
Pada penyusunan ini berkas belum diunggah (hanya layar dialog yang diperagakan); langkah pratinjau dan terapkan dijelaskan dari teks layar.
Dialog Impor Katalog Tindakan.
4 Kebijakan DP Booking
Untuk apa: menentukan berapa uang muka (DP) yang dibayar pasien saat memesan lewat widget web. Buka lewat Kebijakan DP booking di Katalog Perawatan atau dari Widget Web (/settings/booking-widgets/dp).
- Aturan global berlaku untuk semua layanan dan semua cabang. Di data demo: 20% dari harga setelah promo, dihitung per peserta. Klik Ubah aturan global untuk mengganti.
- Klik Tambah aturan khusus untuk layanan tertentu yang DP-nya berbeda. Tabel Aturan khusus layanan memuat Layanan, Harga, Aturan, DP efektif, dan Status; bila kosong tertulis "Semua layanan mengikuti aturan global."
- Bila aturan yang sama sempat diubah pengguna lain sejak halaman dibuka, penyimpanan ditolak dengan pesan “Kebijakan DP telah berubah. Muat ulang sebelum menyimpan.”; data dimuat ulang otomatis, periksa lalu simpan lagi.
Kebijakan DP Booking.
5 Ketersediaan Perawatan per Cabang
Menu Ketersediaan per Cabang (izin config:update) menonaktifkan tindakan dari katalog pusat hanya untuk satu cabang, misalnya bila skill dokter atau bahannya belum ada. Katalog pusat tidak berubah.
- Pilih Cabang; ringkasan Tersedia dan Dinonaktifkan muncul di kanan.
- Pada tiap tindakan tampak Status di cabang dan kolom Diskon default (Diskon di cabang ini, bawaan Ikut pusat) beserta harga tagih.
- Menu titik tiga di ujung baris dipakai untuk mengubah ketersediaan.
Ketersediaan perawatan per cabang.
6 Riwayat Penyakit (master)
Menu Riwayat Penyakit (izin patient:read) berisi daftar riwayat penyakit yang bisa dipilih pasien dan widget booking. Daftar ini juga menentukan kelayakan promo: riwayat yang ditandai Kecualikan promo membuat pasien yang memilikinya tidak mendapat promo yang belum diatur khusus.
- Klik Tambah riwayat penyakit.
- Isi Nama dan Urutan; centang Tidak berlaku untuk promo secara default bila perlu. Satu promo dapat menyimpang sendiri lewat mode kustom.
- Klik Simpan riwayat penyakit (atau Simpan riwayat penyakit & buat lagi). Menu titik tiga pada baris dipakai untuk mengubah/menonaktifkan.
Daftar riwayat penyakit: urutan, kecualikan promo, status.
Dialog Riwayat penyakit baru.
7 Wajib Supervisi per Tempat
Menentukan apakah tindakan yang dikerjakan terapis gigi dan mulut wajib disupervisi dokter gigi berdasarkan tempat: seluruh sistem, satu cabang, atau satu unit/kursi. Tingkat yang lebih bawah menimpa tingkat di atasnya; pilihan Ikuti tingkat di atas berarti tidak menimpa.
- Atur kartu Seluruh sistem, lalu pilih Cabang dan atur Kewajiban di <cabang>, kemudian tiap Unit / kursi gigi. Setiap kartu menampilkan label Efektif untuk hasil akhirnya.
⚠️ Pengaturan ini hanya menambah kewajiban supervisi. Tindakan yang sudah ditandai wajib di master tindakan tetap wajib walau tempatnya disetel Tidak wajib. Kewajiban dinilai saat tagihan dibaca.
Pengaturan supervisi per sistem, cabang, dan unit.
8 Identitas Klinik & Template Persetujuan
Identitas Klinik mengunggah Logo klinik (JPG, PNG, atau WebP, maks. 1 MB) yang tercetak di kop struk, invoice, dan faktur klaim asuransi serta dapat dipakai Widget Web. Alamat, kota, telepon, dan WhatsApp pada kop diambil dari profil cabang tempat transaksi, jadi ubahlah lewat modul Cabang.
Template Persetujuan memuat batang tubuh informed consent yang dipakai seluruh tindakan. Variabel yang tersedia: {{patientName}}, {{guardianName}}, {{providerName}}, {{branchName}}, {{date}}, {{treatmentList}}. Layar ini berjudul Template Persetujuan (/settings/consent-template), memuat Versi aktif, daftar Variabel yang tersedia, kolom Batang tubuh persetujuan, dan Pratinjau dokumen. Daftar tindakan disisipkan di posisi {{treatmentList}}; bila variabel itu tidak ditulis, daftar ditempel di akhir dokumen. Tidak ada layar sertifikat atau surat terpisah di menu Pengaturan; surat peringatan dan surat lain dikelola di modul masing-masing. Pratinjau di kanan memakai data contoh, bukan data pasien. Klik Simpan untuk menerbitkan versi baru (versi aktif ditampilkan di atas editor).
Unggah logo klinik.
Editor dan pratinjau template persetujuan.
9 Template WhatsApp
Menu Template WhatsApp (izin appointment:update) mengatur isi pesan operasional yang dibuka lewat click-to-chat. Ini bukan WhatsApp Business API: ERP tidak mengetahui apakah pesan benar-benar terkirim.
Untuk apa: staf cukup menekan tombol WhatsApp dan pesan sudah terisi rapi dengan nama pasien, jadwal, dan cabang, sehingga bahasanya seragam. Tersedia tujuh Jenis pesan: Konfirmasi Jadwal, Pengingat Jadwal, Follow-up Tidak Hadir, Follow-up Pasca Kunjungan, Ajakan Atur Ulang, Rekap Jadwal, dan Voucher Pasien. Variabel yang bisa disisipkan antara lain {{recipient_name}}, {{patient_name}}, {{appointment_date}}, {{appointment_time}}, {{treatment_name}}, {{doctor_name}}, {{branch_name}}, {{voucher_code}}, {{total_price}}, dan {{remaining_payment}}. Pratinjau memakai data contoh.
Templat email: tidak ada layar pengaturan templat email di menu Pengaturan; tampilan email (mis. bukti pembayaran) tidak dapat diubah dari aplikasi pada versi ini.
- Pilih lingkup Cabang atau Global. Template cabang yang belum diubah berstatus Mewarisi global.
- Pilih Jenis pesan (mis. Konfirmasi Jadwal), klik variabel di Sisipkan variabel (mis.
{{patient_name}}), dan ubah Isi template (maks. 4.000 karakter; hanya variabel dari katalog yang dapat disimpan). - Periksa Pratinjau pesan, lalu klik Simpan perubahan, atau Kembalikan ke global untuk membuang kustomisasi cabang.
Editor template dan pratinjau pesan.
10 Kode Promo & Voucher
Kode Promo (izin billing:promo_read) memotong harga tagihan. Voucher (izin billing:voucher_read) dipakai sebagai metode bayar di kasir.
- Promo: klik Buat Promo, isi Kode promo, Nama, Deskripsi, Tipe diskon dan nilainya, Mulai berlaku/Berakhir, Batas pakai, Scope cabang (global atau satu cabang), umur minimal/maksimal, minimal peserta, dan Affiliate (opsional, maks 100 karakter; mitra kampanye, mis. akun kreator, untuk laporan Promo & Voucher), lalu Simpan promo. Daftar bisa disaring dengan Filter status dan Filter sumber.
- Voucher: tab Program → Tambah Program. Pilih jenis Per pasien atau Kode bersama, isi Nominal, Mulai, Selesai, Cabang, Affiliate (opsional; tetap bisa diubah setelah program menerbitkan voucher), dan Berlaku (hari sejak terbit). Staf cabang kemudian menerbitkan voucher untuk pasien; hasilnya terlihat di tab Voucher Terbit.
💡 Riwayat penyakit yang dikecualikan (langkah Riwayat Penyakit) memengaruhi kelayakan promo bagi pasien.
Dialog Buat Promo.
Dialog Tambah Program Voucher.
11 Matriks Harga Promo (tarif per jumlah peserta)
Untuk apa: membuat harga promo berbeda menurut jumlah pasien dalam satu kedatangan (mis. promo rombongan). Di daftar Kode Promo, klik titik tiga pada baris promo lalu Matriks harga (/settings/promos/<id>/matrix). Menu baris yang sama berisi Ubah dan Nonaktifkan.
- Status matriks awalnya Belum disiapkan dengan 0 tarif aktif. Pesan layar: rombongan hanya mendapat harga promo bila jumlahnya sama persis dengan salah satu tarif.
- Klik Tambah tarif untuk mengisi tarif per jumlah peserta, atau Salin dari promo lain untuk memakai tarif promo lain.
- Klik Aktifkan matriks bila tarif sudah siap; tombol yang sama berubah menjadi Kembalikan ke draf untuk menariknya kembali. Kembali ke promo membawa Anda ke daftar.
Penambahan tarif tidak diperagakan pada penyusunan ini; hanya keadaan awal yang tampil.
Matriks harga promo: keadaan awal.
Harga khusus hari & dokter
Seksi Harga khusus hari & dokter tampil di bawah tabel tarif untuk promo bermatriks. Harga khusus mengganti harga per orang tarif dasar dengan jumlah pasien yang sama untuk akhir pekan (Sabtu–Minggu), libur nasional (hari libur HR yang disetujui dan aktif), dokter tertentu, atau dokter pada jenis hari tertentu. Kuota, minimal peserta, umur, dan cakupan tidak berubah.
- Klik Tambah harga khusus, pilih Jumlah pasien (hanya dari tarif dasar aktif), Jenis hari, Dokter (kosong = semua dokter), isi Harga per orang dan Label (opsional), lalu Simpan harga khusus. Jenis hari Semua hari wajib disertai dokter.
- Satu harga berlaku per pasien dengan urutan: dokter + libur nasional, dokter + akhir pekan, dokter (semua hari), libur nasional, akhir pekan, lalu tarif dasar. Libur yang jatuh di Sabtu/Minggu tanpa harga libur memakai harga akhir pekan.
- Kartu Cek harga: isi tanggal kunjungan, jumlah pasien, dan dokter untuk melihat harga yang berlaku, aturannya, dan nama libur.
- Menonaktifkan tarif dasar membuat harga khusus untuk jumlah itu ikut tidak berlaku (lencana Tidak berlaku — tarif dasar nonaktif). Harga itu berlaku lagi saat tarif dasar diaktifkan kembali. Salin dari promo lain ikut menyalin harga khusus aktif; ringkasannya tampil sebagai "n harga khusus disalin, m dilewati".
- Saat harga promo diatur pada jadwal, setiap pasien rombongan dihargai menurut dokternya, dan dialog menampilkan dokter, harga, dan aturan per pasien. Harga lalu dikunci: perubahan harga khusus, hari libur, atau dokter sesudahnya tidak mengubah harga terkutip, voucher, maupun tagihan. Bila harga pasien dalam rombongan berbeda, voucher booking menampilkan harga per orang milik pasien pemilik jadwal voucher dan total = jumlah harga semua pasien; saat dipakai di tagihan, tiap pasien ditagih sesuai harganya sendiri. Di booking online, dokter ditetapkan sistem lebih dulu, lalu harga dan DP dihitung dari dokter itu.
Contoh: tarif dasar 2 pasien Rp 150.000/orang, harga khusus akhir pekan Rp 175.000, dan harga khusus drg. Rina semua hari Rp 140.000. Rombongan 2 pasien pada hari Sabtu: pasien drg. Rina membayar Rp 140.000, pasien dokter lain Rp 175.000.
Memindah jadwal: bila jadwal yang memakai promo ini dipindah ke jenis hari lain (hari biasa ↔ akhir pekan ↔ libur nasional), harga quote dihitung ulang memakai harga khusus hari pada tanggal baru dan dokter jadwal itu; admin diminta meninjau dan mengonfirmasi lebih dulu bila totalnya berubah. Promo yang tidak punya harga khusus hari tidak menampilkan peringatan apa pun dan harganya tetap. Langkahnya ada di bab Atur ulang / batalkan.
Daftar harga khusus per jenis hari dan dokter.
Kartu Cek harga.
12 Sinkron Google Sheet
Menu Sinkron Google Sheet (izin config:read) menyinkronkan appointment dari Google Sheet publik per cabang tanpa mengisi JSON.
- Pilih cabang di kanan, tempel URL tab Google Sheet, klik Deteksi Layout untuk mengambil nama nakes dari header.
- Pada Mapping nakes, chair, dan treatment pilih dokter dan TGM default, chair, nakes dari sheet, dan mapping keyword treatment (opsional).
- Kartu Aktivasi dan dry-run memuat prasyarat; jalankan Simpan & Dry Run dulu, lalu centang Aktifkan manual sync atau Aktifkan cron otomatis tiap 30 menit, dan Simpan Config.
⚠️ Sinkron tidak dijalankan pada penyusunan ini karena butuh Google Sheet nyata; langkah ditulis dari layar dan kode.
Konfigurasi Google Sheet Sync.
13 Widget Web (booking & DP online)
Menu Widget Web (izin integration:booking_widget_read) memasang booking dan pembayaran DP di situs klinik.
- Kartu Kesiapan booking online memeriksa Koneksi pembayaran (disiapkan operator), Kebijakan DP (Kelola DP), dan Widget dipublikasikan.
- Klik Tambah widget, isi Nama widget, Nama klinik, Telepon klinik, lalu Buat widget. Widget baru berstatus draf dengan cabang aktif dan hingga 80 layanan; atur Cabang & layanan di halaman detailnya, lalu tempel kodenya di situs klinik.
- Opsional — link feedback: di detail widget, kartu Feedback → Ubah, isi Link feedback (opsional) dengan tautan kuesioner lengkap (mis. Google Form) yang diawali
http://atauhttps://, lalu Simpan. Tautan tampil kepada pemesan di halaman status setelah pembayaran berhasil. Kosongkan lalu simpan untuk menghapusnya; kartu kembali menampilkan Belum diatur. Tautan lain ditolak dengan pesan “Masukkan tautan lengkap yang diawali http:// atau https://.” (maksimal 1.024 karakter). Hanya pemegang izinintegration:booking_widget_updateyang melihat tombol Ubah. - Opsional — penanggung DP: di detail widget, kartu Penanggung DP → Ubah, pilih Per pasien (bawaan: DP dihitung dan dicatat per pasien) atau Diwakilkan pemesan (pemesan membayar DP seluruh pasien dalam satu pemesanan), lalu Simpan. Berlaku untuk pemesanan baru; pemesanan yang sudah dibuat tetap memakai pengaturan lama, dan nominal DP tiap pasien tidak berubah. Pada mode diwakilkan dengan dua pasien atau lebih, halaman konfirmasi, halaman status, dan email bukti pembayaran menyebut pemesan sebagai penanggung DP beserta rincian DP per pasien. Bila widget sempat diubah orang lain, muncul “Konfigurasi widget telah berubah. Muat ulang sebelum menyimpan.” — data dimuat ulang, lalu simpan sekali lagi.
⚠️ Detail widget, publikasi, dan koneksi pembayaran tidak didemokan (butuh gateway pembayaran dan situs nyata). Rahasia gateway diisi operator, bukan lewat layar ini.
Widget Web dan kesiapan booking online.
Dialog Tambah widget.
14 Integrasi CRM & Accurate
Kredensial Integrasi (izin config:read) mengelola token CRM Appointment API dan memantau pengiriman event ke CRM: kartu Terkirim, Menunggu, Gagal, Mati, Muat ulang, Uji koneksi, Kirim ulang, Ubah alamat webhook, dan Riwayat event dengan filter status. Pada Tambah Kredensial CRM tidak ada yang diisi: token dibuat acak, disalin sekali di dialog berikutnya, dan hanya bisa diganti lewat Regenerasi Token.
Integrasi Accurate menyimpan beberapa akun; satu cabang hanya boleh dipetakan ke satu akun aktif. Klik Tambah Akun Accurate, isi Nama Akun, Client ID, Client Secret, Access Token, Refresh Token (dari area developer Accurate), lalu Simpan. Pemetaan Accurate baru bisa dipakai setelah ada akun.
Untuk apa: CRM menerima kabar setiap janji temu atau pembayaran baru lewat webhook; Accurate menerima jurnal akuntansi. Pada layar Integrasi di lingkungan percobaan terlihat Menunggu 35, Terkirim 0, dan pesan "Alamat webhook belum siap: Konfigurasi webhook CRM belum diisi." Artinya event (mis. appointment.created, billing.payment.received) menumpuk sampai alamat webhook diisi lewat Ubah alamat webhook, lalu Uji koneksi dan Kirim ulang. Pengiriman nyata ke CRM/Accurate tidak dapat diperagakan lokal (sistem eksternal), jadi dijelaskan dari kode dan teks layar. Halaman Pemetaan Accurate menampilkan "Belum ada akun Accurate" sampai akun ditambahkan.
⚠️ Rahasia integrasi tidak diisi dan tidak disimpan saat penyusunan; hanya formulir yang dibuka. Alur pemetaan Accurate tidak didemokan.
Integrasi CRM dan status pengiriman event.
Dialog Tambah Kredensial CRM.
Dialog Tambah Akun Accurate (jangan isi rahasia asli di lingkungan percobaan).
Pemetaan Accurate meminta akun lebih dulu.
15 Kredensial Agent & Panduan MCP
Untuk apa: memberi program AI (mis. Claude Code atau Cursor) akses terbatas ke ERP lewat protokol MCP, tanpa memakai akun pegawai. Setiap agent mendapat kredensial sendiri dengan cabang dan hak akses yang dipilih. Menu Kredensial Agent (/settings/agent-credentials; melihat butuh agent:read).
- Klik Terbitkan Kredensial. Isi Nama agent (wajib), Keterangan (opsional), Cabang yang boleh diakses (wajib, minimal satu), dan Masa berlaku (30, 90, 180, atau 365 hari; bawaan 90 hari, tanggal kedaluwarsa tampil di bawahnya).
- Pilih Permission: telusuri lewat kolom cari, atau klik Pilih semua pada satu modul (mis. Pasien, 7 kewenangan). Filter Semua / Dipilih / Sulit dibalik membantu memeriksa. Kewenangan Sulit dibalik (mis. Hapus Pasien) ditandai kuning dan dihitung di bagian bawah dialog: "1 cabang · 7 permission (1 sulit dibalik)".
- Klik Terbitkan. Dialog Simpan rahasia ini sekarang menampilkan rahasia berawalan
tmbh_agt_dengan tombol Salin rahasia, tab cara pakai (Claude Code, Cursor, Claude Desktop, cURL (uji koneksi)), dan saklar Tampilkan rahasia. Klik Selesai setelah menyalinnya. - Pada daftar Kredensial diterbitkan, tiap baris menampilkan nama, awalan rahasia, jumlah permission, cabang, tanggal berlaku, pemakaian 24 jam, dan status. Menu titik tiga berisi Jeda (sementara) dan Cabut (permanen).
- Klik nama kredensial untuk membuka halaman detail: cabang, permission per modul, Panduan MCP (cuplikan siap salin, rahasia diganti penanda
<RAHASIA_AGENT>yang Anda isi sendiri), Pemakaian 60 menit dan 24 jam terakhir, Batas kuota (Ubah batas kuota), Pemanggilan terakhir, dan Riwayat tindakan dari jejak audit.
Saklar darurat: kartu Saklar akses agent memuat Matikan seluruh akses dan tombol Matikan per cabang. Berlaku pada permintaan berikutnya tanpa deploy.
Aturan penting
Rahasia hanya tampil sekali; bila hilang, cabut kredensial dan terbitkan baru. Cabang dan hak akses terkunci: menambah kewenangan berarti mencabut lalu menerbitkan ulang. Berikan hanya yang benar-benar dibutuhkan.
Bila agent ditolak
Jawaban 403 AGENT_CREDENTIAL_SUSPENDED berarti kredensial sedang dijeda; tunggu sampai dilanjutkan, jangan merotasi rahasia. Kredensial kedaluwarsa harus diganti dengan yang baru.
⚠️ Layar dialog rahasia tidak ditampilkan sebagai gambar agar rahasia tidak tercetak. Endpoint pada cuplikan (/api/v1/mcp) mengikuti alamat server tempat Anda membukanya. Kredensial uji "Agent Rekap Pasien Demo" dibuat di lingkungan percobaan.
Dialog Terbitkan Kredensial Agent: 1 cabang, 7 permission (1 sulit dibalik).
Daftar kredensial diterbitkan dengan menu Jeda dan Cabut.
Detail kredensial: hanya awalan rahasia yang tampil, cuplikan memakai penanda.
16 Jejak Audit, Log Konfigurasi & Riwayat Ekspor
Ketiga menu ini memakai izin audit:read.
- Jejak Audit: siapa mengubah apa, kapan, dari mana (kolom Asal), dan apa yang berubah di seluruh modul. Saring dengan Modul, Jenis pelaku, Aksi, ID atau nomor entitas, rentang tanggal, Urutkan, dan Hanya aksi lintas cabang.
- Log Audit Konfigurasi: perubahan konfigurasi per Kunci konfigurasi, Lingkup, dan tanggal, lengkap dengan nilai lama dan baru.
- Riwayat Ekspor: siapa mengunduh data apa, kapan, dengan filter apa, dan berapa baris yang keluar.
Jejak Audit lintas modul.
Log Audit Konfigurasi.
Riwayat Ekspor.
17 Pemusnahan Data (purge dua tahap)
Untuk apa: menghapus data lama yang sudah tidak dipakai benar-benar dari sistem. Sehari-hari data tidak pernah dihapus, hanya dinonaktifkan (tahap 1). Hanya data nonaktif yang sudah lewat masa tunggu tujuh hari yang boleh dimusnahkan permanen (tahap 2). Menu Pemusnahan Data hanya tampil bagi pemegang izin <modul>:purge sesuai jenis data (mis. config:purge untuk kategori tindakan).
Contoh di bawah memakai data uji Kategori Uji Pemusnahan (kode uji_pemusnahan), bukan data klinik sungguhan.
Tahap 1 · Nonaktifkan
- Buka Pengaturan → Kategori Tindakan (
/settings/treatment-categories). Baris Kategori Uji Pemusnahan berstatus Aktif. - Klik tombol titik tiga di ujung baris, lalu pilih Nonaktifkan. Tidak ada dialog konfirmasi; status langsung berubah menjadi Nonaktif dan waktu penonaktifan tercatat di jejak audit.
Sebelum: kategori uji masih Aktif.
Sesudah: status berubah menjadi Nonaktif.
Tahap 2 · Musnahkan permanen
- Buka Pemusnahan Data, pilih Jenis data (di sini Kategori tindakan). Kolom Cari data nonaktif menyaring daftar menurut nama.
- Tiap baris menunjukkan tanggal dinonaktifkan dan satu label: Siap dimusnahkan (masa tunggu selesai), Menunggu hingga <tanggal> (di contoh: dinonaktifkan 03 Okt 2026, menunggu hingga 10 Okt 2026), atau alasan penghambat berwarna merah (mis. masih ada data anak yang aktif).
- Klik Hapus permanen pada baris. Dialog Hapus data permanen menampilkan pratinjau 1 baris akan dimusnahkan beserta tabel yang terdampak (
config_treatment_categories: 1). Bila masa tunggu belum selesai, muncul pesan Masa tunggu tujuh hari belum selesai. dan tombol Hapus permanen tetap abu-abu. - Ketik HAPUS PERMANEN pada kolom konfirmasi. Tombol aktif hanya bila tulisan persis sama (dan pratinjau sudah termuat).
- Klik Hapus permanen. Dialog menutup dan baris hilang dari daftar (0 data nonaktif ditemukan).
Kandidat: dinonaktifkan 03 Okt, menunggu hingga 10 Okt 2026.
Dialog saat masa tunggu belum selesai: tombol belum bisa dipakai.
Setelah dimusnahkan: tidak ada lagi data nonaktif untuk jenis ini.
Pemusnahan paksa (izin <modul>:force_purge)
Pemegang izin ini melihat opsi Lewati masa tunggu (seharusnya 10 Okt 2026) di dialog. Centang, isi Alasan pemusnahan paksa (minimal 10 karakter, tersimpan di jejak audit), lalu ketik HAPUS PERMANEN dan klik Hapus permanen. Data tetap harus sudah nonaktif. Contoh data uji di atas dimusnahkan dengan cara ini agar tidak menunggu tujuh hari. Baris yang tak punya jejak penonaktifan menampilkan Waktu penonaktifan tidak tercatat dan dapat dicatat lewat tombol Catat penonaktifan (dialognya berjudul Catat penonaktifan tanpa jejak) (belum diperagakan, dijelaskan dari kode).
Pemusnahan paksa: opsi dicentang, alasan terisi, konfirmasi diketik, tombol aktif.
Siapa yang boleh
Pemegang <modul>:purge untuk jenis data terkait; melewati masa tunggu butuh <modul>:force_purge. Director memegang seluruh katalog izin.
Aturan penting
Data aktif tidak bisa dimusnahkan; data yang masih punya turunan aktif ditolak dengan alasan; dialog meminta ulang bila pratinjau kedaluwarsa (Muat ulang pratinjau).
⚠️ Pemusnahan permanen tidak bisa dibatalkan dan datanya tidak bisa dipulihkan. Jejak audit dan snapshot riwayat tetap dipertahankan.
18 Pengaturan yang memengaruhi modul lain
Katalog & ketersediaan
Harga, durasi, dan kategori memengaruhi pilihan tindakan dokter, tagihan kasir, komisi, dan bahan inventori.
Riwayat penyakit & promo
Riwayat yang dikecualikan mencegah promo; kode promo dan voucher memengaruhi total tagihan dan metode bayar.
Template WhatsApp
Dipakai tombol pesan pada janji temu.
Widget & DP
Memengaruhi booking online dan kewajiban DP pasien.
Supervisi
Memengaruhi kewajiban supervisi pada tagihan tindakan terapis.
Identitas klinik
Logo tercetak pada struk, invoice, dan faktur klaim.