@php $kelText = $header['kelurahan'] ?? ($user->kelurahan->nama ?? '-'); $rwText = $header['rw'] ?? '-'; $rtText = $header['rt'] ?? '-'; $thText = $header['tahun'] ?? date('Y'); // Prepare grouping and KK-level counters like the web view $addressIndex = []; // alamat_rumah => sequential starting 1 $kkOrderByAddress = []; // alamat_rumah => [nomor_kk => order] $memberOrderByKk = []; // nomor_kk => running index $kkBabyCount6to12 = []; // nomor_kk => count $kkBabyLulusAsi6to12 = []; // nomor_kk => count $kkHasBabyBalita = []; // nomor_kk => bool foreach ($rows as $r) { $kk = $r['nomor_kk'] ?? ''; $usiaBulan = (int)($r['usia_bulan'] ?? 0); $usiaTahun = (int)($r['usia_tahun'] ?? 0); if ($kk) { if (!isset($kkBabyCount6to12[$kk])) $kkBabyCount6to12[$kk] = 0; if (!isset($kkBabyLulusAsi6to12[$kk])) $kkBabyLulusAsi6to12[$kk] = 0; if (!isset($kkHasBabyBalita[$kk])) $kkHasBabyBalita[$kk] = false; if ($usiaBulan >= 6 && $usiaBulan <= 12) { $kkBabyCount6to12[$kk] += 1; $s = strtolower((string)($r['lulus_asi'] ?? '')); $lulus = (($r['lulus_asi'] ?? false) === true) || ($r['lulus_asi'] ?? 0) === 1 || $s === '1' || $s === 'ya' || $s === 'y' || $s === 'true'; if ($lulus) $kkBabyLulusAsi6to12[$kk] += 1; } if ($usiaTahun < 5) $kkHasBabyBalita[$kk] = true; } } // Group by address + KK $groups = []; // key => rows[] $groupOrder = []; foreach ($rows as $r) { $addr = $r['alamat_rumah'] ?? ''; $kk = $r['nomor_kk'] ?? ''; $key = $addr . '|' . $kk; if (!isset($groups[$key])) { $groups[$key] = []; $groupOrder[] = $key; } $groups[$key][] = $r; } $yesNo = function($val) { $s = strtolower((string)($val ?? '')); return ($val === true || $val === 1 || $s === '1' || $s === 'ya' || $s === 'y' || $s === 'true') ? 'Ya' : 'Tidak'; }; @endphp

PENDATAAN PERILAKU HIDUP BERSIH DAN SEHAT (PHBS) RUMAH TANGGA

DAN PERILAKU HIDUP SEHAT (PHS) PER INDIVIDU ANGGOTA KELUARGA

Tingkat Kelurahan {{ $kelText }} UPTD Puskesmas Panghegar

RT: {{ $rtText }}
RW: {{ $rwText }}
KELURAHAN: {{ $kelText }}
TAHUN: {{ $thText }}
@php $globalRowIndex = 0; @endphp @forelse($groupOrder as $key) @php $groupRows = $groups[$key] ?? []; if (count($groupRows) === 0) continue; $first = $groupRows[0]; $addr = $first['alamat_rumah'] ?? ''; $kk = $first['nomor_kk'] ?? ''; if ($addr && !isset($addressIndex[$addr])) $addressIndex[$addr] = count($addressIndex) + 1; if (!isset($kkOrderByAddress[$addr])) $kkOrderByAddress[$addr] = []; if ($kk && !isset($kkOrderByAddress[$addr][$kk])) $kkOrderByAddress[$addr][$kk] = count($kkOrderByAddress[$addr]) + 1; @endphp @foreach($groupRows as $i => $row) @php $globalRowIndex++; @endphp @php if ($kk && !isset($memberOrderByKk[$kk])) $memberOrderByKk[$kk] = 0; if ($kk) $memberOrderByKk[$kk]++; $usiaTahun = (int)($row['usia_tahun'] ?? 0); $usiaBulan = (int)($row['usia_bulan'] ?? 0); $statusRt = strtolower((string)($row['status_rumah_tangga'] ?? '')); $sehat = str_contains($statusRt, 'sehat'); $phsYes = $yesNo($row['perilaku_hidup_sehat']); @endphp @endforeach @empty @endforelse
No. Rumah Tangga (RT) No. Urut Kepala Keluarga Nama Kepala Keluarga No Anggota Keluarga Identitas Indikator Perilaku Hidup Bersih dan Sehat (PHBS) Status Rumah Tangga Indikator PHS Status PHS
Nama Anggota Keluarga Umur (tahun) Persalinan Memberi ASI Eksklusif Menimbang Menggunakan Air Bersih Melakukan Cuci Tangan Dengan Benar
(usia >10 tahun)
Menggunakan Jamban Sehat Memberantas Jentik di Rumah Konsumsi Buah dan/atau Sayur Melakukan Aktifitas Fisik (usia >10 tahun) Tidak Merokok (usia >10 tahun) Sehat Tidak Sehat Cek Tekanan Darah Minimal 1x dalam setahun
(usia >15 tahun)
Cek Gula Darah Minimal 1x dalam setahun
(usia >15 tahun)
Perilaku Sehat Perilaku Tidak Sehat
Ada Ibu Bersalin Linakes Bayi <6 bulan ASI Saja Jumlah Bayi 6-12 Bulan Bayi 6-12 Bulan Lulus ASI Ada Bayi dan Balita Ditimbang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
{{ $addressIndex[$addr] ?? '-' }} {{ $kk ? ($kkOrderByAddress[$addr][$kk] ?? '-') : '-' }} {{ $first['kepala_keluarga'] ?? '-' }}{{ $kk ? ($memberOrderByKk[$kk] ?? '-') : '-' }} {{ $row['nama_lengkap'] ?? '-' }} {{ $usiaTahun ?: '-' }} {{ $yesNo($row['ibu_bersalin']) }} {{ $yesNo($row['linakes']) }} {{ ($usiaBulan > 0 && $usiaBulan < 6) ? 'Ya' : 'Tidak' }} {{ $yesNo($row['asi_saja']) }} {{ (string)($kkBabyCount6to12[$kk] ?? 0) }} {{ (string)($kkBabyLulusAsi6to12[$kk] ?? 0) }} {{ ($kkHasBabyBalita[$kk] ?? false) ? 'Ya' : 'Tidak' }} {{ $yesNo($row['ditimbang_rutin'] ?? ($row['ditimbang'] ?? false)) }} {{ $yesNo($row['air_bersih']) }} {{ ($usiaTahun > 10) ? $yesNo($row['cuci_tangan_benar']) : 'Tidak' }} {{ $yesNo($row['jamban_sehat']) }} {{ $yesNo($row['berantas_jentik']) }} {{ $yesNo($row['konsumsi_buah_sayur']) }} {{ ($usiaTahun > 10) ? $yesNo($row['aktifitas_fisik']) : 'Tidak' }} {{ ($usiaTahun > 10) ? $yesNo($row['tidak_merokok']) : 'Tidak' }} {{ $sehat ? 'Ya' : 'Tidak' }} {{ $sehat ? 'Tidak' : 'Ya' }} {{ ($usiaTahun > 15) ? $yesNo($row['cek_tekanan_darah']) : 'Tidak' }} {{ ($usiaTahun > 15) ? $yesNo($row['cek_gula_darah']) : 'Tidak' }} {{ $phsYes === 'Ya' ? 'Ya' : 'Tidak' }} {{ $phsYes === 'Ya' ? 'Tidak' : 'Ya' }}
Tidak ada data