Chatbot WA untuk Klinik & Apotek

Setup chatbot WhatsApp untuk klinik dan apotek. Pendaftaran online, cek jadwal dokter, order obat. Tingkatkan pelayanan kesehatan!

Chatbot WA untuk Klinik & Apotek
Chatbot WA untuk Klinik & Apotek

Pelayanan kesehatan yang lebih accessible!

Chatbot memudahkan pasien daftar online, cek jadwal dokter, dan order obat tanpa harus telepon atau antri.


Use Cases

Klinik:

🏥 UNTUK KLINIK:

- Pendaftaran online
- Cek jadwal dokter
- Reminder appointment
- Info layanan & harga
- Hasil lab (dengan autentikasi)
- Follow-up pasien

Apotek:

💊 UNTUK APOTEK:

- Cek ketersediaan obat
- Order/pesan obat
- Resep online (tebus resep)
- Konsultasi apoteker
- Reminder minum obat
- Delivery obat

Template Messages - Klinik

Greeting Klinik:

🏥 KLINIK [NAMA]

Selamat datang di Klinik [NAMA]!

Layanan kami:

1️⃣ Daftar Berobat
2️⃣ Jadwal Dokter
3️⃣ Info Layanan & Biaya
4️⃣ Cek Status Antrian
5️⃣ Hasil Lab (Pasien Terdaftar)
6️⃣ Hubungi Kami

Ketik angka untuk pilih!

📞 Darurat? Call 021-xxx-xxxx

Jadwal Dokter:

👨‍⚕️ JADWAL DOKTER

Pilih poliklinik:

1️⃣ Umum
2️⃣ Gigi
3️⃣ Anak
4️⃣ Kandungan
5️⃣ Kulit & Kelamin
6️⃣ THT

Ketik angka atau nama poli!

Detail Jadwal:

👨‍⚕️ JADWAL DOKTER UMUM

dr. Budi Santoso, Sp.PD
━━━━━━━━━━━━━━━━━━━━
Senin    : 08:00 - 12:00 ✅
Selasa   : 08:00 - 12:00 ✅
Rabu     : LIBUR
Kamis    : 14:00 - 18:00 ✅
Jumat    : 08:00 - 12:00 ✅
Sabtu    : 08:00 - 11:00 ✅

dr. Ani Wijaya
━━━━━━━━━━━━━━━━━━━━
Senin    : 14:00 - 18:00 ✅
Selasa   : 14:00 - 18:00 ✅
Rabu     : 08:00 - 12:00 ✅
Kamis    : LIBUR
Jumat    : 14:00 - 18:00 ✅
Sabtu    : LIBUR

Mau daftar?
Ketik: DAFTAR [NAMA DOKTER] [TANGGAL]

Pendaftaran Online:

📝 PENDAFTARAN ONLINE

Mau berobat ke poli apa?
Dengan dokter siapa?
Tanggal kapan?

Format:
DAFTAR
Poli: [Umum/Gigi/Anak/dll]
Dokter: [Nama Dokter / Siapa saja]
Tanggal: [Tanggal]
--
Nama Pasien: [Nama Lengkap]
No. RM: [Jika sudah pernah berobat]
NIK: [Jika pasien baru]
Tgl Lahir: [DD/MM/YYYY]
No HP: [No HP]

Atau ketik FORM untuk dibantu step-by-step.

Konfirmasi Pendaftaran:

✅ PENDAFTARAN BERHASIL!

No. Registrasi: REG-20260217-001

📋 Detail Kunjungan:
━━━━━━━━━━━━━━━━━━━━
Nama: [NAMA PASIEN]
No. RM: 12345
Tanggal: Senin, 17 Feb 2026

🏥 Poli: Umum
👨‍⚕️ Dokter: dr. Budi Santoso, Sp.PD
⏰ Jam: 08:00 - 12:00
🔢 No. Antrian: 5

📍 Alamat Klinik:
Jl. Sehat No. 123, Jakarta

⚠️ PENTING:
- Datang 15 menit sebelum jadwal
- Bawa KTP/kartu identitas
- Bawa kartu BPJS (jika pakai)
- Gunakan masker

