Files
silaras-rssa/app/Views/predispatch.php
T
2026-05-13 08:55:17 +07:00

429 lines
10 KiB
PHP

<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Form Permintaan Pasien Ambulans</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
/* ================= GLOBAL ================= */
body {
font-size: 11px;
background: #e9ecef;
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
color: #212529;
}
/* ================= A4 CONTAINER LOOK ================= */
.container-a4 {
width: 210mm;
min-height: 297mm;
margin: auto;
background: #fff;
padding: 12mm;
border: 1px solid #000;
box-shadow: 0 0 10px rgba(0,0,0,0.15);
}
/* ================= SECTION TITLE ================= */
.section-title {
background: #dee2e6;
padding: 6px 10px;
font-weight: bold;
margin-top: 12px;
margin-bottom: 8px;
border-radius: 4px;
border: 1px solid #ccc;
}
/* ================= BOX KIRI-TENGAH-KANAN ================= */
.border {
border: 1px solid #000 !important;
padding: 8px;
border-radius: 4px;
height: 100%;
}
/* isi box lebih rapi */
.border div {
margin-bottom: 4px;
line-height: 1.3;
}
/* ================= ROW SPACING RAPAT ================= */
.row {
margin-left: 0;
margin-right: 0;
}
.row > div {
padding: 4px;
}
/* ================= BUTTON ================= */
.center-box {
display: flex;
justify-content: center;
margin-top: 25px;
}
.blink {
animation: blinkAnim 1s infinite;
font-weight: bold;
padding: 10px 18px;
border-radius: 6px;
}
@keyframes blinkAnim {
0% { opacity: 1; }
50% { opacity: 0.4; }
100% { opacity: 1; }
}
/* ================= PRINT SETTING ================= */
@media print {
@page {
size: A4;
margin: 8mm;
}
body {
background: #fff !important;
padding: 0 !important;
}
.no-print {
display: none !important;
}
.container-a4 {
width: 100%;
min-height: auto;
box-shadow: none;
border: none;
padding: 0;
}
.blink {
animation: none !important;
}
}
/* ================= TEXT CONSISTENCY ================= */
b {
font-weight: 600;
}
</style>
</head>
<body>
<div class="container-a4">
<div class="no-print mb-3 d-flex justify-content-end gap-2">
<button class="btn btn-secondary" onclick="history.back()">⬅️ Kembali</button>
<button class="btn btn-warning">✏️ Edit</button>
<button onclick="window.print()" class="btn btn-primary">🖨️ Cetak</button>
</div>
<h4 class="text-center mb-4">
📄 FORM PERMINTAAN PASIEN AMBULANS 119
</h4>
<?php if (!$pasien): ?>
<div class="alert alert-danger">Data tidak ditemukan</div>
<?php else: ?>
<div class="row mb-3">
<!-- ================= KIRI ================= -->
<div class="col-md-4">
<div class="border p-2 h-100">
<h6 class="fw-bold">👤 IDENTITAS PASIEN</h6>
<div>
<b>Nama:</b>
<?= trim(($pasien['atribut'] ?? '') . ' ' . ($pasien['nama'] ?? '')) ?>
</div>
<div><b>Tgl Lahir:</b> <?= $pasien['tgl_lahir'] ?? '-' ?></div>
<div><b>Usia:</b> <?= esc($pasien['umur'] ?? '-') ?></div>
<div><b>Jenis Kelamin:</b> <?= $pasien['gender'] ?? '-' ?></div>
<div><b>Alamat:</b> <?= $pasien['alamat'] ?? '-' ?></div>
</div>
</div>
<!-- ================= TENGAH ================= -->
<div class="col-md-4">
<div class="border p-2 h-100">
<h6 class="fw-bold">📋 REGISTRASI</h6>
<div><b>No RM:</b> <?= $pasien['rm'] ?? '-' ?></div>
<div><b>Register Ambulans:</b> <?= $pasien['register'] ?? '-' ?></div>
<div><b>Nama Penelpon:</b> <?= $pasien['nama_penelpon'] ?? '-' ?></div>
<div><b>No Penelpon:</b> <?= $pasien['no_penelpon'] ?? '-' ?></div>
</div>
</div>
<!-- ================= KANAN ================= -->
<div class="col-md-4">
<div class="border p-2 h-100">
<h6 class="fw-bold">🚑 STATUS ORDER</h6>
<div>
<b>Tanggal & Jam Order:</b><br>
<?= !empty($pasien['created_at'])
? date('d-m-Y H:i', strtotime($pasien['created_at']))
: '-' ?>
</div>
<div class="mt-2">
<b>Status Order:</b><br>
<?php
$type = $pasien['order_type'] ?? 'Pending Order';
if ($type == 'True Emergency') {
echo '🔴 True Emergency';
} elseif ($type == 'Non Emergency') {
echo '🟡 Non Emergency';
} else {
echo '🟢 Pending Order';
}
?>
</div>
<div class="mt-2">
<b>Status Fase Ambulans:</b><br>
<?php
$fase = $pasien['fase'] ?? 1;
if ($fase == 1) {
echo 'Predispatch';
} elseif ($fase == 2) {
echo 'On Scene';
} elseif ($fase == 3) {
echo 'Transport';
} elseif ($fase == 4) {
echo 'Arrival RS';
} elseif ($fase == 5) {
echo 'Handover';
} elseif ($fase >= 6) {
echo 'Selesai';
} else {
echo 'Predispatch';
}
?>
</div>
</div>
</div>
<!-- ================= PRE DISPATCH ================= -->
<div class="section-title">Kondisi Awal Pasien (Pre Dispatch)</div>
<?php
$nafas = json_decode($order['pernafasan'] ?? '', true);
$pos = json_decode($order['posisi'] ?? '{}', true);
$nyeri = json_decode($order['nyeri'] ?? '', true);
$bahaya = json_decode($order['bahaya'] ?? '', true);
$kat = $order['kategori'] ?? '-';
?>
<style>
.kv {
display: flex;
align-items: flex-start;
gap: 4px;
margin-bottom: 2px;
font-size: 11px;
line-height: 1.2;
}
.kv b {
min-width: 120px; /* cukup untuk rata */
display: inline-block;
}
.kv span {
display: inline-block;
}
</style>
<div class="kv">
<b>Keluhan Utama:</b>
<span><?= $order['keluhan_utama'] ?? '-' ?></span>
</div>
<div class="col-4">
<div class="kv"><b>Kesadaran</b>: <span><?= $order['kesadaran'] ?? '-' ?></span></div>
<div class="kv">
<b>Pernafasan</b>:
<span><?= ($nafas['sesak'] ?? '-') . ' / ' . ($nafas['batuk'] ?? '-') ?></span>
</div>
<div class="kv">
<b>Posisi Pasien Ditemukan</b>:
<span>
<?= is_array($pos['lokasi'] ?? null) ? implode(', ', $pos['lokasi']) : '-' ?>
<?= !empty($pos['lainnya']) ? ' - ' . $pos['lainnya'] : '' ?>
</span>
</div>
</div>
<div class="col-4">
<div class="kv"><b>Keterbatasan</b>: <span><?= $order['keterbatasan'] ?? '-' ?></span></div>
<div class="kv"><b>Nyeri</b>: <span><?= $nyeri['status'] ?? '-' ?></span></div>
<div class="kv">
<b>Lokasi Nyeri</b>:
<span>
<?= isset($nyeri['lokasi']) && is_array($nyeri['lokasi'])
? implode(', ', $nyeri['lokasi'])
: '-' ?>
</span>
</div>
</div>
<div class="col-4">
<div class="kv">
<b>Kategori</b>:
<span>
<?php
if ($kat == 'Trauma') echo 'Trauma';
elseif ($kat == 'Non Trauma') echo 'Non Trauma';
else echo '-';
?>
</span>
</div>
<div class="kv"><b>Suhu</b>: <span><?= $order['suhu'] ?? '-' ?></span></div>
<div class="kv">
<b>Bahaya</b>:
<span>
<?= $bahaya['status'] ?? '-' ?>
<?= !empty($bahaya['detail']) ? ' - ' . $bahaya['detail'] : '' ?>
</span>
</div>
<div class="kv"><b>BB</b>: <span><?= $order['berat_badan'] ?? '-' ?> Kg</span></div>
</div>
<?php
$tujuanList = [
'RFDK' => 'Rumah ke Faskes Dalam Kota',
'F-FDK' => 'Fasilitas Umum ke Faskes Dalam Kota',
'AFDK' => 'Antar Faskes Dalam Kota',
'AFLK' => 'Antar Faskes Luar Kota',
'PDK' => 'Pulang Dalam Kota',
'PLK' => 'Pulang Luar Kota',
];
$tujuan = $order['tujuan'] ?? '-';
?>
<!-- ================= Tujuan dan Biaya ================= -->
<div class="section-title">Tujuan dan Biaya</div>
<!-- ================= KIRI ================= -->
<div class="col-md-6">
<div class="kv">
<b>Tujuan</b>
<span>: <?= $tujuanList[$tujuan] ?? $tujuan ?></span>
</div>
<div class="kv">
<b>Detail Tujuan</b>
<span>: <?= $order['tujuan_detail'] ?? '-' ?></span>
</div>
</div>
<!-- ================= KANAN ================= -->
<div class="col-md-6">
<div class="kv">
<b>Persetujuan Biaya</b>
<span>: <?= $order['persetujuan'] ?? '-' ?></span>
</div>
<div class="kv">
<b>KIE Estimasi Biaya</b>
<span>:
Rp <?= !empty($order['biaya'])
? number_format($order['biaya'],0,',','.')
: '-' ?>
</span>
</div>
</div>
<!-- ================= VALIDASI + PETUGAS ================= -->
<div class="section-title">Validasi & Petugas</div>
<div class="col-md-6">
<div class="kv">
<b>Validasi Pelayanan</b>
<span>: <?= $order['validasi'] ?? '-' ?></span>
</div>
</div>
<div class="col-md-6">
<div class="kv">
<b>Petugas Predispatch</b>
<span>: <?= $order['petugas_nama'] ?? $order['petugas_id'] ?? '-' ?></span>
</div>
</div>
</div>
<!-- ================= TANDA TANGAN ================= -->
<div class="row mb-2"> </div>
<div class="ttd-box no-print-break">
<div class="ttd-title">________________</div>
<div class="ttd-colon">tanda tangan</div>
<div class="ttd-row">
<div class="ttd-label">Nama Pemesan :</div>
<div class="ttd-line"></div>
</div>
<div class="ttd-row">
<div class="ttd-label">Nomor WA:</div>
<div class="ttd-line"></div>
</div>
</div>
<!-- ================= BUTTON ================= -->
<div class="center-box">
<button class="btn btn-success blink"
onclick="terimaOrder(<?= $pasien['id'] ?>)">
✅ Terima Order & Lanjut Dispatch
</button>
</div>
<?php endif; ?>
<script>
function terimaOrder(id){
fetch("<?= base_url('pasien/next') ?>/" + id)
.then(() => {
window.location.href = "<?= base_url('pasien/aktif') ?>";
});
}
</script>
</body>
</html>