Transparency penuh — semua fase development, timeline, dan progress live. Diupdate setiap kali fitur baru di-capture.
Total Fitur
93
Live
93
Completion
100%
Kategori
20
Sebuah kategori dianggap "live" kalau semua fitur di dalamnya sudah punya screenshot real dari panel admin.
01. Dashboard & Ringkasan
In Progress02. Akuisisi & Marketing — A1 / PRD §17
In Progress03. Multi-Klinik & Staff — PRD §1 & §11
In Progress04. Registrasi Pasien — A2 / PRD §2
In Progress05. Appointment & Scheduling — A3-A4 / PRD §3
In Progress06. Examination & EDR — A5 / PRD §4
In Progress07. Imaging & Radiography — PRD §5
In Progress08. Treatment Planning — A6-A7 / PRD §6
In Progress09. Treatment Execution — A8 / PRD §10a-g
In Progress10. Recall & Follow-up — A11 / PRD §10g
In Progress11. Billing & Payment — A9 / PRD §7
In Progress12. Insurance Claims — A10 / PRD §8
In Progress13. Inventory, Lab & Sterilisasi — PRD §9-10
In Progress14. Komunikasi & Reminder — PRD §13
In Progress15. AI-Powered Features — PRD §15
In Progress16. Laporan & Analitik — PRD §16
In Progress17. Content Management
In Progress18. Programmatic SEO — PRD §17
In Progress19. Media & Notifications
In Progress20. System & Compliance — PRD §18
In ProgressPhase 1: MVP Core Phase 2: Clinical EDR Phase 3: Revenue Ops
6 minggu 8 minggu 6 minggu
─────────────────── ──────────────────── ───────────────────
├─ Setup Laravel ├─ Odontogram digital ├─ Billing & invoice
├─ Auth + RBAC ├─ Treatment plans ├─ Payment multi method
├─ Multi-branch ├─ Diagnoses + ICD-10 ├─ Insurance claims
├─ Patient CRUD ├─ Radiograph upload ├─ Deposit & cicilan
├─ Appointment basic ├─ Prescriptions ├─ Discount & promo
├─ Doctor & staff ├─ Consent digital ├─ Package & bundle
├─ Dashboard owner ├─ Clinical SOAP notes ├─ Dokter fee-splitting
└─ Programmatic SEO ├─ Periodontal chart └─ Basic reporting
└─ Lab cases
Phase 4: Komunikasi & AI Phase 5: Portal & Scale Phase 6: Unicorn Mode
5 minggu 5 minggu 4 minggu
─────────────────── ──────────────────── ───────────────────
├─ WA reminders ├─ Patient portal ├─ AI Odontogram
├─ Notification system ├─ Online booking ├─ AI X-ray analysis
├─ Chat with patients ├─ Payment online ├─ AI Chatbot
├─ Email templates ├─ Review & rating ├─ AI Predictive
├─ Recall automation ├─ PWA support ├─ Performance tuning
├─ Review collection ├─ Mobile responsive ├─ Load testing
└─ Birthday automation ├─ API for 3rd party └─ Production deploy
└─ Tele-dentistry
Total: ~34 minggu (~8.5 bulan) — 1 developer full-time Dengan 2-3 developer senior: bisa dipangkas ke 4-5 bulan
| Task | Detail | Prioritas |
|---|---|---|
| Laravel 12+ installation | Composer, Breeze/Fortify auth scaffold | P0 |
| Database migration | Semua 62 tabel section 1, 2, 9 | P0 |
| RBAC system | roles, permissions, role_permission tables + middleware | P0 |
| Multi-branch management | clinics CRUD admin, scope data per cabang via middleware | P0 |
| Auth system | Login, register, forgot password, email verification | P0 |
| Admin dashboard shell | Layout, sidebar, top bar, breadcrumb | P0 |
| User CRUD | Owner bisa CRUD semua user di semua cabang | P0 |
| Activity logger | Audit trail basic (create/update/delete) | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| Patient CRUD | Form registrasi, list, detail, edit, soft delete | P0 |
| RM Number auto-generate | Format RM-YYYYMMDD-XXXX | P0 |
| Import/export patient | CSV import, Excel export | P1 |
| Patient search | Search by nama, nik, phone, rm_number | P0 |
| Patient document upload | KTP, BPJS card, referral letter | P1 |
| Patient segmentation | New, Active, Dormant, VIP logic | P2 |
| Family account linking | patient_family table + UI | P2 |
| Task | Detail | Prioritas |
|---|---|---|
| Doctor profile setup | Dokter CRUD, spesialisasi, STR/SIP | P0 |
| Working hours | Set jam operasional per klinik, per dokter | P0 |
| Dental chairs | Kelola unit kursi gigi per cabang | P0 |
| Appointment CRUD | Buat janji, edit, cancel, reschedule | P0 |
| Calendar view dokter | FullCalendar / similar, lihat slot tersedia vs terisi | P0 |
| Slot detection | Auto hitung slot berurutan berdasarkan working_hours + appointment yang sudah ada | P0 |
| Status flow | Scheduled → Confirmed → Waiting → In_Treatment → Done | P0 |
| Walk-in support | FO bisa langsung buat appointment walk-in | P0 |
| Conflict detection | System cegah double booking | P0 |
| Task | Detail | Prioritas |
|---|---|---|
| Owner dashboard | Revenue card, patient count, appointment today, top doctor | P0 |
| Chart.js integration | Revenue chart 30 hari, patient trend | P1 |
| Multi-branch switch | Owner bisa switch cabang, data terfilter | P0 |
| Programmatic SEO base | SEO tables migration, seeder kota Indonesia | P0 |
| SEO routes | /best-dentist-{city} dynamic route |
P0 |
| SEO page generator | Auto generate title, meta, content 300+ kata, JSON-LD | P0 |
| Sitemap.xml dynamic | Generate from clinics + seo pages | P0 |
| Robots.txt | Allow SEO routes | P0 |
| Task | Detail | Prioritas |
|---|---|---|
| Visit management | Visit record dari appointment → check-in → check-out | P0 |
| Anamnesis form | Chief complaint, medical history, dental history | P0 |
| Extra-oral exam form | TMJ, lymph nodes, lips, profil | P1 |
| Intra-oral exam form | Soft tissue, gingiva, oral hygiene | P1 |
| Vital signs | Blood pressure, heart rate, temp, weight, BMI | P1 |
| ICD-10 dental codes | Seeder kode ICD-10 K00-K14 | P0 |
| Diagnosis CRUD | Pasang diagnosis per visit, ICD-10 + custom | P0 |
| Allergy management | patient_allergies table + UI | P0 |
| Task | Detail | Prioritas |
|---|---|---|
| HTML5 Canvas odontogram | Gambar gigi permanent (11-48) + decidious (55-85) | P0 |
| Tooth surface interaction | Klik gigi → pilih surface M/D/B/L/P/O/I/All | P0 |
| Condition palette | 25+ kondisi gigi siap klik | P0 |
| Real-time condition save | AJAX update ke tooth_conditions table | P0 |
| Odontogram history viewer | Bandingkan odontogram antar kunjungan | P1 |
| Print odontogram | HTML-to-PDF | P2 |
| Odontogram mobile-responsive | Touch interaction untuk tablet | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| Treatment catalog | Katalog tindakan + kategori + harga | P0 |
| Treatment price management | Harga bertingkat: umum, member, asuransi | P0 |
| Treatment plan builder | Drag/drop atau checkbox urutan treatment | P0 |
| Multi-phase plan | Phase 1, 2, 3 treatment | P0 |
| Cost estimation | Auto-total estimasi biaya per plan | P0 |
| Patient approval flow | Draft → Proposed → Approved | P1 |
| Treatment-to-invoice bridge | Plan item bisa langsung jadi invoice item | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| SOAP notes editor | Subjective, Objective, Assessment, Plan per visit | P0 |
| Treatment done recording | Catat treatment yang sudah selesai hari ini | P0 |
| Auto-prescription | Dari SOAP plan → generate resep | P1 |
| Prescription CRUD | Resep obat, print/cetak resep | P1 |
| Progress notes timeline | Lihat history notes per pasien | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| Radiograph upload | Upload periapical, OPG, CBCT, cephalometric | P0 |
| Radiograph viewer | Lightbox-style image viewer | P1 |
| Intraoral camera | Upload foto intraoral before/after | P1 |
| Before/after comparison | Side-by-side image viewer | P2 |
| Dental lab CRUD | Kelola dental_labs + price list | P0 |
| Lab case management | Case CRUD, status tracking | P0 |
| Lab case timeline | Tracking history per case | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| Invoice generation | Auto dari treatment yang selesai di visit | P0 |
| Invoice CRUD | Draft, edit, issue, void | P0 |
| Multi-item invoice | Lebih dari 1 treatment per invoice | P0 |
| Discount engine | Nominal, persentase, discount code | P0 |
| Tax handling | PPN 11% / tax configurable | P0 |
| Print invoice | HTML-to-PDF invoice template | P1 |
| Invoice numbering | INV-YYYYMMDD-XXXX auto | P0 |
| Task | Detail | Prioritas |
|---|---|---|
| Payment CRUD | Cash, debit, credit, QRIS, transfer | P0 |
| Deposit management | Deposit masuk → auto-kurangi invoice | P1 |
| Installment system | Cicilan dengan jadwal pembayaran | P1 |
| Payment tracking | Invoice balance, paid vs unpaid | P0 |
| Receipt / kwitansi | Print bukti pembayaran | P1 |
| Patient balance view | Total yang sudah & belum dibayar | P0 |
| Task | Detail | Prioritas |
|---|---|---|
| Insurance provider CRUD | Tambah provider asuransi | P0 |
| Insurance plan management | Plan per provider, coverage %, limit | P0 |
| Patient insurance link | Assign asuransi ke pasien | P0 |
| Claim generation | Auto hitung cover + co-pay | P0 |
| Claim status flow | Draft → Submitted → Approved → Paid → Rejected | P0 |
| Claim tracking dashboard | Monitor klaim pending, approval rate | P1 |
| BPJS VClaim integration | Jika API tersedia | P2 |
| Task | Detail | Prioritas |
|---|---|---|
| Package builder | Buat paket treatment (ex: scaling + bleaching) | P1 |
| Package purchase | Pasien bisa beli paket | P1 |
| Dokter fee-splitting | Set komisi % per dokter, laporan komisi | P1 |
| Revenue reports | Revenue per hari/minggu/bulan, per cabang, per dokter | P0 |
| Export reports | Export to Excel, PDF | P1 |
| Expense tracking | Catat pengeluaran selain treatment (opsional) | P2 |
| Task | Detail | Prioritas |
|---|---|---|
| Material catalog | CRUD material gigi + kategori | P0 |
| Stock in | Purchase order → goods receipt → stock bertambah | P0 |
| PO to supplier | Purchase order CRUD + tracking | P0 |
| Stock usage auto-deduct | Nurse catat material → auto potong stok | P0 |
| Min stock alert | Notifikasi jika stok < minimum | P1 |
| Expiry date tracking | Batch + expiry date, alert near expiry | P1 |
| Stock opname | Fisik vs sistem, adjustment | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| Message templates | Template WA/email per trigger event | P0 |
| Appointment reminders | H-7, H-2, H-1 auto WhatsApp (via API) | P0 |
| WhatsApp integration | 3rd party WA Business API (WATI, WABLAS, etc.) | P0 |
| Email notifications | Queue-based email via Laravel Notification | P1 |
| In-app notifications | Bell icon + notification center | P0 |
| Recall system | Auto-detect 6 bulan → kirim reminder | P1 |
| Birthday automation | Kirim ucapan ulang tahun | P2 |
| Follow-up reminder | 3 hari post-treatment follow-up | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| Review collection | Request review via WA setelah treatment | P1 |
| Review management | Approve/reject review, admin reply | P1 |
| Rating dashboard | Average rating per cabang, per dokter | P1 |
| Chat system | Internal chat klinik-pasien (async) | P2 |
| Task | Detail | Prioritas |
|---|---|---|
| Patient registration online | Daftar akun pasien via portal | P0 |
| Patient dashboard | Lihat profil, history, upcoming appointment | P0 |
| Medical record viewer | Pasien lihat odontogram & treatment history sendiri | P1 |
| Invoice viewer & payment | Lihat tagihan, bayar online | P1 |
| Document upload | Upload KTP, asuransi, rujukan | P1 |
| Portal layout | Frontend untuk patient portal (terpisah dari admin) | P0 |
| Task | Detail | Prioritas |
|---|---|---|
| Public booking page | Pilih cabang → dokter → layanan → slot → konfirmasi | P0 |
| Real-time slot availability | AJAX check slot per dokter per tanggal | P0 |
| Booking confirmation | Auto WA/email konfirmasi booking | P0 |
| Cancel/reschedule self-service | Pasien bisa cancel/reschedule sendiri via portal | P1 |
| Booking rules | Max advance booking, min before booking, no-show policy | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| Video consultation | Integrasi Jitsi Meet / Zoom SDK | P2 |
| Screen sharing | Share odontogram & xray ke pasien | P2 |
| E-prescription | Dokter bisa resepkan via tele-consult | P2 |
| Tele-consult booking | Booking khusus tele-consult | P2 |
| Task | Detail | Prioritas |
|---|---|---|
| AI Provider Manager | Generic provider config (OpenAI-compatible, Anthropic-format, Gemini-format) | P0 |
| Dynamic model selector | User input base_url, api_key, model name sendiri | P0 |
| No hardcoded providers | Sesuai CLAUDE.md policy — semua via admin UI | P0 |
| Provider test connection | Button "Test Connection" per provider | P1 |
| AI usage logging | Track token usage & cost per clinic | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| AI Chatbot | Assist booking, FAQ, basic triage | P1 |
| AI Odontogram Analysis | Auto-detect caries dari foto intraoral | P2 |
| AI Treatment Recommendation | Rekomendasi treatment plan berdasarkan diagnosis | P2 |
| AI Radiograph Analysis | Deteksi caries, bone loss dari OPG | P2 |
| AI Predictive Analytics | Prediksi revenue, no-show, inventory needs | P2 |
| AI SOAP generator | Draft SOAP notes dari anamnesis + diagnosis | P1 |
| Task | Detail | Prioritas |
|---|---|---|
| Performance audit | Lighthouse, query optimization, N+1 fix | P0 |
| Cache strategy | Redis cache untuk dashboard, appointments, lookup data | P0 |
| Queue setup | Horizon / queue worker untuk reminders, export, AI jobs | P0 |
| Load testing | k6 / Artillery, pastikan 1000 concurrent users | P1 |
| Security audit | Penetration test, SQL injection, XSS, CSRF, rate limiting | P0 |
| Backup automation | DB + file backup ke S3-compatible storage | P0 |
| Monitoring setup | Laravel Telescope, Sentry, uptime monitoring | P1 |
| Deployment pipeline | CI/CD via GitHub Actions, zero-downtime deploy | P1 |
| Documentation | Admin user manual, API docs (Scramble/Scribe) | P1 |
| Layer | Technology |
|---|---|
| Backend | Laravel 12+ (PHP 8.2+) |
| Frontend Admin | Laravel Livewire 3 + Alpine.js + Tailwind CSS |
| Frontend Portal | Blade + Tailwind CSS (SSR untuk SEO) |
| Database | MySQL 8.0+ with InnoDB |
| Cache & Queue | Redis (predis) |
| Search | Laravel Scout + MySQL Fulltext / Meilisearch |
| File Storage | Local (dev) / S3-compatible (production) |
| Real-time | Laravel Reverb / Pusher (opsional) |
| Charts | Chart.js via Laravel component |
| Calendar | FullCalendar.js |
| DomPDF / Spatie Laravel-PDF | |
| Excel | Laravel Excel (Maatwebsite) |
| Odontogram | HTML5 Canvas + custom JS |
| Authentication | Laravel Fortify + Sanctum (API) |
| RBAC | Spatie Laravel-Permission |
| Audit | Spatie Laravel-Activitylog |
| Debug | Laravel Telescope / Debugbar |
| Testing | Pest PHP |
| Metric | MVP Target | Unicorn Target |
|---|---|---|
| Waktu booking pasien | < 3 menit | < 1 menit |
| Waktu odontogram update | < 30 detik | < 5 detik |
| Invoice processing | < 2 menit | < 30 detik |
| Page load (dashboard) | < 3 detik | < 1 detik |
| No-show rate reduction | 30% | 50%+ |
| Admin time saved per patient | 40% | 70%+ |