486 lines
9.5 KiB
HTML
486 lines
9.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="id">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Dokumen Supervisi Ambulans 119</title>
|
|
|
|
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
|
|
<style>
|
|
body{
|
|
background:#fff;
|
|
font-size:9px;
|
|
padding:10px;
|
|
line-height:1.25;
|
|
}
|
|
|
|
.header{
|
|
text-align:center;
|
|
border-bottom:2px solid #000;
|
|
padding-bottom:6px;
|
|
margin-bottom:6px;
|
|
}
|
|
|
|
.header h3{
|
|
margin:0;
|
|
font-size:12px;
|
|
font-weight:600;
|
|
}
|
|
|
|
.header h5{
|
|
margin:2px 0 0;
|
|
font-size:10px;
|
|
}
|
|
|
|
.header small{
|
|
font-size:12px;
|
|
}
|
|
|
|
.table{
|
|
margin-bottom:2px;
|
|
}
|
|
|
|
.table td,
|
|
.table th{
|
|
padding:3px 2px;
|
|
font-size:9px;
|
|
vertical-align:top;
|
|
}
|
|
|
|
.judul{
|
|
background:#d9d9d9;
|
|
font-weight:700;
|
|
padding:4px 8px;
|
|
margin-top:2px;
|
|
margin-bottom:2px;
|
|
border:1px solid #000;
|
|
font-size:9px;
|
|
}
|
|
|
|
.row-data{
|
|
display:grid;
|
|
grid-template-columns:repeat(4,1fr);
|
|
gap:2px 2px;
|
|
}
|
|
|
|
.box{
|
|
border:1px solid #ccc;
|
|
padding:4px 2px;
|
|
border-radius:4px;
|
|
}
|
|
|
|
.label{
|
|
font-weight:400;
|
|
color:#444;
|
|
font-size:8px;
|
|
}
|
|
|
|
.value{
|
|
font-size:9px;
|
|
}
|
|
|
|
.ttd{
|
|
margin-top:8px;
|
|
}
|
|
|
|
.ttd td{
|
|
padding-top:30px;
|
|
text-align:center;
|
|
}
|
|
|
|
.checklist-table td,
|
|
.checklist-table th{
|
|
padding:2px 2px;
|
|
font-size:8px;
|
|
}
|
|
|
|
.fase{
|
|
background:#e9ecef;
|
|
font-weight:bold;
|
|
}
|
|
|
|
@page{
|
|
size:A4;
|
|
margin:8mm;
|
|
}
|
|
|
|
@media print{
|
|
|
|
.no-print{
|
|
display:none !important;
|
|
}
|
|
|
|
body{
|
|
padding:0;
|
|
font-size:8px;
|
|
}
|
|
|
|
.judul{
|
|
margin-top:6px;
|
|
padding:3px 6px;
|
|
}
|
|
|
|
.ttd{
|
|
margin-top:4px;
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="container-fluid">
|
|
|
|
<div class="header">
|
|
|
|
<h3>FORM SUPERVISI MONITORING DAN EVALUASI</h3>
|
|
|
|
<h5>PELAYANAN AMBULANS 119 PER ORDER/PASIEN</h5>
|
|
|
|
<small>RSUD Dr. Saiful Anwar Malang</small>
|
|
|
|
</div>
|
|
|
|
<div class="text-end no-print mb-3">
|
|
|
|
<button onclick="window.print()"
|
|
class="btn btn-primary">
|
|
🖨 Cetak PDF
|
|
</button>
|
|
|
|
</div>
|
|
|
|
<!-- DATA SUPERVISI -->
|
|
|
|
<div class="judul">
|
|
DATA SUPERVISI
|
|
</div>
|
|
|
|
<table class="table table-bordered">
|
|
|
|
<tr>
|
|
<td width="12%">Supervisor</td>
|
|
<td width="21%" id="oSupervisor"></td>
|
|
|
|
<td width="12%">Tanggal Supervisi</td>
|
|
<td width="22%" id="oTanggalSupervisi"></td>
|
|
|
|
<td width="12%">Tanggal Pelayanan</td>
|
|
<td width="23%" id="oTanggalPelayanan"></td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<!-- DATA PASIEN -->
|
|
|
|
<div class="judul">
|
|
DATA PASIEN / PELAYANAN
|
|
</div>
|
|
|
|
<table class="table table-bordered">
|
|
|
|
<tr>
|
|
<td width="12%">Jenis Layanan</td>
|
|
<td width="21%" id="oJenisLayanan"></td>
|
|
|
|
<td width="12%">Nama Pasien</td>
|
|
<td width="22%" id="oNamaPasien"></td>
|
|
|
|
<td width="12%">No Register</td>
|
|
<td width="22%" id="oNomorRegister"></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Tujuan</td>
|
|
<td id="oTujuan"></td>
|
|
|
|
<td >Armada</td>
|
|
<td id="oArmada"></td>
|
|
|
|
<td>Tas Emergensi</td>
|
|
<td id="oTasEmergensi"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Jenis Pembayaran</td>
|
|
<td id="oJenisPembayaran"></td>
|
|
|
|
<td>Total Biaya</td>
|
|
<td id="oTotalBiaya"></td>
|
|
|
|
<td>No Kuitansi</td>
|
|
<td id="oNoKuitansi"></td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<!-- DATA KILOMETER -->
|
|
|
|
<div class="judul">
|
|
DATA KILOMETER
|
|
</div>
|
|
|
|
<table class="table table-bordered">
|
|
|
|
<tr>
|
|
<td width="23%">KM Start Pangkalan Ambulans 119</td>
|
|
<td width="12%" id="oKmAwal"></td>
|
|
|
|
<td width="20%">KM Tiba di Lokasi Pasien</td>
|
|
<td width="10%" id="oKmLokasi"></td>
|
|
|
|
<td width="23%">KM Tiba Tujuan Pengantaran</td>
|
|
<td width="14%" id="oKmTujuan"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>KM Tiba di Pangkalan Ambulans 119</td>
|
|
<td id="oKmAkhir"></td>
|
|
|
|
<td>Total Jarak Tempuh</td>
|
|
<td id="oKmTotal"></td>
|
|
|
|
<td>KM Terbayar</td>
|
|
<td id="oKmTerbayar"></td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<!-- TIM -->
|
|
|
|
<div class="judul">
|
|
TIM AMBULANS
|
|
</div>
|
|
|
|
<table class="table table-bordered">
|
|
|
|
<tr>
|
|
<td width="15%">Dokter</td>
|
|
<td width="35%" id="oDokter"></td>
|
|
|
|
<td width="15%">Kepala Jaga</td>
|
|
<td width="35%" id="oKepalaJaga"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Perawat Pelaksana</td>
|
|
<td id="oPerawat"></td>
|
|
|
|
<td>Driver</td>
|
|
<td id="oDriver"></td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
<!-- HASIL -->
|
|
|
|
<div class="judul">
|
|
DETAIL CHECKLIST SUPERVISI
|
|
</div>
|
|
|
|
<div id="oChecklist"></div>
|
|
<table class="table table-bordered">
|
|
|
|
<tr>
|
|
<td width="20%">Jumlah Ya</td>
|
|
<td id="oJumlahYa"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Nilai</td>
|
|
<td id="oNilai"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Kategori</td>
|
|
<td id="oKategori"></td>
|
|
</tr>
|
|
|
|
|
|
</table>
|
|
|
|
<!-- TEMUAN -->
|
|
|
|
<div class="judul">
|
|
TEMUAN / KETIDAKSESUAIAN
|
|
</div>
|
|
<div class="border p-1 " id="oTemuan"></div>
|
|
<div class="judul">
|
|
REKOMENDASI PERBAIKAN
|
|
</div>
|
|
<div class="border p-1" id="oRekomendasi"></div>
|
|
<!-- TTD -->
|
|
<div class="row text-center ttd">
|
|
<div class="col-6">
|
|
|
|
Supervisor
|
|
<br><br><br><br>
|
|
<u id="oTtdSupervisor"></u>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
|
|
const data =
|
|
JSON.parse(
|
|
localStorage.getItem("dataSupervisi")
|
|
);
|
|
|
|
if(data){
|
|
|
|
document.getElementById("oSupervisor").innerText = data.supervisor;
|
|
document.getElementById("oTanggalSupervisi").innerText = data.tanggalSupervisi;
|
|
|
|
document.getElementById("oTanggalPelayanan").innerText = data.tanggalPelayanan;
|
|
document.getElementById("oNomorRegister").innerText = data.nomorRegister;
|
|
document.getElementById("oNamaPasien").innerText = data.namaPasien;
|
|
document.getElementById("oJenisLayanan").innerText = data.jenisLayanan;
|
|
document.getElementById("oTujuan").innerText = data.tujuan;
|
|
document.getElementById("oArmada").innerText = data.armada;
|
|
document.getElementById("oTasEmergensi").innerText = data.tasEmergensi;
|
|
document.getElementById("oJenisPembayaran").innerText = data.jenisPembayaran;
|
|
document.getElementById("oTotalBiaya").innerText =
|
|
"Rp " + Number(data.totalBiaya).toLocaleString("id-ID");
|
|
|
|
document.getElementById("oNoKuitansi").innerText = data.noKuitansi;
|
|
|
|
document.getElementById("oKmAwal").innerText = data.kmAwalMako;
|
|
document.getElementById("oKmLokasi").innerText = data.kmLokasi;
|
|
document.getElementById("oKmTujuan").innerText = data.kmTujuan;
|
|
document.getElementById("oKmAkhir").innerText = data.kmAkhirMako;
|
|
document.getElementById("oKmTotal").innerText = data.kmTotal;
|
|
document.getElementById("oKmTerbayar").innerText = data.kmTerbayar;
|
|
|
|
document.getElementById("oDokter").innerText = data.dokter;
|
|
document.getElementById("oKepalaJaga").innerText = data.kepalaJaga;
|
|
document.getElementById("oPerawat").innerText = data.perawatPelaksana.join(", ");
|
|
document.getElementById("oDriver").innerText = data.driverAmbulans.join(", ");
|
|
|
|
document.getElementById("oJumlahYa").innerText = data.jumlahYa;
|
|
document.getElementById("oNilai").innerText = data.nilaiPersen;
|
|
document.getElementById("oKategori").innerText = data.kategori;
|
|
|
|
document.getElementById("oTemuan").innerText = data.temuan;
|
|
document.getElementById("oRekomendasi").innerText = data.rekomendasi;
|
|
|
|
document.getElementById("oTtdSupervisor").innerText = data.supervisor;
|
|
|
|
}
|
|
|
|
const faseChecklist = [
|
|
|
|
{
|
|
fase: "PENERIMAAN ORDER",
|
|
indikator: [
|
|
"Data order dan identitas pasien diterima lengkap",
|
|
"Lokasi/tujuan dan kebutuhan pelayanan teridentifikasi dengan jelas"
|
|
]
|
|
},
|
|
|
|
{
|
|
fase: "DISPATCH & PERSIAPAN",
|
|
indikator: [
|
|
"Tim ambulans merespon order sesuai ketentuan",
|
|
"Ambulans, alat medis, dan logistik siap operasional",
|
|
"Petugas menggunakan APD sesuai level"
|
|
]
|
|
},
|
|
|
|
{
|
|
fase: "PENJEMPUTAN / PENERIMAAN PASIEN",
|
|
indikator: [
|
|
"Identifikasi pasien dilakukan dengan benar",
|
|
"Kondisi pasien dikaji sebelum transportasi",
|
|
"Pemindahan pasien ke ambulans sesuai prosedur keselamatan"
|
|
]
|
|
},
|
|
|
|
{
|
|
fase: "TRANSPORTASI PASIEN",
|
|
indikator: [
|
|
"Monitoring pasien selama perjalanan dilakukan sesuai kebutuhan",
|
|
"Tindakan medis/keperawatan selama transportasi terdokumentasi",
|
|
"Keselamatan pasien terjaga selama perjalanan"
|
|
]
|
|
},
|
|
|
|
{
|
|
fase: "SERAH TERIMA PASIEN",
|
|
indikator: [
|
|
"Serah terima pasien kepada petugas penerima/keluarga dilakukan dengan lengkap",
|
|
"Dokumen dan informasi kondisi pasien disampaikan dengan benar"
|
|
]
|
|
},
|
|
|
|
{
|
|
fase: "PENYELESAIAN ORDER",
|
|
indikator: [
|
|
"Dokumentasi pelayanan ambulans lengkap dan sesuai",
|
|
"Waktu pelayanan tercatat lengkap pada sistem/formulir",
|
|
"Pembayaran terselesaikan (pasien Umum) / Berkas Klaim BPJS Lenkap (pasien BPJS)",
|
|
"Ambulans telah didekontaminasi dan siap operasional kembali"
|
|
]
|
|
}
|
|
|
|
];
|
|
|
|
let nomor = 0;
|
|
let htmlChecklist = "";
|
|
|
|
faseChecklist.forEach(fase => {
|
|
htmlChecklist += `
|
|
${fase.fase}
|
|
</div>
|
|
<table class="table table-bordered table-sm ">
|
|
<thead>
|
|
<tr>
|
|
<th width="5%">No</th>
|
|
<th>Indikator Supervisi</th>
|
|
<th width="12%">Hasil</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
`;
|
|
|
|
fase.indikator.forEach(item => {
|
|
const hasil =
|
|
data.checklist?.[nomor]?.hasil || "-";
|
|
htmlChecklist += `
|
|
<tr>
|
|
<td class="text-center">
|
|
${nomor + 1}
|
|
</td>
|
|
<td>
|
|
${item}
|
|
</td>
|
|
<td class="text-center fw-bold">
|
|
${
|
|
hasil === "Ya"
|
|
? "✅ YA"
|
|
: "❌ TIDAK"
|
|
}
|
|
</td>
|
|
</tr>
|
|
`;
|
|
nomor++;
|
|
});
|
|
htmlChecklist += `
|
|
</tbody>
|
|
</table>
|
|
`;
|
|
|
|
});
|
|
|
|
document.getElementById(
|
|
"oChecklist"
|
|
).innerHTML = htmlChecklist;
|
|
</script>
|
|
|
|
</body>
|
|
</html> |