import prisma from "@/lib/prisma"; import { JenisKelaminBalita, StatusStunting } from "@prisma/client"; // Fokus data: proporsi stunting realistis untuk simulasi dashboard // 10 STUNTING, 7 ALERT, 8 NORMAL dari 25 total const BALITA_DATA = [ // ===== STUNTING (TB/U < -2 SD dari median WHO) ===== { id: "balita_001", nama: "Wayan Aditya Pratama", nik: "5101014505230001", tanggalLahir: new Date("2023-05-04"), // 36 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 11.5, tinggiBadanCm: 83.0, // median 96cm, -2SD ~89cm namaOrtu: "I Wayan Suardika", alamat: "Banjar Pudak, Desa Darmasaba", noHpOrtu: "08123456801", posyanduId: "cmkanjnmx0006vntz1cn7owpb", imunisasiLengkap: true, giziBaik: false, pemeriksaanRutin: true, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -2.8 SD. Dalam program PMT (Pemberian Makanan Tambahan). Orang tua sudah mendapat konseling gizi.", }, { id: "balita_002", nama: "Ni Kadek Mira Sari", nik: "5101014501240002", tanggalLahir: new Date("2024-01-04"), // 16 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 7.8, tinggiBadanCm: 70.5, // median ~78cm namaOrtu: "I Kadek Suartha", alamat: "Banjar Dahlia, Desa Darmasaba", noHpOrtu: "08123456802", posyanduId: "posyandu_dahlia_001", imunisasiLengkap: false, giziBaik: false, pemeriksaanRutin: false, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -3.1 SD. Imunisasi belum lengkap. Ibu bekerja, kunjungan posyandu tidak rutin. Perlu pendampingan kader.", }, { id: "balita_003", nama: "Putu Rian Saputra", nik: "5101014501220003", tanggalLahir: new Date("2022-01-04"), // 40 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 12.5, tinggiBadanCm: 89.0, // median 103cm namaOrtu: "Ni Putu Sumiati", alamat: "Banjar Dahlia, Desa Darmasaba", noHpOrtu: "08123456803", posyanduId: "posyandu_dahlia_001", imunisasiLengkap: true, giziBaik: false, pemeriksaanRutin: true, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -3.2 SD. Sudah dirujuk ke Puskesmas Abiansemal 3 untuk pemeriksaan lebih lanjut.", }, { id: "balita_004", nama: "Ni Komang Ayu Lestari", nik: "5101014507230004", tanggalLahir: new Date("2023-07-04"), // 22 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 8.2, tinggiBadanCm: 74.0, // median ~84cm namaOrtu: "I Komang Sudiarta", alamat: "Banjar Anggrek, Desa Darmasaba", noHpOrtu: "08123456804", posyanduId: "posyandu_anggrek_001", imunisasiLengkap: true, giziBaik: false, pemeriksaanRutin: true, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -2.5 SD. Riwayat BBLR (berat lahir rendah) 2.3 kg.", }, { id: "balita_005", nama: "Ketut Agus Pratama", nik: "5101014507240005", tanggalLahir: new Date("2024-07-04"), // 10 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 6.9, tinggiBadanCm: 66.0, // median ~72cm namaOrtu: "Ni Ketut Sariani", alamat: "Banjar Kamboja, Desa Darmasaba", noHpOrtu: "08123456805", posyanduId: "posyandu_kamboja_001", imunisasiLengkap: false, giziBaik: false, pemeriksaanRutin: false, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -2.3 SD. Lahir prematur 35 minggu. Keluarga prasejahtera, masuk program PKH.", }, { id: "balita_006", nama: "Ni Made Sinta Dewi", nik: "5101014507220006", tanggalLahir: new Date("2022-07-04"), // 34 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 11.0, tinggiBadanCm: 84.5, // median ~94cm namaOrtu: "I Made Sudarsana", alamat: "Banjar Melur, Desa Darmasaba", noHpOrtu: "08123456806", posyanduId: "posyandu_melur_001", imunisasiLengkap: true, giziBaik: false, pemeriksaanRutin: true, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -2.6 SD. Nafsu makan rendah, sedang dalam pantauan ahli gizi Puskesmas.", }, { id: "balita_007", nama: "Made Dani Putra", nik: "5101014501250007", tanggalLahir: new Date("2025-01-04"), // 4 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 5.0, tinggiBadanCm: 57.0, // median ~63cm namaOrtu: "Ni Made Suparni", alamat: "Banjar Kenanga, Desa Darmasaba", noHpOrtu: "08123456807", posyanduId: "posyandu_kenanga_001", imunisasiLengkap: false, giziBaik: false, pemeriksaanRutin: true, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -2.4 SD. BBLR 2.1 kg, ibu ASI eksklusif. Kunjungan rutin ke posyandu.", }, { id: "balita_008", nama: "Ni Putu Ratna Sari", nik: "5101014507210008", tanggalLahir: new Date("2021-07-04"), // 46 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 13.0, tinggiBadanCm: 92.0, // median ~106cm namaOrtu: "I Putu Suarjana", alamat: "Banjar Mawar, Desa Darmasaba", noHpOrtu: "08123456808", posyanduId: "posyandu_mawar_001", imunisasiLengkap: true, giziBaik: false, pemeriksaanRutin: true, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -2.9 SD. Sudah 6 bulan dalam program intervensi stunting desa.", }, { id: "balita_009", nama: "Gede Yoga Pratama", nik: "5101014505210009", tanggalLahir: new Date("2021-05-04"), // 48 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 13.5, tinggiBadanCm: 91.0, // median ~108cm namaOrtu: "Ni Wayan Suarningsih", alamat: "Banjar Pudak, Desa Darmasaba", noHpOrtu: "08123456809", posyanduId: "cmkanjnmx0006vntz1cn7owpb", imunisasiLengkap: true, giziBaik: false, pemeriksaanRutin: false, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -3.0 SD. Keluarga baru pindah dari luar desa. Sedang proses pendataan ulang.", }, { id: "balita_010", nama: "Ni Nyoman Sari Utami", nik: "5101014505230010", tanggalLahir: new Date("2023-05-04"), // 24 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 9.5, tinggiBadanCm: 80.0, // median ~87cm namaOrtu: "I Nyoman Sueca", alamat: "Banjar Melati, Desa Darmasaba", noHpOrtu: "08123456810", posyanduId: "posyandu_melati_001", imunisasiLengkap: true, giziBaik: false, pemeriksaanRutin: true, statusStunting: StatusStunting.STUNTING, catatan: "TB/U -2.2 SD. Batas bawah stunting. Perlu dipantau ketat tiap bulan.", }, // ===== ALERT (TB/U antara -1 SD dan -2 SD) ===== { id: "balita_011", nama: "Wayan Krisna Dewa", nik: "5101014501240011", tanggalLahir: new Date("2024-01-04"), // 16 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 9.8, tinggiBadanCm: 74.0, // median ~78cm, -1SD ~75cm namaOrtu: "I Wayan Artana", alamat: "Banjar Mawar, Desa Darmasaba", noHpOrtu: "08123456811", posyanduId: "posyandu_mawar_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.ALERT, catatan: "TB/U -1.5 SD. Perlu pemantauan lebih lanjut, gizi cukup baik.", }, { id: "balita_012", nama: "Ni Wayan Novi Andriani", nik: "5101014505230012", tanggalLahir: new Date("2023-05-04"), // 24 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 10.8, tinggiBadanCm: 83.0, // median ~87cm namaOrtu: "Ni Wayan Artini", alamat: "Banjar Melati, Desa Darmasaba", noHpOrtu: "08123456812", posyanduId: "posyandu_melati_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.ALERT, catatan: "TB/U -1.8 SD. Nafsu makan baik, BB naik konsisten.", }, { id: "balita_013", nama: "Putu Deva Mahendra", nik: "5101014511240013", tanggalLahir: new Date("2024-11-04"), // 6 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 6.8, tinggiBadanCm: 63.5, // median ~67cm namaOrtu: "I Putu Ariana", alamat: "Banjar Anggrek, Desa Darmasaba", noHpOrtu: "08123456813", posyanduId: "posyandu_anggrek_001", imunisasiLengkap: false, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.ALERT, catatan: "TB/U -1.6 SD. ASI eksklusif. Jadwal imunisasi DPT ketiga belum terlaksana.", }, { id: "balita_014", nama: "Ni Komang Dewi Lestari", nik: "5101014501220014", tanggalLahir: new Date("2022-01-04"), // 40 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 14.0, tinggiBadanCm: 96.0, // median ~103cm namaOrtu: "I Komang Wirawan", alamat: "Banjar Kamboja, Desa Darmasaba", noHpOrtu: "08123456814", posyanduId: "posyandu_kamboja_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.ALERT, catatan: "TB/U -1.4 SD. Konsumsi protein hewani belum cukup, edukasi diberikan.", }, { id: "balita_015", nama: "Made Surya Darma", nik: "5101014511230015", tanggalLahir: new Date("2023-11-04"), // 18 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 10.2, tinggiBadanCm: 76.0, // median ~82cm namaOrtu: "Ni Made Sudarmi", alamat: "Banjar Melur, Desa Darmasaba", noHpOrtu: "08123456815", posyanduId: "posyandu_melur_001", imunisasiLengkap: true, giziBaik: false, pemeriksaanRutin: true, statusStunting: StatusStunting.ALERT, catatan: "TB/U -1.9 SD. Sedang mendapat PMT (makanan tambahan) dari desa.", }, { id: "balita_016", nama: "Ni Kadek Ayu Purnami", nik: "5101014505250016", tanggalLahir: new Date("2025-05-04"), // 0 bulan (baru lahir - 1 bulan) jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 3.5, tinggiBadanCm: 49.0, // median ~52cm namaOrtu: "I Kadek Suartha", alamat: "Banjar Kenanga, Desa Darmasaba", noHpOrtu: "08123456816", posyanduId: "posyandu_kenanga_001", imunisasiLengkap: false, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.ALERT, catatan: "TB/U -1.7 SD. Bayi baru, lahir 2.8 kg. Dipantau dari awal.", }, { id: "balita_017", nama: "Ketut Bayu Setiawan", nik: "5101014511220017", tanggalLahir: new Date("2022-11-04"), // 30 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 13.2, tinggiBadanCm: 88.0, // median ~93cm namaOrtu: "Ni Ketut Suarni", alamat: "Banjar Dahlia, Desa Darmasaba", noHpOrtu: "08123456817", posyanduId: "posyandu_dahlia_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.ALERT, catatan: "TB/U -1.3 SD. Tumbuh kembang membaik dalam 3 bulan terakhir.", }, // ===== NORMAL ===== { id: "balita_018", nama: "Ni Made Intan Permata", nik: "5101014501240018", tanggalLahir: new Date("2024-01-04"), // 16 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 10.5, tinggiBadanCm: 78.0, namaOrtu: "I Made Sudiarsa", alamat: "Banjar Mawar, Desa Darmasaba", noHpOrtu: "08123456818", posyanduId: "posyandu_mawar_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.NORMAL, }, { id: "balita_019", nama: "Wayan Arya Nugraha", nik: "5101014505230019", tanggalLahir: new Date("2023-05-04"), // 24 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 12.0, tinggiBadanCm: 87.0, namaOrtu: "Ni Wayan Suarni", alamat: "Banjar Pudak, Desa Darmasaba", noHpOrtu: "08123456819", posyanduId: "cmkanjnmx0006vntz1cn7owpb", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.NORMAL, }, { id: "balita_020", nama: "Ni Putu Cantika Dewi", nik: "5101014501220020", tanggalLahir: new Date("2022-01-04"), // 40 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 15.5, tinggiBadanCm: 103.0, namaOrtu: "I Putu Sudiarta", alamat: "Banjar Melati, Desa Darmasaba", noHpOrtu: "08123456820", posyanduId: "posyandu_melati_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.NORMAL, }, { id: "balita_021", nama: "Komang Danu Mahesa", nik: "5101014505250021", tanggalLahir: new Date("2025-05-04"), // 0 bulan (newborn) jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 3.8, tinggiBadanCm: 52.0, namaOrtu: "Ni Komang Artini", alamat: "Banjar Anggrek, Desa Darmasaba", noHpOrtu: "08123456821", posyanduId: "posyandu_anggrek_001", imunisasiLengkap: false, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.NORMAL, }, { id: "balita_022", nama: "Ni Nyoman Suka Rani", nik: "5101014505210022", tanggalLahir: new Date("2021-05-04"), // 48 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 16.5, tinggiBadanCm: 105.0, namaOrtu: "I Nyoman Suarman", alamat: "Banjar Kamboja, Desa Darmasaba", noHpOrtu: "08123456822", posyanduId: "posyandu_kamboja_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.NORMAL, }, { id: "balita_023", nama: "Made Giri Putra Santosa", nik: "5101014511240023", tanggalLahir: new Date("2024-11-04"), // 6 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 8.1, tinggiBadanCm: 67.5, namaOrtu: "Ni Made Suciati", alamat: "Banjar Melur, Desa Darmasaba", noHpOrtu: "08123456823", posyanduId: "posyandu_melur_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.NORMAL, }, { id: "balita_024", nama: "Ni Wayan Arta Yanti", nik: "5101014511230024", tanggalLahir: new Date("2023-11-04"), // 18 bulan jenisKelamin: JenisKelaminBalita.P, beratBadanKg: 11.0, tinggiBadanCm: 82.0, namaOrtu: "I Wayan Suarsa", alamat: "Banjar Kenanga, Desa Darmasaba", noHpOrtu: "08123456824", posyanduId: "posyandu_kenanga_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.NORMAL, }, { id: "balita_025", nama: "Kadek Dika Permana", nik: "5101014511220025", tanggalLahir: new Date("2022-11-04"), // 30 bulan jenisKelamin: JenisKelaminBalita.L, beratBadanKg: 14.0, tinggiBadanCm: 93.0, namaOrtu: "Ni Kadek Suriati", alamat: "Banjar Dahlia, Desa Darmasaba", noHpOrtu: "08123456825", posyanduId: "posyandu_dahlia_001", imunisasiLengkap: true, giziBaik: true, pemeriksaanRutin: true, statusStunting: StatusStunting.NORMAL, }, ]; export async function seedBalita() { console.log("🔄 Seeding Balita..."); for (const d of BALITA_DATA) { await prisma.balita.upsert({ where: { id: d.id }, update: { nama: d.nama, nik: d.nik, tanggalLahir: d.tanggalLahir, jenisKelamin: d.jenisKelamin, beratBadanKg: d.beratBadanKg, tinggiBadanCm: d.tinggiBadanCm, namaOrtu: d.namaOrtu, alamat: d.alamat, noHpOrtu: d.noHpOrtu, posyanduId: d.posyanduId, imunisasiLengkap: d.imunisasiLengkap, giziBaik: d.giziBaik, pemeriksaanRutin: d.pemeriksaanRutin, statusStunting: d.statusStunting, catatan: d.catatan ?? null, }, create: { id: d.id, nama: d.nama, nik: d.nik, tanggalLahir: d.tanggalLahir, jenisKelamin: d.jenisKelamin, beratBadanKg: d.beratBadanKg, tinggiBadanCm: d.tinggiBadanCm, namaOrtu: d.namaOrtu, alamat: d.alamat, noHpOrtu: d.noHpOrtu, posyanduId: d.posyanduId, imunisasiLengkap: d.imunisasiLengkap, giziBaik: d.giziBaik, pemeriksaanRutin: d.pemeriksaanRutin, statusStunting: d.statusStunting, catatan: d.catatan ?? null, }, }); console.log(`✅ Balita seeded: ${d.nama} (${d.statusStunting})`); } console.log("🎉 Balita seed selesai"); }