1474 lines
64 KiB
PHP
1474 lines
64 KiB
PHP
<?php
|
||
|
||
namespace App\Http\Controllers;
|
||
use Illuminate\Http\Request;
|
||
use Illuminate\Support\Facades\DB;
|
||
use Illuminate\Support\Facades\Log;
|
||
use App\Services\AstmMessageService;
|
||
use App\Services\SerialCommunicationService;
|
||
use App\Http\Controllers\SendMail;
|
||
use App\Http\Controllers\DokterController;
|
||
use App\Periksa;
|
||
use App\PeriksaTest;
|
||
use App\Pasien;
|
||
use App\Poli;
|
||
use App\Subpoli;
|
||
use App\Subsubpoli;
|
||
use App\Ruangan;
|
||
use App\User;
|
||
use App\Jadwalperiksa;
|
||
use App\Setting;
|
||
use App\PeriksaSYNC;
|
||
use App\Logbook;
|
||
use App\Worklist;
|
||
use App\Jawaban;
|
||
use App\PendaftaranOnListiner;
|
||
use App\Subjawaban;
|
||
use App\Organisms;
|
||
use Validator;
|
||
use Session;
|
||
use DateTime;
|
||
use QrCode;
|
||
|
||
use Carbon\Carbon;
|
||
use Aranyasen\HL7\Message;
|
||
use Aranyasen\HL7\Connection;
|
||
use Aranyasen\HL7\Segment;
|
||
use Aranyasen\HL7\Segments\MSH;
|
||
use Aranyasen\HL7\Segments\PV1;
|
||
use Aranyasen\HL7\Segments\OBR;
|
||
use Aranyasen\HL7\Segments\ORC;
|
||
use Aranyasen\HL7\Segments\PID;
|
||
use Aranyasen\HL7\Segments\OBX;
|
||
use Aranyasen\HL7\Segments\NTE;
|
||
use Aranyasen\HL7\Segments\EVN;
|
||
class FrontpageController extends Controller
|
||
{
|
||
public function index() {
|
||
$data = [];
|
||
$data['antrkrmsitu']= PeriksaSYNC::where('created_by', Session('username'))->where('status', '')->count();
|
||
$i = 0;
|
||
$yesterday = date("Y-m-d", strtotime( '-1 days' ) );
|
||
$previlage = Session('previlage');
|
||
$iduser = Session('id');
|
||
$semua = 0;
|
||
$fnk = 0;
|
||
$fk = 0;
|
||
$mri = 0;
|
||
$ct = 0;
|
||
$usg = 0;
|
||
if ($previlage && $previlage != '') {
|
||
$getttd = User::where('id', $iduser)->first();
|
||
$tandatangan = $getttd->getTandatangan->xfile ?? '/boxed-bg.jpg';
|
||
$ppds = User::where('previlage', 'ppds')->count();
|
||
$unveri = Periksa::where('status', 'like', '%Un Verified%')->count();
|
||
$hariini = Periksa::whereDate('daftar', Carbon::today())->count();
|
||
$kemarin = Periksa::whereDate('daftar', $yesterday)->count();
|
||
if ($hariini > $kemarin){
|
||
$persen = $hariini - $kemarin;
|
||
$tulis = '+ '.$persen;
|
||
} else {
|
||
$persen = $kemarin - $hariini;
|
||
$tulis = '- '.$persen;
|
||
}
|
||
$data['tandatangan'] = $tandatangan;
|
||
$data['totalkasus'] = $semua;
|
||
$data['totalkasusfnk'] = $fnk;
|
||
$data['totalkasusfk'] = $fk;
|
||
$data['totalkasusmri'] = $mri;
|
||
$data['totalkasusct'] = $ct;
|
||
$data['totalkasususg'] = $usg;
|
||
$data['totalppds'] = $ppds;
|
||
$data['butuhverifikasi'] = $unveri;
|
||
$data['antrian'] = $hariini;
|
||
$data['persenantrian'] = $tulis;
|
||
return view('dokter.dashborad', $data);
|
||
} else {
|
||
try {
|
||
$qrcode = base64_encode(QrCode::format('png')->size(100)->generate(url('/')));
|
||
} catch (\Exception $e) {
|
||
$qrcode = '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';
|
||
}
|
||
$getdomain = url()->current();
|
||
$data['qrcode'] = $qrcode;
|
||
$data['getdomain'] = $getdomain;
|
||
$data['firebaseid'] = '';
|
||
return view('jadwal', $data);
|
||
}
|
||
}
|
||
public function getKalenderlist() {
|
||
$data = Periksa::select('id as idne', 'mulai as start', 'akhir as end', 'reques as description', 'urgensi as location', 'ruangan as calendar', DB::raw("CONCAT('on ', ruangan, ' Request ', reques, ' for Patient ID ', noregister) as subject"), 'daftar', 'ruangan_id')->where('daftar', '>=', Carbon::yesterday())->orderBy('daftar', 'ASC')->orderBy('ruangan_id', 'ASC')->get();
|
||
echo json_encode($data);
|
||
}
|
||
public function pendaftaran() {
|
||
if (Session::get('previlage') == ''){
|
||
return redirect('/login');
|
||
} else {
|
||
$polis = Ruangan::groupBy('poli')->select('poli')->get();
|
||
$data = [];
|
||
$i = 0;
|
||
foreach ($polis as $poli) {
|
||
$j = 0;
|
||
$poli = $poli->poli;
|
||
$rooms = Ruangan::where('poli', $poli)->orderBy('ruangan', 'ASC')->get();
|
||
foreach ($rooms as $room) {
|
||
$data['ruangans'][$i][$j]['id'] = $room->id;
|
||
$data['ruangans'][$i][$j]['ruangan']= $room->ruangan;
|
||
$j++;
|
||
}
|
||
$i++;
|
||
}
|
||
$x = 0;
|
||
foreach ($polis as $poli) {
|
||
$data['polis'][$x] = $poli->poli;
|
||
$x++;
|
||
}
|
||
if ($x == 0){
|
||
$data['ruangans'][0][0]['id'] = 0;
|
||
$data['ruangans'][0][0]['ruangan'] = 'No Data';
|
||
$data['polis'][0] = 'No Data';
|
||
}
|
||
$dokters = User::where('previlage', 'supervisor')->get();
|
||
$previlage = Session('previlage');
|
||
$data['lisspesimen']= Organisms::where('kelompok', 'listkodespesimen')->get();
|
||
$data['dokters'] = $dokters;
|
||
$data['polis'] = Poli::all();
|
||
return view('pendaftaran', $data);
|
||
}
|
||
}
|
||
public function viewMikro() {
|
||
if (!Session::has('previlage')) {
|
||
return redirect('/login');
|
||
}
|
||
$data = [
|
||
'dokters' => User::where('previlage', 'supervisor')->get(),
|
||
'allppds' => User::where('previlage', 'ppds')->get(),
|
||
'allanalis' => User::where('previlage', 'analis')->get(),
|
||
'lokasi' => 'Lab Mikrobiologi',
|
||
'master' => 'mikro',
|
||
'antrkrmsitu' => 0,
|
||
];
|
||
$allOrganisms = Organisms::orderBy('name', 'ASC')->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');
|
||
|
||
// Gabungkan data
|
||
$data = array_merge($data, [
|
||
'organismes' => $biakankulturData['organismes'],
|
||
'bacterycateggories' => $biakankulturData['categories'],
|
||
'mikroorganismes' => $mikroorganismeData['organismes'],
|
||
'mikroorganismestlist' => $mikroorganismeData['categories'],
|
||
]);
|
||
|
||
// Mapping nama kelompok di array dengan nama kelompok di tabel database
|
||
$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',
|
||
'jsonmediabap' => 'Media BAP',
|
||
'jsonmediacap' => 'Media CAP',
|
||
'jsonmediamcconkey' => 'Media Mc Conkey',
|
||
'jsonpemeriksaantl' => 'Pemeriksaan Tambahan Lainnya',
|
||
'jsonbiakankultur' => 'Biakan Kultur',
|
||
];
|
||
|
||
// Ambil data tambahan untuk kelompok organisme dari koleksi yang sudah diambil
|
||
foreach ($kelompokMapping as $key => $kelompok) {
|
||
$data[$key] = $allOrganisms->where('kelompok', $kelompok)->values();
|
||
}
|
||
|
||
// Kembalikan view dengan data
|
||
return view('dokter.ppds', $data);
|
||
}
|
||
public function pengambilan() {
|
||
if (Session::get('previlage') == ''){
|
||
return redirect('/login');
|
||
} else {
|
||
$polis = Ruangan::groupBy('poli')->select('poli')->get();
|
||
$data = [];
|
||
return view('pengambilan', $data);
|
||
}
|
||
}
|
||
public function auto(Request $request) {
|
||
return response()->json(DB::table('pasien')->orderBy('id', 'asc')->get()->map(fn($pasien) => ['id' => $pasien->id, 'nama' => $pasien->nama, 'tulis' => $pasien->nama . ' ( ' . $pasien->alamat . ' ' . $pasien->kota . ' )']));
|
||
}
|
||
public function kirimWA(Request $request) {
|
||
$id = $request->input('set01');
|
||
$email = $request->input('set02');
|
||
$hape = $request->input('set03');
|
||
$getdata = Periksa::where('id', $id)->first();
|
||
$nofoto = $getdata->nofoto;
|
||
$norm = $getdata->noregister;
|
||
Pasien::where('norm', $norm)->update([
|
||
'telpon' => $hape
|
||
]);
|
||
$alamathasil = url('/').'/hasil/'.$nofoto;
|
||
$linke = 'Berikut%20kami%20kirimkan%20hasil%20dari%20pemeriksaan%20foto%20anda,%20silahkan%20klik%20tautan%20dibawah%20ini%0a'.$alamathasil;
|
||
$linke = 'https://api.whatsapp.com/send?phone='.$hape.'&text='.$linke;
|
||
echo $linke;
|
||
}
|
||
public function getListdoneonly(Request $request) {
|
||
$arraylist = [];
|
||
$jenis = $request->input('val01');
|
||
$mulai = $request->input('val02');
|
||
$akhir = $request->input('val03');
|
||
$data = $this->getDataBasedOnMaster('pengambilan', $jenis, $mulai, $akhir, '');
|
||
if (!empty($data)){
|
||
$dataArray = $data->get()->toArray();
|
||
$total = count($dataArray);
|
||
$arraylist = array_map(function ($list) use ($master) {
|
||
$tgl = $list['tgllahirpasien'];
|
||
$poli_id = $list['poli_id'];
|
||
$foto = $list['foto'];
|
||
$baca = $list['baca'];
|
||
$export = $list['export'];
|
||
$nofoto = $list['nofoto'];
|
||
$noregister = $list['noregister'];
|
||
$usia = $list['usia'];
|
||
$urgensi = $list['urgensi'];
|
||
$reques = $list['reques'];
|
||
$ruangan = $list['ruangan'];
|
||
$daftar = $list['daftar'];
|
||
$status = $list['status'];
|
||
$asalpasien = $list['asalpasien'];
|
||
$dokter_id = $list['dokter_id'];
|
||
$ppdssenior = $list['ppdssenior'];
|
||
$middleppds = $list['middleppds'];
|
||
$ppdsjunior = $list['ppdsjunior'];
|
||
$middleppds2= $list['ppdsmiddle2'];
|
||
$ppdsjunior2= $list['ppdsjunior2'];
|
||
$pasiedin = $list['pasien_id'];
|
||
$keterangan = $list['keterangan'];
|
||
$kesimpulan = $list['kesimpulan'];
|
||
$verifikasi = $list['verifikasi'];
|
||
$nama = $list['nmpasien'];
|
||
$jk = $list['jkpasien'];
|
||
$telpon = $list['tlppasien'];
|
||
$alamat = $list['alamatpasien'];
|
||
$tgllahir = $list['tgllahirpasien'];
|
||
$from = $verifikasi ? \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $verifikasi) : null;
|
||
$to = $verifikasi ? \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $verifikasi)->toString() : '';
|
||
if ($from && $from->isValid()) {
|
||
$durasi = $verifikasi ? \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $verifikasi)->diffForHumans($from) : 'On Progress';
|
||
} else {
|
||
$durasi = 'On Progress';
|
||
}
|
||
if ($middleppds2 != 0){
|
||
$ppdsas = 'Middle';
|
||
$otherppds = $list['nmppdsmiddle2'];
|
||
} else {
|
||
$ppdsas = 'Junior';
|
||
$otherppds = $ppdsjunior2;
|
||
$otherppds = $list['nmppdsjunior2'];
|
||
}
|
||
|
||
$arrdaftar = explode(" ", $daftar);
|
||
$tgldaftar = $arrdaftar[0];
|
||
$jamdaftar = $arrdaftar[1];
|
||
$daftar = $tgldaftar;
|
||
$tglfoto = $foto ?: date("Y-m-d H:i:s");
|
||
$datatampilan = $this->setStatusStyles($status, $nofoto, $noregister, $nama, $telpon, $jk, $usia, $urgensi, $reques, $ruangan, $daftar, $asalpasien);
|
||
return [
|
||
'asalpasien' => $list['asalpasien'],
|
||
'tlsnofoto' => $datatampilan['nofoto'],
|
||
'tlsnoregister' => $datatampilan['noregister'],
|
||
'tlsnama' => $datatampilan['nama'],
|
||
'tlsjk' => $datatampilan['jk'],
|
||
'tlsusia' => $datatampilan['usia'],
|
||
'tlsurgensi' => ($list['urgensi'] == 'CITO') ? '<span style="background-color: red;">C I T O</span>' : $datatampilan['urgensi'],
|
||
'tlsreques' => $datatampilan['reques'],
|
||
'tlsruangan' => $list['ruangan'],
|
||
'tlsdaftar' => $datatampilan['daftar'],
|
||
'tlsstatus' => $datatampilan['status'],
|
||
'id' => $list['id'],
|
||
'nofoto' => $nofoto,
|
||
'noregister' => $noregister,
|
||
'nama' => $nama,
|
||
'jk' => $jk,
|
||
'usia' => $usia,
|
||
'urgensi' => $urgensi,
|
||
'poli' => $reques,
|
||
'idpasien' => $pasiedin,
|
||
'ruangan' => $ruangan,
|
||
'daftar' => $list['daftar'],
|
||
'daftartgl' => $daftar,
|
||
'daftarjam' => $jamdaftar,
|
||
'status' => $status,
|
||
'dokter' => $master != 'kiriman' ? $list['nmdokter'] : '',
|
||
'ppds1' => $master != 'kiriman' ? $list['nmppdssenior'] : '',
|
||
'ppds2' => $master != 'kiriman' ? $list['nmmiddleppds'] : '',
|
||
'ppds3' => $master != 'kiriman' ? $list['nmppdsjunior'] : '',
|
||
'keterangan' => $keterangan,
|
||
'kesimpulan' => $kesimpulan,
|
||
'idruangan' => $list['ruangan_id'],
|
||
'iddokter' => $list['dokter_id'],
|
||
'ppdssenior' => $list['ppdssenior'],
|
||
'middleppds' => $list['middleppds'],
|
||
'ppdsjunior' => $list['ppdsjunior'],
|
||
'diagnosa' => $list['diagnosa'],
|
||
'diagnosa2' => $list['diagnosa2'],
|
||
'kd_spesimen' => $list['kd_spesimen'],
|
||
'nm_spesimen' => $list['nm_spesimen'],
|
||
'berat' => $list['berat'],
|
||
'klinis' => $list['klinis'],
|
||
'klinisi' => $list['klinisi'],
|
||
'filefoto' => $list['filefoto'],
|
||
'dlp' => $list['dlp'],
|
||
'analis' => $list['analis'],
|
||
'excutor' => $list['excutor'],
|
||
'modality' => $list['modality'],
|
||
'viewfoto' => $list['foto'],
|
||
'tglfoto' => $tglfoto,
|
||
'nmppdssenior' => $list['nmppdssenior'],
|
||
'nmmiddleppds' => $list['nmmiddleppds'],
|
||
'nmppdsjunior' => $list['nmppdsjunior'],
|
||
'nmppdsmiddle2' => $list['nmppdsmiddle2'],
|
||
'nmppdsjunior2' => $list['nmppdsjunior2'],
|
||
'nmanalis' => $list['nmanalis'],
|
||
'nmexcutor' => $list['nmexcutor'],
|
||
'telpon' => $list['tlppasien'],
|
||
'asuransi' => $list['asuransi'],
|
||
'tgllahir' => $list['tgllahirpasien'],
|
||
'alamat' => $list['alamatpasien'],
|
||
'timestamp1' => $from ? $from->toString() : null,
|
||
'timestamp2' => $to,
|
||
'durasi' => $durasi,
|
||
'ppdsas' => $ppdsas,
|
||
'otherppds' => $otherppds,
|
||
];
|
||
}, $dataArray);
|
||
}
|
||
$response = [
|
||
'message' => 'List Laporan',
|
||
'data' => $arraylist,
|
||
'total' => $total
|
||
];
|
||
return response()->json($response, 200);
|
||
}
|
||
public function viewCheckout() {
|
||
$data = [];
|
||
$api_access_key = '$2y$10$2DkIHkWoYvCH.U2U.2dCi.SrDITVitZrJhQGaSrFQ3Hcsn/RnwXOe';
|
||
$msg = array (
|
||
'fakultas' => ''
|
||
);
|
||
$headers = array
|
||
(
|
||
'Accept: application/json',
|
||
'Content-type: application/json',
|
||
'Authorization: Bearer '.$api_access_key,
|
||
);
|
||
$url = 'https://insitu.fk.ub.ac.id/api/auth/listallpejabat';
|
||
$ch = curl_init();
|
||
curl_setopt($ch, CURLOPT_URL, $url);
|
||
curl_setopt($ch, CURLOPT_POST, false); //POST Set True
|
||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
|
||
//curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($msg));
|
||
$result = curl_exec($ch);
|
||
curl_close($ch);
|
||
$response = json_decode($result);
|
||
$data['dosens'] = $response;
|
||
$url = 'https://insitu.fk.ub.ac.id/api/auth/listallkegiatan';
|
||
$ch = curl_init();
|
||
curl_setopt($ch, CURLOPT_URL, $url);
|
||
curl_setopt($ch, CURLOPT_POST, false); //POST Set True
|
||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
|
||
//curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($msg));
|
||
$result2 = curl_exec($ch);
|
||
curl_close($ch);
|
||
$response2 = json_decode($result2);
|
||
$data['jkegiatan'] = $response2;
|
||
$data['antrkrmsitu'] = PeriksaSYNC::where('created_by', Session('username'))->where('status', '')->count();
|
||
$data['allspv'] = User::where('previlage', 'supervisor')->get();
|
||
$data['biodata'] = [];
|
||
return view('dokter.synctoinsitu', $data);
|
||
}
|
||
public function exDatapenugasan(Request $request) {
|
||
$validator = Validator::make($request->all(), [
|
||
'val01' => 'required',
|
||
'val03' => 'required',
|
||
'val04' => 'required',
|
||
'val05' => 'required',
|
||
'val06' => 'required',
|
||
'val07' => 'required',
|
||
'val08' => 'required',
|
||
'val09' => 'required',
|
||
]);
|
||
if($validator->fails()) {
|
||
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Mohon Lengkapi Data Anda']);
|
||
return back();
|
||
} else {
|
||
$arraylist = [];
|
||
$i = 0;
|
||
$lists = PeriksaSYNC::where('created_by', Session('username'))->where('status', '')->get();
|
||
if (!empty($lists)){
|
||
foreach ($lists as $list) {
|
||
$diagnosa = '';
|
||
$cekreques = Logbook::where('id', $list->diagnosa)->first();
|
||
if (isset($cekreques->kepanjangan)){
|
||
$diagnosa = $cekreques->kepanjangan;
|
||
}
|
||
$arraylist[] = array(
|
||
'diagnosa2' => $list->diagnosa2,
|
||
'id' => $list->id,
|
||
'telpon' => $list->tlppasien,
|
||
'diagnosa' => $diagnosa,
|
||
'kd_spesimen' => $list->kd_spesimen,
|
||
'nm_spesimen' => $list->nm_spesimen,
|
||
'berat' => $list->berat,
|
||
'klinis' => $list->klinis,
|
||
'klinisi' => $list->klinisi,
|
||
'dlp' => $list->dlp,
|
||
'modality' => $list->modality,
|
||
'tgl' => $list->tgllahirpasien,
|
||
'foto' => $list->foto,
|
||
'baca' => $list->baca,
|
||
'export' => $list->export,
|
||
'nofoto' => '<a href="'.url('/').'/hasil/'.$list->nofoto.'">'.$list->nofoto.'</a>',
|
||
'noregister' => $list->noregister,
|
||
'usia' => $list->usia,
|
||
'urgensi' => $list->urgensi,
|
||
'reques' => $list->reques,
|
||
'ruangan' => $list->ruangan,
|
||
'daftar' => $list->daftar,
|
||
'status' => $list->status,
|
||
'asalpasien' => $list->asalpasien,
|
||
'ppdssenior' => $list->nmppdssenior,
|
||
'middleppds' => $list->nmmiddleppds,
|
||
'ppdsjunior' => $list->nmppdsjunior,
|
||
'middleppds2' => $list->nmmiddleppds2,
|
||
'ppdsjunior2' => $list->nmppdsjunior2,
|
||
'analis' => $list->nmanalis,
|
||
'excutor' => $list->nmexcutor,
|
||
'keterangan' => $list->keterangan,
|
||
'kesimpulan' => $list->kesimpulan,
|
||
'verifikasi' => $list->verifikasi,
|
||
'nama' => $list->nmpasien,
|
||
'jk' => $list->jkpasien,
|
||
'dokter' => $list->nmdokter,
|
||
);
|
||
$i++;
|
||
}
|
||
}
|
||
if ($i == 0){
|
||
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Sync Gagal, Mohon Pilih Dulu Kasus Yang Ingin di Laporkan di Menu Modalitas']);
|
||
return back();
|
||
} else {
|
||
$api_access_key = '$2y$10$2DkIHkWoYvCH.U2U.2dCi.SrDITVitZrJhQGaSrFQ3Hcsn/RnwXOe';
|
||
$msg = array (
|
||
'arraylist' => json_encode($arraylist),
|
||
'set01' => $request->input('file'),
|
||
'set02' => $request->input('file2'),
|
||
'nim' => $request->input('val01'),
|
||
'idps' => $request->input('val02'),
|
||
'tanggal' => $request->input('val03'),
|
||
'waktu' => $request->input('val04'),
|
||
'topik' => $request->input('val05'),
|
||
'masterno' => $request->input('val06'),
|
||
'deskripsi' => $request->input('val07'),
|
||
'kodejenis' => $request->input('val08'),
|
||
'durasi' => $request->input('val09'),
|
||
'rumahsakit' => $request->input('val10'),
|
||
'rumahsakitnama'=> $request->input('val11'),
|
||
'idne' => $request->input('val12'),
|
||
'laborat' => $request->input('val13'),
|
||
'spvlain' => $request->input('val14'),
|
||
'jumlah' => $request->input('val15'),
|
||
'spv2' => $request->input('val16'),
|
||
'spv3' => $request->input('val17'),
|
||
'role' => $request->input('val18'),
|
||
'role2' => $request->input('val19'),
|
||
'semester' => $request->input('val20'),
|
||
);
|
||
$headers = array
|
||
(
|
||
'Accept: application/json',
|
||
'Content-type: application/json',
|
||
'Authorization: Bearer '.$api_access_key,
|
||
);
|
||
|
||
$url = 'https://insitu.fk.ub.ac.id/api/auth/synckegiatandrris';
|
||
$ch = curl_init();
|
||
curl_setopt($ch, CURLOPT_URL, $url);
|
||
curl_setopt($ch, CURLOPT_POST, true); //POST Set True
|
||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
|
||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($msg));
|
||
//curl_setopt($ch, CURLOPT_VERBOSE, true);
|
||
//$letakfile= public_path('logfile.txt');
|
||
//$verbose = fopen($letakfile, 'w+');
|
||
//curl_setopt($ch, CURLOPT_STDERR, $verbose);
|
||
$result = curl_exec($ch);
|
||
curl_close($ch);
|
||
if ($result){
|
||
$result = json_decode($result, true);
|
||
if ($result['icon'] != 'error' AND $result != null){
|
||
PeriksaSYNC::where('created_by', Session('username'))->where('status', '')->update([
|
||
'status' => $result['icon']
|
||
]);
|
||
return response()->json(['icon' => 'success', 'warna' => $result['warna'], 'status' => $result['status'], 'message' => $result['message']]);
|
||
return back();
|
||
} else {
|
||
return response()->json(['icon' => 'error', 'warna' => $result['warna'], 'status' => $result['status'], 'message' => $result['message']]);
|
||
return back();
|
||
}
|
||
} else {
|
||
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Sync Gagal, Hubungi TIM IT Kedua Belah Pihak']);
|
||
return back();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
public function jsonAllorderlist(){
|
||
$allpejabat = Poli::all();
|
||
echo json_encode($allpejabat);
|
||
}
|
||
public function registerApiFormatJSON(Request $request) {
|
||
$nama = $request->input('nama');
|
||
$noregister = $request->input('norm');
|
||
$jk = $request->input('kelamin') ?? 'L';
|
||
$tgllahir = $request->input('tgllahir') ?? date('Y-m-d');
|
||
$telpon = $request->input('nohap') ?? '0000000000';
|
||
$alamat = $request->input('alamat') ?? config('global.addressapps');
|
||
$kota = $request->input('kota') ?? config('global.subdomainapps');
|
||
$berat = $request->input('beratbadan') ?? 0;
|
||
$nik = $request->input('nik') ?? 0;
|
||
$bpjs = $request->input('bpjs') ?? 0;
|
||
$tlsasal = $request->input('asalpasien');
|
||
$nmrs = $request->input('namarspengirim') ?? 'RSSA Malang';
|
||
$klinisi = $request->input('drpeminta');
|
||
$insurance = $request->input('asuransi') ?? 'UMM';
|
||
$rekues = $request->input('layanan');
|
||
$urgensi = $request->input('urgensi') ?? 'Elective';
|
||
$kd_spesimen = $request->input('kd_spesimen') ?? '';
|
||
$nm_spesimen = $request->input('nm_spesimen') ?? '';
|
||
$klinis = $request->input('klinis');
|
||
$notransaksi = $request->input('notransaksi');
|
||
$telpon = str_replace('_', '', $telpon);
|
||
$rekues = str_replace('_', ' ', $rekues);
|
||
$tlsasal = str_replace('_', ' ', $tlsasal);
|
||
$iddokter = '';
|
||
$ruangan = 1;
|
||
$kelompok = 'admin';
|
||
$daftar = date('Y-m-d H:i:s');
|
||
$mulai = $daftar;
|
||
$tambah = ' + 360 second';
|
||
$akhir = date('Y-m-d h:i:s',strtotime($tambah,strtotime($daftar)));
|
||
$start = strtotime(date("Y-m-d H:i:s",strtotime($mulai)));
|
||
$finish = strtotime(date("Y-m-d H:i:s",strtotime($akhir)));
|
||
$tglsekarang = date('Y-m-d');
|
||
$noregister = strtoupper($noregister);
|
||
$yy = date("Y");
|
||
$mm = date("m");
|
||
$terjadwal = 'sekarang';
|
||
$kamar = 'Mikrobiologi';
|
||
$tgllahir = \Carbon\Carbon::createFromFormat('Y-m-d', $tgllahir);
|
||
$pasien = Pasien::where('norm', $noregister)->first();
|
||
if (isset($pasien->id)) {
|
||
$pasien_id = $pasien->id;
|
||
Pasien::where('norm', $noregister)->update([
|
||
'nama' => $nama,
|
||
'jk' => $jk,
|
||
'tgl_lahir' => $tgllahir,
|
||
'kota' => $kota,
|
||
'telpon' => $telpon,
|
||
'alamat' => $alamat,
|
||
'nik' => $nik,
|
||
'bpjs' => $bpjs,
|
||
]);
|
||
} else {
|
||
$pasien_id = Pasien::insertGetId([
|
||
'norm' => $noregister,
|
||
'nama' => $nama,
|
||
'jk' => $jk,
|
||
'tgl_lahir' => $tgllahir,
|
||
'kota' => $kota,
|
||
'telpon' => $telpon,
|
||
'alamat' => $alamat,
|
||
'nik' => $nik,
|
||
'bpjs' => $bpjs,
|
||
]);
|
||
}
|
||
$datetime = new DateTime($tgllahir);
|
||
$today = new DateTime();
|
||
$diff = $today->diff($datetime);
|
||
$tahun = $diff->y;
|
||
$bulan = $diff->m;
|
||
|
||
if ($tahun ==0) {
|
||
$usia = $bulan." Bulan";
|
||
} else {
|
||
$usia = $tahun." Tahun, ". $bulan. " Bulan";
|
||
}
|
||
$jruang = Ruangan::where('id', $ruangan)->first();
|
||
if (isset($jruang->ruangan)){
|
||
$kamar = $jruang->ruangan;
|
||
} else { $kamar = '-'; $ruangan = 1; }
|
||
$tahuncari = date("Y");
|
||
$cekloket = Periksa::whereNotNull('noloket')->where('daftar', 'LIKE', $tahuncari.'%')->count();
|
||
if ($cekloket == 0){
|
||
$noloket = 1;
|
||
} else {
|
||
$getloket = Periksa::whereNotNull('noloket')->where('daftar', 'LIKE', $tahuncari.'%')->orderBy('noloket', 'DESC')->first();
|
||
$noloket = $getloket->noloket;
|
||
$noloket = $noloket + 1;
|
||
}
|
||
$code_poli = 'Mikrobiologi';
|
||
if ($rekues == '' OR is_null($rekues)){
|
||
$poli_id = 0;
|
||
} else {
|
||
$check = Poli::where('subpoli', $rekues)->first();
|
||
if (isset($check->id)){
|
||
$poli_id = $check->id;
|
||
} else {
|
||
$poli_id = Poli::insertGetId([
|
||
'poli' => 'Mikrobiologi',
|
||
'subpoli' => $rekues,
|
||
]);
|
||
}
|
||
}
|
||
|
||
$nofoto = date('y').'-'.sprintf("% 06s", $noloket);
|
||
if ($iddokter == ''){
|
||
$iddokter = 0;
|
||
$dokter = null;
|
||
} else {
|
||
$getdokter = User::where('id', $iddokter)->first();
|
||
if (isset($getdokter->nama)){
|
||
$dokter = $getdokter->nama;
|
||
} else { $dokter = 'Dokter Spesialis'; }
|
||
}
|
||
$clientIp = $request->server('HTTP_X_FORWARDED_FOR') ?: $request->ip();
|
||
$clientIpNumeric = ip2long($clientIp);
|
||
$periksaid = Periksa::insertGetId([
|
||
'mulai' => $mulai,
|
||
'akhir' => $akhir,
|
||
'noloket' => $noloket,
|
||
'nofoto' => $nofoto,
|
||
'noregister' => $noregister,
|
||
'asalpasien' => $tlsasal,
|
||
'nmrs' => $nmrs,
|
||
'pasien_id' => $pasien_id,
|
||
'nmpasien' => $nama,
|
||
'jkpasien' => $jk,
|
||
'ktp' => $nik,
|
||
'bpjs' => $bpjs,
|
||
'tgllahirpasien'=> $tgllahir,
|
||
'tlppasien' => $telpon,
|
||
'alamatpasien' => $alamat,
|
||
'reques' => $rekues,
|
||
'usia' => $usia,
|
||
'berat' => $berat,
|
||
'ruangan_id' => $ruangan,
|
||
'ruangan' => $kamar,
|
||
'klinisi' => $klinisi,
|
||
'klinis' => $klinis,
|
||
'poli_id' => $poli_id,
|
||
'kd_spesimen' => $kd_spesimen,
|
||
'nm_spesimen' => $nm_spesimen,
|
||
'keterangan' => '',
|
||
'kesimpulan' => '',
|
||
'asuransi' => $insurance,
|
||
'urgensi' => $urgensi,
|
||
'daftar' => $mulai,
|
||
'pendaftar' => $clientIpNumeric,
|
||
'nmpendaftar' => $clientIp,
|
||
'orderid' => $notransaksi,
|
||
]);
|
||
$pesan = $nofoto;
|
||
if ($kd_spesimen != '' AND $nm_spesimen != ''){
|
||
PendaftaranOnListiner::updateOrCreate(
|
||
[
|
||
'rnoreg' => $nofoto,
|
||
],
|
||
[
|
||
'rtglast' => $tglsekarang,
|
||
'norm' => $noregister,
|
||
'nama' => $nama,
|
||
'alamat' => $alamat,
|
||
'telp' => $telpon,
|
||
'hp' => $telpon,
|
||
'tgllahir' => $tgllahir,
|
||
'umur' => $usia,
|
||
'rjenis' => $jk,
|
||
'kodedok' => $notransaksi,
|
||
'namadok' => $klinisi,
|
||
'ruangan' => $kamar,
|
||
'tes' => $rekues,
|
||
'alat' => 'All',
|
||
'kd_spesimen' => $kd_spesimen,
|
||
'nm_spesimen' => $nm_spesimen,
|
||
]
|
||
);
|
||
}
|
||
if ($pesan != ''){
|
||
return response()->json(['status' => 'Sukses', 'message' => $pesan], 201);
|
||
} else {
|
||
return response()->json(['status' => 'Failed', 'message' => 'Mohon Menentukan Layanan Yang di Inginkan'], 500);
|
||
}
|
||
}
|
||
public function registerApi(Request $request) {
|
||
//$dataJson = json_encode($request->input());
|
||
//$decodedFirst = json_decode($dataJson, true);
|
||
Log::info(' Incomming '.json_encode($request->input()));
|
||
$decodedData = $request->json()->all();
|
||
//$decodedData = $request->input();
|
||
//if (json_last_error() !== JSON_ERROR_NONE) {
|
||
// Log::error('JSON Decode Error (First): ' . json_last_error_msg());
|
||
// return response()->json(['error' => 'Invalid first-level JSON data'], 400);
|
||
//}
|
||
//$innerJson = key($decodedFirst);
|
||
//$decodedData = json_decode($innerJson, true);
|
||
//if (json_last_error() !== JSON_ERROR_NONE) {
|
||
// Log::error('JSON Decode Error (Second): ' . json_last_error_msg());
|
||
// return response()->json(['error' => 'Invalid second-level JSON data'], 400);
|
||
//}
|
||
$norm = $decodedData['norm'] ?? null;
|
||
$nama = $decodedData['nama'] ?? null;
|
||
$alamat = $decodedData['alamat'] ?? config('global.addressapps');
|
||
$kota = $decodedData['kota'] ?? config('global.subdomainapps');
|
||
$tgllahir = $decodedData['tgllahir'] ?? date('Y-m-d');
|
||
$nohap = $decodedData['nohap'] ?? '0000000000';
|
||
$jk = $decodedData['kelamin'] ?? 'L';
|
||
$urgensi = $decodedData['urgensi'] ?? 'Elective';
|
||
$berat = $decodedData['beratbadan'] ?? '0';
|
||
$nik = $decodedData['nik'] ?? '0';
|
||
$bpjs = $decodedData['nobpjs'] ?? '0';
|
||
$drpeminta = $decodedData['drpeminta'] ?? null;
|
||
$tlsasal = $decodedData['asalpasien'] ?? null;
|
||
$rekues = $decodedData['layanan'] ?? null;
|
||
$statusbayar = $decodedData['statusbayar'] ?? null;
|
||
$notransaksi = $decodedData['notransaksi'] ?? null;
|
||
$insurance = $decodedData['asuransi'] ?? 'UMM';
|
||
$klinis = $decodedData['klinis'] ?? null;
|
||
$klinisi = $decodedData['klinisi'] ?? $drpeminta;
|
||
$kd_spesimen = $decodedData['kd_spesimen'] ?? null;
|
||
$nm_spesimen = $decodedData['nm_spesimen'] ?? null;
|
||
$pengambilan = $decodedData['pengambilan'] ?? null;
|
||
$nmrs = $decodedData['namarspengirim'] ?? 'RSSA Malang';
|
||
$telpon = str_replace('_', '', $nohap);
|
||
$rekues = str_replace('_', ' ', $rekues);
|
||
$tlsasal = str_replace('_', ' ', $tlsasal);
|
||
$klinisi = str_replace('_', ' ', $klinisi);
|
||
$nama = str_replace('_', ' ', $nama);
|
||
$alamat = str_replace('_', ' ', $alamat);
|
||
|
||
$iddokter = '';
|
||
$ruangan = 1;
|
||
$kelompok = 'admin';
|
||
$daftar = date('Y-m-d H:i:s');
|
||
$mulai = $daftar;
|
||
$tambah = ' + 360 second';
|
||
$akhir = date('Y-m-d h:i:s',strtotime($tambah,strtotime($daftar)));
|
||
$start = strtotime(date("Y-m-d H:i:s",strtotime($mulai)));
|
||
$finish = strtotime(date("Y-m-d H:i:s",strtotime($akhir)));
|
||
$tglsekarang = date('Y-m-d');
|
||
$noregister = strtoupper($norm);
|
||
$yy = date("Y");
|
||
$mm = date("m");
|
||
$terjadwal = 'sekarang';
|
||
$kamar = 'Mikrobiologi';
|
||
$tgllahir = \Carbon\Carbon::createFromFormat('Y-m-d', $tgllahir);
|
||
$pasien = Pasien::where('norm', $noregister)->first();
|
||
if (isset($pasien->id)) {
|
||
$pasien_id = $pasien->id;
|
||
Pasien::where('norm', $noregister)->update([
|
||
'nama' => $nama,
|
||
'jk' => $jk,
|
||
'tgl_lahir' => $tgllahir,
|
||
'kota' => $kota,
|
||
'telpon' => $telpon,
|
||
'alamat' => $alamat,
|
||
'nik' => $nik,
|
||
'bpjs' => $bpjs,
|
||
]);
|
||
} else {
|
||
$pasien_id = Pasien::insertGetId([
|
||
'norm' => $noregister,
|
||
'nama' => $nama,
|
||
'jk' => $jk,
|
||
'tgl_lahir' => $tgllahir,
|
||
'kota' => $kota,
|
||
'telpon' => $telpon,
|
||
'alamat' => $alamat,
|
||
'nik' => $nik,
|
||
'bpjs' => $bpjs,
|
||
]);
|
||
}
|
||
$datetime = new DateTime($tgllahir);
|
||
$today = new DateTime();
|
||
$diff = $today->diff($datetime);
|
||
$tahun = $diff->y;
|
||
$bulan = $diff->m;
|
||
|
||
if ($tahun ==0) {
|
||
$usia = $bulan." Bulan";
|
||
} else {
|
||
$usia = $tahun." Tahun, ". $bulan. " Bulan";
|
||
}
|
||
$jruang = Ruangan::where('id', $ruangan)->first();
|
||
if (isset($jruang->ruangan)){
|
||
$kamar = $jruang->ruangan;
|
||
} else { $kamar = '-'; $ruangan = 1; }
|
||
$tahuncari = date("Y");
|
||
$cekloket = Periksa::whereNotNull('noloket')->where('daftar', 'LIKE', $tahuncari.'%')->count();
|
||
if ($cekloket == 0){
|
||
$noloket = 1;
|
||
} else {
|
||
$getloket = Periksa::whereNotNull('noloket')->where('daftar', 'LIKE', $tahuncari.'%')->orderBy('noloket', 'DESC')->first();
|
||
$noloket = $getloket->noloket;
|
||
$noloket = $noloket + 1;
|
||
}
|
||
$code_poli = 'Mikrobiologi';
|
||
$check = Poli::where('subpoli', $rekues)->first();
|
||
if (isset($check->id)){
|
||
$poli_id = $check->id;
|
||
} else {
|
||
$poli_id = Poli::insertGetId([
|
||
'poli' => 'Mikrobiologi',
|
||
'subpoli' => $rekues,
|
||
]);
|
||
}
|
||
$nofoto = date('y').'-'.sprintf("% 06s", $noloket);
|
||
if ($iddokter == ''){
|
||
$iddokter = 0;
|
||
$dokter = null;
|
||
} else {
|
||
$getdokter = User::where('id', $iddokter)->first();
|
||
if (isset($getdokter->nama)){
|
||
$dokter = $getdokter->nama;
|
||
} else { $dokter = 'Dokter Spesialis'; }
|
||
}
|
||
$clientIp = $request->server('HTTP_X_FORWARDED_FOR') ?: $request->ip();
|
||
$clientIpNumeric = ip2long($clientIp);
|
||
$periksaid = Periksa::insertGetId([
|
||
'mulai' => $mulai,
|
||
'akhir' => $akhir,
|
||
'noloket' => $noloket,
|
||
'nofoto' => $nofoto,
|
||
'noregister' => $noregister,
|
||
'asalpasien' => $tlsasal,
|
||
'nmrs' => $nmrs,
|
||
'pasien_id' => $pasien_id,
|
||
'nmpasien' => $nama,
|
||
'jkpasien' => $jk,
|
||
'ktp' => $nik,
|
||
'bpjs' => $bpjs,
|
||
'tgllahirpasien'=> $tgllahir,
|
||
'tlppasien' => $telpon,
|
||
'alamatpasien' => $alamat,
|
||
'reques' => $rekues,
|
||
'usia' => $usia,
|
||
'berat' => $berat,
|
||
'ruangan_id' => $ruangan,
|
||
'ruangan' => $kamar,
|
||
'klinisi' => $klinisi,
|
||
'klinis' => $klinis,
|
||
'poli_id' => $poli_id,
|
||
'kd_spesimen' => $kd_spesimen,
|
||
'nm_spesimen' => $nm_spesimen,
|
||
'keterangan' => '',
|
||
'kesimpulan' => '',
|
||
'asuransi' => $insurance,
|
||
'urgensi' => $urgensi,
|
||
'daftar' => $mulai,
|
||
'pendaftar' => $clientIpNumeric,
|
||
'nmpendaftar' => $clientIp,
|
||
'orderid' => $notransaksi,
|
||
]);
|
||
$pesan = $nofoto;
|
||
try {
|
||
if ($kd_spesimen != '' AND $nm_spesimen != ''){
|
||
PendaftaranOnListiner::updateOrCreate(
|
||
[
|
||
'rnoreg' => $nofoto,
|
||
],
|
||
[
|
||
'rtglast' => $tglsekarang,
|
||
'norm' => $noregister,
|
||
'nama' => $nama,
|
||
'alamat' => $alamat,
|
||
'telp' => $telpon,
|
||
'hp' => $telpon,
|
||
'tgllahir' => $tgllahir,
|
||
'umur' => $usia,
|
||
'rjenis' => $jk,
|
||
'kodedok' => Session('id'),
|
||
'namadok' => Session('nama'),
|
||
'ruangan' => $kamar,
|
||
'tes' => $rekues,
|
||
'alat' => 'All',
|
||
'kd_spesimen' => $kd_spesimen,
|
||
'nm_spesimen' => $nm_spesimen,
|
||
]
|
||
);
|
||
}
|
||
return response()->json(['status' => 'Sukses', 'message' => $pesan], 201);
|
||
} catch (Exception $e) {
|
||
return response()->json(['status' => 'Sukses', 'message' => $pesan], 201);
|
||
}
|
||
}
|
||
public function register(Request $request) {
|
||
$validator = Validator::make($request->all(), [
|
||
'nama' => 'required',
|
||
'jk' => 'required',
|
||
'insurance' => 'required',
|
||
'urgensi' => 'required',
|
||
'poli_id' => 'required'
|
||
]);
|
||
if($validator->fails()) {
|
||
return response()->json(['status' => 'Failed', 'message' => 'Periksa Kembali Isian Anda, Pastikan Nama, Jenis Kelamin, Asuransi, Urgensi, Kota, No. HP dan Jenis Pemeriksaan Telah Anda Isi']);
|
||
return back();
|
||
} else {
|
||
$jk = $request->input('jk');
|
||
$nik = $request->input('nik');
|
||
$bpjs = $request->input('bpjs');
|
||
$alamat = $request->input('alamat') ?? config('global.addressapps');
|
||
$kota = $request->input('kota') ?? config('global.subdomainapps');
|
||
$noregister = $request->input('noregister');
|
||
$pasien_id = $request->input('pasien_id');
|
||
$insurance = $request->input('insurance');
|
||
$ruangan = $request->input('ruangan');
|
||
$nmpoli = $request->input('nmpoli');
|
||
$nmruangan = $request->input('nmruangan');
|
||
$lainlain = $request->input('lainlain');
|
||
$asuransi = $request->input('asuransi');
|
||
$urgensi = $request->input('urgensi');
|
||
$nama = $request->input('nama');
|
||
$tgllahir = $request->input('tgl') ?? date ('d-m-Y');
|
||
$asalpasien = $request->input('asal');
|
||
$berat = $request->input('val01');
|
||
$nmrs = $request->input('val02');
|
||
$klinisi = $request->input('val03');
|
||
$jadwal = $request->input('val04');
|
||
$jammulai = $request->input('val05');
|
||
$jamselesai = $request->input('val06');
|
||
$telpon = $request->input('val07') ?? '0000000000';
|
||
$jeniskerja = $request->input('val08');
|
||
$iddokter = $request->input('val09');
|
||
$jenisgambar = $request->input('jenisgambar');
|
||
$file = $request->input('file');
|
||
$poli_id = $request->input('poli_id') ?? 1;
|
||
$kd_spesimen = $request->input('kd_spesimen') ?? '';
|
||
$nm_spesimen = $request->input('nm_spesimen') ?? '';
|
||
$reques = 'Specimen';
|
||
$kelompok = Session('previlage');
|
||
$daftar = date('Y-m-d H:i:s');
|
||
try {
|
||
$tgllahir = \Carbon\Carbon::createFromFormat('Y-m-d', $tgllahir);
|
||
} catch (Exception $e) {
|
||
|
||
}
|
||
if ($jeniskerja == 'tambahbaru'){
|
||
try {
|
||
if ($nmruangan != ''){
|
||
$tlsasal = $nmruangan;
|
||
} else if ($nmpoli != ''){
|
||
$tlsasal = $nmpoli;
|
||
} else {
|
||
$tlsasal = $lainlain;
|
||
}
|
||
if ($jammulai == ''){
|
||
$mulai = $daftar;
|
||
$tambah = ' + 360 second';
|
||
$akhir = date('Y-m-d h:i:s',strtotime($tambah,strtotime($daftar)));
|
||
$start = strtotime(date("Y-m-d H:i:s",strtotime($mulai)));
|
||
$finish = strtotime(date("Y-m-d H:i:s",strtotime($akhir)));
|
||
} else {
|
||
$mulai = $jadwal.' '.$jammulai.':00';
|
||
if ($jamselesai == ''){
|
||
$tambah = ' + 360 second';
|
||
$akhir = date('Y-m-d h:i:s',strtotime($tambah,strtotime($daftar)));
|
||
} else {
|
||
$akhir = $jadwal.' '.$jamselesai.':00';
|
||
}
|
||
$start = strtotime(date("Y-m-d H:i:s",strtotime($mulai)));
|
||
$finish = strtotime(date("Y-m-d H:i:s",strtotime($akhir)));
|
||
}
|
||
$tglsekarang = date('Y-m-d');
|
||
$noregister = strtoupper($noregister);
|
||
$yy = date("Y");
|
||
$mm = date("m");
|
||
$pesan = '';
|
||
$year_now = date("y");
|
||
if ($noregister == ''){
|
||
$getlastid = Pasien::orderBy('id', 'DESC')->count();
|
||
if ($getlastid == 0){
|
||
$noregister = 'LIS-1';
|
||
}else {
|
||
$getlastid = Pasien::orderBy('id', 'DESC')->first();
|
||
$lastid = $getlastid->id;
|
||
$lastid = $lastid + 1;
|
||
$noregister = 'LIS-'.$lastid;
|
||
}
|
||
}
|
||
|
||
$kota = config('global.subdomainapps');
|
||
$alamat = $request->input('alamat') ?? config('global.addressapps');
|
||
$nama = $request->input('nama');
|
||
$jk = $request->input('jk');
|
||
$cekid = Pasien::where('norm', $noregister)->count();
|
||
if ($cekid == 0) {
|
||
$pasien_id = Pasien::insertGetId([
|
||
'norm' => $noregister,
|
||
'nama' => $nama,
|
||
'jk' => $jk,
|
||
'tgl_lahir' => $tgllahir,
|
||
'kota' => $kota,
|
||
'telpon' => $telpon,
|
||
'alamat' => $alamat,
|
||
'nik' => $nik,
|
||
'bpjs' => $bpjs,
|
||
]);
|
||
} else {
|
||
$pasien = Pasien::where('norm', $noregister)->first();
|
||
$pasien_id = $pasien->id;
|
||
Pasien::where('norm', $noregister)->update([
|
||
'nama' => $nama,
|
||
'jk' => $jk,
|
||
'tgl_lahir' => $tgllahir,
|
||
'kota' => $kota,
|
||
'telpon' => $telpon,
|
||
'alamat' => $alamat,
|
||
'nik' => $nik,
|
||
'bpjs' => $bpjs,
|
||
]);
|
||
}
|
||
$datetime = new DateTime($tgllahir);
|
||
$today = new DateTime();
|
||
$diff = $today->diff($datetime);
|
||
$tahun = $diff->y;
|
||
$bulan = $diff->m;
|
||
|
||
if ($tahun ==0) {
|
||
$usia = $bulan." Bulan";
|
||
} else {
|
||
$usia = $tahun." Tahun, ". $bulan. " Bulan";
|
||
}
|
||
$kamar = 'Mikrobiologi';
|
||
$tahuncari = date("Y");
|
||
$cekloket = Periksa::whereNotNull('noloket')->where('daftar', 'LIKE', $tahuncari.'%')->count();
|
||
if ($cekloket == 0){
|
||
$noloket = 1;
|
||
} else {
|
||
$getloket = Periksa::whereNotNull('noloket')->where('daftar', 'LIKE', $tahuncari.'%')->orderBy('noloket', 'DESC')->first();
|
||
$noloket = $getloket->noloket;
|
||
$noloket = $noloket + 1;
|
||
}
|
||
$code_poli = 'mikro';
|
||
$check = Poli::where('id', $poli_id)->first();
|
||
$nmpoli = $check->poli ?? 'Mikrobiologi';
|
||
$subpoli = $check->subpoli ?? '';
|
||
$modality = $check->modaliti ?? 'OT';
|
||
$modaliti2 = $check->modaliti2 ?? '';
|
||
if (isset($check->subsubpoli)){
|
||
$rekues = $subpoli.' - '.$subsubpoli;
|
||
} else {
|
||
$rekues = $subpoli;
|
||
}
|
||
$nofoto = date('y').'-'.sprintf("% 06s", $noloket);
|
||
if ($iddokter == ''){
|
||
$iddokter = 0;
|
||
$dokter = null;
|
||
} else {
|
||
$getdokter = User::where('id', $iddokter)->first();
|
||
if (isset($getdokter->nama)){
|
||
$dokter = $getdokter->nama;
|
||
} else { $dokter = 'Dokter Spesialis'; }
|
||
}
|
||
$periksaid = Periksa::insertGetId([
|
||
'mulai' => $mulai,
|
||
'akhir' => $akhir,
|
||
'noloket' => $noloket,
|
||
'nofoto' => $nofoto,
|
||
'noregister' => $noregister,
|
||
'asalpasien' => $tlsasal,
|
||
'nmrs' => $nmrs,
|
||
'pasien_id' => $pasien_id,
|
||
'nmpasien' => $nama,
|
||
'jkpasien' => $jk,
|
||
'ktp' => $nik,
|
||
'bpjs' => $bpjs,
|
||
'tgllahirpasien'=> $tgllahir,
|
||
'tlppasien' => $telpon,
|
||
'alamatpasien' => $alamat,
|
||
'reques' => $rekues,
|
||
'usia' => $usia,
|
||
'berat' => $berat,
|
||
'ruangan_id' => $ruangan,
|
||
'ruangan' => $kamar,
|
||
'klinisi' => $klinisi,
|
||
'klinis' => $request->input('val10'),
|
||
'poli_id' => $poli_id,
|
||
'keterangan' => '',
|
||
'kesimpulan' => '',
|
||
'asuransi' => $insurance,
|
||
'urgensi' => $urgensi,
|
||
'daftar' => $mulai,
|
||
'kd_spesimen' => $kd_spesimen,
|
||
'nm_spesimen' => $nm_spesimen,
|
||
'pendaftar' => Session('previlage'),
|
||
'nmpendaftar' => Session('nama'),
|
||
]);
|
||
if ($kd_spesimen != '' AND $nm_spesimen != ''){
|
||
PendaftaranOnListiner::updateOrCreate(
|
||
[
|
||
'rnoreg' => $nofoto,
|
||
],
|
||
[
|
||
'rtglast' => $mulai,
|
||
'norm' => $noregister,
|
||
'nama' => $nama,
|
||
'alamat' => $alamat,
|
||
'telp' => $telpon,
|
||
'hp' => $telpon,
|
||
'tgllahir' => $tgllahir,
|
||
'umur' => $usia,
|
||
'rjenis' => $jk,
|
||
'kodedok' => Session('id'),
|
||
'namadok' => Session('nama'),
|
||
'ruangan' => $kamar,
|
||
'tes' => $rekues,
|
||
'alat' => 'All',
|
||
'kd_spesimen' => $kd_spesimen,
|
||
'nm_spesimen' => $nm_spesimen,
|
||
]
|
||
);
|
||
}
|
||
$pesan = $pesan.' Nomor Lokal '.$nofoto.' dengan No. Urut '.$noloket.' Berhasil di Simpan';
|
||
if ($pesan != ''){
|
||
if ($file != '' AND $jenisgambar != ''){
|
||
Xfiles::create([
|
||
'xmarking' => $nofoto,
|
||
'xtabel' => 'File Permintaan',
|
||
'xjenis' => $jenisgambar,
|
||
'xfile' => $file
|
||
]);
|
||
Periksa::where('nofoto', $nofoto)->update([
|
||
'filefoto' => $nofoto
|
||
]);
|
||
}
|
||
return response()->json(['status' => 'Status', 'message' => $pesan]);
|
||
return back();
|
||
} else {
|
||
return response()->json(['status' => 'Failed', 'message' => 'Mohon Memeriksa isian form pendaftaran kembali dan pastikan semua sudah terisi']);
|
||
return back();
|
||
}
|
||
} catch (Exception $e) {
|
||
$result = $e->getMessage();
|
||
return response()->json(['status' => 'Failed', 'message' => $result]);
|
||
return back();
|
||
}
|
||
} else {
|
||
try {
|
||
if ($nmruangan != ''){
|
||
$tlsasal = $nmruangan;
|
||
} else if ($nmpoli != ''){
|
||
$tlsasal = $nmpoli;
|
||
} else {
|
||
$tlsasal = $lainlain;
|
||
}
|
||
if ($jammulai == ''){
|
||
$mulai = $daftar;
|
||
$tambah = ' + 360 second';
|
||
$akhir = date('Y-m-d h:i:s',strtotime($tambah,strtotime($daftar)));
|
||
$start = strtotime(date("Y-m-d H:i:s",strtotime($mulai)));
|
||
$finish = strtotime(date("Y-m-d H:i:s",strtotime($akhir)));
|
||
} else {
|
||
$mulai = $jadwal.' '.$jammulai.':00';
|
||
if ($jamselesai == ''){
|
||
$tambah = ' + 360 second';
|
||
$akhir = date('Y-m-d h:i:s',strtotime($tambah,strtotime($daftar)));
|
||
} else {
|
||
$akhir = $jadwal.' '.$jamselesai.':00';
|
||
}
|
||
$start = strtotime(date("Y-m-d H:i:s",strtotime($mulai)));
|
||
$finish = strtotime(date("Y-m-d H:i:s",strtotime($akhir)));
|
||
}
|
||
$tglsekarang = date('Y-m-d');
|
||
$noregister = strtoupper($noregister);
|
||
$yy = date("Y");
|
||
$mm = date("m");
|
||
$pesan = '';
|
||
$year_now = date("y");
|
||
$check = Poli::where('id', $poli_id)->first();
|
||
$nmpoli = $check->poli ?? 'Mikrobiologi';
|
||
$subpoli = $check->subpoli ?? '';
|
||
$modality = $check->modaliti ?? 'OT';
|
||
$modaliti2 = $check->modaliti2 ?? '';
|
||
if (isset($check->subsubpoli)){
|
||
$rekues = $subpoli.' - '.$subsubpoli;
|
||
} else {
|
||
$rekues = $subpoli;
|
||
}
|
||
$getdata = Periksa::where('id', $jeniskerja)->first();
|
||
$nofoto = $getdata->nofoto;
|
||
$usia = $getdata->usia;
|
||
$periksaid = Periksa::where('id', $jeniskerja)->update([
|
||
'nmpasien' => $nama,
|
||
'jkpasien' => $jk,
|
||
'ktp' => $nik,
|
||
'bpjs' => $bpjs,
|
||
'tgllahirpasien'=> $tgllahir,
|
||
'tlppasien' => $telpon,
|
||
'alamatpasien' => $alamat,
|
||
'asalpasien' => $tlsasal,
|
||
'nmrs' => $nmrs,
|
||
'reques' => $rekues,
|
||
'ruangan_id' => $ruangan,
|
||
'klinisi' => $klinisi,
|
||
'klinis' => $request->input('val10'),
|
||
'poli_id' => $poli_id,
|
||
'asuransi' => $insurance,
|
||
'urgensi' => $urgensi,
|
||
'daftar' => $mulai,
|
||
'kd_spesimen' => $kd_spesimen,
|
||
'nm_spesimen' => $nm_spesimen,
|
||
]);
|
||
$pesan = $pesan.' Data Berhasil di Update';
|
||
if ($kd_spesimen != '' AND $nm_spesimen != ''){
|
||
PendaftaranOnListiner::updateOrCreate(
|
||
[
|
||
'rnoreg' => $nofoto,
|
||
],
|
||
[
|
||
'rtglast' => $mulai,
|
||
'norm' => $noregister,
|
||
'nama' => $nama,
|
||
'alamat' => $alamat,
|
||
'telp' => $telpon,
|
||
'hp' => $telpon,
|
||
'tgllahir' => $tgllahir,
|
||
'umur' => $usia,
|
||
'rjenis' => $jk,
|
||
'kodedok' => Session('id'),
|
||
'namadok' => Session('nama'),
|
||
'ruangan' => $kamar,
|
||
'tes' => $rekues,
|
||
'alat' => 'All',
|
||
'kd_spesimen' => $kd_spesimen,
|
||
'nm_spesimen' => $nm_spesimen,
|
||
]
|
||
);
|
||
}
|
||
if ($pesan != ''){
|
||
if ($file != '' AND $jenisgambar != ''){
|
||
Xfiles::create([
|
||
'xmarking' => $nofoto,
|
||
'xtabel' => 'File Permintaan',
|
||
'xjenis' => $jenisgambar,
|
||
'xfile' => $file
|
||
]);
|
||
Periksa::where('nofoto', $nofoto)->update([
|
||
'filefoto' => $nofoto
|
||
]);
|
||
}
|
||
return response()->json(['status' => 'Status', 'message' => $pesan]);
|
||
return back();
|
||
} else {
|
||
return response()->json(['status' => 'Failed', 'message' => 'Mohon Memeriksa isian form pendaftaran kembali dan pastikan semua sudah terisi']);
|
||
return back();
|
||
}
|
||
} catch (Exception $e) {
|
||
$result = $e->getMessage();
|
||
return response()->json(['status' => 'Failed', 'message' => $result]);
|
||
return back();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
public function exMoveApiRegister(
|
||
Request $request,
|
||
AstmMessageService $astmMessageService,
|
||
SerialCommunicationService $serialCommunicationService
|
||
) {
|
||
$nofoto = $request->input('nofoto');
|
||
$modality = $request->input('reques');
|
||
$cekdata = Periksa::where('nofoto', $nofoto)->first();
|
||
if (isset($cekdata->id)){
|
||
$senderName = 'LIS_System';
|
||
$versionNumber = 'V1.0';
|
||
$nama = $cekdata->nmpasien;
|
||
$jk = $cekdata->jkpasien;
|
||
$urgensi = $cekdata->urgensi ?? 'Elective';
|
||
$alamat = $cekdata->alamatpasien ?? 'Malang';
|
||
$arrayttl = explode(" ", $nama);
|
||
$fname = iconv("UTF-8", "tis-620", $arrayttl[0]);
|
||
if (isset($arrayttl[1])){
|
||
$tengah = iconv("UTF-8", "tis-620", $arrayttl[1]);
|
||
}
|
||
if (isset($arrayttl[2])){
|
||
$blakang = iconv("UTF-8", "tis-620", $arrayttl[2]);
|
||
} else {
|
||
$blakang = $tengah;
|
||
$tengah = '';
|
||
}
|
||
if ($jk == 'L'){ $panggilan = 'TN'; $jk = 'M'; }
|
||
else if ($jk == 'P') { $panggilan = 'NY'; $jk = 'F'; }
|
||
else { $panggilan = 'UNK'; $jk = 'O'; }
|
||
$panggilan = '';
|
||
if ($blakang == ''){ $blakang = $fname; }
|
||
if ($urgensi == 'Elective'){ $urgensi = 'INPATIENT'; $prioritas = 'R'; }
|
||
else if ($urgensi == 'CITO'){ $urgensi = 'EMERGENCY'; $prioritas = 'A'; }
|
||
else { $urgensi = 'OUTPATIENT'; $prioritas = 'A'; }
|
||
$patient = [
|
||
'id' => $cekdata->id,
|
||
'last_name' => $fname,
|
||
'first_name' => $blakang,
|
||
'middle_name' => $tengah,
|
||
'suffix' => $panggilan,
|
||
'dob' => $cekdata->noregister,
|
||
'sex' => $jk,
|
||
'address' => $alamat.'^^MALANG^^ID^65123',
|
||
'phone' => $cekdata->tlppasien,
|
||
'admitting_physician' => $cekdata->klinisi ?? 'Dokter Pengirim'
|
||
];
|
||
$order = [
|
||
'accession_number' => $cekdata->nofoto,
|
||
'isolate_number' => 'MGIT^TestName',
|
||
'organism' => $cekdata->reques ?? 'Mycobacterium tuberculosis',
|
||
'exclude_isolate' => 'No',
|
||
'priority' => $prioritas,
|
||
'collection_date_time' => date("YmdHi"),
|
||
'collected_by' => $cekdata->nmradiografer ?? Session('nama'),
|
||
'received_by' => Session('nama'),
|
||
'specimen_action_code' => '',
|
||
'isolate_source_test' => 'Blood',
|
||
'isolate_source_test_start_time'=> date("YmdHi"),
|
||
'receipt_date_time' => date("YmdHi"),
|
||
'specimen_type' => 'Blood Culture',
|
||
'body_site' => 'Lung',
|
||
'ordering_physician' => $cekdata->klinisi ?? 'Dokter Pengirim',
|
||
'ordering_physician_phone' => '',
|
||
'ordering_physician_fax' => '',
|
||
'ordering_physician_pager' => '',
|
||
'specimen_user_field_1' => '',
|
||
'specimen_user_field_2' => '',
|
||
'specimen_user_field_3' => '',
|
||
'specimen_user_field_4' => '',
|
||
'specimen_user_field_5' => '',
|
||
'finalized_date_time' => date("YmdHi"),
|
||
'specimen_reimbursement_value' => '100',
|
||
'test_reimbursement_value' => '50',
|
||
'isolate_classification' => 'Nosocomial'
|
||
];
|
||
Periksa::where('nofoto', $nofoto)->update([
|
||
'excutor' => Session('id'),
|
||
'nmexcutor' => Session('nama'),
|
||
]);
|
||
try {
|
||
if ($modality == 'genexpert01' OR $modality == 'genexpert02' OR $modality == 'genexpert03'){
|
||
$pesan = $this->Hl7Register($cekdata->id, $modality);
|
||
} else {
|
||
$pesan = 'Cannot send on Serial Port From Server';
|
||
}
|
||
}catch (Exception $e) {
|
||
$pesan = $e->getMessage();
|
||
}
|
||
|
||
return response()->json(['status' => 'Status', 'message' => $pesan ?? 'Unkown Error']);
|
||
return back();
|
||
} else {
|
||
return response()->json(['status' => 'Failed', 'message' => $nofoto.' Tidak di Temukan']);
|
||
return back();
|
||
}
|
||
}
|
||
public function exCekAksess(Request $request) {
|
||
$nofoto = $request->input('nofoto');
|
||
$tgllahir = $request->input('tgllahir');
|
||
if ($nofoto == 'noregister'){
|
||
$noregister = $request->input('noregister');
|
||
$tabel = '';
|
||
$periksa = Periksa::where('noregister', $noregister)->where('tgllahirpasien', $tgllahir)->get();
|
||
if (!empty($periksa)){
|
||
$tabel = '<div class="timeline">';
|
||
$kanan = '';
|
||
foreach($periksa as $rows){
|
||
$status = $rows->status;
|
||
if ($status == 'Selesai'){
|
||
$tombolcetak = url('/').'/hasil/'.$rows->nofoto;
|
||
$tombolcetak = '<a href="'.$tombolcetak.'"><button type="button" class="btn btn-icon waves-effect waves-light btn-success"> <i class="fa fa-print"></i> </button></a>';
|
||
} else {
|
||
$tombolcetak = '';
|
||
}
|
||
if ($kanan == ''){
|
||
$tabel = $tabel.'<article class="timeline-item"><div class="timeline-desk"><div class="panel"><div class="timeline-box"><span class="arrow"></span><span class="timeline-icon bg-custom"><i class="mdi mdi-adjust"></i></span><h4 class="text-custom">'.$rows->daftar.'</h4><p class="timeline-date text-muted"><small>'.$rows->reques.'</small></p><p>'.$rows->status.'</p><div class="btn btn-group">'.$tombolcetak.'</div></div></div></div></article>';
|
||
$kanan = 'kanan';
|
||
} else {
|
||
$tabel = $tabel.'<article class="timeline-item alt"><div class="timeline-desk"><div class="panel"><div class="timeline-box"><span class="arrow-alt"></span><span class="timeline-icon bg-custom"><i class="mdi mdi-adjust"></i></span><h4 class="text-custom">'.$rows->daftar.'</h4><p class="timeline-date text-muted"><small>'.$rows->reques.'</small></p><p>'.$rows->status.'</p><div class="btn btn-group">'.$tombolcetak.'</div></div></div></div></article>';
|
||
$kanan = '';
|
||
}
|
||
}
|
||
$tabel = $tabel.'</div>';
|
||
} else {
|
||
$tabel = 'Data Tidak ditemukan, Pastikan Kembali Apakah No. RM ('.$noregister.') dan tanggal lahir ('.$tgllahir.') sudah benar';
|
||
}
|
||
echo $tabel;
|
||
} else {
|
||
$periksa = Periksa::where('nofoto', $nofoto)->where('tgllahirpasien', $tgllahir)->first();
|
||
if (isset($periksa->id)){
|
||
if ($periksa->status != 'Selesai'){
|
||
Periksa::where('id', $periksa->id)->update([
|
||
'export' => date('Y-m-d H:i:s')
|
||
]);
|
||
}
|
||
$hasil = DokterController::genSurat($periksa->id, 'dengan kop');
|
||
|
||
return response()->json(['status' => 'Success', 'message' => $hasil]);
|
||
return back();
|
||
} else {
|
||
return response()->json(['status' => 'Failed', 'message' => 'Data No Foto Dengan Tanggal Lahir tidak Cocok']);
|
||
return back();
|
||
}
|
||
}
|
||
}
|
||
}
|