Dashboard BOD
Ringkasan eksekutif
Kinerja perusahaan sangat bergantung pada kontrak MCU korporat
Sorotan ini mengikuti filter periode, regional, jenis unit, cabang, dan B2B. Filter produk, jenis layanan, dan jenis item tidak berlaku di sini.
Cara membaca angka di dashboard ini
Uang yang benar-benar ditagihkan ke pasien atau penjamin, sesudah potongan harga. Contoh: tarif Rp 100.000, diskon Rp 20.000, maka revenue net Rp 80.000.
Revenue net dikurangi harga pokok barang (modal beli obat dan bahan habis pakai). Contoh: obat dijual Rp 80.000, modal belinya Rp 60.000, maka margin kotor Rp 20.000 (25%). Belum dikurangi gaji, sewa, listrik, dan biaya operasional lain.
Transaksi = jumlah nota/invoice. Kunjungan = jumlah pasien datang dan dilayani (encounter). Satu kunjungan bisa menghasilkan beberapa nota, misalnya nota konsultasi dan nota obat. Pembelian obat langsung di apotek tanpa periksa dihitung sebagai transaksi tapi bukan kunjungan.
Selisih tarif normal (gross) dengan yang ditagihkan (net). Sistem tidak mencatat alasan diskon. Sebagian besar bukan promo, melainkan layanan yang dinolkan karena ditanggung kapitasi (Yakes, BPJS), sudah dibayar di paket, atau program internal. Lihat bagian Analisis diskon.
Revenue bulanan
Klik batang untuk melihat satu bulanTransaksi bulanan
Jumlah invoice unik11 produk highlight BOD
Jenis layanan dan jenis item
Transaksi per jenis item menghitung nota yang memuat item tersebut. Satu nota bisa memuat beberapa jenis item (misalnya konsultasi dan obat), jadi jumlahnya tidak bisa dijumlahkan.
Performa per regional
7 regional · klik untuk filterPerforma per unit bisnis
Peta panas revenue cabang
Pergerakan cabang
Top 10 cabang
Revenue · transaksiTop 10 dokter
Revenue yang tercatat atas nama dokterTop 10 layanan dan item
Komposisi penjamin
Porsi revenue net per kelompok penjaminAnalisis diskon
Definisi dan catatan data
Revenue = net_sell_price (sudah total per baris, setelah diskon). Transaksi = invoice unik per cabang (branch_id + invoice_num). Diskon = gross − net. Kunjungan = encounter_id unik per cabang (penjualan OTC tanpa encounter tidak dihitung). Margin kotor = net_profit = net − HPP (base_price). HPP hanya tercatat untuk obat dan sebagian BHP; layanan (konsultasi, lab, radiologi) tercatat tanpa biaya sehingga marginnya mendekati 100%. Margin layanan belum mencerminkan biaya sebenarnya.
Produk highlight diklasifikasi berurutan: PhysioNEXT (cabang PhysioNext / kode P_FSLP) → Existing Physiotherapy (kode P_F, U_F, tindakan fisio, poli Fisioterapi dan Rehabilitasi Medik) → Vaccination (nama mengandung vaksin) → Mental Health Screening (SRQ, SDS, poli Psikolog) → Brain Profiling → Optic Services (visus, refraksi, poli Mata) → BPJS Capitation (penjamin BPJS Kesehatan / BPJS-Yakes) → Competitive OTC (penjualan obat OTC) → Prescription Services (obat resep RJ) → Fee For Service (konsultasi, tindakan, lab, radiologi, termasuk MCU) → Other.
B2B / grosir = invoice OTC dengan satu baris obat berjumlah ≥ 1.000 unit, misalnya penjualan suplemen ke korporat di Apotek Balikpapan. Matikan toggle untuk melihat penjualan ritel saja.
Jenis layanan (service_type): OTC = penjualan bebas/langsung, RJ = rawat jalan, MCU = medical check up, RI = rawat inap (volume sangat kecil). Jenis item (item_type): D = produk / item / obat, L = laboratorium, P = prosedur tindakan klinik, R = radiologi, V/O = voucher / paket / promo.
Regional: Sumatera · Jakarta (termasuk Depok, Bogor, BSD/Serpong) · Jawa Barat (tanpa Depok dan Bogor) · Jateng & DIY · Jatim & Bali Nusra (termasuk Denpasar) · Kalimantan · KTI (Makassar, Manado, dan wilayah timur). Vizta PhysioNext dimasukkan ke Sumatera (kode item Medan), Kantor Pusat dan Yankes ke Jakarta.
Belum final: filter jenis unit (klinik utama, klinik pratama, apotek, dst.) diturunkan dari nama cabang. Data uji, cabang Telkomedika Test, dan Kantor TelkoMedika Pusat tidak dihitung. BPJS Capitation di sini adalah utilisasi transaksi; dana kapitasi per peserta belum ada di data. Top dokter hanya mencakup baris yang mencatat nama dokter (sekitar 31% baris). Data uji (cabang Telkomedika Test dan pasien "Dummy") tidak dihitung. Sumber: ekspor transaksi Omnicare Januari–September 2026. Top layanan dan item dihitung dari item terbesar.
Data
Status tabel transaksi, pembaruan data dashboard, dan import ekspor Omnicare.
Perbarui data dashboard
Membaca ulang seluruh transaksi lalu menyusun angka dashboard. Berjalan otomatis setiap malam lewat cron; tombol ini untuk pembaruan manual. Butuh 1–5 menit.
Import ekspor transaksi Omnicare
Upload .zip berisi file rows_YYYYMM.csv, atau satu file .csv. Bulan yang ada di file menggantikan data bulan yang sama di database, jadi aman diupload ulang. File .xlsx di dalam zip diabaikan.
Isi tabel per bulan
Riwayat import
Pengguna
Admin dapat melihat dashboard, mengelola pengguna, data, dan log. Viewer hanya melihat dashboard.
Log aktivitas
Semua login, percobaan login gagal, akses dashboard, perubahan pengguna, import, dan pembaruan data.