get('plan_id'); $planId = Plan::whereIn('id', $planMember)->where('service_code', $data['service_code'])->first(); $benefit = CorporateBenefit::with('benefit')->where('plan_id', $planId->id)->get()->toArray(); $benefitDetailLog = RequestLogBenefit::with('benefit')->where('request_log_id', $data['request_log_id'])->get()->toArray(); $medicineDetailLog = RequestLogMedicine::where('request_log_id', $data['request_log_id'])->get()->toArray(); $benefitData = []; $total_amount_incurred = 0; $total_amount_approved = 0; $total_amount_not_approved = 0; $total_excess_paid = 0; if (count($benefit)){ foreach($benefit as $row){ array_push($benefitData, $row['benefit']); } } if (count($benefitDetailLog)){ foreach($benefitDetailLog as $row){ $total_amount_incurred += $row['amount_incurred']; $total_amount_approved += $row['amount_approved']; $total_amount_not_approved += $row['amount_not_approved']; $total_excess_paid += $row['excess_paid']; } } // Policy Number $policyNumber = CorporatePolicy::query() ->where('corporate_id', $corporateId) ->first(); $requestLogData = [ 'id' => $data['request_log_id'], 'benefit' => $benefitData, 'benefit_data' => $benefitDetailLog, 'total_amount_incurred' => $total_amount_incurred, 'total_amount_approved' => $total_amount_approved, 'total_amount_not_approved' => $total_amount_not_approved, 'total_amount_incurred' => $total_amount_incurred, 'total_excess_paid' => $total_excess_paid, ]; $isReversal = false; $isRole = auth()->user()->role_id; if ($data['request_log']['status'] == 'approved' && $data['request_log']['status_final_log'] == 'approved' && $data['status'] == 'approved' && $data['status_claim_management'] == 'approved' && $isRole != 1 // is admin ){ $isReversal = true; } $icd = []; if($data['request_log']['diagnosis']){ $diagnosis = explode(',', $data['request_log']['diagnosis']); $icd = Icd::query() ->whereIn('code', $diagnosis) ->select('code', 'name') ->get(); } $response = [ 'id' => $data['id'], 'code' => $data['code'], 'code_log' => $data['request_log']['code'], 'status' => $data['status'], 'request_log_id' => $data['request_log_id'], 'request_log' => $requestLogData, 'provider' => $data['request_log']['organization']['name'], 'provider_code' => $data['request_log']['organization']['code'], 'member_id' => $data['request_log']['member']['member_id'], 'policy_number' => $policyNumber->code ? $policyNumber->code : '-', 'name' => $data['request_log']['member']['name'], 'date_of_birth' => $data['request_log']['member']['birth_date'], 'gender' => $data['request_log']['member']['gender'], 'marital_status' => $data['request_log']['member']['status_marital'], 'member_type' => Helper::memberType($data['request_log']['member']['record_type']), 'principal_id' => $data['request_log']['member']['principal_id'] ? $data['request_log']['member']['principal_id'] : '-', 'principal_name' => $data['request_log']['member']['principal_id'] ? Helper::principalName($data['request_log']['member']['principal_id']) : '-', 'relation_with_principal' => Helper::relationWithPrincipal($data['request_log']['member']['relation_with_principal']), 'submission_date' => $data['submission_date'], 'no_identitas' => $data['request_log']['member']['nric'], 'keterangan' => $data['request_log']['keterangan'], 'hak_kamar_pasien' => $data['request_log']['hak_kamar_pasien'], 'penempatan_kamar' => $data['request_log']['penempatan_kamar'], 'catatan' => $data['request_log']['catatan'], 'service_type' => Helper::serviceName( $data['request_log']['service_code']), 'claim_method' => $data['request_log']['payment_type'], 'files' => $data['request_log']['files'], 'reason_decline' => $data['reason_decline'], 'diagnosis' => $icd, // 'benefit_data' => $benefitDetailLog, 'is_reversal' => $isReversal, // untuk penjagaan, jika true tidak bisa di edit/hapus lagi ]; return $response; } }