Compare commits

..

10 Commits

Author SHA1 Message Date
adesyawal
a4bc35779b Penambahan Label Input Pencarian Riwayat Pasien 2025-06-12 15:14:50 +07:00
f1414ab6cd Merge pull request 'Bug Fixing & Penambahan Fitur Riwayat pasien' (#2) from ade05062025001 into main
Reviewed-on: #2
2025-06-05 08:39:14 +00:00
adesyawal
48a2597451 Bug Fixing & Penambahan Fitur Riwayat pasien 2025-06-05 15:36:53 +07:00
adesyawal
d0ceb8e566 Fitur Remove Resep Added 2025-03-27 10:00:35 +07:00
adesyawal
4b7fee5639 Bug Fixing Select2 Not Running 2025-03-27 09:32:43 +07:00
adesyawal
e39f1a25ec Add Env Prod & Ignore ENV 2025-03-26 17:53:30 +07:00
adesyawal
6a4dffac53 Change DB 2025-03-26 17:36:33 +07:00
adesyawal
e16c4f9158 Some Change & Fixing 2025-03-26 16:39:54 +07:00
adesyawal
edc3b5d0d2 Try Fixing Bot 2025-03-26 15:41:10 +07:00
adesyawal
a435a3e53a Add Boot Service Provider 2025-03-26 15:32:34 +07:00
19 changed files with 338 additions and 216 deletions

12
.env
View File

@ -1,6 +1,6 @@
APP_NAME="RSABHK"
APP_ENV=local
APP_ENV=production
APP_KEY=base64:H3PvFH63g7VMkPboCs7CYAAfCYw/3xKTtTt2AHM1TAk=
APP_DEBUG=true
APP_URL=https://dokter.rsabhk.co.id/
@ -9,21 +9,21 @@ TIMEZONE=Asia/Jakarta
ASSET_URL=https://dokter.rsabhk.co.id/
LOG_CHANNEL=stack
LOG_LEVEL=debug
EVEL=debug
DB_CONNECTION=pgsql
DB_HOST=172.16.88.22
DB_PORT=5432
DB_DATABASE=test_db_telekonsul
DB_DATABASE=login_auth
DB_USERNAME=simrs
DB_PASSWORD=@S1mrs.3205@
DB_CONNECTION_SMART=pgsql
DB_HOST_SMART=192.168.12.3
DB_HOST_SMART=psql1.rsabhk.lan
DB_PORT_SMART=5432
DB_DATABASE_SMART=rsab_hk_25_01_14
DB_DATABASE_SMART=rsab_hk_production
DB_USERNAME_SMART=postgres
DB_PASSWORD_SMART=postgres
DB_PASSWORD_SMART=root
BROADCAST_DRIVER=log
CACHE_DRIVER=file

1
.gitignore vendored
View File

@ -4,6 +4,7 @@
/storage/*.key
.phpunit.result.cache
docker-compose.override.yml
.env
Homestead.json
Homestead.yaml
npm-debug.log

View File

@ -7,16 +7,25 @@ use App\Http\Controllers\Controller;
use App\Http\Controllers\Dokter\Partial\PartialController;
use DB;
use Session;
use Redirect;
class DokterViewController extends Controller
{
public function ViewDashboardDokter(Request $request)
{
$getDataPD = PartialController::identitasPasien('pdnorec', $request->pdnorec);
$filter_identitas_pasien = (strlen($request->pdnorec) > 8) ? 'pdnorec' : 'nocm';
$getDataPD = PartialController::identitasPasien($filter_identitas_pasien, $request->pdnorec);
if(empty($getDataPD)){
Session::flash('message', "Ops!, Data Tidak Ditemukan.");
return Redirect::back();
}
$dataReturn['pdnorec'] = $request->pdnorec;
$dataReturn['pasien_identitas'] = $getDataPD[0];
$dataReturn['type'] = $filter_identitas_pasien;
$assets = ['chart', 'animation'];
return view('dokter.dashboard-pasien')->with("data", $dataReturn);

View File

@ -9,13 +9,21 @@ use App\Http\Controllers\Dokter\Partial\PartialController;
use DB;
use Auth;
use Session;
use Redirect;
class CpptController extends Controller
{
public function viewSoapCPPT(Request $request)
{
$getDataPD = PartialController::identitasPasien('pdnorec', $request->pdnorec);
$filter_identitas_pasien = (strlen($request->pdnorec) > 8) ? 'pdnorec' : 'nocm';
$getDataPD = PartialController::identitasPasien($filter_identitas_pasien, $request->pdnorec);
if(empty($getDataPD)){
Session::flash('message', "Ops!, Data Tidak Ditemukan.");
return Redirect::back();
}
$dataHistoryCPPT = DB::connection('smart')->select("
select
@ -88,15 +96,21 @@ class CpptController extends Controller
$dataReturn['pasien_identitas'] = $getDataPD[0];
$dataReturn['his_cppt'] = $dataHistoryCPPT;
$dataReturn['his_resep'] = $dataHistoryResep;
$dataReturn['master_obat'] = $dataMasterObat;
$dataReturn['master_obat'] = $dataMasterObat;
$dataReturn['type'] = $filter_identitas_pasien;
return view('dokter.emr.form.soap')->with("data", $dataReturn);
}
public function formSoapCPPT(Request $request)
{
$getDataPD = PartialController::identitasPasien('pdnorec', $request->pdnorec);
$filter_identitas_pasien = (strlen($request->pdnorec) > 8) ? 'pdnorec' : 'nocm';
$getDataPD = PartialController::identitasPasien($filter_identitas_pasien, $request->pdnorec);
if(empty($getDataPD)){
Session::flash('message', "Ops!, Data Tidak Ditemukan.");
return Redirect::back();
}
if(isset($request->cpptnorec)){
$dataHistoryCPPT = DB::connection('smart')->select("
select
@ -137,34 +151,16 @@ class CpptController extends Controller
$dataReturn['cpptnorec'] = (isset($request->cpptnorec) ? $request->cpptnorec : null);
$dataReturn['pasien_identitas'] = $getDataPD[0];
$dataReturn['his_cppt'] = (isset($request->cpptnorec)) ? $dataHistoryCPPT[0] : [];
$dataReturn['type'] = $filter_identitas_pasien;
return view('dokter.emr.form.soap-form')->with("data", $dataReturn);
}
public function simpanSoapCPPT(Request $request)
{
//dd($request->all());
//dd(Auth::user()->smart_pk);
{
$filter_identitas_pasien = (strlen($request->pdnorec) > 8) ? 'pdnorec' : 'nocm';
DB::connection('smart')->beginTransaction();
try {
$cppt_t = [
'norec' => $this->generateNorecSmartV1(),
'kdprofile' => 0,
'statusenabled' => 't',
'tglinput' => date('Y-m-d H:i:s'),
'isverifikasi' => true,
'pasienfk' => $request->pasienfk,
'pegawaifk' => 88,
'noregistrasifk' => $request->noregistrasifk,
'ruanganfk' => $request->ruanganfk,
's' => $request->s,
'o' => $request->o,
'a' => $request->a,
'p' => $request->p,
'flag_' => 1,
];
DB::connection('smart')->table('cppt_t')->insert([
'norec' => $this->generateNorecSmartV1(),
'kdprofile' => 0,
@ -172,7 +168,7 @@ class CpptController extends Controller
'tglinput' => date('Y-m-d H:i:s'),
'isverifikasi' => true,
'pasienfk' => $request->pasienfk,
'pegawaifk' => 88,
'pegawaifk' => Auth::user()->smart_pk,
'noregistrasifk' => $request->noregistrasifk,
'ruanganfk' => $request->ruanganfk,
's' => $request->s,
@ -183,7 +179,7 @@ class CpptController extends Controller
]);
DB::connection('smart')->commit();
return redirect()->route('dokter.emr.soap.view', ['pdnorec' => $request->pdnorec])->with('success','SOAP Berhasil Disimpan.');
return redirect()->route('dokter.emr.soap.view', [$filter_identitas_pasien => $request->pdnorec])->with('success','SOAP Berhasil Disimpan.');
} catch (\Exception $e) {
DB::connection('smart')->rollBack();
@ -193,6 +189,7 @@ class CpptController extends Controller
public function updateSoapCPPT(Request $request)
{
$filter_identitas_pasien = (strlen($request->pdnorec) > 8) ? 'pdnorec' : 'nocm';
DB::connection('smart')->beginTransaction();
try {
DB::connection('smart')->table('cppt_t')->where('norec', '=', $request->cpptnorec)->update([
@ -203,7 +200,7 @@ class CpptController extends Controller
]);
DB::connection('smart')->commit();
return redirect()->route('dokter.emr.soap.view', ['pdnorec' => $request->pdnorec])->with('success','Edit SOAP Berhasil.');
return redirect()->route('dokter.emr.soap.view', [$filter_identitas_pasien => $request->pdnorec])->with('success','Edit SOAP Berhasil.');
} catch (\Exception $e) {
DB::connection('smart')->rollBack();
@ -213,6 +210,7 @@ class CpptController extends Controller
public function deleteSoapCPPT(Request $request)
{
$filter_identitas_pasien = (strlen($request->pdnorec) > 8) ? 'pdnorec' : 'nocm';
DB::connection('smart')->beginTransaction();
try {
DB::connection('smart')->table('cppt_t')->where('norec', '=', $request->cpptnorec)->update([
@ -220,7 +218,7 @@ class CpptController extends Controller
]);
DB::connection('smart')->commit();
return redirect()->route('dokter.emr.soap.view', ['pdnorec' => $request->pdnorec])->with('success','Batal SOAP Berhasil.');
return redirect()->route('dokter.emr.soap.view', [$filter_identitas_pasien => $request->pdnorec])->with('success','Batal SOAP Berhasil.');
} catch (\Exception $e) {
DB::connection('smart')->rollBack();

View File

@ -9,13 +9,24 @@ use App\Http\Controllers\Dokter\Partial\PartialController;
use DB;
use Auth;
use Session;
use Redirect;
class PeresepanObatController extends Controller
{
public function viewPeresepanObat(Request $request)
{
$getDataPD = PartialController::identitasPasien('pdnorec', $request->pdnorec);
$listNorecOrderan = [];
$returnData = [];
$filter_identitas_pasien = (strlen($request->pdnorec) > 8) ? 'pdnorec' : 'nocm';
$getDataPD = PartialController::identitasPasien($filter_identitas_pasien, $request->pdnorec);
if(empty($getDataPD)){
Session::flash('message', "Special message goes here");
return Redirect::back();
}
$dataHistoryResep = DB::connection('smart')->select("
select
t_resep_dokter.strukorderfk,
@ -42,8 +53,6 @@ class PeresepanObatController extends Controller
", array($getDataPD[0]->nocmfk));
if(!empty($dataHistoryResep)){
$listNorecOrderan = [];
$returnData = [];
foreach($dataHistoryResep as $key => $value){
array_push($listNorecOrderan, $value->strukorderfk);
$dataRacikenke[$value->strukorderfk]['racikanke'][] = $value->racikanke;
@ -108,7 +117,8 @@ class PeresepanObatController extends Controller
$dataReturn['pdnorec'] = $request->pdnorec;
$dataReturn['pasien_identitas'] = $getDataPD[0];
$dataReturn['his_resep'] = $returnData;
$dataReturn['master_obat'] = $dataMasterObat;
$dataReturn['master_obat'] = $dataMasterObat;
$dataReturn['type'] = $filter_identitas_pasien;
//dd($dataReturn);
@ -117,7 +127,12 @@ class PeresepanObatController extends Controller
public function formPeresepanObat(Request $request)
{
$getDataPD = PartialController::identitasPasien('pdnorec', $request->pdnorec);
$filter_identitas_pasien = (strlen($request->pdnorec) > 8) ? 'pdnorec' : 'nocm';
$getDataPD = PartialController::identitasPasien($filter_identitas_pasien, $request->pdnorec);
if(empty($getDataPD)){
Session::flash('message', "Ops!, Data Tidak Ditemukan.");
return Redirect::back();
}
$dataHistoryResep = DB::connection('smart')->select("
select
@ -158,7 +173,8 @@ class PeresepanObatController extends Controller
$dataReturn['pdnorec'] = $request->pdnorec;
$dataReturn['pasien_identitas'] = $getDataPD[0];
$dataReturn['his_resep'] = $dataHistoryResep;
$dataReturn['master_obat'] = $dataMasterObat;
$dataReturn['master_obat'] = $dataMasterObat;
$dataReturn['type'] = $filter_identitas_pasien;
$assets = ['pro','select2'];
return view('dokter.order.form.resep-form', compact('assets'))->with("data", $dataReturn);
@ -166,6 +182,7 @@ class PeresepanObatController extends Controller
public function SimpanPeresepanObat(Request $request)
{
$filter_identitas_pasien = (strlen($request->pdnorec) > 8) ? 'pdnorec' : 'nocm';
DB::connection('smart')->beginTransaction();
try {
$now = date('Y-m-d H:i:s');
@ -175,10 +192,10 @@ class PeresepanObatController extends Controller
->where('apd.norec',$request->noregistrasifk)
->first();
$newId = DB::connection('smart')->table('strukorder_t')->where('noorder','like',date('Ym').'%')->max('noorder');
$newId = DB::connection('smart')->table('strukorder_t')->where('noorder','like',date('ym').'%')->max('noorder');
$newId = substr(trim($newId),4);
$newId = (int)$newId + 1;
$noOrder = date('Ym'). str_pad($newId, 6, "0", STR_PAD_LEFT);
$noOrder = date('ym'). str_pad($newId, 6, "0", STR_PAD_LEFT);
$strukOrder = [
'norec' => $this->generateNorecSmartV1(),
@ -236,7 +253,7 @@ class PeresepanObatController extends Controller
}
DB::connection('smart')->commit();
return redirect()->route('dokter.order.resep.view', ['pdnorec' => $request->pdnorec])->with('success','Resep Berhasil Disimpan.');
return redirect()->route('dokter.order.resep.view', [$filter_identitas_pasien => $request->pdnorec])->with('success','Resep Berhasil Disimpan.');
} catch (\Exception $e) {
DB::connection('smart')->rollBack();

View File

@ -15,48 +15,67 @@ class PartialController extends Controller
public static function identitasPasien($tipeFilter, $parameter)
{
$getDataPD = DB::connection('smart')->select("
select
pasiendaftar_t.norec as pd_norec,
pasien_m.id as nocmfk,
pasien_m.nocm,
pasien_m.namapasien,
jeniskelamin_m.jeniskelamin,
pasien_m.tgllahir,
DATE_PART('YEAR', AGE(NOW(), pasien_m.tgllahir)) as umur_as_year,
DATE_PART('MONTH', AGE(NOW(), pasien_m.tgllahir)) as umur_as_month,
DATE_PART('DAY', AGE(NOW(), pasien_m.tgllahir)) as umur_as_day,
pasiendaftar_t.noregistrasi,
pasiendaftar_t.tglregistrasi,
ruangan_m.id as id_ruangan,
ruangan_m.namaruangan,
pegawai_m.namalengkap,
kelompokpasien_m.kelompokpasien,
(
select
antrianpasiendiperiksa_t.norec as apd_norec
from
antrianpasiendiperiksa_t
where
antrianpasiendiperiksa_t.noregistrasifk = pasiendaftar_t.norec
and antrianpasiendiperiksa_t.statusenabled is true
and antrianpasiendiperiksa_t.objectruanganfk = pasiendaftar_t.objectruanganlastfk
order by
antrianpasiendiperiksa_t.tglmasuk desc
limit 1
) as apd_norec
from
pasiendaftar_t inner join
pasien_m on pasiendaftar_t.nocmfk = pasien_m.id inner join
jeniskelamin_m on pasien_m.objectjeniskelaminfk = jeniskelamin_m.id inner join
ruangan_m on pasiendaftar_t.objectruanganlastfk = ruangan_m.id inner join
pegawai_m on pasiendaftar_t.objectpegawaifk = pegawai_m.id inner join
kelompokpasien_m on pasiendaftar_t.objectkelompokpasienlastfk = kelompokpasien_m.id
where
pasiendaftar_t.norec = ?
", array($parameter));
if($tipeFilter === 'pdnorec'){
$getDataPD = DB::connection('smart')->select("
select
pasiendaftar_t.norec as pd_norec,
pasien_m.id as nocmfk,
pasien_m.nocm,
pasien_m.namapasien,
jeniskelamin_m.jeniskelamin,
pasien_m.tgllahir,
DATE_PART('YEAR', AGE(NOW(), pasien_m.tgllahir)) as umur_as_year,
DATE_PART('MONTH', AGE(NOW(), pasien_m.tgllahir)) as umur_as_month,
DATE_PART('DAY', AGE(NOW(), pasien_m.tgllahir)) as umur_as_day,
pasiendaftar_t.noregistrasi,
pasiendaftar_t.tglregistrasi,
ruangan_m.id as id_ruangan,
ruangan_m.namaruangan,
pegawai_m.namalengkap,
kelompokpasien_m.kelompokpasien,
(
select
antrianpasiendiperiksa_t.norec as apd_norec
from
antrianpasiendiperiksa_t
where
antrianpasiendiperiksa_t.noregistrasifk = pasiendaftar_t.norec
and antrianpasiendiperiksa_t.statusenabled is true
and antrianpasiendiperiksa_t.objectruanganfk = pasiendaftar_t.objectruanganlastfk
order by
antrianpasiendiperiksa_t.tglmasuk desc
limit 1
) as apd_norec
from
pasiendaftar_t inner join
pasien_m on pasiendaftar_t.nocmfk = pasien_m.id inner join
jeniskelamin_m on pasien_m.objectjeniskelaminfk = jeniskelamin_m.id inner join
ruangan_m on pasiendaftar_t.objectruanganlastfk = ruangan_m.id inner join
pegawai_m on pasiendaftar_t.objectpegawaifk = pegawai_m.id inner join
kelompokpasien_m on pasiendaftar_t.objectkelompokpasienlastfk = kelompokpasien_m.id
where
pasiendaftar_t.norec = ?
", array($parameter));
}elseif($tipeFilter === 'nocm'){
$getDataPD = DB::connection('smart')->select("
select
pasien_m.id as nocmfk,
pasien_m.nocm,
pasien_m.namapasien,
jeniskelamin_m.jeniskelamin,
pasien_m.tgllahir,
DATE_PART('YEAR', AGE(NOW(), pasien_m.tgllahir)) as umur_as_year,
DATE_PART('MONTH', AGE(NOW(), pasien_m.tgllahir)) as umur_as_month,
DATE_PART('DAY', AGE(NOW(), pasien_m.tgllahir)) as umur_as_day
from
pasien_m inner join
jeniskelamin_m on pasien_m.objectjeniskelaminfk = jeniskelamin_m.id
where
pasien_m.nocm = ?
", array($parameter));
}
return $getDataPD;
return (empty($getDataPD) ? [] : $getDataPD);
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace App\Http\Controllers\Dokter;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Dokter\Partial\PartialController;
use DB;
class RiwayatPasienController extends Controller
{
public function ViewRiwayatPasien(Request $request)
{
$assets = ['chart', 'animation'];
return view('dokter.filter-histori-pasien',compact('assets'));
}
}

View File

@ -25,6 +25,7 @@ class User extends Authenticatable implements MustVerifyEmail, HasMedia
'first_name',
'last_name',
'phone_number',
'full_name',
'status',
'banned',
'email',
@ -51,12 +52,14 @@ class User extends Authenticatable implements MustVerifyEmail, HasMedia
'email_verified_at' => 'datetime',
];
/*
protected $appends = ['full_name'];
public function getFullNameAttribute()
{
return $this->first_name . ' ' . $this->last_name;
}
*/
public function userProfile() {
return $this->hasOne(UserProfile::class, 'user_id', 'id');

View File

@ -23,6 +23,9 @@ class AppServiceProvider extends ServiceProvider
*/
public function boot()
{
//
if(env('APP_ENV') === 'production'){
\Illuminate\Support\Facades\URL::forceScheme('https');
}
}
}

View File

@ -21,13 +21,13 @@
<div class="col-lg-12">
<div class="form-group">
<label for="email" class="form-label">Username</label>
<input id="email" type="text" name="email" class="form-control" placeholder="Masukkan Username" required autofocus>
<input id="email" type="text" name="email" class="form-control" placeholder="Masukkan Username" required autofocus autocomplete="off">
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label for="password" class="form-label">Password</label>
<input class="form-control" type="password" placeholder="********" name="password" required autocomplete="current-password">
<input class="form-control" type="password" placeholder="********" name="password" required>
</div>
</div>
<!--

View File

@ -1,13 +1,13 @@
<x-app-layout :assets="$assets ?? []">
<div>
<div class="row">
<div class="col-sm-12 col-lg-6">
<div class="col-sm-12 col-lg-12">
<div class="card">
<div class="table-responsive mt-4">
<table class="table">
<tr>
<td>No MR</td>
<td>:</td>
<td style="width:200px;">No MR</td>
<td style="width:5px;">:</td>
<td>{{ $data['pasien_identitas']->nocm }}</td>
</tr>
<tr>
@ -37,49 +37,16 @@
</div>
</div>
</div>
<div class="col-sm-12 col-lg-6">
<div class="card">
<div class="table-responsive mt-4">
<table class="table">
<tr>
<td>No Registrasi</td>
<td>:</td>
<td>{{ $data['pasien_identitas']->noregistrasi }}</td>
</tr>
<tr>
<td>Poli Tujuan</td>
<td>:</td>
<td>{{ $data['pasien_identitas']->namaruangan }}</td>
</tr>
<tr>
<td>DPJP</td>
<td>:</td>
<td>{{ $data['pasien_identitas']->namalengkap }}</td>
</tr>
<tr>
<td>Tgl Layanan</td>
<td>:</td>
<td>{{ date('d-m-Y', strtotime( $data['pasien_identitas']->tglregistrasi )) }}</td>
</tr>
<tr>
<td>Jaminan</td>
<td>:</td>
<td>{{ $data['pasien_identitas']->kelompokpasien }}</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 col-lg-6">
<a href="{{route('dokter.emr.soap.view', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-secondary col-sm-12 col-lg-12">SOAP</div>
<div class="card btn btn-secondary col-sm-12 col-lg-12">RIWAYAT SOAP</div>
</a>
</div>
<div class="col-sm-12 col-lg-6">
<a href="{{route('dokter.order.resep.view', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-secondary col-sm-12 col-lg-12">PERESEPAN OBAT</div>
<div class="card btn btn-secondary col-sm-12 col-lg-12">RIWAYAT PERESEPAN OBAT</div>
</a>
</div>
</div>

View File

@ -1,13 +1,17 @@
<x-app-layout :assets="$assets ?? []">
<div>
<div class="row">
<div class="col-sm-12 col-lg-6">
@if($data['type'] == 'pdnorec')
<div class="col-sm-12 col-lg-6">
@elseif($data['type'] == 'nocm')
<div class="col-sm-12 col-lg-12">
@endif
<div class="card">
<div class="table-responsive mt-4">
<table class="table">
<tr>
<td>No MR</td>
<td>:</td>
<td style="width:200px;">No MR</td>
<td style="width:5px;">:</td>
<td>{{ $data['pasien_identitas']->nocm }}</td>
</tr>
<tr>
@ -37,13 +41,15 @@
</div>
</div>
</div>
@if($data['type'] == 'pdnorec')
<div class="col-sm-12 col-lg-6">
<div class="card">
<div class="table-responsive mt-4">
<table class="table">
<tr>
<td>No Registrasi.</td>
<td>:</td>
<td style="width:200px;">No Registrasi.</td>
<td style="width:5px;">:</td>
<td>{{ $data['pasien_identitas']->noregistrasi }}</td>
</tr>
<tr>
@ -71,16 +77,17 @@
</div>
</div>
</div>
@endif
<div class="row">
<div class="col-sm-12 col-lg-6">
<div class="col-12 col-sm-12 col-xs-12 col-lg-6">
<a href="{{route('dokter.emr.soap.view', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-warning col-sm-12 col-lg-12">SOAP</div>
<div class="card btn btn-warning col-sm-12 col-lg-12">{{ ($data['type'] == 'pdnorec') ? 'SOAP' : 'RIWAYAT SOAP' }}</div>
</a>
</div>
<div class="col-sm-12 col-lg-6">
<a href="{{route('dokter.order.resep.view', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-secondary col-sm-12 col-lg-12">PERESEPAN OBAT</div>
<div class="card btn btn-secondary col-sm-12 col-lg-12">{{ ($data['type'] == 'pdnorec') ? 'PERESEPAN OBAT' : 'RIWAYAT PERESEPAN OBAT' }}</div>
</a>
</div>
</div>
@ -89,23 +96,23 @@
<div class="col-sm-12 col-lg-12">
<div class="card">
<div class="card card-body">
<div class="card-header d-flex justify-content-between">
<div class="col-md-12">
<div class="d-flex justify-content-between align-items-center flex-wrap">
<div><h1>SOAP</h1></div>
<div>
@if(strtotime(date('d-m-Y', strtotime( $data['pasien_identitas']->tglregistrasi ))) == strtotime(date('d-m-Y')) )
<a href="{{route('dokter.emr.soap.form', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-warning col-sm-12 col-lg-12">Tambah SOAP</div>
</a>
@else
<div class="card btn btn-secondary col-sm-12 col-lg-12">Tambah SOAP</div>
@endif
</div>
</div>
</div>
</div>
<div class="card-body">
<div class="card-body">
<div class="row">
<div class="col-12 col-sm-12 col-xs-12 col-lg-10">
<h1>{{ ($data['type'] == 'pdnorec') ? 'LIST SOAP PASIEN' : 'RIWAYAT SOAP PASIEN' }}</h1>
</div>
<div class="col-sm-12 col-lg-2">
@if($data['type'] == 'pdnorec')
@if(strtotime(date('d-m-Y', strtotime( $data['pasien_identitas']->tglregistrasi ))) == strtotime(date('d-m-Y')) )
<a href="{{route('dokter.emr.soap.form', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-info col-lg-6 col-12">Tambah SOAP</div>
</a>
@else
<div class="card btn btn-secondary col-sm-6 col-lg-6 col-12">Tambah SOAP</div>
@endif
@endif
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@ -116,6 +123,7 @@
</div>
@endif
<div class="table-responsive mt-4">
<label class="text-danger">* Hanya Menampilkan 10 Riwayat Terakhir</label>
<table id="basic-table" class="table table-striped mb-0" role="grid">
<thead>
<tr>
@ -128,28 +136,30 @@
</tr>
</thead>
<tbody>
@foreach($data['his_cppt'] as $resultRow)
<tr>
<td>{{ date('d-m-Y', strtotime( $resultRow->tglinput )) }} / {{ date('H:i', strtotime( $resultRow->tglinput)) }}</td>
<td>{{ $resultRow->noregistrasi }}</td>
<td>{{ $resultRow->namalengkap }}</td>
<td>{{ $resultRow->namaruangan }}</td>
<td>{{ $resultRow->keterangan }}</td>
<td>
<button
type="button"
class="btn btn-info"
data-bs-toggle="modal"
data-bs-target="#modalInputSOAP"
data-s="{{ $resultRow->s }}"
data-o="{{ $resultRow->o }}"
data-a="{{ $resultRow->a }}"
data-p="{{ $resultRow->p }}"
data-cpptnorec="{{ $resultRow->cpptnorec }}"
data-mode="view"
>Lihat</button>
@if(!empty($data['his_cppt']))
@foreach($data['his_cppt'] as $resultRow)
<tr>
<td>{{ date('d-m-Y', strtotime( $resultRow->tglinput )) }} / {{ date('H:i', strtotime( $resultRow->tglinput)) }}</td>
<td>{{ $resultRow->noregistrasi }}</td>
<td>{{ $resultRow->namalengkap }}</td>
<td>{{ $resultRow->namaruangan }}</td>
<td>{{ $resultRow->keterangan }}</td>
<td>
<button
type="button"
class="btn btn-info"
data-bs-toggle="modal"
data-bs-target="#modalInputSOAP"
data-s="{{ $resultRow->s }}"
data-o="{{ $resultRow->o }}"
data-a="{{ $resultRow->a }}"
data-p="{{ $resultRow->p }}"
data-cpptnorec="{{ $resultRow->cpptnorec }}"
data-mode="view"
>Lihat</button>
@if( Auth::user()->smart_pk == $resultRow->pegawaifk && strtotime(date('Y-m-d H:i:s')) <= strtotime(date('Y-m-d H:i:s', strtotime($resultRow->tglinput . ' +1 day'))) )
@if( Auth::user()->smart_pk == $resultRow->pegawaifk && strtotime(date('Y-m-d H:i:s')) <= strtotime(date('Y-m-d H:i:s', strtotime($resultRow->tglinput . ' +1 day'))) )
@if($data['type'] == 'pdnorec')
<a href="{{route('dokter.emr.soap.form', ['pdnorec' => $data['pdnorec'], 'cpptnorec' => $resultRow->cpptnorec])}}" class="btn btn-warning">
Edit
</a>
@ -157,7 +167,9 @@
<a href="{{route('dokter.emr.soap.delete', ['pdnorec' => $data['pdnorec'], 'cpptnorec' => $resultRow->cpptnorec])}}" class="btn btn-danger">
Hapus
</a>
@else
@endif
@else
@if($data['type'] == 'pdnorec')
<button class="btn btn-secondary">
Edit
</button>
@ -166,9 +178,18 @@
Hapus
</button>
@endif
</td>
</tr>
@endforeach
@endif
</td>
</tr>
@endforeach
@else
<tr>
<td colspan="6">
<center>~~~ Tidak Ada Riwayat SOAP ~~</center>
</td>
</tr>
@endif
</tbody>
</table>
</div>

View File

@ -0,0 +1,35 @@
<x-app-layout :assets="$assets ?? []">
<div class="row">
<div class="col-md-12 col-lg-12">
<div class="row">
<div class="col-md-12 col-lg-12">
<div class="card overflow-hidden" data-aos="fade-up" data-aos-delay="400">
<div class="card-body">
@if (Session::has('message'))
<div class="alert alert-danger">{{ Session::get('message') }}</div>
@endif
<form method="GET" action="{{ route('dokter.emr.soap.view') }}" data-toggle="validator">
<div class="row">
<div class="form-group col-lg-8 col-sm-12">
<label class="form-label fw-bold" for="namaObatNonRacikan">Pencarian Riwayat Pasien</label>
<input type="text" class="form-control" name="pdnorec" id="pdnorec" placeholder="Masukkan No MR Pasien" required>
</div>
<div class="form-group col-lg-4 col-sm-12">
<label class="form-label fw-bold" for="namaObatNonRacikan">&nbsp;</label>
<button type="submit" class="btn bg-success text-light col-12">Cari </button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</x-app-layout>
<script type="text/javascript">
$(document).ready(function(){
document.getElementById("pdnorec").focus();
})
</script>

View File

@ -58,10 +58,10 @@
<div class="card-body">
<form method="GET" data-toggle="validator">
<div class="row">
<div class="form-group col-8">
<div class="form-group col-lg-8 col-sm-12">
<input type="date" class="form-control" name="tanggal" required>
</div>
<div class="form-group col-4">
<div class="form-group col-lg-4 col-sm-12">
<button type="submit" class="btn bg-success text-light col-12">Cari </button>
</div>
</div>

View File

@ -132,7 +132,7 @@
<input type="text" class="form-control dosis-obat-racikan" required>
</div>
<div class="form-group col-1">
<label class="form-label fw-bold" for="validationDefault02">&nbsp;</label>
<label class="form-label fw-bold" for="validationDefault02">Action</label>
<button class="btn bg-danger text-light" onclick="removeMe(this)">D</button>
</div>
</div>
@ -220,11 +220,11 @@
<label for="daysOfWeekHighlighted" class="label fw-bold">Subtitusi Obat</label>
<div>
<div class="form-check form-check-inline">
<input type="radio" class="form-check-input" id="sibtitusiYa" name="subtitusi" value="Ya" checked>
<input type="radio" class="form-check-input" id="sibtitusiYa" name="subtitusi" value="Ya">
<label for="sibtitusiYa" class="form-check-label">Ya</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" class="form-check-input" id="subtitusiTidak" name="subtitusi" value="Tidak">
<input type="radio" class="form-check-input" id="subtitusiTidak" name="subtitusi" value="Tidak" checked>
<label for="subtitusiTidak" class="form-check-label">Tidak</label>
</div>
</div>
@ -269,6 +269,9 @@
if(statusReturn == true){
$("#daftarResep").append(
`<div class="card border-success" style="border: 5px solid;">
<div class="card-header text-end fw-bold text-danger">
<span onclick="removeMe(this)">X</span>
</div>
<div class="card-body">
<h5 class="card-title">R/</h5>
<div class="row">
@ -332,6 +335,9 @@
$("#daftarResep").append(
`<div class="card border-success" style="border: 5px solid;">
<div class="card-header text-end fw-bold text-danger">
<span onclick="removeMe(this)">X</span>
</div>
<div class="card-body">
<h5 class="card-title">R/</h5>
<div class="row">
@ -383,7 +389,7 @@
<div class="row">
<div class="form-group col-8">
<label class="form-label fw-bold">Nama Obat</label>
<select class="select2-basic-single2 js-states form-select form-control select-obat-racikan" id="namaObatNonRacikan" name="" data-live-search="true" required style="width: 100%;" required>
<select class="select2-basic-single js-states form-select form-control select-obat-racikan" id="namaObatNonRacikan" name="" data-live-search="true" required style="width: 100%;" required>
@foreach($data['master_obat'] as $resultRow)
<option value="{{$resultRow->id}}">{{ $resultRow->namaproduk }}</option>
@endforeach
@ -394,13 +400,13 @@
<input type="text" class="form-control dosis-obat-racikan" required>
</div>
<div class="form-group col-1">
<label class="form-label fw-bold">&nbsp;</label>
<label class="form-label fw-bold">Action</label>
<button class="btn bg-danger text-light" onclick="removeMe(this)">D</button>
</div>
</div>
`
);
$(".select2-basic-single").select2('destroy');
$(".select2-basic-single").select2();
});

View File

@ -1,13 +1,17 @@
<x-app-layout :assets="$assets ?? []">
<div>
<div class="row">
<div class="col-sm-12 col-lg-6">
@if($data['type'] == 'pdnorec')
<div class="col-sm-12 col-lg-6">
@elseif($data['type'] == 'nocm')
<div class="col-sm-12 col-lg-12">
@endif
<div class="card">
<div class="table-responsive mt-4">
<table class="table">
<tr>
<td>No MR</td>
<td>:</td>
<td style="width:200px;">No MR</td>
<td style="width:5px;">:</td>
<td>{{ $data['pasien_identitas']->nocm }}</td>
</tr>
<tr>
@ -37,13 +41,14 @@
</div>
</div>
</div>
@if($data['type'] == 'pdnorec')
<div class="col-sm-12 col-lg-6">
<div class="card">
<div class="table-responsive mt-4">
<table class="table">
<tr>
<td>No Registrasi</td>
<td>:</td>
<td style="width:200px;">No Registrasi</td>
<td style="width:5px;">:</td>
<td>{{ $data['pasien_identitas']->noregistrasi }}</td>
</tr>
<tr>
@ -71,16 +76,17 @@
</div>
</div>
</div>
@endif
<div class="row">
<div class="col-sm-12 col-lg-6">
<a href="{{route('dokter.emr.soap.view', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-secondary col-sm-12 col-lg-12">SOAP</div>
<div class="card btn btn-secondary col-sm-12 col-lg-12">{{ ($data['type'] == 'pdnorec') ? 'SOAP' : 'RIWAYAT SOAP' }}</div>
</a>
</div>
<div class="col-sm-12 col-lg-6">
<a href="{{route('dokter.order.resep.view', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-warning col-sm-12 col-lg-12">PERESEPAN OBAT</div>
<div class="card btn btn-warning col-sm-12 col-lg-12">{{ ($data['type'] == 'pdnorec') ? 'PERESEPAN OBAT' : 'RIWAYAT PERESEPAN OBAT' }}</div>
</a>
</div>
</div>
@ -89,24 +95,26 @@
<div class="col-sm-12 col-lg-12">
<div class="card">
<div class="card card-body">
<div class="card-header d-flex justify-content-between">
<div class="col-md-12">
<div class="d-flex justify-content-between align-items-center flex-wrap">
<div><h1>Peresepan Obat</h1></div>
<div>
@if(strtotime(date('d-m-Y', strtotime( $data['pasien_identitas']->tglregistrasi ))) == strtotime(date('d-m-Y')) )
<a href="{{route('dokter.emr.resep.form', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-warning col-sm-12 col-lg-12">Tambah Resep</div>
</a>
@else
<div class="card btn btn-secondary col-sm-12 col-lg-12">Tambah Resep</div>
@endif
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12 col-sm-12 col-xs-12 col-lg-10">
<h1>{{ ($data['type'] == 'pdnorec') ? 'PERESEPAN OBAT' : 'RIWAYAT PERESEPAN OBAT' }}</h1>
</div>
<div class="col-sm-12 col-lg-2">
@if($data['type'] == 'pdnorec')
@if(strtotime(date('d-m-Y', strtotime( $data['pasien_identitas']->tglregistrasi ))) == strtotime(date('d-m-Y')) )
<a href="{{route('dokter.emr.resep.form', ['pdnorec' => $data['pdnorec']])}}">
<div class="card btn btn-info col-sm-12 col-lg-12">Tambah Resep</div>
</a>
@else
<div class="card btn btn-secondary col-sm-6 col-sm-12 col-lg-12">Tambah SOAP</div>
@endif
@endif
</div>
</div>
<div class="card-body">
<div class="table-responsive mt-4">
<label class="text-danger">* Hanya Menampilkan Riwayat 10 Resep Terakhir</label>
<table id="basic-table" class="table table-striped mb-0" role="grid">
<thead>
<tr>
@ -116,6 +124,7 @@
</tr>
</thead>
<tbody>
@if(!empty($data['his_resep']))
@foreach($data['his_resep'] as $resultRow)
<tr>
<td>{{ date('d-m-Y', strtotime( $resultRow['tglorder'] )) }} / {{ date('H:i', strtotime( $resultRow['tglorder'])) }}</td>
@ -131,6 +140,13 @@
</td>
</tr>
@endforeach
@else
<tr>
<td colspan="4">
<center>~~~ Tidak Ada Riwayat peresepan Obat ~~</center>
</td>
</tr>
@endif
</tbody>
</table>
</div>

View File

@ -1,12 +1,6 @@
<nav class="nav navbar navbar-expand-lg navbar-light iq-navbar">
<div class="container-fluid navbar-inner">
<a href="{{route('dashboard')}}" class="navbar-brand">
<svg width="30" class="text-primary" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-0.757324" y="19.2427" width="28" height="4" rx="2" transform="rotate(-45 -0.757324 19.2427)" fill="currentColor"/>
<rect x="7.72803" y="27.728" width="28" height="4" rx="2" transform="rotate(-45 7.72803 27.728)" fill="currentColor"/>
<rect x="10.5366" y="16.3945" width="16" height="4" rx="2" transform="rotate(45 10.5366 16.3945)" fill="currentColor"/>
<rect x="10.5562" y="-0.556152" width="28" height="4" rx="2" transform="rotate(45 10.5562 -0.556152)" fill="currentColor"/>
</svg>
<h4 class="logo-title">{{env('APP_NAME')}}</h4>
</a>
<div class="sidebar-toggle" data-toggle="sidebar" data-active="true">

View File

@ -7,6 +7,15 @@
</li>
<li class="nav-item">
<a class="nav-link {{activeRoute(route('dokter.view-riwayat-pasien'))}}" aria-current="page" href="{{route('dokter.view-riwayat-pasien')}}">
<i class="icon">
<svg width="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.4" d="M16.0756 2H19.4616C20.8639 2 22.0001 3.14585 22.0001 4.55996V7.97452C22.0001 9.38864 20.8639 10.5345 19.4616 10.5345H16.0756C14.6734 10.5345 13.5371 9.38864 13.5371 7.97452V4.55996C13.5371 3.14585 14.6734 2 16.0756 2Z" fill="currentColor"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.53852 2H7.92449C9.32676 2 10.463 3.14585 10.463 4.55996V7.97452C10.463 9.38864 9.32676 10.5345 7.92449 10.5345H4.53852C3.13626 10.5345 2 9.38864 2 7.97452V4.55996C2 3.14585 3.13626 2 4.53852 2ZM4.53852 13.4655H7.92449C9.32676 13.4655 10.463 14.6114 10.463 16.0255V19.44C10.463 20.8532 9.32676 22 7.92449 22H4.53852C3.13626 22 2 20.8532 2 19.44V16.0255C2 14.6114 3.13626 13.4655 4.53852 13.4655ZM19.4615 13.4655H16.0755C14.6732 13.4655 13.537 14.6114 13.537 16.0255V19.44C13.537 20.8532 14.6732 22 16.0755 22H19.4615C20.8637 22 22 20.8532 22 19.44V16.0255C22 14.6114 20.8637 13.4655 19.4615 13.4655Z" fill="currentColor"></path>
</svg>
</i>
<span class="item-name">Riwayat Pasien</span>
</a>
<a class="nav-link {{activeRoute(route('dokter.list-pasien-telekonsultasi'))}}" aria-current="page" href="{{route('dokter.list-pasien-telekonsultasi')}}">
<i class="icon">
<svg width="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">

View File

@ -4,6 +4,7 @@
use App\Http\Controllers\HomeController;
use App\Http\Controllers\Dokter\ListPasienTelekonsultasiController;
use App\Http\Controllers\Dokter\DokterViewController;
use App\Http\Controllers\Dokter\RiwayatPasienController;
use App\Http\Controllers\Dokter\EMR\CPPT\CpptController;
use App\Http\Controllers\Dokter\Order\PeresepanObatController;
use App\Http\Controllers\Security\RolePermission;
@ -44,6 +45,7 @@ Route::group(['middleware' => 'auth'], function () {
Route::get('dashboard', [ListPasienTelekonsultasiController::class, 'ListPasienTelekonsultasi'])->name('dashboard');
Route::group(['prefix' => 'dokter'], function() {
Route::get('riwayat-pasien', [RiwayatPasienController::class, 'ViewRiwayatPasien'])->name('dokter.view-riwayat-pasien');
Route::get('list-pasien-telekonsutlasi', [ListPasienTelekonsultasiController::class, 'ListPasienTelekonsultasi'])->name('dokter.list-pasien-telekonsultasi');
Route::get('dashboard-pasien', [DokterViewController::class, 'ViewDashboardDokter'])->name('dokter.view-dashboard-dokter');