Membuat Aplikasi Klinik #09 - Membuat Module Riwayat Pasien
Pada tahap ini kita akan mencoba membuat module baru untuk mencatat data riwayat penyakit pasien. Catatan ini akan dibuat setiap kali seseorang berobat. Sehingga diharapkan nantinya mempermudah dokter dalam mendiagnosa penyakit dengan cara mengetahui riwayat penyakit sebelumnya.
Proses ini nantinya akan digambarkan dengan cara berikut :
- Pasien mendaftar kemudian perawat mencatat keluhannya terlebih dahulu dengan fitur pencatatan riwayat penyakit / keluhan
- Selanjutnya ketika sudah dicatat, akan dibuatkan sebuah antrian
- Lalu antrian tersebut akan ditampilkan pada halaman Dokter, untuk melihat data - data pasien serta melihat riwayat penyakitnya
Pada proses ini kita akan fokus kepada poin kesatu saja yaitu module untuk riwayat penyakit, menambah riwayat lalu menampilkan riwayat keluhan/penyakit per-pasien
Langkah pertama silahkan modifikasi atau tambahkan extends pada class Pasiencreate di file Pasiencreate.php sehingga terlihat seperti berikut :
class Pasiencreate extends Pasiendetail
{
Selanjutnya buat file dengan nama Pasiendetail.php sepderti contoh berikut
<?php
class Pasiendetail
{
public function pasien_riwayat($row)
{
?>
<div class="card card-primary">
<div class="card-header">
<h3 class="card-title">Tambah riwayat pasien</h3>
</div>
<form action="<?php htmlentities($_SERVER['REQUEST_URI'])?>" method="post">
<div class="card-body">
<?php
if(count($this->err)>0)
{
$this->app->getError($this->err);
}
?>
<?=$this->success?>
<div class="row">
<div class="form-group col-md-6">
<label>NIK</label>
<fieldset disabled="">
<input type="text" name="nik" class="form-control" value="<?=$row['pasien_nik']?>" placeholder="Masukan nomor induk kependudukan">
</fieldset>
</div>
<div class="form-group col-md-6">
<label>Nama lengkap</label>
<fieldset disabled="">
<input type="text" name="nama_lengkap" class="form-control" value="<?=$row['pasien_nama']?>" placeholder="Masukan nama lengkap">
</fieldset>
</div>
</div>
<div class="form-group">
<label>Keterangan Keluhan</label>
<textarea class="textarea" name="keterangan_keluhan"></textarea>
</div>
<div class="form-group">
<label>Catatan dokter</label>
<textarea class="form-control" name="catatan_dokter"></textarea>
</div>
<div class="form-group">
<label>Catatan resep</label>
<textarea class="form-control" name="catatan_resep"></textarea>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary">Submit</button>
<a class="btn btn-primary btn-md" href="?page=pasien_riwayat&pasien_id=<?=$row['pasien_id']?>">Kembali</a>
</div>
</div>
</form>
</div>
<?php
}
public function pasien_riwayat_proses($row)
{
$this->err =array();
if($_SERVER['REQUEST_METHOD']=='POST')
{
if(empty($this->app->post('keterangan_keluhan')))
{
array_push($this->err,'Keterangankeluhan wajib diisi !');
}
else
{
$ket = $this->app->post('keterangan_keluhan');
$cd = $this->app->post('catatan_dokter');
$cr = $this->app->post('catatan_resep');
}
if(count($this->err)==0)
{
if($this->obj->insertTable('pasien_riwayat',
'pasien_id, keterangan_keluhan, catatan_dokter, catatan_resep, tanggal_berobat',
':pasien_id, :keterangan_keluhan, :catatan_dokter, :catatan_resep, :tanggal_berobat',
array
(
":pasien_id"=>$row['pasien_id'],
":keterangan_keluhan"=>$ket,
":catatan_dokter"=>$cd,
":catatan_resep"=>$cr,
":tanggal_berobat"=>date('Y-m-d')
)
))
{
$this->success = $this->app->alert('success','Data berhasil disimpan');
$this->app->reload(3);
}
else
{
$this->success = $this->app->alert('danger','Data gagal disimpan');
}
}
}
}
public function pasien_riwayat_index($get)
{
?>
<div class="content-wrapper">
<?=$this->app->bread('Riwayat Pasien','Home','?page=home')?>
<section class="content">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<?php
if(!$this->obj->getTable('pasien','pasien_id=:pasien_id',$get,'pasien_id'))
{
echo "<div class='col-md-12'>".$this->app->alert('danger','Data tidak ditemukan')."</dic>";
}
else
{
Pasiendetail::pasien_riwayat_proses($this->obj->row);
Pasiendetail::pasien_riwayat($this->obj->row);
}
?>
</div>
</div>
</div>
</section>
</div>
<?php
}
public function pasien_riwayat_table($data)
{
?>
<div class="form-group">
<a class="btn btn-primary btn-md" href="?page=pasien_riwayat_tambah&pasien_id=<?=$data['pasien_id']?>">Tambah riwayat</a>
<a class="btn btn-warning btn-md" href="?page=semua_pasien">Kembali</a>
</div>
<div class="card">
<div class="card-header">
<h3 class="card-title">Data Riwayat Pasien <?=$data['pasien_nama']?></h3>
</div>
<!-- /.card-header -->
<div class="card-body">
<table id="example2" class="table table-bordered table-striped">
<thead>
<tr>
<th>NO</th>
<th>Tanggal</th>
<th>Ket. Keluahan</th>
<th>Catatan Dokter</th>
<th>Catatan Resep</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
$main = $this->obj->pagination('halaman','pasien_riwayat',10,"pasien_id='".$data['pasien_id']."'",'ORDER by pasien_id DESC');
$main->execute();
while($row=$main->fetch(PDO::FETCH_BOTH))
{
?>
<tr>
<td><?=$no?></td>
<td><?=$row['tanggal_berobat']?></td>
<td><?=htmlspecialchars_decode($row['keterangan_keluhan'])?></td>
<td><?=$row['catatan_dokter']?></td>
<td><?=$row['catatan_resep']?></td>
<td>
<a href="?page=pasien_riwayat_delete&pasien_id=<?=$data['pasien_id']?>&riwayat_id=<?=$row['riwayat_id']?>"><i class="fas fa-trash"></i></a>
</tr>
<?php $no+=1; } ?>
</tbody>
</table>
</div>
<!-- /.card-body -->
<?php
$this->obj->paginationNumberBootstrap('pasien_riwayat',10,"page=pasien_riwayat&pasien_id=".$data['pasien_id']."",'halaman', "pasien_id='".$data['pasien_id']."'");
?>
</div>
<?php
}
public function pasien_riwayat_table_index($get)
{
?>
<div class="content-wrapper">
<?=$this->app->bread('Riwayat Pasien','Home','?page=home')?>
<section class="content">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<?php
if(!$this->obj->getTable('pasien','pasien_id=:pasien_id',$get,'pasien_id'))
{
echo "<div class='col-md-12'>".$this->app->alert('danger','Data tidak ditemukan')."</dic>";
}
else
{
Pasiendetail::pasien_riwayat_table($this->obj->row);
}
?>
</div>
</div>
</div>
</section>
</div>
<?php
}
public function pasien_riwayat_delete($get)
{
?>
<div class="content-wrapper">
<?=$this->app->bread('Delete Pasien','Home','?page=home')?>
<section class="content">
<div class="container-fluid">
<div class="row">
<?php
if(!$this->obj->getTable('pasien_riwayat','riwayat_id=:riwayat_id',$get,'riwayat_id'))
{
echo "<div class='col-md-12'>".$this->app->alert('danger','Data tidak ditemukan')."</dic>";
}
else
{
if($this->obj->delete('pasien_riwayat','riwayat_id=:riwayat_id','riwayat_id', $this->obj->row['riwayat_id']))
{
echo $this->app->alert('success col-md-12','Data berhasil dihapus');
$this->app->reload(3,"?page=pasien_riwayat&pasien_id=".$_GET['pasien_id']."");
}
else
{
echo $this->app->alert('danger col-md-12','Data gagal dihapus');
$this->app->reload(3,'?page=semua_pasien');
}
}
?>
</div>
</div>
</section>
</div>
<?php
}
}
Terakhir panggil atu rutekan module pada file Runadmin.php sehingga nanti akan terlihat seperti berikut
<?php
class Runadmin
{
public function Moduleadmin($path='')
{
$this->app->getEmpty('page');
$this->themes->head($path);
$this->themes->css($path);
$this->themes->admin_nav_header($path);
$this->themes->admin_sidebar($path);
//place content
switch ($this->app->get('page')) {
case 'home':
$this->crud->dashboard_test();
break;
case 'semua_pasien':
$this->crud->pasien_table_index();
break;
case 'pasien_tambah':
$this->crud->pasien_index();
break;
case 'pasien_edit':
$this->crud->pasien_edit_index($this->app->get('pasien_id'));
break;
case 'pasien_delete':
$this->crud->pasien_delete($this->app->get('pasien_id'));
break;
case 'pasien_riwayat':
$this->crud->pasien_riwayat_table_index($this->app->get('pasien_id'));
break;
case 'pasien_riwayat_tambah':
$this->crud->pasien_riwayat_index($this->app->get('pasien_id'));
break;
case 'pasien_riwayat_delete':
$this->crud->pasien_riwayat_delete($this->app->get('riwayat_id'));
break;
default:
$this->crud->dashboard_test();
break;
}
$this->themes->footer($path);
}
}
0 Response to "Membuat Aplikasi Klinik #09 - Membuat Module Riwayat Pasien"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin