Files
lis/app/Http/Controllers/FrontpageController.php
2025-04-16 06:00:53 +07:00

1474 lines
64 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\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 = 'iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6CAMAAAC/MqoPAAABUFBMVEVHcEzT09Py8vLu7u7a2tr09PT09PTBwcHz8/Pp6enz8/Pp6enx8fH09PT09PTz8/Pw8PDt7e3w8PDn5+fu7u7x8fH09PTz8/Py8vLz8/Pz8/P09PTx8fHy8vLz8/Px8fHw8PDy8vLy8vLy8vLz8/OPj4+GhoaJiYmAgICHh4eGhoa1tbXJycmYmJjV1dW5ubm5ubmEhITg4OC/v7/Dw8O4uLiPj4+8vLyBgYF+fn7Nzc2amprR0dHd3d3p6en09PT09PTk5OTy8vKZmZnc3Nzh4eGVlZXw8PBiYmKlpaWQkJB0dHTu7u7s7Oze3t7JycmLi4vq6urU1NSFhYWfn5+9vb1oaGjOzs5vb29XV1fCwsKwsLDR0dGIiIjGxsbo6Oirq6u1tbVsbGxcXFz39/d4eHhfX1/Y2NhUVFS6urpOTk6AgIBERERJSUlBQUE/Pz9TfwEQAAAAQXRSTlMABHAfCaL5Ad0NyBJZ8+bTRCg7GjJO7cGqupOQhn6yYWl3mYyfKBdjvto+imm40qZefp3fTcaRNvCfteWJ7e3//sQynkgAABqbSURBVHja7J35VxrJFoDZpEFUdlziiibGTDIZ38wkmcmb0+zYDQJCAwoiWxCR5P3/P76uql6qQQF718k9Z+bXme989966XbcbLZaf8TN+xs9QGA6PPeRb2T/YPoxGj46i0cPtg/2VcMAfdBAvF9rqCYUPopvetYgzRkoi5lxd864v7ewF7I6X59oe3tnwRpyAc4IbwaN/r7rWt/YCnpfj3+Pb2XU5yUUj4l3aD72xPn/uYHjLu0o+NSK/fvh0/PrNM+Z2+155naSc+FZoJr8C/GdZ/ITftr5Kyo6LajKZzHz9cPruucl3BLZcpKLI1hmWnQ2W/hm5d/g2IqTiSHUgO52hPxy/Jp4J+O4qqUa0R1B7hqbpk0/PQD0R2FAHHCR9keHQabr09tjcVU/YDyOkijGkMrz4UunEzPCOPS+pbsSbSV58qdQ6OTUrfGjDSaod+WpS9N5qmdO8Y99FahAJVPCIvdSqvD12mK7Kj5ykNlGWsLPw78x11PmWSc2iQIn1Dti/fHptpmRfIzWMdEfqfXximqz3vHKSmkZ8gr3y5a/X5ijzDVLraE+wt1jxJnioD62T2seU98rYePEBrw7k5Lf0FDvb6g1u7S5Sn0B9XsL+5dTxbyBnn2KZqZwf//Xm30BOktdMJikO9ND72KikJwJ6kpOJm6RkoIfeT4xhD3lJXSM7krK3APuXYwPmWv8yqXO0m1PslbEBzS64SeoeBQpnN6rZuY9IA4K/qM2UjGO37sSMQM/CC3qgvYKzv9WTfWWVNCTaHY69NJaw6zfVhlykQTFkUx7Cj41hD64bRU4mGgwD2ekcxl7Ri936ijQu2h3Oe+VSf3bCqELnB1rknc7lKnqz+11GkrNDHYsO4CuXgJ3Wkd2xQRobBYpBOT+4zLXwwU7zM27faTA66HQMp33Qwgd6jWcbg9MdXVch9kyOZS9Jbq20nOcdR6TxUWQoyM5qzw1onP1Uu9tKIrxqAvQ21M5A7eB4F9m/HGs3zCyTZogihbyPWXSWPYOxa3Z3cWAKcrbaKeidBtpzFewhdnzy+sX2OO6yioLekwOAPijh7NoccdYt0iSR7iD20qWQ8kLOa9LqAhGzoGerFAXgkzDj2ZTHN3LqtzrCukSaJoYUZGfGUPughbNrUO6+iHnQz7uInYboIOWxG3rVy93w4V16vnU6kD2HtI8lN7WnL1g6+xDTROwo42HKi+wqbybMVOls5EcdyM5mPNQ+oLGtVEvdlA+YSjpJ1juQPZnjtFckN/RqdnnilbnIYcYD9nGP015KYuxqdnmzDHJijx81ATxV6nHaxxmc/ZR4adM7Psw2O4A9c8lrb+FbKfU6nWfZbOhkuQm1Mzle+yCTxLx/Ukt72Gk28m/pbhPCg2JH2ivJpPg+sVrarUemk05ejJqQvVXDtYve1dFO2F3mQ882oPZmpifRLnhXqcnvxcyHnih2ITvT64naGYxdlXHWqmx8TzhRJFTuc90ugKdytR7f5CsMxn6ixkgnL9+dEdfybnTbtrcS9oEIr+zZtqO7y66IOjk0HEH2zqAm0c4Ir14cG9HfV12bW7ZwKOi2so3Cgv7hM8htD4UPlpaV86dGiH1ck2hnhIL/oMK1/PaTsL1LNt/sT7IJwuoJ7UWXld1sp6uIvVXDtCcZLOeVn2+OhV8Zirl2bYt/ie0JHGwqeCgqVKtVwE7XMO0lRmTPfNKr1GOuoxU7yPAnHKjuwM6yU7Z1wD4aZWqY9nESY1fe6BYq9bWlFTvxJGwu+T1hmV+CstZHAD15VuvVhLOdRlf0iF1xo9uZX9/rNr/cO2C28ENbcj4hSVVRMDWJdriY4XrdB4UX09bdecKPfG5FwyJB+A+fDj9sNID3KlWD2vlqz1Ci968KJ7qgd+b/gWs7ZLUonZcJIhR9Ytonyg3AXq12WHRMe4uiKKHeFWZ8YNYZ5D2wq3X559t8UsPL1huIvdk7w6udzXgEzw43SjN+f4ZxFpxQ7T7EbXvK1HhevEHsEB3TnqEobhObTCrM+Ec3bWvbahnn0z70hJeO4zc3iL17eYazw4wX4BVlvOORFwRXl0IWtV9GJ4LRhefb1A3HPoGeGzMdiq93RknGP/KsHvOuaPLiivtwwYLPXheLCH6UO5Nqz0B0BK8o430PdbnVLbtFm3BsLeb9ol6E7I2bau5Wqr3U4bZSAP6dyl3Ou6Ld+zqe3cXyvc6xc+hYkx9TPDsbSub46d1DbNev5ftpC713nS/XeXYeXcx4pil6l//kSlinmu7qtkfTV/OInUX6+3WdZ+fQITvSTnObGcCuoNinZrm1Pa0/pV1g05MdXvPsxUauP6F93GmK3uUfb6GJ+dIVtmgdxPyr73j5WmBvXAL0GlbtA6opsv+i1hOrN2DRPvbnVvqwLLID9AntDNpOQHj5J7tN8t9cDulA/vB5ij+5pMtlyA7hq71+n6927mKaRlf0EP2r7PuKQ4lzXcinimzqTB8Oywgeotf6k9pbzS6nnYX/rMYVvE7k89DzhSFiR96rZ31RO2IfN7uC947cPufGVqwun0Un9JkJn4inUqlhasixX49urya1DzrdrlDucvtcUDxoImGdyB2HM2fZdgqEKL7Zv+rf8tq56xpm1BW8y+1zfuHiyGmz6PPV8JyfPDlPF1JIO2Ivd/pXU9qTaDvRBK8f/CmvzxHiFU1Up0+G7RsznefjacTOey9TV1eYdsROj3h2VrvMeU441teDOtX57O8HAXla6j15dzWlvTKqCt47Mlv8Hj++BvQhD88eYrPxOGRPY97pO0F7jZvke+NuFa2lAPsfiiaamE0XcOv+7GMt245z7IWCwF4B6BPaB82qyP6bovXDrluXBjfniibbhugYO8j5MYeOV3uuCW7oOXaZp9u2juk+7zedshftKXaIDtlvJdo7DbSWAuwy0dF17LYOxxoRmvOCWvb8ArC3J72XELpY7eABjoLbCcSuBN1r14F8ToNjyVl0gV1s9KlR/2662hm4nUDeP8oSR2zp1OPcB3MeWbL580fYhxlcOzfSMdxWCqzgP8ob58CD27L2R7p9aXaDS2Tz+UfZ67npamduGoL3P61y21xsX/vT3DvnAT2RBewIvi0peMDevZ2qdobbSgF6megHbKVrLd2zEyFjc9AF9oe8D+mpaqf4jRzrXSY6O83taD267s5dOiQge/ZB72CwK9Ymqr3WKaKtVEO+dZ9zTdv7CfdCv0CbSEzlvOSAT05o7zWL/DayWpXZ5vxrG1rePRP+BX90eJb3QqEwqf2yy2/kWHh5h5vFsbmn5aXE3sIb9Qn2ycFuotpz1XqR9974KPP/bsWvofKlp7xHMc0uek+zcw2ufXDDb+RYdLk3VFarsVU+kz0uiC/nJNorwlqKRX9vMVnI+GnxR7xDdloy0mWu60WB/TdzgXtsct62fjzn4807XHvnun6NNnIs+2czgROBTXkvRj/qPX7TF7Xf1qplcR35u4l+X9sS3Jb9A9vCAT/BHi/X7kXtgzq2jvzdYxpwa1jJl2OJ6aEWwqcG94L2Pl3G1pF/m+aPRvmjyl6DB+i8eLzeK/ditXeGAnux+F+TgLuV/+WEB4ZaAF+6FzK+d8NvZoB3k5xtgV0nGVOHPTsx0NP3gvaKuJVitZuiwQd31Pn7AQ8Nte3M/R2vncI2cvVfg8+9vc1jb7PWOe21Ir6NNL7LEf4jNX+/apq99YPTfteSbGIN73LyprensI9/cNr73TTGXv/DYOW+TdU/DZ1gj+dYdKD9LlcWVrEsusGlrvLfvXqQPVUD1gE6ExdXseWyoaXuVv3vXj3Afl6+ggl/f1erx4Ubeta7kad6YEOzz/6xwS7fuP8Btd9n8O1E6p/Pz/4on+M9n29+R+i3RclW6m/H8z/K5x3wGRYdsNPxNs7+/kUc5TO8Z/MXg+9Q+21dsp34x/8yjvJZ3tNnAP3Hj4x0M/Mf6ws5yh9nT9TvvwP2s7L0pva9QUe5Tj9wAdjJ5neITp1LLisNmGccK7r+hA/LXvrf/7k7t962lSMAixTF5V13iZJJ3XNeEjhB7CBAkEQr10baU19qF65b10cuUDeG08T9/2/lXkiRFEktJYo+ziZ5sEAx/jizM7Mzs0vE/vejQPZiln/8noN5C7Hf/g2hf3s4DmToczdy8iD3U2zubtBUf/ztPJitfJvz+3AavfwPbbr7FyL/ev8lkKn9XMvXow2Naf7j4L+Ovv/4Z6jtJF/PVus8yblFp/9+/P7415Nghj5Xoav2U4jc0feHH98f/3g/DSzgz/MU+hOJ3BmOa/v2cOcGtSRD/7nxk89yPI6+Pn7/w4F/IecIPj/zztAMtEV9f/zPrX8x47CX8/LpwuAJT6Q7+O1/Xy/ugovYk0Fe4VvpCQ9gvDv8x7fLu9ACvpNPeZVb1ey47Xjmx5/CK/hWJR/7Zj3twcInf/71S3gRa4F87NvBwZMKff6X2/BCLpc9SpwmOeRPCX9weXQX+igXdVctHWcKnpD94GTpEzsHda+ajjU9IPDT383obd+6g0oZBRCE/eB3w55DMMMNPh8f+9C3wA5FMXWMmMOuY9U6R9GyJ/ds57sudUbDfrPZ7NumlAZfHG59ohfNk5Njjz1T+JYyGtTqqGKEKbhiv8ceOWx91zFotB1yH/tBRuyiZPKNJTMl1BgTnbCzdY9eKZ+jym6YfUNyXdlpFrkYw8IkeGXbJg5on8/PEXtI7ht5uFbbriV5pT6D3KXa9k37OR5BuX/ZANzo8Q05+cBCbrT6LtuO4gR7dnuLwBH7MYL/crwRudEbVFcbJ1BdlQVqadsmt2Yo04ulfu6K3cFfk7zV4R1ulgMqwQqxt/pbJpffzmaY/Tag81/Ws+dlqyYwn/6hicnkIC9yqvRI5U+OD9biHjdTuaJEjTe2rO0Ak898csfsayg7lEbNtKsMNSEZtPUD0eS3RwR8duvT+fTKrncGxfTqKcQfXqJs3au9PTqiQvfJPa3IYau03hnT8efUm1uPZD6eoi6NmV/w56mnudFtrFkRkuNOtLW2vkDf/4TAXXYi9+P04OsaYhAz1yVt68W1+u4plrpf7imnuV6qbeCBIi087G2/tsa9PTwNss/O0yk7bDc3WlFWxAi7YedQa9j/dHrqss+O1iA3hhv+lhpcXqPmkXuVdw8PF+xI8KnI4eaKCfrhe278MNnGK9Rx6pAfEvjZUTqZG8PNj3IKSR0dVZ5LdWn3kLJTwd+mIlcyUEwQOHJS7DRzanp+dX9/uIBPSQ7NTI4z8r0kV2xrcj7gBfnD/T2Fxzo/S0MujrOZkqBokkxNq6flt0V3/8Ylx+xHafy5PsxKM4FQsXptk2/k2N/Pfby4uPfJ/SQN+SDTYIsT8u3zru9eYPZDwn6bijznbs2M1y37iNyTe4qJDkX+WZMXCh/xqaVU7qcplizQ4p41OBCwvl/Q+Z5G3Sfy85Z54f3Vzc2Fq/NHKfyaUnzm5IVXNwQd45+niF4rz5288PHGZb+/OE1h4+xnT859wIeRE/gUQm+rzx5d3b3y0A/Zha5nkR/m5HqxWFefyE+A+vzKY09h3s24cFOuh4YqxGT9a0NTkZyh9OxQElctBgd+JWwh6hJ19YcJBv7sirLf3LMH7/HNa30pNMqdrracl5f7bV9dWW/736cFxkboFujpBIDoJUbA4IAd8j1WK7SP0An8EbuN68WuMfilDA6cQmknlEtf2j4k+rLtoBS1QlR4XyGLXgK7AXS67t1hRH+zQGfXdzG+BsbH1I4G/odVicg8L169EokeTIm4lwQoIz9McutnZ1eY/uaCWd9hwhGsfNzTshbs0e+48lri4tDhouqYFTqR+9Uhu5EbF1KjO4GAa6tk35vNoD/dIyejO2FUM0N0gNAJ/Ixd35ur0Zc6DaHnD91Sut6x+1rf8l7d7E4jDx3iEaUZmUmd6Dz7VJeKK9GlgdZHfwYLsqlCjLRAhV6mqUeh4lYa23IAodMngx8vXu3cBVmjO+Q37MvVnrASvY36SHAnyYKMnE8NikbYP6om1YtaDIKquXaRnvmbCfqbszmBZ7dyU6uwGt0XpKilgFRpicl/em+Rkg0DCH7PVVUC/3cm6PuIHP27YI9i++nQQZH+3i0s1b4fk15hTX2PIwIdFCot6lzUzNDfXxOhn92zW7lKOnSHls5VfAz/YBm9UJEMNEh4HCV172W6ZFJkgc7V9+bzlOitRlp090WJJW5RXQsYDLlYraK/IBbdezXRIDOp/7J3TdjZ3bpRTYvudsVhG0/fMSTGvg02Wuqq4vs0E3TuwzVin6dAT/Jt0eiukuNvetU1qdusA2Z096WPWFsyQS+8dNCv52fbRadWHU+VRdcM1MulQU0FTOjuC3oUOSt08AYdNT6fz++3iU4ljW0U6AcCtJaDHyw2xaBTG4HXD9lI/f0lPmd9zu7cjPTotFOG+AbZjOqlBavQaQVeyg5dfofJr69Y0eEaZq7oRwcRb3WDRrexAp2axwzRC6+J1M+Ot+fcglJHJ1gtLdjh1OCFvNH3rwk7czpWr62L7n4TgCKv6MtLeo5B4TOc64X6HmFnXrQmrVmTzdxCXwBQK2MltOVF15LQB77YIBt0AIjGXzObeNhPjU6VNWQl1BpvlvWl5H6yc+tk59cdjb/ERv6G2cQP1w1plhNbXL3G97xGSb2yOqQpgezQwS/vMPucuZ1iJzX6yCex5YCyOnSTdfzqQJakmicRl3CllemzJfaXl5idORnd41Kiu72/3bhvuYnKUTx6ja5aNf+znATQe6vTCeHxYg+zXzCXl9WU6E19YSTkoYVGqBdy6FuwR6PbgTTNOGr51149HyPFfnl9dpLB0i0K3c3G4e/RtyGHggMa5Pdi0YtS4MZuCrAecUmqzVHv9zA7o8bDpFxFFPpA9MmIbncIugngz1pFoQujoIklLgMG/Ky7Gk5X+H/5gNiZY1k+DTrQjIBTpOmW4OEydsRi3IcuW2JA3732ed9d3H5LI92GkRdE7KxRTQkwZGTpL9TYaQVNBI3K4Ng3TyuGT1eXnJRc8c5npslob6sM7LrswlBMciMJiVksdtbVW1ldmYe3bDy6HSMUq3npV9GsEdUQqu7hXkRgLrpCbmGPFjGvVA2XOmBHq6qyWmx6Tydtu4fwGoudrQwBE6L42MLTYt+9vdjf3LWH/qcz4iILT9AzMoMlm+Y8QqOslA3RWwKm7iZ/8Q7J/WLjeC4WfbHvvq7EoFGZxtbcAnOEh8FatlcPTN3GyO070/2BUexT9vq6942iL7kafZKZewZHDDoULX9yXzYza2kDaLo/MAby8VY0Gr0V2K0GKlLkvq4CSEIv94PPu9iLumidnZAchz3cbEP3FoEuSqPgNjAQ8b43vZfYWqCX7SVxqkuvYhDX3QkpOOwPZ2ylt1gPoinB0TGtiFaagtA0DehLT5m+HR/AVtqB0ZkMK/WI7eCgNpIWj1AM3CSl3BH7JduyvRWnWIIcHDEd7gAI1f7YbNOHU+US7iHEA4Ficzjqddqd3sTWqhtsIgAOO6ul62bRD84hSAFsfBdh4y0EjihePbCp/J30NEfyb28A8GaPMaazCz/deP/ukqkG9dOJHdVeX16ebtpb8YyVnoXdaBR+wvHi9SeG+R7ZIlzXNM2J1rmKphH/19CQt5WbGhnohyK+hFzkjErd9fWa/2lWeWvgC2Pkpm3xNc79VhP5Q8F/V64xsGxt8xO69ndX16H0qExQTYeQJ30UE+S15A5OMeOiG6Tr3fEU4vUPPZpDpOdwVPRpZxGl1yTYgm2PvY7jv5bN0RQcNMYqSXZBUvyVcWwHM9hgKwzKa1k61PdRAgiDoKOfd5zffDyZSNPyZGLL+LHgLI6DrnRHzuckp7PjJuJpznVUHS0CZnsqWbwJnQscdGVSaotTC6gWuqs0mYxVMJ6KPXvH+Wnj/eSA5W1lprwcW+rHX8r1wnDaIujjqSSSgjwwSYYcNEWjhRNoDvoQ59RIvrIsSoscOhhNd4DlrY6FDnoKaqc1ROi8s3CzacV3RP6fRguiLtxGeTrJYGsBqKx68wNcPtm0JkqKXiuYYg//Sg6Poz59PzpXmo4n0xGg6ABopCNMg8oALlKsTb1ltjwRcuZUaRa5erVO0HFmt0/RSTablHb45M4H5iFrbTE5XdNfkrpY7k55VZLGGL0Jy/Ux7X+h6FVDrzX/3961LTkKAtHgBTQi4g1j4iVq/kP//6u2m8ZJsjM7W7WVPGzVkDcj0cNp6KaBkw1fEKBDFzgpqyoG4Loy2uRjQiO7239tUKRwTA47dLCD7gH6zW26K9L0NQo+IpHttyp4qv7EejZuoebDhNCRYXgbm3TfoV/XJkgy3AS2KxApKahFoLvvbsMfOF+PZbkLEzKJxya2Jt+hs4FStgQdGm52a7pcv8rRxXr+TvUz0p9Yr1S2rL2H0HO19bqObNTroANbJ61btASAfqtreeG4XxYstdb95pYm2G1tZLSew/vvJ3oCGmZxZ315Zl28lHU3MxxP0R8N/zdtLIDut1xxbaF7Vi6W8tAOemFIQRamvW6YsyDQZVlh2d7l2YE8mXLuAqfSQ6GWYAHnGBB0MpwP6D26zaoOri/q6x+jPfPl+Wi+Jl+N7Jn1BPy28gE6gsqGYWhTXCVx0LtVwaVBQU910JMG3F+R8gYuZy5bn5u0su7OZQFzZQe1aT3GBF2MnAzEQYf63mFK4QfC1x4ew+3dcSW74Z71fQhtuvKJ9VjytWUIvTCpZgGL7WhP0IGsCSbYrCf+mq5bWlw/WtY2gVsLQ2tJ0Bwnjf+jZfrYuQXVj50i+2i7JTTrmT1AD+bVXHCLjnmTThlLcj3289BkkVLGpFCMUdFdr8KynuMbemsIDFOwMmIe00IXtevN4Iclc8NcugQQ5njOf1u/jJlLMLJmgKGOaKcYroWwjXLZZi5d6BNSlyA12o2f3zSlpO39LE5KP6+qAj5V7vsPx/hKTwbB6OWHytOsnmiQKq9wQdQTEFJMdKQtkFPBpIdlLAK8g7ro/r2optt8LRNvJ7EcL7cFFTyoFlai8Nc94xDoDmqM2fZuAU5oAuHaQnzdQYQQ73jq30p+/f9P2/6Un/JT/q38Aq70HcufWb0TAAAAAElFTkSuQmCC';
}
$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();
}
}
}
}