Files
lis/app/Http/Controllers/FrontpageController.php
2025-01-27 08:16:55 +07:00

1430 lines
52 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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\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 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 {
$getdomain = url()->current();
$data['getdomain'] = $getdomain;
$data['kalender'] = Periksa::whereDate('daftar', Carbon::today())->get();
return view('jadwal', $data);
}
}
public function getKalenderlist() {
$data = [];
$idne = '';
$jadwals = Periksa::whereDate('daftar', '>=', Carbon::yesterday())->orderBy('daftar', 'ASC')->orderBy('ruangan_id', 'ASC')->get();
if (!empty($jadwals)){
foreach ($jadwals as $hcari) {
$nofoto = $hcari->nofoto;
$ruang = $hcari->ruangan;
$mulai = $hcari->mulai;
$akhir = $hcari->akhir;
$reques = $hcari->reques;
$arrayttl = explode(" ", $mulai);
$tanggal = $arrayttl[0];
$jam = $arrayttl[1];
$cnama = $hcari->getPasien->nama ?? 'Deleted Data Pasien';
$ctelpon = $hcari->getPasien->telpon ?? '';
$calam = $hcari->getPasien->alamat ?? '';
$ckota = $hcari->getPasien->kota ?? '';
$keperluan = 'On '.$ruang.' Request '.$reques.' for '.$cnama;
$start = Carbon::parse($mulai)->format('Y-m-d H:i:s');
$end = Carbon::parse($akhir)->format('Y-m-d H:i:s');
if ($idne == ''){ $idne = 'id1'; }
else { $idne = $hcari->id; }
$data[] = array(
'id' => $idne,
'description' => $reques,
'location' => $hcari->urgensi,
'subject' => $keperluan,
'calendar' => $ruang,
'start' => $start,
'end' => $end,
);
}
}
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::get('previlage') == ''){
return redirect('/login');
} else {
$data = [];
$dokters = User::where('previlage', 'supervisor')->get();
$allppds = User::where('previlage', 'ppds')->get();
$allanalis = User::where('previlage', 'analis')->get();
$organismslis = Organisms::where('kelompok', 'biakankultur')->groupBy('category')->select('category')->get();
$i = 0;
foreach ($organismslis as $rorganisme) {
$j = 0;
$category = $rorganisme->category;
$rooms = Organisms::where('kelompok', 'biakankultur')->where('category', $category)->orderBy('name', 'ASC')->get();
foreach ($rooms as $room) {
$data['organismes'][$i][$j]['id'] = $room->id;
$data['organismes'][$i][$j]['name'] = $room->name;
$j++;
}
$i++;
}
$x = 0;
foreach ($organismslis as $rows) {
$data['bacterycateggories'][$x] = $rows->category;
$x++;
}
if ($x == 0){
$data['organismes'][0][0]['id'] = 0;
$data['organismes'][0][0]['name'] = 'No Data';
$data['bacterycateggories'][0] = 'No Data';
}
$mikroorganismelist = Organisms::where('kelompok', 'mikroorganisme')->groupBy('category')->select('category')->get();
$i = 0;
foreach ($mikroorganismelist as $rorganisme) {
$j = 0;
$category = $rorganisme->category;
$rooms = Organisms::where('kelompok', 'mikroorganisme')->where('category', $category)->orderBy('name', 'ASC')->get();
foreach ($rooms as $room) {
$data['mikroorganismes'][$i][$j]['id'] = $room->id;
$data['mikroorganismes'][$i][$j]['name'] = $room->name;
$j++;
}
$i++;
}
$x = 0;
foreach ($mikroorganismelist as $rows) {
$data['mikroorganismestlist'][$x] = $rows->category;
$x++;
}
if ($x == 0){
$data['mikroorganismes'][0][0]['id'] = 0;
$data['mikroorganismes'][0][0]['name'] = 'No Data';
$data['mikroorganismestlist'][0] = 'No Data';
}
$data['allppds'] = $allppds;
$data['dokters'] = $dokters;
$data['allanalis'] = $allanalis;
$data['antrkrmsitu']= PeriksaSYNC::where('created_by', Session('username'))->where('status', '')->count();
$data['lokasi'] = 'Lab Mikrobiologi';
$data['master'] = 'mikro';
$previlage = Session('previlage');
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;
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,
]
);
}
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 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();
}
}
}