Ketik BATAL untuk cancel.

Reminder Appointment:

⏰ REMINDER KUNJUNGAN

Hai [NAMA]!

Jangan lupa jadwal berobat BESOK:

📅 Senin, 17 Feb 2026
⏰ 08:00 - 12:00 WIB
👨‍⚕️ dr. Budi Santoso, Sp.PD
🏥 Klinik [NAMA]

No. Antrian: 5

Akan hadir?
- Ketik HADIR untuk konfirmasi
- Ketik RESCHEDULE untuk ubah jadwal
- Ketik BATAL untuk cancel

Terima kasih! 🙏

Template Messages - Apotek

Greeting Apotek:

💊 APOTEK [NAMA]

Selamat datang!

Layanan kami:

1️⃣ Cek Ketersediaan Obat
2️⃣ Order Obat (Tanpa Resep)
3️⃣ Tebus Resep Dokter
4️⃣ Konsultasi Apoteker
5️⃣ Delivery Obat
6️⃣ Jam Buka & Lokasi

Ketik angka untuk pilih!

⚠️ Darurat? Hubungi IGD terdekat

Cek Ketersediaan:

🔍 CEK KETERSEDIAAN OBAT

Ketik nama obat yang dicari:

Contoh:
- "Paracetamol"
- "Amoxicillin 500mg"
- "Vitamin C 1000"

Atau ketik kategori:
- DEMAM - Obat demam
- BATUK - Obat batuk
- VITAMIN - Suplemen
- MAAG - Obat lambung

Hasil Pencarian:

🔍 HASIL PENCARIAN: Paracetamol

Ditemukan 3 produk:

1️⃣ Paracetamol 500mg (10 tab)
   💰 Rp 5.000
   📦 Stok: ✅ Ready

2️⃣ Panadol Extra (10 tab)
   💰 Rp 15.000
   📦 Stok: ✅ Ready

3️⃣ Sanmol Sirup 60ml
   💰 Rp 18.000
   📦 Stok: ✅ Ready

Mau order?
Ketik: ORDER [NOMOR] [JUMLAH]
Contoh: ORDER 1 2

Tebus Resep:

📋 TEBUS RESEP DOKTER

Untuk tebus resep, kirim:

1. Foto resep dokter (jelas, lengkap)
2. Nama pasien
3. Alamat delivery / ambil sendiri

⚠️ Syarat:
- Resep masih berlaku (< 3 hari)
- Foto resep jelas terbaca
- Ada tanda tangan & stempel dokter

Kirim foto resep sekarang!

Konfirmasi Resep:

✅ RESEP DITERIMA

Resep atas nama: [NAMA PASIEN]
Dari: dr. [NAMA DOKTER]

Obat yang diresepkan:
━━━━━━━━━━━━━━━━━━━━
- Amoxicillin 500mg (3x1) - 15 kapsul
  Rp 45.000
- Paracetamol 500mg (3x1) - 10 tablet
  Rp 5.000
- Omeprazole 20mg (1x1) - 10 kapsul
  Rp 35.000
━━━━━━━━━━━━━━━━━━━━
Total: Rp 85.000
Ongkir: Rp 10.000
━━━━━━━━━━━━━━━━━━━━
TOTAL: Rp 95.000

Konfirmasi order?
- Ketik OK untuk lanjut
- Ketik AMBIL jika mau ambil sendiri

Reminder Minum Obat:

💊 REMINDER MINUM OBAT

Hai [NAMA]!

Waktunya minum obat:

⏰ 08:00 (Setelah makan)
━━━━━━━━━━━━━━━━━━━━
- Amoxicillin 500mg (1 kapsul)
- Paracetamol 500mg (1 tablet)
- Omeprazole 20mg (1 kapsul)
━━━━━━━━━━━━━━━━━━━━

Sudah minum?
- Ketik SUDAH
- Ketik SKIP + alasan (jika tidak bisa)

Semoga lekas sembuh! 🙏

Implementation

Doctor Schedule System:

javascript

