update
This commit is contained in:
No files matched your search
@@ -53,6 +53,8 @@ use Session;
|
|||||||
use QrCode;
|
use QrCode;
|
||||||
use Exception;
|
use Exception;
|
||||||
use PDFCREATOR;
|
use PDFCREATOR;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
|
|
||||||
define( 'API_ACCESS_KEY', 'AAAA6YBXh1k:APA91bFL0q7QAXQGohXMpTwHco79f13C8PFk1Oo8kKhg1JerOulT9-37dxyP8X5ibABI0NuQ4ZsVxKQKCt7HuR7lUdJJuB-hTVnBmOUIBYfBlHb-Lcp6aGkj4erfF7J__A5hufXjF8Vt' );
|
define( 'API_ACCESS_KEY', 'AAAA6YBXh1k:APA91bFL0q7QAXQGohXMpTwHco79f13C8PFk1Oo8kKhg1JerOulT9-37dxyP8X5ibABI0NuQ4ZsVxKQKCt7HuR7lUdJJuB-hTVnBmOUIBYfBlHb-Lcp6aGkj4erfF7J__A5hufXjF8Vt' );
|
||||||
|
|
||||||
@@ -717,6 +719,11 @@ class DokterController extends Controller
|
|||||||
protected function shouldMarkAsCritical(Request $request): bool
|
protected function shouldMarkAsCritical(Request $request): bool
|
||||||
{
|
{
|
||||||
$flag = strtolower((string) $request->input('nilai_kritis', '0'));
|
$flag = strtolower((string) $request->input('nilai_kritis', '0'));
|
||||||
|
$master = (string) $request->input('master_mikro', '');
|
||||||
|
|
||||||
|
if ($master !== 'buku03') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return in_array($flag, ['1', 'true', 'on', 'yes'], true);
|
return in_array($flag, ['1', 'true', 'on', 'yes'], true);
|
||||||
}
|
}
|
||||||
@@ -750,16 +757,24 @@ class DokterController extends Controller
|
|||||||
$criticalSample->followed_up_by_name = Session('nama');
|
$criticalSample->followed_up_by_name = Session('nama');
|
||||||
$criticalSample->save();
|
$criticalSample->save();
|
||||||
}
|
}
|
||||||
public function criticalValueNotifications(Request $request)
|
protected function getPendingCriticalValueItems()
|
||||||
{
|
{
|
||||||
$highlightId = $request->query('highlight');
|
return CriticalValueSample::whereNull('followed_up_at')
|
||||||
$items = CriticalValueSample::whereNull('followed_up_at')
|
|
||||||
->orderBy('critical_set_at', 'asc')
|
->orderBy('critical_set_at', 'asc')
|
||||||
->get();
|
->get();
|
||||||
$followedItems = CriticalValueSample::whereNotNull('followed_up_at')
|
}
|
||||||
|
protected function getFollowedCriticalValueItems()
|
||||||
|
{
|
||||||
|
return CriticalValueSample::whereNotNull('followed_up_at')
|
||||||
->orderBy('followed_up_at', 'desc')
|
->orderBy('followed_up_at', 'desc')
|
||||||
->limit(100)
|
->limit(100)
|
||||||
->get();
|
->get();
|
||||||
|
}
|
||||||
|
public function criticalValueNotifications(Request $request)
|
||||||
|
{
|
||||||
|
$highlightId = $request->query('highlight');
|
||||||
|
$items = $this->getPendingCriticalValueItems();
|
||||||
|
$followedItems = $this->getFollowedCriticalValueItems();
|
||||||
|
|
||||||
return view('notifications.critical-values', [
|
return view('notifications.critical-values', [
|
||||||
'items' => $items,
|
'items' => $items,
|
||||||
@@ -767,6 +782,80 @@ class DokterController extends Controller
|
|||||||
'highlightId' => $highlightId,
|
'highlightId' => $highlightId,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
public function criticalValueNotificationExport(Request $request)
|
||||||
|
{
|
||||||
|
$type = $request->query('type', 'pending');
|
||||||
|
$isFollowed = $type === 'followed';
|
||||||
|
$rows = $isFollowed ? $this->getFollowedCriticalValueItems() : $this->getPendingCriticalValueItems();
|
||||||
|
$filename = $isFollowed
|
||||||
|
? 'notifikasi-nilai-kritis-riwayat-'.Carbon::now()->format('Ymd_His').'.xlsx'
|
||||||
|
: 'notifikasi-nilai-kritis-belum-dilaporkan-'.Carbon::now()->format('Ymd_His').'.xlsx';
|
||||||
|
|
||||||
|
return response()->streamDownload(function () use ($rows, $isFollowed) {
|
||||||
|
$spreadsheet = new Spreadsheet();
|
||||||
|
$sheet = $spreadsheet->getActiveSheet();
|
||||||
|
$sheet->setTitle($isFollowed ? 'Riwayat Nilai Kritis' : 'Nilai Kritis');
|
||||||
|
|
||||||
|
$headers = [
|
||||||
|
'No',
|
||||||
|
'No Foto',
|
||||||
|
'No Register',
|
||||||
|
'Pasien',
|
||||||
|
'Asal Pasien',
|
||||||
|
'Spesimen',
|
||||||
|
'Waktu Set Nilai Kritis',
|
||||||
|
'Diset Oleh',
|
||||||
|
'Waktu Ditindaklanjuti',
|
||||||
|
'Ditindaklanjuti Oleh',
|
||||||
|
'Status Tindak Lanjut',
|
||||||
|
'Metode',
|
||||||
|
'Penerima Laporan',
|
||||||
|
'Alasan',
|
||||||
|
];
|
||||||
|
$sheet->fromArray($headers, null, 'A1');
|
||||||
|
|
||||||
|
$rowNumber = 2;
|
||||||
|
foreach ($rows as $index => $item) {
|
||||||
|
$status = $item->follow_up_status ?? '';
|
||||||
|
if ($status === 'reported') {
|
||||||
|
$statusLabel = 'Dilaporkan';
|
||||||
|
} elseif ($status === 'not_reported') {
|
||||||
|
$statusLabel = 'Belum Dilaporkan';
|
||||||
|
} else {
|
||||||
|
$statusLabel = '-';
|
||||||
|
}
|
||||||
|
|
||||||
|
$sheet->fromArray([
|
||||||
|
$index + 1,
|
||||||
|
$item->nofoto ?? '-',
|
||||||
|
$item->noregister ?? '-',
|
||||||
|
$item->nmpasien ?? '-',
|
||||||
|
$item->asalpasien ?? '-',
|
||||||
|
$item->nm_spesimen ?? '-',
|
||||||
|
$item->critical_set_at ? Carbon::parse($item->critical_set_at)->format('d-m-Y H:i:s') : '-',
|
||||||
|
$item->critical_set_by_name ?? '-',
|
||||||
|
$item->followed_up_at ? Carbon::parse($item->followed_up_at)->format('d-m-Y H:i:s') : '-',
|
||||||
|
$item->followed_up_by_name ?? '-',
|
||||||
|
$statusLabel,
|
||||||
|
$item->follow_up_method ?? '-',
|
||||||
|
$item->follow_up_recipient ?? '-',
|
||||||
|
$item->follow_up_reason ?? '-',
|
||||||
|
], null, 'A'.$rowNumber);
|
||||||
|
$rowNumber++;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (range('A', 'N') as $col) {
|
||||||
|
$sheet->getColumnDimension($col)->setAutoSize(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$writer->save('php://output');
|
||||||
|
$spreadsheet->disconnectWorksheets();
|
||||||
|
unset($spreadsheet);
|
||||||
|
}, $filename, [
|
||||||
|
'Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||||
|
]);
|
||||||
|
}
|
||||||
public function criticalValueNotificationSummary()
|
public function criticalValueNotificationSummary()
|
||||||
{
|
{
|
||||||
if (Session::get('id') === null) {
|
if (Session::get('id') === null) {
|
||||||
|
|||||||
@@ -36,6 +36,142 @@ use Carbon\Carbon;
|
|||||||
|
|
||||||
class FrontpageController extends Controller
|
class FrontpageController extends Controller
|
||||||
{
|
{
|
||||||
|
protected function buildMikroViewData($master, array $extra = [])
|
||||||
|
{
|
||||||
|
$data = [
|
||||||
|
'dokters' => User::where('previlage', 'supervisor')->get(),
|
||||||
|
'allppds' => User::where('previlage', 'ppds')->get(),
|
||||||
|
'allanalis' => User::where('previlage', 'analis')->get(),
|
||||||
|
'lokasi' => 'Lab Mikrobiologi',
|
||||||
|
'master' => $master,
|
||||||
|
'antrkrmsitu' => 0,
|
||||||
|
'focusPeriksaId' => null,
|
||||||
|
'expertiseReturnUrl' => null,
|
||||||
|
'openExpertiseOnLoad' => false,
|
||||||
|
];
|
||||||
|
$allOrganisms = Organisms::orderBy('name', 'ASC')->get();
|
||||||
|
$allASTManual = SiraB::whereNotNull('setmanual')->select('setmanual')->groupBy('setmanual')->get();
|
||||||
|
$groupOrganisms = function ($kelompok) use ($allOrganisms) {
|
||||||
|
$organisms = $allOrganisms->where('kelompok', $kelompok);
|
||||||
|
if ($organisms->isEmpty()) {
|
||||||
|
return [
|
||||||
|
'organismes' => [[['id' => 0, 'name' => 'No Data']]],
|
||||||
|
'categories' => ['No Data'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
$grouped = $organisms->groupBy('category');
|
||||||
|
$organismes = [];
|
||||||
|
$categories = [];
|
||||||
|
$i = 0;
|
||||||
|
foreach ($grouped as $category => $items) {
|
||||||
|
$categories[] = $category;
|
||||||
|
$j = 0;
|
||||||
|
foreach ($items as $item) {
|
||||||
|
$organismes[$i][$j] = ['id' => $item->id, 'name' => $item->name];
|
||||||
|
$j++;
|
||||||
|
}
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
return [
|
||||||
|
'organismes' => $organismes,
|
||||||
|
'categories' => $categories,
|
||||||
|
];
|
||||||
|
};
|
||||||
|
$biakankulturData = $groupOrganisms('biakankultur');
|
||||||
|
$mikroorganismeData = $groupOrganisms('mikroorganisme');
|
||||||
|
$data = array_merge($data, [
|
||||||
|
'organismes' => $biakankulturData['organismes'],
|
||||||
|
'bacterycateggories' => $biakankulturData['categories'],
|
||||||
|
'mikroorganismes' => $mikroorganismeData['organismes'],
|
||||||
|
'mikroorganismestlist' => $mikroorganismeData['categories'],
|
||||||
|
]);
|
||||||
|
$kelompokMapping = [
|
||||||
|
'jsonsputum' => 'Sputum',
|
||||||
|
'jsonswabtenggorok' => 'Swab Tenggorok',
|
||||||
|
'jsonurine' => 'Urine',
|
||||||
|
'jsonswabperineum' => 'Swab perineum',
|
||||||
|
'jsonselepitel' => 'Sel Epitel',
|
||||||
|
'jsonselradang' => 'Sel Radang',
|
||||||
|
'jsonmikroorganisme' => 'Q Mikroorganisme',
|
||||||
|
'jsonjumlahlactobacillus' => 'Lactobacillus',
|
||||||
|
'jsonjumlahgardnerella' => 'Gardnerella',
|
||||||
|
'jsonjumlahmobiluncus' => 'Mobiluncus',
|
||||||
|
'jsonpewarnaanziehlnielsen' => 'Pewarnaan Ziehl Nielsen',
|
||||||
|
'jsonpewarnaanneisser' => 'Pewarnaan Neisser',
|
||||||
|
'jsonpewarnaannegatif' => 'Pewarnaan Negatif',
|
||||||
|
'jsonpewarnaanspora' => 'Pewarnaan Spora',
|
||||||
|
'jsonpewarnaankoh' => 'Pewarnaan KOH',
|
||||||
|
'jsonpewarnaangiemsa' => 'Pewarnaan Giemsa',
|
||||||
|
'jsonmediabap' => 'Media BAP',
|
||||||
|
'jsonmediacap' => 'Media CAP',
|
||||||
|
'jsonmediamcconkey' => 'Media Mc Conkey',
|
||||||
|
'jsonpemeriksaantl' => 'Pemeriksaan Tambahan Lainnya',
|
||||||
|
'jsonbiakankultur' => 'Biakan Kultur',
|
||||||
|
'jsonvlparameter' => 'Paramater Viral Load',
|
||||||
|
];
|
||||||
|
foreach ($kelompokMapping as $key => $kelompok) {
|
||||||
|
$data[$key] = $allOrganisms->where('kelompok', $kelompok)->values();
|
||||||
|
}
|
||||||
|
$data['antibiotics'] = $allASTManual;
|
||||||
|
|
||||||
|
return array_merge($data, $extra);
|
||||||
|
}
|
||||||
|
protected function mikroViewName()
|
||||||
|
{
|
||||||
|
return Session::get('previlage') == 'developer' ? 'dokter.ppdsdeveloper' : 'dokter.ppds';
|
||||||
|
}
|
||||||
|
protected function mikroExpertiseViewName()
|
||||||
|
{
|
||||||
|
return 'dokter.mikro-expertise';
|
||||||
|
}
|
||||||
|
protected function mikroBookPoliMap(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'buku01' => [15,16,43,47,48,66,96,205,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223],
|
||||||
|
'buku02' => [20],
|
||||||
|
'buku03' => [7,8,13,17,29,33,44,107,114,115,199,200,201,202],
|
||||||
|
'buku04' => [30],
|
||||||
|
'buku05' => [165,179,180,181,183,184,185,187,188,189,190,192,194,195,196,198],
|
||||||
|
'buku06' => [26,40,45,52,53,56,60,61,68,69,75,92,102,122,123,136,137,144,145,152,153,233],
|
||||||
|
'buku07' => [18,19,32,35,46,49,50,54,57,58,59,72,160,182,186,191,193,197,206,207,208,224,225,226,227,228,234,235,236,237],
|
||||||
|
'buku08' => [1,12,23,24,36,39,229,230,231,232],
|
||||||
|
'buku09' => [2,4,5,9,10,11,12,21,22,27,34,41,42,51,63,64,65,85,86,87,88,93,97,118,67,121,125,126,127,128,129,130,132,133,134,135,140,147,158,159,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178],
|
||||||
|
'buku10' => [14,28,55,62,94,104,105,124,138,146],
|
||||||
|
'buku11' => [79,80,81,82,83,84,203],
|
||||||
|
'buku12' => [3,6,25,31,154,155,156,157],
|
||||||
|
'buku13' => [37,38,148,149,204],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
protected function resolveMikroMasterFromPoliId($poliId): string
|
||||||
|
{
|
||||||
|
foreach ($this->mikroBookPoliMap() as $master => $poliIds) {
|
||||||
|
if (in_array((int) $poliId, $poliIds, true)) {
|
||||||
|
return $master;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'buku0';
|
||||||
|
}
|
||||||
|
protected function resolveExpertiseReturnUrl(Request $request, string $master): string
|
||||||
|
{
|
||||||
|
$returnTo = trim((string) $request->query('return_to', ''));
|
||||||
|
if ($returnTo === 'dashboard') {
|
||||||
|
return url('/');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($returnTo !== '') {
|
||||||
|
if (str_starts_with($returnTo, '/')) {
|
||||||
|
return url($returnTo);
|
||||||
|
}
|
||||||
|
|
||||||
|
$appUrl = rtrim((string) config('app.url', url('/')), '/');
|
||||||
|
if (str_starts_with($returnTo, $appUrl)) {
|
||||||
|
return $returnTo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return url('/mikro/'.$master);
|
||||||
|
}
|
||||||
|
|
||||||
public function index() {
|
public function index() {
|
||||||
$data = [];
|
$data = [];
|
||||||
@@ -79,6 +215,7 @@ class FrontpageController extends Controller
|
|||||||
$rawEarlyWarnings = Periksa::leftJoin('poli', 'periksa.poli_id', '=', 'poli.id')
|
$rawEarlyWarnings = Periksa::leftJoin('poli', 'periksa.poli_id', '=', 'poli.id')
|
||||||
->select(
|
->select(
|
||||||
'periksa.id',
|
'periksa.id',
|
||||||
|
'periksa.poli_id',
|
||||||
'periksa.nofoto',
|
'periksa.nofoto',
|
||||||
'periksa.noregister',
|
'periksa.noregister',
|
||||||
'periksa.nmpasien',
|
'periksa.nmpasien',
|
||||||
@@ -111,6 +248,7 @@ class FrontpageController extends Controller
|
|||||||
if ($sisaMenit <= 60) {
|
if ($sisaMenit <= 60) {
|
||||||
$earlyWarnings[] = [
|
$earlyWarnings[] = [
|
||||||
'id' => $row->id,
|
'id' => $row->id,
|
||||||
|
'mikro_master' => $this->resolveMikroMasterFromPoliId($row->poli_id),
|
||||||
'subpoli' => $row->subpoli ?? 'Tanpa Subpoli',
|
'subpoli' => $row->subpoli ?? 'Tanpa Subpoli',
|
||||||
'nofoto' => $row->nofoto,
|
'nofoto' => $row->nofoto,
|
||||||
'noregister' => $row->noregister,
|
'noregister' => $row->noregister,
|
||||||
@@ -537,83 +675,30 @@ class FrontpageController extends Controller
|
|||||||
if (!Session::has('previlage')) {
|
if (!Session::has('previlage')) {
|
||||||
return redirect('/login');
|
return redirect('/login');
|
||||||
}
|
}
|
||||||
$data = [
|
return view($this->mikroViewName(), $this->buildMikroViewData($master));
|
||||||
'dokters' => User::where('previlage', 'supervisor')->get(),
|
}
|
||||||
'allppds' => User::where('previlage', 'ppds')->get(),
|
public function viewMikroExpertise(Request $request, $periksaId)
|
||||||
'allanalis' => User::where('previlage', 'analis')->get(),
|
{
|
||||||
'lokasi' => 'Lab Mikrobiologi',
|
if (!Session::has('previlage')) {
|
||||||
'master' => $master,
|
return redirect('/login');
|
||||||
'antrkrmsitu' => 0,
|
|
||||||
];
|
|
||||||
$allOrganisms = Organisms::orderBy('name', 'ASC')->get();
|
|
||||||
$allASTManual = SiraB::whereNotNull('setmanual')->select('setmanual')->groupBy('setmanual')->get();
|
|
||||||
$groupOrganisms = function ($kelompok) use ($allOrganisms) {
|
|
||||||
$organisms = $allOrganisms->where('kelompok', $kelompok);
|
|
||||||
if ($organisms->isEmpty()) {
|
|
||||||
return [
|
|
||||||
'organismes' => [[['id' => 0, 'name' => 'No Data']]],
|
|
||||||
'categories' => ['No Data'],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
$grouped = $organisms->groupBy('category');
|
|
||||||
$organismes = [];
|
|
||||||
$categories = [];
|
|
||||||
$i = 0;
|
|
||||||
foreach ($grouped as $category => $items) {
|
|
||||||
$categories[] = $category;
|
|
||||||
$j = 0;
|
|
||||||
foreach ($items as $item) {
|
|
||||||
$organismes[$i][$j] = ['id' => $item->id, 'name' => $item->name];
|
|
||||||
$j++;
|
|
||||||
}
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
return [
|
|
||||||
'organismes' => $organismes,
|
|
||||||
'categories' => $categories,
|
|
||||||
];
|
|
||||||
};
|
|
||||||
$biakankulturData = $groupOrganisms('biakankultur');
|
|
||||||
$mikroorganismeData = $groupOrganisms('mikroorganisme');
|
|
||||||
$data = array_merge($data, [
|
|
||||||
'organismes' => $biakankulturData['organismes'],
|
|
||||||
'bacterycateggories' => $biakankulturData['categories'],
|
|
||||||
'mikroorganismes' => $mikroorganismeData['organismes'],
|
|
||||||
'mikroorganismestlist' => $mikroorganismeData['categories'],
|
|
||||||
]);
|
|
||||||
$kelompokMapping = [
|
|
||||||
'jsonsputum' => 'Sputum',
|
|
||||||
'jsonswabtenggorok' => 'Swab Tenggorok',
|
|
||||||
'jsonurine' => 'Urine',
|
|
||||||
'jsonswabperineum' => 'Swab perineum',
|
|
||||||
'jsonselepitel' => 'Sel Epitel',
|
|
||||||
'jsonselradang' => 'Sel Radang',
|
|
||||||
'jsonmikroorganisme' => 'Q Mikroorganisme',
|
|
||||||
'jsonjumlahlactobacillus' => 'Lactobacillus',
|
|
||||||
'jsonjumlahgardnerella' => 'Gardnerella',
|
|
||||||
'jsonjumlahmobiluncus' => 'Mobiluncus',
|
|
||||||
'jsonpewarnaanziehlnielsen' => 'Pewarnaan Ziehl Nielsen',
|
|
||||||
'jsonpewarnaanneisser' => 'Pewarnaan Neisser',
|
|
||||||
'jsonpewarnaannegatif' => 'Pewarnaan Negatif',
|
|
||||||
'jsonpewarnaanspora' => 'Pewarnaan Spora',
|
|
||||||
'jsonpewarnaankoh' => 'Pewarnaan KOH',
|
|
||||||
'jsonpewarnaangiemsa' => 'Pewarnaan Giemsa',
|
|
||||||
'jsonmediabap' => 'Media BAP',
|
|
||||||
'jsonmediacap' => 'Media CAP',
|
|
||||||
'jsonmediamcconkey' => 'Media Mc Conkey',
|
|
||||||
'jsonpemeriksaantl' => 'Pemeriksaan Tambahan Lainnya',
|
|
||||||
'jsonbiakankultur' => 'Biakan Kultur',
|
|
||||||
'jsonvlparameter' => 'Paramater Viral Load',
|
|
||||||
];
|
|
||||||
foreach ($kelompokMapping as $key => $kelompok) {
|
|
||||||
$data[$key] = $allOrganisms->where('kelompok', $kelompok)->values();
|
|
||||||
}
|
}
|
||||||
$data['antibiotics'] = $allASTManual;
|
$periksa = Periksa::select('id', 'poli_id')->find($periksaId);
|
||||||
if (Session::get('previlage') == 'developer'){
|
if (!$periksa) {
|
||||||
return view('dokter.ppdsdeveloper', $data);
|
abort(404);
|
||||||
} else {
|
|
||||||
return view('dokter.ppds', $data);
|
|
||||||
}
|
}
|
||||||
|
$requestedMaster = trim((string) $request->query('from', ''));
|
||||||
|
$validMasters = array_keys($this->mikroBookPoliMap());
|
||||||
|
$validMasters[] = 'buku0';
|
||||||
|
$master = in_array($requestedMaster, $validMasters, true)
|
||||||
|
? $requestedMaster
|
||||||
|
: $this->resolveMikroMasterFromPoliId($periksa->poli_id);
|
||||||
|
$returnUrl = $this->resolveExpertiseReturnUrl($request, $master);
|
||||||
|
|
||||||
|
return view($this->mikroExpertiseViewName(), $this->buildMikroViewData($master, [
|
||||||
|
'focusPeriksaId' => (string) $periksaId,
|
||||||
|
'expertiseReturnUrl' => $returnUrl,
|
||||||
|
'openExpertiseOnLoad' => true,
|
||||||
|
]));
|
||||||
}
|
}
|
||||||
public function pengambilan() {
|
public function pengambilan() {
|
||||||
if (Session::get('previlage') == ''){
|
if (Session::get('previlage') == ''){
|
||||||
|
|||||||
@@ -150,14 +150,15 @@
|
|||||||
<th>Asal Pasien</th>
|
<th>Asal Pasien</th>
|
||||||
<th>Status</th>
|
<th>Status</th>
|
||||||
<th>Daftar</th>
|
<th>Daftar</th>
|
||||||
<th>Target (Hari)</th>
|
<th>Target (Hari)</th>
|
||||||
<th>Estimasi Selesai</th>
|
<th>Estimasi Selesai</th>
|
||||||
<th>Warning</th>
|
<th>Warning</th>
|
||||||
</tr>
|
<th>Aksi</th>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
</thead>
|
||||||
@foreach($group['items'] as $j => $row)
|
<tbody>
|
||||||
<tr>
|
@foreach($group['items'] as $j => $row)
|
||||||
|
<tr>
|
||||||
<td>{{ $j + 1 }}</td>
|
<td>{{ $j + 1 }}</td>
|
||||||
<td>{{ $row['nofoto'] }}</td>
|
<td>{{ $row['nofoto'] }}</td>
|
||||||
<td>{{ $row['noregister'] }}</td>
|
<td>{{ $row['noregister'] }}</td>
|
||||||
@@ -169,15 +170,20 @@
|
|||||||
<td>{{ $row['target_hari'] }}</td>
|
<td>{{ $row['target_hari'] }}</td>
|
||||||
<td>{{ $row['target_selesai'] }}</td>
|
<td>{{ $row['target_selesai'] }}</td>
|
||||||
<td>
|
<td>
|
||||||
@if($row['sisa_menit'] <= 0)
|
@if($row['sisa_menit'] <= 0)
|
||||||
<span class="badge badge-danger">{{ $row['warning_label'] }}</span>
|
<span class="badge badge-danger">{{ $row['warning_label'] }}</span>
|
||||||
@else
|
@else
|
||||||
<span class="badge badge-warning">{{ $row['warning_label'] }} ({{ $row['sisa_menit'] }} menit)</span>
|
<span class="badge badge-warning">{{ $row['warning_label'] }} ({{ $row['sisa_menit'] }} menit)</span>
|
||||||
@endif
|
@endif
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
<td>
|
||||||
@endforeach
|
<a href="{{ route('mikro.expertise', ['periksa' => $row['id'], 'return_to' => 'dashboard']) }}" class="btn btn-sm btn-primary">
|
||||||
</tbody>
|
Expertise
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
@extends('dokter.ppds')
|
||||||
|
|
||||||
|
@push('styles')
|
||||||
|
<style>
|
||||||
|
#divawal {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@endpush
|
||||||
|
|
||||||
|
@push('script')
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function () {
|
||||||
|
$('#divawal').hide();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
File diff suppressed because it is too large
Load diff
@@ -43,7 +43,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-5">
|
<div class="col-lg-5">
|
||||||
<div class="card-box ribbon-box">
|
<div class="card-box ribbon-box">
|
||||||
<div class="ribbon ribbon-danger">Khusus Developer</div>
|
<div class="ribbon ribbon-danger">Developer Mode</div>
|
||||||
<p class="m-b-0"></p>
|
<p class="m-b-0"></p>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<div class="form-group col-lg-4">
|
<div class="form-group col-lg-4">
|
||||||
@@ -2433,12 +2433,16 @@
|
|||||||
</div>
|
</div>
|
||||||
@if (Session('previlage') == 'supervisor' OR Session('previlage') == 'developer')
|
@if (Session('previlage') == 'supervisor' OR Session('previlage') == 'developer')
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<div class="form-check mb-2">
|
@if ($master === 'buku03')
|
||||||
<input class="form-check-input" type="checkbox" id="nilai_kritis" name="nilai_kritis">
|
<div class="form-check mb-2">
|
||||||
<label class="form-check-label" for="nilai_kritis">
|
<input class="form-check-input" type="checkbox" id="nilai_kritis" name="nilai_kritis">
|
||||||
Nilai Kritis
|
<label class="form-check-label" for="nilai_kritis">
|
||||||
</label>
|
Nilai Kritis
|
||||||
</div>
|
</label>
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
<small class="text-danger d-inline-block mt-2">Nilai kritis hanya berlaku di sample darah.</small>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button type="button" id="btnsendexpertisetopacs" class="btn btn-warning pull-right">Save Final Result</button>
|
<button type="button" id="btnsendexpertisetopacs" class="btn btn-warning pull-right">Save Final Result</button>
|
||||||
@@ -3136,6 +3140,9 @@
|
|||||||
<input type="hidden" name="idpertumbuhankoloni" id="idpertumbuhankoloni">
|
<input type="hidden" name="idpertumbuhankoloni" id="idpertumbuhankoloni">
|
||||||
<input type="hidden" name="template_jenis" id="template_jenis">
|
<input type="hidden" name="template_jenis" id="template_jenis">
|
||||||
<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
|
<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
|
||||||
|
<input type="hidden" name="focus_periksa_id" id="focus_periksa_id" value="{{ $focusPeriksaId ?? '' }}">
|
||||||
|
<input type="hidden" name="expertise_return_url" id="expertise_return_url" value="{{ $expertiseReturnUrl ?? '' }}">
|
||||||
|
<input type="hidden" name="open_expertise_on_load" id="open_expertise_on_load" value="{{ !empty($openExpertiseOnLoad) ? '1' : '0' }}">
|
||||||
<div style="overflow: hidden; display: none;">
|
<div style="overflow: hidden; display: none;">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<select class="form-control ekspertiseseletc" id="bakterimediabap" name="bakterimediabap">
|
<select class="form-control ekspertiseseletc" id="bakterimediabap" name="bakterimediabap">
|
||||||
@@ -3193,6 +3200,8 @@
|
|||||||
@endsection
|
@endsection
|
||||||
@push('script')
|
@push('script')
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
const mikroMaster = @json($master);
|
||||||
|
const mikroExpertiseBaseUrl = @json(url('/mikro'));
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
const refreshBtn = document.getElementById('refresh-btn');
|
const refreshBtn = document.getElementById('refresh-btn');
|
||||||
if (window.location.hash) {
|
if (window.location.hash) {
|
||||||
@@ -3204,6 +3213,396 @@
|
|||||||
$('#divawal').show();
|
$('#divawal').show();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
function resetExpertiseFormState() {
|
||||||
|
$("#nofoto").val('');
|
||||||
|
$("#id_mikroorganismeoptional").val('').trigger('change');
|
||||||
|
|
||||||
|
for (var instance in CKEDITOR.instances) {
|
||||||
|
CKEDITOR.instances[instance].setData('');
|
||||||
|
}
|
||||||
|
if ( $.fn.DataTable.isDataTable('#tblkumanmanual1') ) {
|
||||||
|
$('#tblkumanmanual1').DataTable().clear().destroy();
|
||||||
|
}
|
||||||
|
if ( $.fn.DataTable.isDataTable('#tblkumanmanual2') ) {
|
||||||
|
$('#tblkumanmanual2').DataTable().clear().destroy();
|
||||||
|
}
|
||||||
|
if ( $.fn.DataTable.isDataTable('#tblvitek') ) {
|
||||||
|
$('#tblvitek').DataTable().clear().destroy();
|
||||||
|
}
|
||||||
|
$('.select2').val(null).select2().trigger('change');
|
||||||
|
$(".isiandasar").val('');
|
||||||
|
$(".ekspertiseteks").val('');
|
||||||
|
$(".ekspertiseseletc").val('');
|
||||||
|
$(".pilihankirby").val('');
|
||||||
|
$('input[type="checkbox"], input[type="radio"]').prop('checked', false).prop('disabled', false);
|
||||||
|
}
|
||||||
|
function openExpertiseDataRecord(dataRecord) {
|
||||||
|
resetExpertiseFormState();
|
||||||
|
|
||||||
|
var goook = dataRecord.id;
|
||||||
|
var nofoto = dataRecord.nofoto;
|
||||||
|
var statuse = dataRecord.status;
|
||||||
|
var cekuser1 = dataRecord.excutor;
|
||||||
|
var cekuser2 = dataRecord.ppdssenior;
|
||||||
|
var cekuser3 = dataRecord.middleppds;
|
||||||
|
var cekuser4 = dataRecord.ppdsjunior;
|
||||||
|
var cekuser5 = dataRecord.iddokter;
|
||||||
|
var cekuser6 = dataRecord.analis;
|
||||||
|
var set01 = dataRecord.pasien_id;
|
||||||
|
var accnumber = dataRecord.nofoto;
|
||||||
|
var cekkesimpulan = dataRecord.kesimpulan;
|
||||||
|
var dlp = dataRecord.dlp;
|
||||||
|
var masteru = document.getElementById('master_userid').value;
|
||||||
|
var token = document.getElementById('token').value;
|
||||||
|
var sourceadendum = {
|
||||||
|
datatype: "json",
|
||||||
|
datafields: [
|
||||||
|
{ name: 'idne',type: 'text'},
|
||||||
|
{ name: 'tanggal',type: 'text'},
|
||||||
|
{ name: 'inputor',type: 'text'},
|
||||||
|
{ name: 'keterangan',type: 'text'},
|
||||||
|
{ name: 'jawaban',type: 'text'},
|
||||||
|
],
|
||||||
|
type: 'POST',
|
||||||
|
data: { val01:accnumber, _token: '{{csrf_token()}}' },
|
||||||
|
url: '{{ route("getadendum") }}',
|
||||||
|
};
|
||||||
|
var sourcedetail = {
|
||||||
|
datatype: "json",
|
||||||
|
datafields: [
|
||||||
|
{ name: 'idne',type: 'text'},
|
||||||
|
{ name: 'tanggal',type: 'text'},
|
||||||
|
{ name: 'jenis',type: 'text'},
|
||||||
|
{ name: 'nofoto',type: 'text'},
|
||||||
|
{ name: 'jenis',type: 'text'},
|
||||||
|
{ name: 'status',type: 'text'},
|
||||||
|
],
|
||||||
|
type: 'POST',
|
||||||
|
data: { val01:set01, _token: '{{csrf_token()}}' },
|
||||||
|
url: '{{ route("getriwayat") }}',
|
||||||
|
};
|
||||||
|
var sourcesirab = {
|
||||||
|
datatype: "json",
|
||||||
|
datafields: [
|
||||||
|
{ name: 'id',type: 'text'},
|
||||||
|
{ name: 'family',type: 'text'},
|
||||||
|
{ name: 'spesies',type: 'text'},
|
||||||
|
{ name: 'antibiotikall',type: 'text'},
|
||||||
|
{ name: 'antibiotik',type: 'text'},
|
||||||
|
{ name: 'subantibiotik',type: 'text'},
|
||||||
|
{ name: 'diskcontent',type: 'text'},
|
||||||
|
{ name: 'batasatas',type: 'text'},
|
||||||
|
{ name: 'midrange',type: 'text'},
|
||||||
|
{ name: 'batasbawah',type: 'text'},
|
||||||
|
{ name: 'sumber',type: 'text'},
|
||||||
|
{ name: 'kodedok',type: 'text'},
|
||||||
|
{ name: 'atu',type: 'text'},
|
||||||
|
{ name: 'kelompok',type: 'text'},
|
||||||
|
],
|
||||||
|
type: 'POST',
|
||||||
|
data: { val01:'sirab', _token: '{{csrf_token()}}' },
|
||||||
|
url: '{{ route("getriwayat") }}',
|
||||||
|
};
|
||||||
|
var dataadendum = new $.jqx.dataAdapter(sourceadendum);
|
||||||
|
var datadetail = new $.jqx.dataAdapter(sourcedetail);
|
||||||
|
var jsonSirab = new $.jqx.dataAdapter(sourcesirab);
|
||||||
|
$('#btnsavedraft').show();
|
||||||
|
$('#divadendumketerangan').hide();
|
||||||
|
$('#divtemplate').hide();
|
||||||
|
$('#pilihancontohuji').show();
|
||||||
|
$('#tekscontohuji').hide();
|
||||||
|
$('#pilihanlokasianatomi').show();
|
||||||
|
$('#tekslokasianatomi').hide();
|
||||||
|
$('.setelahdipilihtemplate').hide();
|
||||||
|
$("#asalpasien").html(dataRecord.asalpasien);
|
||||||
|
$("#modaliti").val(dataRecord.modality);
|
||||||
|
$("#dlp").val(dataRecord.dlp);
|
||||||
|
$("#template_jenis").val(dataRecord.dlp);
|
||||||
|
$("#nofoto").val(dataRecord.nofoto);
|
||||||
|
$("#norm").val(dataRecord.noregister);
|
||||||
|
$("#nonama").val(dataRecord.nmpasien);
|
||||||
|
$("#nokel").html(dataRecord.jkpasien);
|
||||||
|
$("#nousia").html(dataRecord.usia);
|
||||||
|
$("#noservis").html(dataRecord.tlsreques);
|
||||||
|
$("#nokamar").val(dataRecord.ruangan);
|
||||||
|
$("#nostatus").html(statuse);
|
||||||
|
$("#alamat").html(dataRecord.alamatpasien);
|
||||||
|
$("#tlppasien").html(dataRecord.tlppasien);
|
||||||
|
$("#periksa_id").val(dataRecord.id);
|
||||||
|
$("#ruangan").val(dataRecord.idruangan);
|
||||||
|
if (dataRecord.dokter_id == '0' || dataRecord.dokter_id == null || dataRecord.dokter_id == ''){
|
||||||
|
$("#dokter").val(masteru).select2().trigger('change');
|
||||||
|
} else {
|
||||||
|
$("#dokter").val(dataRecord.dokter_id).select2().trigger('change');
|
||||||
|
}
|
||||||
|
if (dataRecord.analis == '0' || dataRecord.analis == null || dataRecord.analis == ''){
|
||||||
|
$("#analis").val(masteru).select2().trigger('change');
|
||||||
|
} else {
|
||||||
|
$("#analis").val(dataRecord.analis).select2().trigger('change');
|
||||||
|
}
|
||||||
|
if (dataRecord.ppdssenior == '0' || dataRecord.ppdssenior == null || dataRecord.ppdssenior == ''){
|
||||||
|
$("#ppds3").val(masteru).select2().trigger('change');
|
||||||
|
} else {
|
||||||
|
$("#ppds3").val(dataRecord.ppdssenior).select2().trigger('change');
|
||||||
|
}
|
||||||
|
$("#diagnosa2").val(dataRecord.diagnosa2);
|
||||||
|
$("#diagnosa").val(dataRecord.diagnosa).select2().trigger('change');
|
||||||
|
$("#ppds1").val(dataRecord.ppdsjunior).select2().trigger('change');
|
||||||
|
$("#ppds2").val(dataRecord.middleppds).select2().trigger('change');
|
||||||
|
$("#otherppds").val(dataRecord.otherppds);
|
||||||
|
$("#otheras").val(dataRecord.ppdsas);
|
||||||
|
$("#kave").val(dataRecord.kd_spesimen);
|
||||||
|
$("#mas").val(dataRecord.nm_spesimen);
|
||||||
|
$("#berat").val(dataRecord.berat);
|
||||||
|
$("#klinis").val(dataRecord.klinis);
|
||||||
|
$("#klinisi").html(dataRecord.klinisi);
|
||||||
|
$('#sirabketerangan').hide();
|
||||||
|
CKEDITOR.instances['keterangan'].setData(dataRecord.keterangan)
|
||||||
|
CKEDITOR.instances['kesimpulan'].setData(dataRecord.kesimpulan)
|
||||||
|
$("#gridriwayat").jqxGrid({
|
||||||
|
width : '100%',
|
||||||
|
enablebrowserselection : true,
|
||||||
|
source : datadetail,
|
||||||
|
columnsresize : true,
|
||||||
|
theme : "energyblue",
|
||||||
|
autoheight : true,
|
||||||
|
pageable : true,
|
||||||
|
altrows : true,
|
||||||
|
selectionmode : 'multiplecellsextended',
|
||||||
|
columns : [
|
||||||
|
{ text: 'Date', datafield: 'tanggal', width: '60%', cellsalign: 'left', align: 'center' },
|
||||||
|
{ text: 'Type', datafield: 'jenis', width: '20%', cellsalign: 'left', align: 'center' },
|
||||||
|
{ text: 'Report', filterable: false, columntype: 'button', align: 'center', width: '20%', cellsrenderer: function () {
|
||||||
|
return "View";
|
||||||
|
}, buttonclick: function (row) {
|
||||||
|
editrowjabatan = row;
|
||||||
|
var offset = $("#gridriwayat").offset();
|
||||||
|
var dataRecord = $("#gridriwayat").jqxGrid('getrowdata', editrowjabatan);
|
||||||
|
var goook = dataRecord.idne;
|
||||||
|
var status = dataRecord.status;
|
||||||
|
var nofoto = dataRecord.nofoto;
|
||||||
|
var masterk = document.getElementById('master_kelompok').value;
|
||||||
|
var token = document.getElementById('token').value;
|
||||||
|
var home = '{{URL::to("/")}}';
|
||||||
|
if (status == 'Selesai' || status == 'Arsip') {
|
||||||
|
var alamat = home+'/hasil/'+dataRecord.nofoto;
|
||||||
|
window.open(alamat,'_blank');
|
||||||
|
} else {
|
||||||
|
if (masterk == 'supervisor'){
|
||||||
|
var alamat = home+'/hasil/'+dataRecord.nofoto;
|
||||||
|
window.open(alamat,'_blank');
|
||||||
|
} else {
|
||||||
|
swal({
|
||||||
|
title : 'Stop',
|
||||||
|
text : 'Cannot Print Un Verified Expertise',
|
||||||
|
type : 'warning',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
});
|
||||||
|
$("#gridadendum").jqxGrid({
|
||||||
|
width : '100%',
|
||||||
|
enablebrowserselection : true,
|
||||||
|
source : dataadendum,
|
||||||
|
columnsresize : true,
|
||||||
|
theme : "energyblue",
|
||||||
|
autoheight : true,
|
||||||
|
pageable : true,
|
||||||
|
altrows : true,
|
||||||
|
selectionmode : 'multiplecellsextended',
|
||||||
|
columns : [
|
||||||
|
{ text: 'Date', datafield: 'tanggal', width: '20%', cellsalign: 'left', align: 'center' },
|
||||||
|
{ text: 'Excutor', datafield: 'inputor', width: '20%', cellsalign: 'left', align: 'center' },
|
||||||
|
{ text: 'Type', datafield: 'keterangan', width: '50%', cellsalign: 'left', align: 'center' },
|
||||||
|
{ text: 'Report', filterable: false, columntype: 'button', align: 'center', width: '10%', cellsrenderer: function () {
|
||||||
|
return "View";
|
||||||
|
}, buttonclick: function (row) {
|
||||||
|
editrowjabatan = row;
|
||||||
|
var offset = $("#gridadendum").offset();
|
||||||
|
var dataRecord = $("#gridadendum").jqxGrid('getrowdata', editrowjabatan);
|
||||||
|
var goook = dataRecord.jawaban;
|
||||||
|
var newWindow = window.open('', '', 'width=800, height=500'),
|
||||||
|
document = newWindow.document.open(),
|
||||||
|
pageContent =
|
||||||
|
'<!DOCTYPE html>\n' +
|
||||||
|
'<html>\n' +
|
||||||
|
'<head>\n' +
|
||||||
|
'<meta charset="utf-8" />\n' +
|
||||||
|
'<title>Laboratory Information System</title>\n' +
|
||||||
|
'</head>\n' +
|
||||||
|
'<body>' + goook + '</body>\n</html>';
|
||||||
|
document.write(pageContent);
|
||||||
|
document.close();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
});
|
||||||
|
$("#gridsirab").jqxGrid({
|
||||||
|
width : '100%',
|
||||||
|
showfilterrow : true,
|
||||||
|
filterable : true,
|
||||||
|
source : jsonSirab,
|
||||||
|
columnsresize : true,
|
||||||
|
theme : "energyblue",
|
||||||
|
autoheight : true,
|
||||||
|
pageable : true,
|
||||||
|
altrows : true,
|
||||||
|
selectionmode : 'multiplecellsextended',
|
||||||
|
columns : [
|
||||||
|
{ text: 'Spesies', datafield: 'spesies', width: '30%', cellsalign: 'left', align: 'center' },
|
||||||
|
{ text: 'Antibiotik', datafield: 'antibiotikall', width: '21%', cellsalign: 'left', align: 'center' },
|
||||||
|
{ text: 'Disk Content', datafield: 'diskcontent', width: '7%', cellsalign: 'left', align: 'center' },
|
||||||
|
{ text: 'S', datafield: 'batasatas', width: '7%', cellsalign: 'center', align: 'center' },
|
||||||
|
{ text: 'I', datafield: 'midrange', width: '7%', cellsalign: 'center', align: 'center' },
|
||||||
|
{ text: 'R', datafield: 'batasbawah', width: '7%', cellsalign: 'center', align: 'center' },
|
||||||
|
{ text: 'Use S', filterable: false, columntype: 'button', cellsalign: 'center', align: 'center', width: '7%', cellsrenderer: function () {
|
||||||
|
return "Use";
|
||||||
|
}, buttonclick: function (row) {
|
||||||
|
editrowpoli = row;
|
||||||
|
var offset = $("#gridsirab").offset();
|
||||||
|
var dataRecord = $("#gridsirab").jqxGrid('getrowdata', editrowpoli);
|
||||||
|
var keterangan = CKEDITOR.instances['keterangan'].getData();
|
||||||
|
var form_data = new FormData();
|
||||||
|
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||||
|
form_data.append('tabelawal', keterangan);
|
||||||
|
form_data.append('idtabel', dataRecord.id);
|
||||||
|
form_data.append('setnilai', 'S');
|
||||||
|
form_data.append('keterangan', 'addsirabketerangan');
|
||||||
|
form_data.append('_token', '{{csrf_token()}}');
|
||||||
|
$.ajax({
|
||||||
|
url : '{{ route("getResult") }}',
|
||||||
|
data : form_data,
|
||||||
|
type : 'POST',
|
||||||
|
contentType : false,
|
||||||
|
processData : false,
|
||||||
|
success : function (response) {
|
||||||
|
btncreateantibiotikvitek();
|
||||||
|
},
|
||||||
|
error: function (xhr, status, error) {
|
||||||
|
var response = xhr.responseJSON || {};
|
||||||
|
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||||
|
console.log(traceText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ text: 'Use I', filterable: false, columntype: 'button', cellsalign: 'center', align: 'center', width: '7%', cellsrenderer: function () {
|
||||||
|
return "Use";
|
||||||
|
}, buttonclick: function (row) {
|
||||||
|
editrowpoli = row;
|
||||||
|
var offset = $("#gridsirab").offset();
|
||||||
|
var dataRecord = $("#gridsirab").jqxGrid('getrowdata', editrowpoli);
|
||||||
|
var keterangan = CKEDITOR.instances['keterangan'].getData();
|
||||||
|
var form_data = new FormData();
|
||||||
|
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||||
|
form_data.append('tabelawal', keterangan);
|
||||||
|
form_data.append('idtabel', dataRecord.id);
|
||||||
|
form_data.append('setnilai', 'I');
|
||||||
|
form_data.append('keterangan', 'addsirabketerangan');
|
||||||
|
form_data.append('_token', '{{csrf_token()}}');
|
||||||
|
$.ajax({
|
||||||
|
url : '{{ route("getResult") }}',
|
||||||
|
data : form_data,
|
||||||
|
type : 'POST',
|
||||||
|
contentType : false,
|
||||||
|
processData : false,
|
||||||
|
success : function (response) {
|
||||||
|
btncreateantibiotikvitek();
|
||||||
|
},
|
||||||
|
error: function (xhr, status, error) {
|
||||||
|
var response = xhr.responseJSON || {};
|
||||||
|
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||||
|
console.log(traceText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ text: 'Use R', filterable: false, columntype: 'button', cellsalign: 'center', align: 'center', width: '7%', cellsrenderer: function () {
|
||||||
|
return "Use";
|
||||||
|
}, buttonclick: function (row) {
|
||||||
|
editrowpoli = row;
|
||||||
|
var offset = $("#gridsirab").offset();
|
||||||
|
var dataRecord = $("#gridsirab").jqxGrid('getrowdata', editrowpoli);
|
||||||
|
var keterangan = CKEDITOR.instances['keterangan'].getData();
|
||||||
|
var form_data = new FormData();
|
||||||
|
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||||
|
form_data.append('tabelawal', keterangan);
|
||||||
|
form_data.append('idtabel', dataRecord.id);
|
||||||
|
form_data.append('setnilai', 'R');
|
||||||
|
form_data.append('keterangan', 'addsirabketerangan');
|
||||||
|
form_data.append('_token', '{{csrf_token()}}');
|
||||||
|
$.ajax({
|
||||||
|
url : '{{ route("getResult") }}',
|
||||||
|
data : form_data,
|
||||||
|
type : 'POST',
|
||||||
|
contentType : false,
|
||||||
|
processData : false,
|
||||||
|
success : function (response) {
|
||||||
|
btncreateantibiotikvitek();
|
||||||
|
},
|
||||||
|
error: function (xhr, status, error) {
|
||||||
|
var response = xhr.responseJSON || {};
|
||||||
|
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||||
|
console.log(traceText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
});
|
||||||
|
$.post('{{ route("exCekAksess") }}', { nofoto: 'stiker', noregister: dataRecord.noregister, daftartgl: dataRecord.daftartgl, nm_spesimen: dataRecord.nm_spesimen, _token: '{{csrf_token()}}' },
|
||||||
|
function(data){
|
||||||
|
|
||||||
|
});
|
||||||
|
if (mikroMaster == 'buku02'){
|
||||||
|
$("#template_jenis").val('CCI');
|
||||||
|
$("#dlp").val('CCI');
|
||||||
|
}
|
||||||
|
if (statuse === null) {
|
||||||
|
swal({
|
||||||
|
title : 'Sample Belum Diverifikasi',
|
||||||
|
text : 'Harap Verifikasi Sample Terlebih Dahulu',
|
||||||
|
type : 'warning',
|
||||||
|
})
|
||||||
|
} else if (statuse.includes("Dibatalkan")){
|
||||||
|
swal({
|
||||||
|
title : 'Pemeriksaan di batalkan',
|
||||||
|
text : statuse,
|
||||||
|
type : 'warning',
|
||||||
|
})
|
||||||
|
} else if (statuse == 'Selesai' || statuse == 'Arsip') {
|
||||||
|
var hakakses = "{{Session('previlage')}}";
|
||||||
|
if (hakakses == 'supervisor'){
|
||||||
|
$('#divreadonly').hide();
|
||||||
|
$('#divperiksa').show();
|
||||||
|
$('#divawal').hide();
|
||||||
|
$('#btnsavedraft').hide();
|
||||||
|
$('#divadendumketerangan').show();
|
||||||
|
openlamanekpertise();
|
||||||
|
} else {
|
||||||
|
swal({
|
||||||
|
title : 'Ekspertise Final',
|
||||||
|
text : 'Hanya Akun SPV yang diperkenankan mengubah data Arsip',
|
||||||
|
type : 'warning',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$('#divreadonly').hide();
|
||||||
|
$('#divperiksa').show();
|
||||||
|
$('#divawal').hide();
|
||||||
|
if (dlp == '' || dlp == null){
|
||||||
|
$('#divtemplate').show();
|
||||||
|
$('.templatejawaban').hide();
|
||||||
|
$('.setelahdipilihtemplate').hide();
|
||||||
|
} else {
|
||||||
|
openlamanekpertise();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
function btnUnprintRow(id, event){
|
function btnUnprintRow(id, event){
|
||||||
if(event) event.preventDefault();
|
if(event) event.preventDefault();
|
||||||
$.post('{{ route("getResult") }}', { nofoto: id, komponen: '', isi: 'unprintrow', keterangan: 'printunprinttblantibiotik', _token: '{{ csrf_token() }}' },
|
$.post('{{ route("getResult") }}', { nofoto: id, komponen: '', isi: 'unprintrow', keterangan: 'printunprinttblantibiotik', _token: '{{ csrf_token() }}' },
|
||||||
@@ -4940,354 +5339,8 @@
|
|||||||
return "Expertise";
|
return "Expertise";
|
||||||
}, buttonclick: function (row) {
|
}, buttonclick: function (row) {
|
||||||
editrow = row;
|
editrow = row;
|
||||||
var offset = $("#gridpemeriksaan").offset();
|
|
||||||
var dataRecord = $("#gridpemeriksaan").jqxGrid('getrowdata', editrow);
|
var dataRecord = $("#gridpemeriksaan").jqxGrid('getrowdata', editrow);
|
||||||
$("#nofoto").val('');
|
|
||||||
$("#id_mikroorganismeoptional").val('').trigger('change');
|
|
||||||
|
|
||||||
for (var instance in CKEDITOR.instances) {
|
|
||||||
CKEDITOR.instances[instance].setData('');
|
|
||||||
}
|
|
||||||
if ( $.fn.DataTable.isDataTable('#tblkumanmanual1') ) {
|
|
||||||
$('#tblkumanmanual1').DataTable().clear().destroy();
|
|
||||||
}
|
|
||||||
if ( $.fn.DataTable.isDataTable('#tblkumanmanual2') ) {
|
|
||||||
$('#tblkumanmanual2').DataTable().clear().destroy();
|
|
||||||
}
|
|
||||||
if ( $.fn.DataTable.isDataTable('#tblvitek') ) {
|
|
||||||
$('#tblvitek').DataTable().clear().destroy();
|
|
||||||
}
|
|
||||||
$('.select2').val(null).select2().trigger('change');
|
|
||||||
$(".isiandasar").val('');
|
|
||||||
$(".ekspertiseteks").val('');
|
|
||||||
$(".ekspertiseseletc").val('');
|
|
||||||
$(".pilihankirby").val('');
|
|
||||||
$('input[type="checkbox"], input[type="radio"]').prop('checked', false).prop('disabled', false);
|
|
||||||
|
|
||||||
var goook = dataRecord.id;
|
|
||||||
var nofoto = dataRecord.nofoto;
|
|
||||||
var statuse = dataRecord.status;
|
var statuse = dataRecord.status;
|
||||||
var cekuser1 = dataRecord.excutor;
|
|
||||||
var cekuser2 = dataRecord.ppdssenior;
|
|
||||||
var cekuser3 = dataRecord.middleppds;
|
|
||||||
var cekuser4 = dataRecord.ppdsjunior;
|
|
||||||
var cekuser5 = dataRecord.iddokter;
|
|
||||||
var cekuser6 = dataRecord.analis;
|
|
||||||
var set01 = dataRecord.pasien_id;
|
|
||||||
var accnumber = dataRecord.nofoto;
|
|
||||||
var cekkesimpulan = dataRecord.kesimpulan;
|
|
||||||
var dlp = dataRecord.dlp;
|
|
||||||
var masteru = document.getElementById('master_userid').value;
|
|
||||||
var token = document.getElementById('token').value;
|
|
||||||
var sourceadendum = {
|
|
||||||
datatype: "json",
|
|
||||||
datafields: [
|
|
||||||
{ name: 'idne',type: 'text'},
|
|
||||||
{ name: 'tanggal',type: 'text'},
|
|
||||||
{ name: 'inputor',type: 'text'},
|
|
||||||
{ name: 'keterangan',type: 'text'},
|
|
||||||
{ name: 'jawaban',type: 'text'},
|
|
||||||
],
|
|
||||||
type: 'POST',
|
|
||||||
data: { val01:accnumber, _token: '{{csrf_token()}}' },
|
|
||||||
url: '{{ route("getadendum") }}',
|
|
||||||
};
|
|
||||||
var sourcedetail = {
|
|
||||||
datatype: "json",
|
|
||||||
datafields: [
|
|
||||||
{ name: 'idne',type: 'text'},
|
|
||||||
{ name: 'tanggal',type: 'text'},
|
|
||||||
{ name: 'jenis',type: 'text'},
|
|
||||||
{ name: 'nofoto',type: 'text'},
|
|
||||||
{ name: 'jenis',type: 'text'},
|
|
||||||
{ name: 'status',type: 'text'},
|
|
||||||
],
|
|
||||||
type: 'POST',
|
|
||||||
data: { val01:set01, _token: '{{csrf_token()}}' },
|
|
||||||
url: '{{ route("getriwayat") }}',
|
|
||||||
};
|
|
||||||
var sourcesirab = {
|
|
||||||
datatype: "json",
|
|
||||||
datafields: [
|
|
||||||
{ name: 'id',type: 'text'},
|
|
||||||
{ name: 'family',type: 'text'},
|
|
||||||
{ name: 'spesies',type: 'text'},
|
|
||||||
{ name: 'antibiotikall',type: 'text'},
|
|
||||||
{ name: 'antibiotik',type: 'text'},
|
|
||||||
{ name: 'subantibiotik',type: 'text'},
|
|
||||||
{ name: 'diskcontent',type: 'text'},
|
|
||||||
{ name: 'batasatas',type: 'text'},
|
|
||||||
{ name: 'midrange',type: 'text'},
|
|
||||||
{ name: 'batasbawah',type: 'text'},
|
|
||||||
{ name: 'sumber',type: 'text'},
|
|
||||||
{ name: 'kodedok',type: 'text'},
|
|
||||||
{ name: 'atu',type: 'text'},
|
|
||||||
{ name: 'kelompok',type: 'text'},
|
|
||||||
],
|
|
||||||
type: 'POST',
|
|
||||||
data: { val01:'sirab', _token: '{{csrf_token()}}' },
|
|
||||||
url: '{{ route("getriwayat") }}',
|
|
||||||
};
|
|
||||||
var dataadendum = new $.jqx.dataAdapter(sourceadendum);
|
|
||||||
var datadetail = new $.jqx.dataAdapter(sourcedetail);
|
|
||||||
var jsonSirab = new $.jqx.dataAdapter(sourcesirab);
|
|
||||||
$('#btnsavedraft').show();
|
|
||||||
$('#divadendumketerangan').hide();
|
|
||||||
$('#divtemplate').hide();
|
|
||||||
$('#pilihancontohuji').show();
|
|
||||||
$('#tekscontohuji').hide();
|
|
||||||
$('#pilihanlokasianatomi').show();
|
|
||||||
$('#tekslokasianatomi').hide();
|
|
||||||
$('.setelahdipilihtemplate').hide();
|
|
||||||
$("#asalpasien").html(dataRecord.asalpasien);
|
|
||||||
$("#modaliti").val(dataRecord.modality);
|
|
||||||
$("#dlp").val(dataRecord.dlp);
|
|
||||||
$("#template_jenis").val(dataRecord.dlp);
|
|
||||||
$("#nofoto").val(dataRecord.nofoto);
|
|
||||||
$("#norm").val(dataRecord.noregister);
|
|
||||||
$("#nonama").val(dataRecord.nmpasien);
|
|
||||||
$("#nokel").html(dataRecord.jkpasien);
|
|
||||||
$("#nousia").html(dataRecord.usia);
|
|
||||||
$("#noservis").html(dataRecord.tlsreques);
|
|
||||||
$("#nokamar").val(dataRecord.ruangan);
|
|
||||||
$("#nostatus").html(statuse);
|
|
||||||
$("#alamat").html(dataRecord.alamatpasien);
|
|
||||||
$("#tlppasien").html(dataRecord.tlppasien);
|
|
||||||
$("#periksa_id").val(dataRecord.id);
|
|
||||||
$("#ruangan").val(dataRecord.idruangan);
|
|
||||||
if (dataRecord.dokter_id == '0' || dataRecord.dokter_id == null || dataRecord.dokter_id == ''){
|
|
||||||
$("#dokter").val(masteru).select2().trigger('change');
|
|
||||||
} else {
|
|
||||||
$("#dokter").val(dataRecord.dokter_id).select2().trigger('change');
|
|
||||||
}
|
|
||||||
if (dataRecord.analis == '0' || dataRecord.analis == null || dataRecord.analis == ''){
|
|
||||||
$("#analis").val(masteru).select2().trigger('change');
|
|
||||||
} else {
|
|
||||||
$("#analis").val(dataRecord.analis).select2().trigger('change');
|
|
||||||
}
|
|
||||||
if (dataRecord.ppdssenior == '0' || dataRecord.ppdssenior == null || dataRecord.ppdssenior == ''){
|
|
||||||
$("#ppds3").val(masteru).select2().trigger('change');
|
|
||||||
} else {
|
|
||||||
$("#ppds3").val(dataRecord.ppdssenior).select2().trigger('change');
|
|
||||||
}
|
|
||||||
$("#diagnosa2").val(dataRecord.diagnosa2);
|
|
||||||
$("#diagnosa").val(dataRecord.diagnosa).select2().trigger('change');
|
|
||||||
$("#ppds1").val(dataRecord.ppdsjunior).select2().trigger('change');
|
|
||||||
$("#ppds2").val(dataRecord.middleppds).select2().trigger('change');
|
|
||||||
$("#otherppds").val(dataRecord.otherppds);
|
|
||||||
$("#otheras").val(dataRecord.ppdsas);
|
|
||||||
$("#kave").val(dataRecord.kd_spesimen);
|
|
||||||
$("#mas").val(dataRecord.nm_spesimen);
|
|
||||||
$("#berat").val(dataRecord.berat);
|
|
||||||
$("#klinis").val(dataRecord.klinis);
|
|
||||||
$("#klinisi").html(dataRecord.klinisi);
|
|
||||||
$('#sirabketerangan').hide();
|
|
||||||
CKEDITOR.instances['keterangan'].setData(dataRecord.keterangan)
|
|
||||||
CKEDITOR.instances['kesimpulan'].setData(dataRecord.kesimpulan)
|
|
||||||
$("#gridriwayat").jqxGrid({
|
|
||||||
width : '100%',
|
|
||||||
enablebrowserselection : true,
|
|
||||||
source : datadetail,
|
|
||||||
columnsresize : true,
|
|
||||||
theme : "energyblue",
|
|
||||||
autoheight : true,
|
|
||||||
pageable : true,
|
|
||||||
altrows : true,
|
|
||||||
selectionmode : 'multiplecellsextended',
|
|
||||||
columns : [
|
|
||||||
{ text: 'Date', datafield: 'tanggal', width: '60%', cellsalign: 'left', align: 'center' },
|
|
||||||
{ text: 'Type', datafield: 'jenis', width: '20%', cellsalign: 'left', align: 'center' },
|
|
||||||
{ text: 'Report', filterable: false, columntype: 'button', align: 'center', width: '20%', cellsrenderer: function () {
|
|
||||||
return "View";
|
|
||||||
}, buttonclick: function (row) {
|
|
||||||
editrowjabatan = row;
|
|
||||||
var offset = $("#gridriwayat").offset();
|
|
||||||
var dataRecord = $("#gridriwayat").jqxGrid('getrowdata', editrowjabatan);
|
|
||||||
var goook = dataRecord.idne;
|
|
||||||
var status = dataRecord.status;
|
|
||||||
var nofoto = dataRecord.nofoto;
|
|
||||||
var masterk = document.getElementById('master_kelompok').value;
|
|
||||||
var token = document.getElementById('token').value;
|
|
||||||
var home = '{{URL::to("/")}}';
|
|
||||||
if (status == 'Selesai' || status == 'Arsip') {
|
|
||||||
var alamat = home+'/hasil/'+dataRecord.nofoto;
|
|
||||||
window.open(alamat,'_blank');
|
|
||||||
} else {
|
|
||||||
if (masterk == 'supervisor'){
|
|
||||||
var alamat = home+'/hasil/'+dataRecord.nofoto;
|
|
||||||
window.open(alamat,'_blank');
|
|
||||||
} else {
|
|
||||||
swal({
|
|
||||||
title : 'Stop',
|
|
||||||
text : 'Cannot Print Un Verified Expertise',
|
|
||||||
type : 'warning',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
]
|
|
||||||
});
|
|
||||||
$("#gridadendum").jqxGrid({
|
|
||||||
width : '100%',
|
|
||||||
enablebrowserselection : true,
|
|
||||||
source : dataadendum,
|
|
||||||
columnsresize : true,
|
|
||||||
theme : "energyblue",
|
|
||||||
autoheight : true,
|
|
||||||
pageable : true,
|
|
||||||
altrows : true,
|
|
||||||
selectionmode : 'multiplecellsextended',
|
|
||||||
columns : [
|
|
||||||
{ text: 'Date', datafield: 'tanggal', width: '20%', cellsalign: 'left', align: 'center' },
|
|
||||||
{ text: 'Excutor', datafield: 'inputor', width: '20%', cellsalign: 'left', align: 'center' },
|
|
||||||
{ text: 'Type', datafield: 'keterangan', width: '50%', cellsalign: 'left', align: 'center' },
|
|
||||||
{ text: 'Report', filterable: false, columntype: 'button', align: 'center', width: '10%', cellsrenderer: function () {
|
|
||||||
return "View";
|
|
||||||
}, buttonclick: function (row) {
|
|
||||||
editrowjabatan = row;
|
|
||||||
var offset = $("#gridadendum").offset();
|
|
||||||
var dataRecord = $("#gridadendum").jqxGrid('getrowdata', editrowjabatan);
|
|
||||||
var goook = dataRecord.jawaban;
|
|
||||||
var newWindow = window.open('', '', 'width=800, height=500'),
|
|
||||||
document = newWindow.document.open(),
|
|
||||||
pageContent =
|
|
||||||
'<!DOCTYPE html>\n' +
|
|
||||||
'<html>\n' +
|
|
||||||
'<head>\n' +
|
|
||||||
'<meta charset="utf-8" />\n' +
|
|
||||||
'<title>Laboratory Information System</title>\n' +
|
|
||||||
'</head>\n' +
|
|
||||||
'<body>' + goook + '</body>\n</html>';
|
|
||||||
document.write(pageContent);
|
|
||||||
document.close();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
]
|
|
||||||
});
|
|
||||||
$("#gridsirab").jqxGrid({
|
|
||||||
width : '100%',
|
|
||||||
showfilterrow : true,
|
|
||||||
filterable : true,
|
|
||||||
source : jsonSirab,
|
|
||||||
columnsresize : true,
|
|
||||||
theme : "energyblue",
|
|
||||||
autoheight : true,
|
|
||||||
pageable : true,
|
|
||||||
altrows : true,
|
|
||||||
selectionmode : 'multiplecellsextended',
|
|
||||||
columns : [
|
|
||||||
{ text: 'Spesies', datafield: 'spesies', width: '30%', cellsalign: 'left', align: 'center' },
|
|
||||||
{ text: 'Antibiotik', datafield: 'antibiotikall', width: '21%', cellsalign: 'left', align: 'center' },
|
|
||||||
{ text: 'Disk Content', datafield: 'diskcontent', width: '7%', cellsalign: 'left', align: 'center' },
|
|
||||||
{ text: 'S', datafield: 'batasatas', width: '7%', cellsalign: 'center', align: 'center' },
|
|
||||||
{ text: 'I', datafield: 'midrange', width: '7%', cellsalign: 'center', align: 'center' },
|
|
||||||
{ text: 'R', datafield: 'batasbawah', width: '7%', cellsalign: 'center', align: 'center' },
|
|
||||||
{ text: 'Use S', filterable: false, columntype: 'button', cellsalign: 'center', align: 'center', width: '7%', cellsrenderer: function () {
|
|
||||||
return "Use";
|
|
||||||
}, buttonclick: function (row) {
|
|
||||||
editrowpoli = row;
|
|
||||||
var offset = $("#gridsirab").offset();
|
|
||||||
var dataRecord = $("#gridsirab").jqxGrid('getrowdata', editrowpoli);
|
|
||||||
var keterangan = CKEDITOR.instances['keterangan'].getData();
|
|
||||||
var form_data = new FormData();
|
|
||||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
|
||||||
form_data.append('tabelawal', keterangan);
|
|
||||||
form_data.append('idtabel', dataRecord.id);
|
|
||||||
form_data.append('setnilai', 'S');
|
|
||||||
form_data.append('keterangan', 'addsirabketerangan');
|
|
||||||
form_data.append('_token', '{{csrf_token()}}');
|
|
||||||
$.ajax({
|
|
||||||
url : '{{ route("getResult") }}',
|
|
||||||
data : form_data,
|
|
||||||
type : 'POST',
|
|
||||||
contentType : false,
|
|
||||||
processData : false,
|
|
||||||
success : function (response) {
|
|
||||||
btncreateantibiotikvitek();
|
|
||||||
},
|
|
||||||
error: function (xhr, status, error) {
|
|
||||||
var response = xhr.responseJSON || {};
|
|
||||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
|
||||||
console.log(traceText);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ text: 'Use I', filterable: false, columntype: 'button', cellsalign: 'center', align: 'center', width: '7%', cellsrenderer: function () {
|
|
||||||
return "Use";
|
|
||||||
}, buttonclick: function (row) {
|
|
||||||
editrowpoli = row;
|
|
||||||
var offset = $("#gridsirab").offset();
|
|
||||||
var dataRecord = $("#gridsirab").jqxGrid('getrowdata', editrowpoli);
|
|
||||||
var keterangan = CKEDITOR.instances['keterangan'].getData();
|
|
||||||
var form_data = new FormData();
|
|
||||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
|
||||||
form_data.append('tabelawal', keterangan);
|
|
||||||
form_data.append('idtabel', dataRecord.id);
|
|
||||||
form_data.append('setnilai', 'I');
|
|
||||||
form_data.append('keterangan', 'addsirabketerangan');
|
|
||||||
form_data.append('_token', '{{csrf_token()}}');
|
|
||||||
$.ajax({
|
|
||||||
url : '{{ route("getResult") }}',
|
|
||||||
data : form_data,
|
|
||||||
type : 'POST',
|
|
||||||
contentType : false,
|
|
||||||
processData : false,
|
|
||||||
success : function (response) {
|
|
||||||
btncreateantibiotikvitek();
|
|
||||||
},
|
|
||||||
error: function (xhr, status, error) {
|
|
||||||
var response = xhr.responseJSON || {};
|
|
||||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
|
||||||
console.log(traceText);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ text: 'Use R', filterable: false, columntype: 'button', cellsalign: 'center', align: 'center', width: '7%', cellsrenderer: function () {
|
|
||||||
return "Use";
|
|
||||||
}, buttonclick: function (row) {
|
|
||||||
editrowpoli = row;
|
|
||||||
var offset = $("#gridsirab").offset();
|
|
||||||
var dataRecord = $("#gridsirab").jqxGrid('getrowdata', editrowpoli);
|
|
||||||
var keterangan = CKEDITOR.instances['keterangan'].getData();
|
|
||||||
var form_data = new FormData();
|
|
||||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
|
||||||
form_data.append('tabelawal', keterangan);
|
|
||||||
form_data.append('idtabel', dataRecord.id);
|
|
||||||
form_data.append('setnilai', 'R');
|
|
||||||
form_data.append('keterangan', 'addsirabketerangan');
|
|
||||||
form_data.append('_token', '{{csrf_token()}}');
|
|
||||||
$.ajax({
|
|
||||||
url : '{{ route("getResult") }}',
|
|
||||||
data : form_data,
|
|
||||||
type : 'POST',
|
|
||||||
contentType : false,
|
|
||||||
processData : false,
|
|
||||||
success : function (response) {
|
|
||||||
btncreateantibiotikvitek();
|
|
||||||
},
|
|
||||||
error: function (xhr, status, error) {
|
|
||||||
var response = xhr.responseJSON || {};
|
|
||||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
|
||||||
console.log(traceText);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
]
|
|
||||||
});
|
|
||||||
$.post('{{ route("exCekAksess") }}', { nofoto: 'stiker', noregister: dataRecord.noregister, daftartgl: dataRecord.daftartgl, nm_spesimen: dataRecord.nm_spesimen, _token: '{{csrf_token()}}' },
|
|
||||||
function(data){
|
|
||||||
|
|
||||||
});
|
|
||||||
if (master == 'buku02'){
|
|
||||||
$("#template_jenis").val('CCI');
|
|
||||||
$("#dlp").val('CCI');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (statuse === null) {
|
if (statuse === null) {
|
||||||
swal({
|
swal({
|
||||||
title : 'Sample Belum Diverifikasi',
|
title : 'Sample Belum Diverifikasi',
|
||||||
@@ -5301,23 +5354,18 @@
|
|||||||
type : 'warning',
|
type : 'warning',
|
||||||
})
|
})
|
||||||
} else if (statuse == 'Selesai' || statuse == 'Arsip') {
|
} else if (statuse == 'Selesai' || statuse == 'Arsip') {
|
||||||
$('#divreadonly').hide();
|
var hakakses = "{{Session('previlage')}}";
|
||||||
$('#divperiksa').show();
|
if (hakakses == 'supervisor'){
|
||||||
$('#divawal').hide();
|
window.location.href = mikroExpertiseBaseUrl + '/' + dataRecord.id + '/expertise?from=' + encodeURIComponent(mikroMaster);
|
||||||
$('#btnsavedraft').hide();
|
|
||||||
$('#divadendumketerangan').show();
|
|
||||||
openlamanekpertise();
|
|
||||||
} else {
|
|
||||||
$('#divreadonly').hide();
|
|
||||||
$('#divperiksa').show();
|
|
||||||
$('#divawal').hide();
|
|
||||||
if (dlp == '' || dlp == null){
|
|
||||||
$('#divtemplate').show();
|
|
||||||
$('.templatejawaban').hide();
|
|
||||||
$('.setelahdipilihtemplate').hide();
|
|
||||||
} else {
|
} else {
|
||||||
openlamanekpertise();
|
swal({
|
||||||
|
title : 'Ekspertise Final',
|
||||||
|
text : 'Hanya Akun SPV yang diperkenankan mengubah data Arsip',
|
||||||
|
type : 'warning',
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
window.location.href = mikroExpertiseBaseUrl + '/' + dataRecord.id + '/expertise?from=' + encodeURIComponent(mikroMaster);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -5355,6 +5403,35 @@
|
|||||||
{ text: 'Duration', cellsrenderer: tlsdurasi, width: 100, cellsalign: 'left', align: 'center' },
|
{ text: 'Duration', cellsrenderer: tlsdurasi, width: 100, cellsalign: 'left', align: 'center' },
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
let hasOpenedExpertiseOnLoad = false;
|
||||||
|
$("#gridpemeriksaan").off('bindingcomplete.autoExpertise').on('bindingcomplete.autoExpertise', function () {
|
||||||
|
var focusPeriksaId = $('#focus_periksa_id').val();
|
||||||
|
var shouldOpenExpertise = $('#open_expertise_on_load').val() === '1';
|
||||||
|
if (!shouldOpenExpertise || hasOpenedExpertiseOnLoad || !focusPeriksaId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var rows = $("#gridpemeriksaan").jqxGrid('getrows') || [];
|
||||||
|
var targetRecord = null;
|
||||||
|
$.each(rows, function (_, row) {
|
||||||
|
if (String(row.id) === String(focusPeriksaId)) {
|
||||||
|
targetRecord = row;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
hasOpenedExpertiseOnLoad = true;
|
||||||
|
if (targetRecord) {
|
||||||
|
openExpertiseDataRecord(targetRecord);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
swal({
|
||||||
|
title : 'Data tidak ditemukan',
|
||||||
|
text : 'Sample expertise tidak ditemukan pada daftar asal.',
|
||||||
|
type : 'warning',
|
||||||
|
});
|
||||||
|
});
|
||||||
$("html, body").animate({ scrollTop: 0 }, "slow");
|
$("html, body").animate({ scrollTop: 0 }, "slow");
|
||||||
}
|
}
|
||||||
$(window).on('load', function () {
|
$(window).on('load', function () {
|
||||||
@@ -6022,6 +6099,11 @@
|
|||||||
openedpage();
|
openedpage();
|
||||||
});
|
});
|
||||||
$("#btnkembali").click(function() {
|
$("#btnkembali").click(function() {
|
||||||
|
var returnUrl = $('#expertise_return_url').val();
|
||||||
|
if (returnUrl) {
|
||||||
|
window.location.href = returnUrl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
$('#divperiksa').hide();
|
$('#divperiksa').hide();
|
||||||
$('#divreadonly').hide();
|
$('#divreadonly').hide();
|
||||||
$('#divawal').show();
|
$('#divawal').show();
|
||||||
@@ -6122,6 +6204,7 @@
|
|||||||
formdata.set('lsg_pewarnaanlain', lsg_pewarnaanlain);
|
formdata.set('lsg_pewarnaanlain', lsg_pewarnaanlain);
|
||||||
formdata.set('viralload', viralload);
|
formdata.set('viralload', viralload);
|
||||||
formdata.set('nilai_kritis', $('#nilai_kritis').is(':checked') ? '1' : '0');
|
formdata.set('nilai_kritis', $('#nilai_kritis').is(':checked') ? '1' : '0');
|
||||||
|
formdata.set('master_mikro', $('#master_lokasi').val());
|
||||||
formdata.set('_token', '{{ csrf_token() }}');
|
formdata.set('_token', '{{ csrf_token() }}');
|
||||||
$.each(checkboxValues, (key, val) => formdata.set(key, val));
|
$.each(checkboxValues, (key, val) => formdata.set(key, val));
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|||||||
@@ -30,7 +30,12 @@
|
|||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title mb-3">Sample Yang Belum Dilaporkan</h5>
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||||
|
<h5 class="card-title mb-0">Sample Yang Belum Dilaporkan</h5>
|
||||||
|
<a href="{{ route('criticalValueNotificationExport', ['type' => 'pending']) }}" class="btn btn-success btn-sm">
|
||||||
|
Export Excel
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
@if($items->isEmpty())
|
@if($items->isEmpty())
|
||||||
<div class="alert alert-info mb-0">Tidak ada sample nilai kritis yang perlu dilaporkan.</div>
|
<div class="alert alert-info mb-0">Tidak ada sample nilai kritis yang perlu dilaporkan.</div>
|
||||||
@@ -105,7 +110,12 @@
|
|||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title mb-3">Riwayat Nilai Kritis Yang Sudah Ditindaklanjuti</h5>
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||||
|
<h5 class="card-title mb-0">Riwayat Nilai Kritis Yang Sudah Ditindaklanjuti</h5>
|
||||||
|
<a href="{{ route('criticalValueNotificationExport', ['type' => 'followed']) }}" class="btn btn-success btn-sm">
|
||||||
|
Export Excel
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
@if($followedItems->isEmpty())
|
@if($followedItems->isEmpty())
|
||||||
<div class="alert alert-secondary mb-0">Belum ada riwayat tindak lanjut.</div>
|
<div class="alert alert-secondary mb-0">Belum ada riwayat tindak lanjut.</div>
|
||||||
@else
|
@else
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ Route::post('getnolabnorm', [DokterController::class, 'getNOLabnorm'])->name('ge
|
|||||||
|
|
||||||
Route::group(['middleware' => 'project.ipg'], function() {
|
Route::group(['middleware' => 'project.ipg'], function() {
|
||||||
Route::get('getkalenderlist', [FrontpageController::class, 'getKalenderlist'])->name('getkalenderlist');
|
Route::get('getkalenderlist', [FrontpageController::class, 'getKalenderlist'])->name('getkalenderlist');
|
||||||
|
Route::get('mikro/{periksa}/expertise', [FrontpageController::class, 'viewMikroExpertise'])->name('mikro.expertise');
|
||||||
Route::get('mikro/{id}', [FrontpageController::class, 'viewMikro']);
|
Route::get('mikro/{id}', [FrontpageController::class, 'viewMikro']);
|
||||||
Route::get('/autocomplete-klinik', [FrontpageController::class, 'autocompleteKlinik'])->name('autocomplete.klinik');
|
Route::get('/autocomplete-klinik', [FrontpageController::class, 'autocompleteKlinik'])->name('autocomplete.klinik');
|
||||||
Route::get('/autocomplete-dokter', [FrontpageController::class, 'autocompleteDokter'])->name('autocomplete.dokter');
|
Route::get('/autocomplete-dokter', [FrontpageController::class, 'autocompleteDokter'])->name('autocomplete.dokter');
|
||||||
@@ -114,6 +115,7 @@ Route::group(['middleware' => 'project.ipg'], function() {
|
|||||||
Route::post('dokter/getListadendum', [DokterController::class, 'getListadendum'])->name('getListadendum');
|
Route::post('dokter/getListadendum', [DokterController::class, 'getListadendum'])->name('getListadendum');
|
||||||
Route::post('dokter/exprinttandaterima', [DokterController::class, 'exTandaTerima'])->name('exTandaTerima');
|
Route::post('dokter/exprinttandaterima', [DokterController::class, 'exTandaTerima'])->name('exTandaTerima');
|
||||||
Route::get('notifikasi/nilai-kritis', [DokterController::class, 'criticalValueNotifications'])->name('criticalValueNotifications');
|
Route::get('notifikasi/nilai-kritis', [DokterController::class, 'criticalValueNotifications'])->name('criticalValueNotifications');
|
||||||
|
Route::get('notifikasi/nilai-kritis/export', [DokterController::class, 'criticalValueNotificationExport'])->name('criticalValueNotificationExport');
|
||||||
Route::get('notifikasi/nilai-kritis/summary', [DokterController::class, 'criticalValueNotificationSummary'])->name('criticalValueNotificationSummary');
|
Route::get('notifikasi/nilai-kritis/summary', [DokterController::class, 'criticalValueNotificationSummary'])->name('criticalValueNotificationSummary');
|
||||||
Route::get('notifikasi/nilai-kritis/{id}', [DokterController::class, 'criticalValueNotificationOpen'])->name('criticalValueNotificationOpen');
|
Route::get('notifikasi/nilai-kritis/{id}', [DokterController::class, 'criticalValueNotificationOpen'])->name('criticalValueNotificationOpen');
|
||||||
Route::post('notifikasi/nilai-kritis/{id}/mark-read', [DokterController::class, 'criticalValueNotificationMarkRead'])->name('criticalValueNotificationMarkRead');
|
Route::post('notifikasi/nilai-kritis/{id}/mark-read', [DokterController::class, 'criticalValueNotificationMarkRead'])->name('criticalValueNotificationMarkRead');
|
||||||
|
|||||||
Reference in New Issue
Block a user