This commit is contained in:
Dwi Swandhana
2026-02-12 10:24:06 +07:00
parent a6807575a2
commit 37826bd08f
2 changed files with 30 additions and 61 deletions
@@ -3282,6 +3282,7 @@ class DokterController extends Controller
'urlhasil' => $urlhasil, 'urlhasil' => $urlhasil,
'status' => $status, 'status' => $status,
'keterangan' => $keterangan, 'keterangan' => $keterangan,
'spesimen' => $rows->nm_spesimen,
'rawdata' => self::genSurat($rows->id, 'dengan kop'), 'rawdata' => self::genSurat($rows->id, 'dengan kop'),
); );
} }
@@ -5,9 +5,6 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use App\Services\AstmMessageService;
use App\Services\SerialCommunicationService;
use App\Http\Controllers\SendMail; use App\Http\Controllers\SendMail;
use App\Http\Controllers\DokterController; use App\Http\Controllers\DokterController;
use App\Periksa; use App\Periksa;
@@ -39,45 +36,7 @@ use Carbon\Carbon;
class FrontpageController extends Controller class FrontpageController extends Controller
{ {
protected $lisServiceUrl;
public function __construct() {
$this->lisServiceUrl = env('LIS_SERVICE_URL', 'http://10.10.120.72:5000');
}
private function sendRegistrationToLis(array $data){
$payload = [
'command' => 'register_patient',
'data' => [
'patient_name' => $data['nama'],
'patient_id' => $data['noregister'], // Menggunakan no register sebagai ID Pasien
'sample_id' => $data['nofoto'], // Menggunakan nofoto sebagai ID Sampel unik
'test_code' => $data['kd_spesimen'],// Kode tes spesifik untuk GeneXpert (e.g., MTBRIF)
'test_name' => $data['nm_spesimen'],
'dob' => $data['tgllahir'] ? \Carbon\Carbon::parse($data['tgllahir'])->format('Ymd') : '',
'gender' => $data['jk'],
],
];
try {
$response = Http::timeout(30)->post($this->lisServiceUrl . '/command', $payload);
if ($response->failed()) {
Log::error('Gagal mengirim data pendaftaran ke LIS service.', [
'sample_id' => $data['nofoto'],
'status' => $response->status(),
'response' => $response->body()
]);
} else {
Log::info('Data pendaftaran berhasil dikirim ke LIS service.', [
'sample_id' => $data['nofoto'],
'response' => $response->json()
]);
}
} catch (Exception $e) {
Log::error('Koneksi ke LIS service gagal saat pendaftaran.', [
'sample_id' => $data['nofoto'],
'exception' => $e->getMessage()
]);
}
}
public function index() { public function index() {
$data = []; $data = [];
$data['antrkrmsitu']= PeriksaSYNC::where('created_by', Session('username'))->where('status', '')->count(); $data['antrkrmsitu']= PeriksaSYNC::where('created_by', Session('username'))->where('status', '')->count();
@@ -1737,11 +1696,7 @@ class FrontpageController extends Controller
} }
} }
} }
public function exMoveApiRegister( public function exMoveApiRegister( Request $request ) {
Request $request,
AstmMessageService $astmMessageService,
SerialCommunicationService $serialCommunicationService
) {
$nofoto = $request->input('nofoto'); $nofoto = $request->input('nofoto');
$modality = $request->input('reques'); $modality = $request->input('reques');
$cekdata = Periksa::where('nofoto', $nofoto)->first(); $cekdata = Periksa::where('nofoto', $nofoto)->first();
@@ -1756,20 +1711,33 @@ class FrontpageController extends Controller
'nmexcutor' => Session('nama'), 'nmexcutor' => Session('nama'),
]); ]);
try { try {
if ($modality == 'genexpert01' OR $modality == 'genexpert02' OR $modality == 'genexpert03'){ Paslab::updateOrCreate(
$dataForLis = [ [
'nama' => $cekdata->nmpasien, 'rnoreg' => $nofoto,
'noregister' => $cekdata->noregister, ],
'nofoto' => $cekdata->nofoto, [
'kd_spesimen' => $cekdata->kd_spesimen, 'nama' => $nama,
'nm_spesimen' => $cekdata->nm_spesimen, 'norm' => $cekdata->noregister,
'tgllahir' => $cekdata->tgllahirpasien, 'rtglast' => $cekdata->mulai,
'jk' => $cekdata->jkpasien, 'alamat' => $cekdata->alamatpasien,
]; 'rjenis' => $cekdata->jkpasien,
$this->sendRegistrationToLis($dataForLis); 'umur' => $cekdata->usia,
} else { 'namadok' => $cekdata->ktp,
$pesan = 'Cannot send on Serial Port From Server'; 'ruangan' => 'Mikrobiologi',
} 'tes' => $cekdata->reques,
'alat' => 'ALL',
'kd_spesimen' => $cekdata->kd_spesimen,
'nm_spesimen' => $cekdata->nm_spesimen,
'tgllahir' => $cekdata->tgllahirpasien,
'flg_vitek1' => false,
'flg_vitek2' => false,
'flg_bd1' => false,
'flg_bd2' => false,
'flg_gxp1' => false,
'flg_gxp2' => false,
'flg_gxp3' => false,
]
);
}catch (Exception $e) { }catch (Exception $e) {
$pesan = $e->getMessage(); $pesan = $e->getMessage();
} }