Files
desa-darmasaba/MIND/PLAN/task-statistik-kesehatan-ringkasan.md
nico 9ef5773cc2 docs(mind): update plan + tambah summary statistik kesehatan ringkasan
Tandai Step A & B selesai, catat decision log dan pending manual
(bunx prisma migrate deploy + trigger GH workflow).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 14:35:42 +08:00

2.1 KiB

Task: Tambah Statistik Persentase ke RingkasanKesehatanDesa

Tujuan

Lengkapi schema + API RingkasanKesehatanDesa dengan 4 field persentase agar dashboard Statistik Kesehatan (Imunisasi, Pemeriksaan Rutin, Gizi Baik, Target Stunting) punya backend yang bisa di-fetch.

Field Baru

Tambah ke model RingkasanKesehatanDesa (additive, tidak ubah field lama):

Field Tipe Default Keterangan
imunisasiLengkapPct Int 0 Persentase imunisasi lengkap (0-100)
pemeriksaanRutinPct Int 0 Persentase pemeriksaan rutin (0-100)
giziBaikPct Int 0 Persentase gizi baik (0-100)
targetStuntingPct Int 0 Persentase target stunting (0-100)

Step A — Schema + API

  • 1. Edit prisma/schema.prisma — tambah 4 field
  • 2. Buat migration manual 20260504000000_add_statistik_pct_ringkasan_kesehatan/migration.sql (mode interaktif tidak tersedia di sandbox)
  • 3. findUnique.ts tidak perlu diubah — findFirst tanpa select otomatis bawa field baru
  • 4. updt.ts + index.ts — handler create/update + Elysia body validation (range 0-100)
  • 5. bun run build — exit 0
  • 6. Bump 0.1.48 → 0.1.49
  • 7. Commit feat(kesehatan): tambah 4 field statistik pct... + push branch tasks/statistik-kesehatan-ringkasan/add-pct-fields/20260504 + merge ke stg

Step B — State File Admin

  • 1. Bikin _state/kesehatan/ringkasan-kesehatan/ringkasanKesehatan.ts (Valtio + zod)
  • 2. findUnique.load() — GET + sync ke form
  • 3. update.submit() — zod validate (count ≥ 0, Pct 0-100) + PUT + refresh
  • 4. update.reset()
  • 5. bun run build — exit 0
  • 6. Bump 0.1.49 → 0.1.50
  • 7. Commit + push ke stg (2 remote)

Pending Manual

  • User jalankan bunx prisma migrate deploy di terminal lokal — apply 4 kolom baru ke DB
  • Trigger GitHub Workflow (publish + re-pull) bila mau deploy ke STG

Prinsip

  • Additive only — field lama (ibuHamilAkh, balitaTerdaftar, alertStunting) tidak disentuh
  • Validasi range 0-100 di Elysia updt.ts
  • Tidak ada breaking change kontrak