const doctorSchedules = {
    'dr_budi': {
        name: 'dr. Budi Santoso, Sp.PD',
        poli: 'umum',
        schedule: {
            monday: { start: '08:00', end: '12:00', slots: 20 },
            tuesday: { start: '08:00', end: '12:00', slots: 20 },
            wednesday: null, // OFF
            thursday: { start: '14:00', end: '18:00', slots: 20 },
            friday: { start: '08:00', end: '12:00', slots: 20 },
            saturday: { start: '08:00', end: '11:00', slots: 15 }
        }
    }
};

async function getAvailableSlots(doctorId, date) {
    const doctor = doctorSchedules[doctorId];
    const dayName = getDayName(date).toLowerCase();
    const daySchedule = doctor.schedule[dayName];
    
    if (!daySchedule) {
        return { available: false, reason: 'Dokter libur' };
    }
    
    const bookings = await db.appointments.count({
        doctorId,
        date,
        status: 'confirmed'
    });
    
    const remaining = daySchedule.slots - bookings;
    
    return {
        available: remaining > 0,
        remaining,
        schedule: daySchedule
    };
}

Medicine Inventory:

javascript

async function searchMedicine(query) {
    const results = await db.medicines.find({
        $or: [
            { name: { $regex: query, $options: 'i' } },
            { genericName: { $regex: query, $options: 'i' } },
            { category: { $regex: query, $options: 'i' } }
        ],
        stock: { $gt: 0 }
    }).limit(10);
    
    return results.map(med => ({
        id: med._id,
        name: med.name,
        price: med.price,
        stock: med.stock > 10 ? 'Ready' : `Sisa ${med.stock}`,
        requiresPrescription: med.requiresPrescription,
        dosage: med.dosage
    }));
}

Prescription Validation:

javascript

async function validatePrescription(imageUrl) {
    // OCR or manual review
    const prescription = {
        doctorName: 'dr. Andi',
        patientName: 'Budi',
        date: '2026-02-15',
        medicines: [
            { name: 'Amoxicillin 500mg', qty: 15, dosage: '3x1' }
        ],
        isValid: true
    };
    
    // Check validity (< 3 days)
    const prescriptionDate = new Date(prescription.date);
    const daysSince = (Date.now() - prescriptionDate) / (1000 * 60 * 60 * 24);
    
    if (daysSince > 3) {
        return { valid: false, reason: 'Resep sudah expired (> 3 hari)' };
    }
    
    return { valid: true, prescription };
}

Privacy & Compliance

⚠️ PENTING - DATA KESEHATAN:

- Semua data pasien RAHASIA
- Tidak dibagikan ke pihak ketiga
- Sesuai UU Kesehatan & HIPAA-equivalent
- Pasien bisa request hapus data
- Enkripsi untuk data sensitif

Untuk hasil lab/rekam medis:
- Verifikasi identitas wajib
- OTP atau password
- Tidak dikirim tanpa permintaan

Best Practices

DO ✅

- Fast response (kesehatan = urgent)
- Clear disclaimer (bukan pengganti dokter)
- Easy emergency contact
- Reminder appointment
- Privacy & data protection
- Validasi resep ketat

DON'T ❌

- Diagnosa via chatbot
- Kirim data tanpa verifikasi
- Resep tanpa validasi
- Ignore emergency keywords
- Simpan data sembarangan

FAQ

Ya, untuk konsultasi umum. Untuk diagnosa dan resep, tetap butuh tatap muka atau telemedicine resmi.

Bagaimana handle emergency?

Auto-detect keywords (darurat, emergency, sesak nafas) dan langsung redirect ke nomor emergency.

Perlu verifikasi untuk hasil lab?

Wajib! OTP atau password. Data kesehatan sangat sensitif.


Kesimpulan

Healthcare + Chatbot = Better Access!

TradisionalDengan Chatbot
Telepon/antri daftarDaftar online
Tidak tau antrianReal-time queue
Lupa minum obatAuto reminder
Harus ke apotekDelivery available

Improve patient experience with automation!

Setup Chatbot Healthcare →


Artikel Terkait