'Growth/Detection', 'accession_number' => $resultData[2], 'status' => $resultData[3], // Positif atau Negatif 'completion_time' => $resultData[7] ]; } // Proses untuk Isolate Result function processIsolateResult($rawData){ $resultData = explode('|', $rawData); return [ 'test_type' => 'Isolate', 'isolate_result' => $resultData[3], 'antibiotic' => $resultData[4], 'value' => $resultData[5], 'status' => $resultData[6], 'completion_time' => $resultData[10] ]; } // Proses untuk Other Test Result function processOtherResult($rawData){ // Format: R|1| ^ ^ ^OTHER^Seq123|Complete| ... $resultData = explode('|', $rawData); return [ 'test_type' => 'Other', 'sequence_number' => $resultData[3], 'result' => $resultData[4], 'description' => $resultData[5], 'completion_time' => $resultData[6] ]; } class AstmMessageService { /** * Membersihkan string dari karakter non-printable */ private function cleanString($string) { return preg_replace('/[^\P{C}\n]+/u', '', $string); } /** * Parsing data berdasarkan format yang diberikan */ private function parseResultData($rawData, $format) { $resultData = explode('|', $rawData); $parsedData = []; foreach ($format as $key => $index) { $parsedData[$key] = $resultData[$index] ?? null; } return $parsedData; } /** * Proses hasil AST Record */ public function processAstResult($rawData) { $format = [ 'test_type' => 0, 'accession_number' => 2, 'antibiotic' => 3, 'susceptibility' => 4, 'value' => 5, 'status' => 6, 'completion_time' => 10 ]; return $this->parseResultData($rawData, $format); } /** * Proses hasil ID Record */ public function processIdResult($rawData) { $format = [ 'test_type' => 0, 'accession_number' => 2, 'organism_name' => 3, 'status' => 6, 'completion_time' => 10 ]; return $this->parseResultData($rawData, $format); } public function createHeader($senderName, $versionNumber) { $messageDateTime = Carbon::now()->format('YmdHis'); return "H|{$senderName}|{$versionNumber}|{$messageDateTime}"; } // Fungsi untuk membuat Patient Record (P) public function createPatientRecord($patient) { // Extract fields from $patient array, adjust field positions based on mapping return "P|{$patient['id']}|{$patient['last_name']}|{$patient['first_name']}|{$patient['middle_name']}|{$patient['suffix']}|{$patient['dob']}|{$patient['sex']}|{$patient['address']}||{$patient['phone']}|{$patient['admitting_physician']}"; } // Fungsi untuk membuat Order Record (O) public function createOrderRecord($order) { // Order fields based on mapping (Accession Number, Test ID, etc.) return "O|{$order['accession_number']}|{$order['isolate_number']}|{$order['organism']}|{$order['exclude_isolate']}|{$order['priority']}|{$order['collection_date_time']}|{$order['collected_by']}|{$order['received_by']}|{$order['specimen_action_code']}|{$order['isolate_source_test']}|{$order['isolate_source_test_start_time']}|{$order['receipt_date_time']}|{$order['specimen_type']}|{$order['body_site']}|{$order['ordering_physician']}|{$order['ordering_physician_phone']}|{$order['ordering_physician_fax']}|{$order['ordering_physician_pager']}|{$order['specimen_user_field_1']}|{$order['specimen_user_field_2']}|{$order['specimen_user_field_3']}|{$order['specimen_user_field_4']}|{$order['specimen_user_field_5']}|{$order['finalized_date_time']}|{$order['specimen_reimbursement_value']}|{$order['test_reimbursement_value']}|{$order['isolate_classification']}"; } public function createTerminatorRecord($order) { // Order fields based on mapping (Accession Number, Test ID, etc.) return "L|1|N"; } // Fungsi untuk membuat pesan lengkap (header + patient + order) public function createMessage($senderName, $versionNumber, $patient, $order) { $header = $this->createHeader($senderName, $versionNumber); $patientRecord = $this->createPatientRecord($patient); $orderRecord = $this->createOrderRecord($order); $terimatorRecord= $this->createTerminatorRecord($order); return implode("\n", [$header, $patientRecord, $orderRecord, $terimatorRecord]); } /** * Proses data ASTM Response */ public function processAstmResponse($response, $alat) { // Bersihkan data $astmData = $this->cleanString($response); // Validasi awal: response tidak kosong if (empty($astmData)) { Log::error("ASTM data kosong atau tidak valid."); } $jsonantibiotik = array( 'Oxacillin-OX', 'Cefoxitin-FOX', 'Benzylpenicillin-P', 'Ampicillin-AM', 'Azithromycin-AZM', 'Erythromycin-ERY', 'Cefazolin-CZO', 'Cefepime-FEP', 'Cefixime-CFM', 'Cefotaxime-CTX', 'Cefuroxime-CXM', 'Ceftazidime-CAZ', 'Ceftriaxone-CRO', 'Ceftazidime/Avibactam-CZA', 'Piperacilin/Tazobactam-TZP', 'Ampicillin/Sulbactam-SAM', 'Amoxicillin/Clavulanate-AMC', 'Cefoperazon/Sulbactam-SCF', 'Aztreonam-ATM', 'Ceftaroline-CPT', 'Ciprofloxacin-CIP', 'Levofloxacin-LEV', 'Moxifloxacin-MFX', 'Clindamycin-CLI', 'Colistin-CS', 'Tetracyclin-TCY', 'Tigecycline-TGC', 'Gentamicin-GM', 'Amikacin-AN', 'Meropenem-MEM', 'Imipenem-IPM', 'Doripenem-DOR', 'Ertapenem-ETP', 'Minocycline-MNO', 'Doxycycline-DOX', 'Spectinomycin-SPT', 'Tigecycline-TGC', 'Trimethoprim/Sulfamethoxazole-SXT', 'Fosfomycin-FOS', 'Vancomycin-VAN', 'Linezolid-LNZ', 'Fluconazole', 'Voriconazole', 'Caspofungin', 'Micafungin', 'Amphotericin B', 'Flucytosine' ); $headerData = []; $patientData = []; $orderData = []; $resultData = []; $instrumenDT = []; $mltrData = []; $isolate = null; $accession_number = null; $segments = explode("\n", $astmData); foreach ($segments as $rsegmen){ $cekdata = explode('|', $rsegmen); $datapertama = $cekdata[0]; $cleankode = preg_replace("/[^a-zA-Z]/", "", $datapertama); if ($cleankode == 'H'){ $headerData = array_merge([$cleankode], array_slice($cekdata, 1)); } if ($cleankode == 'P'){ $patientData = array_merge([$cleankode], array_slice($cekdata, 1)); } if ($cleankode == 'O'){ $orderData = array_merge([$cleankode], array_slice($cekdata, 1)); } if ($cleankode == 'R'){ $resultData = array_merge([$cleankode], array_slice($cekdata, 1)); } if ($cleankode == 'I'){ $instrumenDT = array_merge([$cleankode], array_slice($cekdata, 1)); } if ($cleankode == 'mtrsl'){ $mltrData = array_merge([$cleankode], array_slice($cekdata, 1)); } } if (!empty($patientData) && !empty($headerData)) { $resultSample = new ResultSample(); $noregister = $patientData[4] ?? null; $resultSample->sender_name = $alat; $resultSample->version_number = $headerData[11] ?? $patientData[12] ?? null; $resultSample->message_datetime = $resultData[13] ?? null; // '20241130152734' // Patient Record (Segment P) $resultSample->patient_id = $patientData[4] ?? null; // '11607396' $resultSample->patient_name_last = $patientData[6] ?? null; // 'ZAKIYATUN' $resultSample->patient_name_first = $patientData[7] ?? null; // 'O' $resultSample->patient_name_middle = $patientData[8] ?? null; $resultSample->patient_name_suffix = $patientData[9] ?? null; $resultSample->patient_name_title = $patientData[10] ?? null; $resultSample->patient_dob = $resultData[11] ?? null; // '19800101' $resultSample->patient_sex = $patientData[12] ?? null; // 'F' $resultSample->address_street = $patientData[13] ?? null; // 'Street ABC' $resultSample->address_city = $patientData[14] ?? null; $resultSample->address_state = $patientData[15] ?? null; $resultSample->address_zip = $patientData[16] ?? null; $resultSample->address_country = $patientData[17] ?? null; $resultSample->patient_phone = $patientData[18] ?? null; // '081234567890' // Order Record (Segment O) $resultSample->accession_number = $orderData[4] ?? null; // '12345' $resultSample->isolate_number = $orderData[5] ?? null; // '67890' $resultSample->organism = $orderData[6] ?? null; // 'E. coli' $resultSample->exclude_isolate_from_statistics = $isolate; // 'false' $resultSample->test_id = $orderData[8] ?? null; // 'Test123' // Result Record (Segment R) $resultSample->result_type_code = $resultData[4] ?? null; // 'S' $resultSample->antibiotic = $resultData[5] ?? null; // 'Amoxicillin' $resultSample->antibiotic_concentration = $resultData[6] ?? null; // '100mg' $resultSample->antibiotic_concentration_units = $resultData[7] ?? null; // 'mg' $resultSample->test_status = $resultData[8] ?? null; // 'Completed' $resultSample->result_data = json_encode(array_slice($resultData, 9)); // Additional data (if any) $resultSample->preliminary_final_status = $resultData[13] ?? null; $resultSample->test_start_datetime = $resultData[14] ?? null; $resultSample->result_status_datetime = $resultData[15] ?? null; $resultSample->test_complete_datetime = $resultData[16] ?? null; // Periksa apakah data duplikat berdasarkan accession_number //if (ResultSample::where('accession_number', $resultSample->accession_number)->exists()) { // return response()->json(['message' => 'Data sudah ada.'], 409); //} // Simpan ke database if ($noregister){ Periksa::where('nofoto', $accession_number)->update([ 'status' => 'Data Vitek di Terima', ]); Log::info("Data berhasil disimpan:", $resultSample->toArray()); $resultSample->save(); } return response()->json(['message' => 'Data berhasil diproses dan disimpan.']); } else { if (!empty($mltrData)){ Log::info("Trying parser MTRSL :", $mltrData); $parsedData = []; $parsedData['antibiotics'] = []; $antibiotic = ''; $resistance = ''; $value = ''; $interpretation = ''; $mulaikirim = 0; $tanggalmasuk = ''; $tanggalkeluar = ''; $resultSample = new ResultSample(); foreach ($mltrData as $index => $field) { $cekbersih = trim($field, '"'); if (strpos($cekbersih, 'a1') === 0) { // Kode dari alat } if (strpos($cekbersih, 'a2') === 0) { $antibiotic = substr($field, 2); // Nama antibiotik $mulaikirim++; } if (strpos($cekbersih, 'a3') === 0) { $value = substr($field, 2); // Nilai MIC $mulaikirim++; } if (strpos($cekbersih, 'a4') === 0) { $interpretation = substr($field, 2); // S, I, atau R $mulaikirim++; } if (strpos($cekbersih, 'an') === 0) { $resistance = substr($field, 2); // Catatan resistansi $mulaikirim++; } if (strpos($cekbersih, 'mt') === 0) { $resultSample->sender_name = substr($cekbersih, 2); } if (strpos($cekbersih, 'ii') === 0) { $resultSample->version_number = substr($cekbersih, 2); } if (strpos($cekbersih, 'rr') === 0) { $resultSample->isolate_number = substr($cekbersih, 2); } if (strpos($cekbersih, 'ci') === 0) { $accession_number = substr($cekbersih, 2); $resultSample->accession_number = $accession_number; } if (strpos($cekbersih, 'pi') === 0) { $resultSample->patient_id = substr($cekbersih, 2); } if (strpos($cekbersih, 'pn') === 0) { $patientNames = substr($cekbersih, 2); $patientNames = explode(',', $patientNames ?? null); if (count($patientNames) > 0) { $resultSample->patient_name_first = trim($patientNames[0]); } if (count($patientNames) > 1) { $resultSample->patient_name_last = trim($patientNames[1]); } if (count($patientNames) > 2) { $resultSample->patient_name_middle = trim($patientNames[2]); } } if (strpos($cekbersih, 'pl') === 0) { $resultSample->hospital_service = substr($cekbersih, 2); } if (strpos($cekbersih, 'p2') === 0) { $resultSample->hospital_client = substr($cekbersih, 2); } if (strpos($cekbersih, 'ss') === 0) { $resultSample->specimen_type = substr($cekbersih, 2); } if (strpos($cekbersih, 'o2') === 0) { $resultSample->organism = substr($cekbersih, 2); } if (strpos($cekbersih, 's1') === 0) { $tanggalmasuk = substr($cekbersih, 2); } if (strpos($cekbersih, 's2') === 0) { $tanggalmasuk = $tanggalmasuk.' '.substr($cekbersih, 2); } if (strpos($cekbersih, 's3') === 0) { $tanggalkeluar = substr($cekbersih, 2); } if (strpos($cekbersih, 's4') === 0) { $tanggalkeluar = $tanggalkeluar.' '.substr($cekbersih, 2); } if ($antibiotic != '' AND $resistance != '' AND $value != '' AND $interpretation != '') { $parsedData['antibiotics'][] = [ 'antibiotic' => $antibiotic, // Antibiotik 'resistance' => $resistance, // Hasil Resistansi 'value' => $value, // Nilai 'interpretation'=> $interpretation // Interpretasi ]; $antibiotic = ''; $resistance = ''; $value = ''; $interpretation = ''; } else { $mulaikirim = 1; } } //$resultSample->specimen_type = $parsedData['specimen_type'] ?? null; // Could be inferred //$resultSample->test_id = $parsedData['test_id'] ?? null; // Result Record $resultSample->additional_result = json_encode($parsedData['antibiotics']); if ($tanggalmasuk != ''){ try { $resultSample->message_datetime = Carbon::parse($tanggalmasuk)->format('Y-m-d H:i:s') ?? null; }catch (Exception $e) { $resultSample->message_datetime = date('Y-m-d H:i:s'); } } if ($tanggalkeluar != ''){ try { $resultSample->test_complete_datetime = Carbon::parse($tanggalkeluar)->format('Y-m-d H:i:s') ?? null; }catch (Exception $e) { $resultSample->test_complete_datetime = date('Y-m-d H:i:s'); } } $resultSample->save(); if ($accession_number){ $getorderid = Periksa::where('nofoto', $accession_number)->first(); $orderid = $getorderid->id ?? null; if ($orderid){ if(is_array($parsedData['antibiotics']) && count($parsedData['antibiotics']) > 0){ foreach ($parsedData['antibiotics'] as $item){ $glassreportname = in_array($item['antibiotic'], $jsonantibiotik); RekapAntibiotik::updateOrCreate( [ 'orderid' => $orderid, 'antibiotic' => $item['antibiotic'], ], [ 'resistance' => $item['resistance'], 'value' => $item['value'], 'interpretation' => $item['interpretation'], 'glassreportname' => $glassreportname, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s'), ] ); } } } Periksa::where('nofoto', $accession_number)->update([ 'status' => 'Data Vitek di Terima', ]); } Log::info("Data MTRL Berhasil di Parse dan di simpan ", $resultSample->toArray()); return response()->json(['message' => 'Data berhasil diproses dan disimpan.']); } else { $headerData = explode("|", $response); if (isset($headerData[3])){ $accnumber = $headerData[47] ?? null; $noregister = $headerData[16] ?? null; $nama = $headerData[18] ?? null; $urgensi = $headerData[50] ?? null; //A Critical R Normal $iddokter = $headerData[33] ?? null; $test_start_datetime = $headerData[52] ?? null; $result_status_datetime = $headerData[59] ?? null; $specimen_type = $headerData[60] ?? null; $resulttype = $headerData[34] ?? null; $resultstatus = $headerData[63] ?? null; $preliminary = $headerData[40] ?? null; //P $test_complete_datetime = $headerData[44] ?? null; $tesid = $headerData[62] ?? null; $alamat = $headerData[23] ?? null; $instrumen = $resultData[2] ?? null; $body_site = ''; $tengah = ''; $depan = ''; $akhir = ''; $suffix = ''; $title = ''; $concentration_unit = ''; $kode = ''; $antibiotic = ''; $city = ''; $state = ''; $zipcode = ''; $country = ''; if ($resulttype){ $getdataresult = explode('^', $resulttype); $kode = $getdataresult[3] ?? ''; $concentration_unit = $getdataresult[4] ?? ''; } if ($specimen_type){ $getdata = explode('\n', $specimen_type); $specimen_type = $getdata[0]; $body_site = $getdata[1] ?? ''; } if ($tesid){ $gettgl = explode('^', $tesid); $tesid = $gettgl[3] ?? null; } if ($instrumen){ $gettgl = explode('^', $instrumen); $instrumen = $gettgl[0]; $media_assay_type = $gettgl[1] ?? null; $protocol_length = $gettgl[2] ?? null; $instrument_number = $gettgl[3] ?? null; $instrument_location = $gettgl[4] ?? null; $protocol_name = $gettgl[5] ?? null; } else { $media_assay_type = null; $protocol_length = null; $instrument_number = null; $instrument_location = null; $protocol_name = null; } if ($isolate == '' OR $isolate == '0' OR is_null($isolate)){ $isolate = false; } else { $isolate = true; } if ($test_complete_datetime){ $test_complete_datetime = substr($test_complete_datetime, 0, 14); //$test_complete_datetime = Carbon::parse($test_complete_datetime)->format('Y-m-d H:i:s'); } if ($result_status_datetime){ $result_status_datetime = substr($result_status_datetime, 0, 14); //$result_status_datetime = Carbon::parse($result_status_datetime)->format('Y-m-d H:i:s'); } if ($test_start_datetime){ $test_start_datetime = substr($test_start_datetime, 0, 14); //$test_start_datetime = Carbon::parse($test_start_datetime)->format('Y-m-d H:i:s'); } if ($nama){ $getnama = explode('\015', $nama); $nama = $getnama[0]; $getnama = explode('\n', $nama); $nama = $getnama[0]; $akhir = $getnama[1] ?? ''; $depan = $getnama[2] ?? ''; $tengah = $getnama[3] ?? ''; $suffix = $getnama[4] ?? ''; $title = $getnama[5] ?? ''; $nama = $nama.$akhir; } if ($alamat){ $getnama = explode('^', $alamat); $alamat = $getnama[0]; $city = $getnama[1] ?? ''; $state = $getnama[2] ?? ''; $zipcode = $getnama[3] ?? ''; $country = $getnama[4] ?? ''; } if ($test_start_datetime == ''){ $test_start_datetime = null; } if ($result_status_datetime == ''){ $result_status_datetime = null; } if ($test_complete_datetime == ''){ $test_complete_datetime = null; } $resultSample->sender_name = $headerData[4] ?? 'Unkown'; $resultSample->version_number = $headerData[12] ?? 'V0.0'; $resultSample->message_datetime = $test_start_datetime; // Patient Record (Segment P) $resultSample->patient_id = $noregister; // '11607396' $resultSample->patient_name_last = $nama; // 'ZAKIYATUN' $resultSample->patient_name_first = $depan; // 'O' $resultSample->patient_name_middle = $tengah; $resultSample->patient_name_suffix = $suffix; $resultSample->patient_name_title = $title; $resultSample->patient_dob = $headerData[20] ?? null; $resultSample->patient_sex = $headerData[21] ?? null; $resultSample->address_street = $alamat; $resultSample->address_city = $city; $resultSample->address_state = $state; $resultSample->address_zip = $zipcode; $resultSample->address_country = $country; $resultSample->patient_phone = $headerData[25] ?? null; $resultSample->admitting_physician = $headerData[27] ?? null; $resultSample->patient_diagnosis = $headerData[33] ?? null; $resultSample->patient_therapy = json_encode($headerData); $resultSample->admit_datetime = null; $resultSample->room_number = $headerData[46] ?? '00001'; $resultSample->hospital_service = $headerData[45] ?? 'RSSA Malang'; $resultSample->hospital_client = $orderData[4] ?? 'Lab Mikro'; // Order Record (Segment O) $resultSample->accession_number = $accnumber; // '12345' $resultSample->isolate_number = $orderData[5] ?? null; // '67890' $resultSample->organism = $orderData[6] ?? null; // 'E. coli' $resultSample->exclude_isolate_from_statistics = $isolate; // 'false' $resultSample->specimen_type = $specimen_type; $resultSample->body_site = $body_site; $resultSample->test_id = $tesid; // 'Test123' $resultSample->urgensi = $urgensi; //A Critical R Normal // Result Record (Segment R) $resultSample->result_type_code = $kode; $resultSample->antibiotic = $antibiotic; $resultSample->antibiotic_concentration = $concentration_unit; // '100mg' $resultSample->antibiotic_concentration_units = $concentration_unit; // 'mg' $resultSample->test_status = $resultstatus; // 'Completed' $resultSample->result_data = json_encode($orderData); // Additional data (if any) $resultSample->preliminary_final_status = $preliminary; $resultSample->test_start_datetime = $test_start_datetime; $resultSample->result_status_datetime = $result_status_datetime; $resultSample->test_complete_datetime = $test_complete_datetime; $resultSample->instrument_type = $instrumen; $resultSample->media_assay_type = $media_assay_type; $resultSample->protocol_length = $protocol_length; $resultSample->instrument_number = $instrument_number; $resultSample->instrument_location = $instrument_location; $resultSample->protocol_name = $protocol_name; $resultSample->additional_result = json_encode($resultData); if ($noregister){ $resultSample->save(); Log::info("Data ASTM Berhasil di Parse dan di simpan ", $resultSample->toArray()); return response()->json(['message' => 'Data berhasil diproses dan disimpan.']); } } else { Log::debug("Abaikan Data Berikut ". json_encode($headerData)); } } } } /** * Proses data ASTM Response */ public function processAstmMessages($dataListener) { foreach ($dataListener as $data) { try { // Ambil pesan ASTM dari kolom 'message' atau yang relevan $response = $data->rawdt; if ($data->alat == 'BD Mikro 1'){ if ($data->no_id != ''){ $rnmpas = $data->rnmpas; $getnama = explode('|', $rnmpas); $resultSample = new ResultSample(); $resultSample->sender_name = $data->alat; $resultSample->message_datetime = $data->tgl_data; $resultSample->version_number = 'V1.0'; $resultSample->patient_id = $data->urut; $resultSample->patient_name_last= $getnama[0]; $resultSample->accession_number = $data->no_id; $resultSample->test_status = $data->organisme; $resultSample->save(); DataListiner::where('urut', $data->urut)->update([ 'processed' => 1 ]); Periksa::where('nofoto', $data->no_id)->update([ 'status' => 'Data BD di Terima', ]); Log::info("Data ASTM BD ", $resultSample->toArray()); PendaftaranOnListiner::where('rnoreg', $data->no_id)->update([ 'rtglast' => date('Y-m-d'), 'flg_vitek1' => 0, 'flg_vitek2' => 0 ]); } else { DataListiner::where('urut', $data->urut)->update([ 'processed' => 9 ]); } } else { // Lakukan parsing menggunakan method/fungsi yang sudah dibuat $result = $this->processAstmResponse($response, $data->alat); // Jika berhasil, tandai data sudah diproses if ($result) { DataListiner::where('urut', $data->urut)->update([ 'processed' => 1 ]); } else { Log::debug($result); } } } catch (\Exception $e) { Log::critical($e->getMessage()); } } } public function processAstmMessagesLokal($dataListener) { foreach ($dataListener as $data) { try { // Ambil pesan ASTM dari kolom 'message' atau yang relevan $response = $data->rawdt; if ($data->alat == 'COM1' OR $data->alat == 'COM3'){ if (isset($data->no_id) AND $data->no_id != ''){ $rnmpas = $data->rnmpas; $getnama = explode('|', $rnmpas); $resultSample = new ResultSample(); $resultSample->sender_name = $data->alat; $resultSample->message_datetime = $data->tgl_data; $resultSample->version_number = 'V1.0'; $resultSample->patient_id = $data->seq_no; $resultSample->patient_name_last= $getnama[0]; $resultSample->accession_number = $data->no_id; $resultSample->test_status = $data->organisme; $resultSample->save(); DB::table('lis_phoenix')->where('id', $data->id)->update([ 'processed' => 1 ]); Periksa::where('nofoto', $data->no_id)->update([ 'status' => 'Data BD di Terima', ]); Log::info("Data ASTM BD ", $resultSample->toArray()); PendaftaranOnListiner::where('rnoreg', $data->no_id)->update([ 'rtglast' => date('Y-m-d'), 'flg_vitek1' => 0, 'flg_vitek2' => 0 ]); } else { DB::table('lis_phoenix')->where('id', $data->id)->update([ 'processed' => 9 ]); } } else { // Lakukan parsing menggunakan method/fungsi yang sudah dibuat $result = $this->processAstmResponse($response, $data->alat); // Jika berhasil, tandai data sudah diproses if ($result) { DB::table('lis_phoenix')->where('id', $data->id)->update([ 'processed' => 1 ]); } else { Log::debug($result); } } } catch (\Exception $e) { Log::critical($e->getMessage()); } } } }