Merge remote-tracking branch 'origin/staging' into origin/production
This commit is contained in:
@@ -491,8 +491,8 @@ class ClaimController extends Controller
|
||||
!empty($item_benefit->amount_not_approved) ? $item_benefit->amount_not_approved : '',
|
||||
!empty($item_benefit->excess_paid) ? $item_benefit->excess_paid : '',
|
||||
!empty($item->diagnosis) ? $item->diagnosis : '',
|
||||
!empty($item->catatan) ? $item->catatan : '',
|
||||
!empty($item->keterangan) ? $item->keterangan : '',
|
||||
!empty($item->catatan) ? $item->catatan : '',
|
||||
|
||||
];
|
||||
array_push($dataRow,$rowData);
|
||||
|
||||
@@ -212,7 +212,8 @@ class CorporateMemberController extends Controller
|
||||
'benefit'
|
||||
],
|
||||
'requestLogDailyMonitorings:id,request_log_id,created_at,subject,body_temperature,sistole,diastole,respiration_rate,analysis,lab_date,provider,examination' => [
|
||||
'requestLogMedicalPlans:request_log_daily_monitoring_id,plan,type'
|
||||
'requestLogMedicalPlans:request_log_daily_monitoring_id,plan,type',
|
||||
// 'document'
|
||||
],
|
||||
'service:code,name',
|
||||
'files',
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace Modules\Client\Transformers\AlarmCenter;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Illuminate\Support\Carbon;
|
||||
use App\Models\Icd;
|
||||
use DB;
|
||||
|
||||
class DataServiceMonitoring extends JsonResource
|
||||
{
|
||||
@@ -22,17 +23,22 @@ class DataServiceMonitoring extends JsonResource
|
||||
$filesFinalLogKondisi = [];
|
||||
if (count($this->files)>0){
|
||||
foreach ($this->files as $key => $value) {
|
||||
if($value->type == 'final-log-result'){
|
||||
/*
|
||||
Sementara di buat satu dulu, jangan di hapus..
|
||||
karena suka labil client nya, tiba2 hide tiba2 munculin fitur :D
|
||||
*/
|
||||
|
||||
// if($value->type == 'final-log-result'){
|
||||
array_push($filesFinalLogResult, $value);
|
||||
};
|
||||
// };
|
||||
|
||||
if($value->type == 'final-log-diagnosis'){
|
||||
array_push($filesFinalLogDiagnosis, $value);
|
||||
}
|
||||
// if($value->type == 'final-log-diagnosis'){
|
||||
// array_push($filesFinalLogDiagnosis, $value);
|
||||
// }
|
||||
|
||||
if($value->type == 'final-log-kondisi'){
|
||||
array_push($filesFinalLogKondisi, $value);
|
||||
}
|
||||
// if($value->type == 'final-log-kondisi'){
|
||||
// array_push($filesFinalLogKondisi, $value);
|
||||
// }
|
||||
}
|
||||
|
||||
$files = [
|
||||
@@ -77,7 +83,6 @@ class DataServiceMonitoring extends JsonResource
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
'companyName' => $this->member->currentCorporate->name ?? null,
|
||||
'serviceCode' => $this->service_code ?? null,
|
||||
@@ -111,6 +116,23 @@ class DataServiceMonitoring extends JsonResource
|
||||
->map(function ($groupedItems) {
|
||||
return collect($groupedItems)
|
||||
->map(function ($requestLogDailyMonitoring) {
|
||||
$arr_document = [];
|
||||
$document = DB::table('files')
|
||||
->where(['fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_id' => $requestLogDailyMonitoring->id])
|
||||
->whereIn('type', ['medical-action-letter', 'confirmation-medical-letter'])
|
||||
->get();
|
||||
if ($document){
|
||||
foreach($document as $d){
|
||||
$arr_document[]= [
|
||||
'path' => env('APP_URL') . '/storage/lab_result/' . $d->name . '.' . $d->extension,
|
||||
'type' => $d->type,
|
||||
'original_name' => $d->original_name,
|
||||
'name' => $d->name,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return [
|
||||
'time' => $requestLogDailyMonitoring->created_at->format('H:i') ?? null,
|
||||
'status' => 'Done' ?? null,
|
||||
@@ -130,6 +152,7 @@ class DataServiceMonitoring extends JsonResource
|
||||
})
|
||||
->sortBy('type')
|
||||
->all()) ?? null,
|
||||
'files' => $arr_document
|
||||
];
|
||||
})
|
||||
->sortByDesc(function ($item) {
|
||||
@@ -148,11 +171,27 @@ class DataServiceMonitoring extends JsonResource
|
||||
->map(function ($groupedItems) {
|
||||
return collect($groupedItems)
|
||||
->map(function ($requestLogDailyMonitoring) {
|
||||
$arr_document = [];
|
||||
$document = DB::table('files')
|
||||
->where(['fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_id' => $requestLogDailyMonitoring->id])
|
||||
->whereIn('type', ['laboratorium-result'])
|
||||
->get();
|
||||
if ($document){
|
||||
foreach($document as $d){
|
||||
$arr_document[]= [
|
||||
'path' => env('APP_URL') . '/storage/lab_result/' . $d->name . '.' . $d->extension,
|
||||
'type' => $d->type,
|
||||
'original_name' => $d->original_name,
|
||||
'name' => $d->name,
|
||||
];
|
||||
}
|
||||
}
|
||||
return [
|
||||
'code' => $requestLogDailyMonitoring->code,
|
||||
'date' => Carbon::parse($requestLogDailyMonitoring->lab_date)->format('d M Y') ?? null,
|
||||
'examination' => $requestLogDailyMonitoring->examination ?? null,
|
||||
'location' => $requestLogDailyMonitoring->provider ?? null,
|
||||
'files' => $arr_document
|
||||
];
|
||||
})
|
||||
->sortByDesc(function ($item) {
|
||||
|
||||
@@ -26,10 +26,10 @@ class RequestLogController extends Controller
|
||||
'member_id' => $request->member_id,
|
||||
'service_code' => $request->service_code,
|
||||
'organization_id' => $request->organization_id,
|
||||
'organization_name' => $request->organization_name,
|
||||
'address_provider' => $request->address_provider,
|
||||
'organization_name' => !empty($request->organization_name) ? $request->organization_name : null,
|
||||
'address_provider' => !empty($request->address_provider) ? $request->address_provider : null,
|
||||
'submission_date' => $request->submission_date,
|
||||
'corporate_id_partner' => $request->corporate_id_partner,
|
||||
'corporate_id_partner' => !empty($request->corporate_id_partner) ? $request->corporate_id_partner : [],
|
||||
];
|
||||
$validator = Validator::make($request->all(), [
|
||||
'member_id' => 'required',
|
||||
@@ -40,7 +40,7 @@ class RequestLogController extends Controller
|
||||
'service_code.required' => trans('Validation.required',['attribute' => 'Service Code']),
|
||||
'submission_date.required' => trans('Validation.required',['attribute' => 'Submission Date']),
|
||||
]);
|
||||
if($request->organization_id)
|
||||
if(!empty($request->organization_id))
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'organization_id' => 'required',
|
||||
@@ -62,7 +62,7 @@ class RequestLogController extends Controller
|
||||
{
|
||||
//insert data to organization
|
||||
try {
|
||||
if(!$request->organization_id)
|
||||
if (!empty($request->organization_name) && !empty($request->address_provider))
|
||||
{
|
||||
// Memulai transaksi
|
||||
DB::beginTransaction();
|
||||
@@ -111,42 +111,47 @@ class RequestLogController extends Controller
|
||||
}
|
||||
|
||||
$requestLogControllerInstance = new PrimeCenterRequestLog();
|
||||
$response = $requestLogControllerInstance->createNew($request);
|
||||
|
||||
if($response->original['statusCode'] == 200)
|
||||
{
|
||||
//send email
|
||||
// Insert data notifications
|
||||
$emailTo = 'alarm.center@linksehat.com';
|
||||
$dataNotif = [
|
||||
'email' => $emailTo,
|
||||
'title' => 'Request LOG',
|
||||
'description' => 'Request LOG from Hospital Portal',
|
||||
'type' => 1,
|
||||
'isUnRead' => true,
|
||||
'created_by' => auth()->user()->id,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
];
|
||||
$sendNotif = Helper::insertNotification($dataNotif);
|
||||
// Send Email after insert notifications
|
||||
if($sendNotif)
|
||||
try {
|
||||
$response = $requestLogControllerInstance->createNew($request);
|
||||
|
||||
if($response->original['statusCode'] == 200)
|
||||
{
|
||||
//send to alarm
|
||||
$nameTo = 'Admin LinkSehat';
|
||||
$dataEmail = [
|
||||
//send email
|
||||
// Insert data notifications
|
||||
$emailTo = 'alarm.center@linksehat.com';
|
||||
$dataNotif = [
|
||||
'email' => $emailTo,
|
||||
'name' => $nameTo,
|
||||
'subject' => 'Request LOG from Hospital Portal'. ' '.date('Y-m-d H:i:s'),
|
||||
'body' => View::make('email/notif_email', ['name' => $nameTo, 'link' => 'https://primecenter.linksehat.com/'])->render(),
|
||||
'title' => 'Request LOG',
|
||||
'description' => 'Request LOG from Hospital Portal',
|
||||
'type' => 1,
|
||||
'isUnRead' => true,
|
||||
'created_by' => auth()->user()->id,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
];
|
||||
Helper::sendEmail($dataEmail);
|
||||
$sendNotif = Helper::insertNotification($dataNotif);
|
||||
// Send Email after insert notifications
|
||||
if($sendNotif)
|
||||
{
|
||||
//send to alarm
|
||||
$nameTo = 'Admin LinkSehat';
|
||||
$dataEmail = [
|
||||
'email' => $emailTo,
|
||||
'name' => $nameTo,
|
||||
'subject' => 'Request LOG from Hospital Portal'. ' '.date('Y-m-d H:i:s'),
|
||||
'body' => View::make('email/notif_email', ['name' => $nameTo, 'link' => 'https://primecenter.linksehat.com/'])->render(),
|
||||
];
|
||||
Helper::sendEmail($dataEmail);
|
||||
}
|
||||
return ApiResponse::apiResponse("Success", $data, trans('Message.success'), 200);
|
||||
}
|
||||
return ApiResponse::apiResponse("Success", $data, trans('Message.success'), 200);
|
||||
}
|
||||
else
|
||||
{
|
||||
return ApiResponse::apiResponse('Server Error', $data, trans('Message.server_error'), 500);
|
||||
else
|
||||
{
|
||||
return ApiResponse::apiResponse('Server Error', $data, trans('Message.server_error'), 500);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Tangani kesalahan di sini
|
||||
return ApiResponse::apiResponse('Server Error', $data, $e->getMessage(), 500);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Rollback transaksi jika terjadi kesalahan
|
||||
|
||||
@@ -312,13 +312,14 @@ class DailyMonitoringController extends Controller
|
||||
$name = 'labresult-' . uniqid();
|
||||
$extension= $file->getClientOriginalExtension();
|
||||
$fileName = $name . '.' . $extension;
|
||||
$orignalName = $file->getClientOriginalName();
|
||||
$path = $file->storeAs($this->path_for_store, $fileName);
|
||||
File::create([
|
||||
'fileable_type' => 'App\Models\LaboratoriumResult',
|
||||
'fileable_id' => $db_response->id,
|
||||
'type' => 'confirmation-medical-letter',
|
||||
'name' => $name,
|
||||
'original_name' => $fileName,
|
||||
'original_name' => $orignalName,
|
||||
'extension' => $extension,
|
||||
'path' => $path,
|
||||
]);
|
||||
@@ -330,13 +331,14 @@ class DailyMonitoringController extends Controller
|
||||
$name = 'labresult-' . uniqid();
|
||||
$extension= $file->getClientOriginalExtension();
|
||||
$fileName = $name . '.' . $extension;
|
||||
$orignalName = $file->getClientOriginalName();
|
||||
$path = $file->storeAs($this->path_for_store, $fileName);
|
||||
File::create([
|
||||
'fileable_type' => 'App\Models\LaboratoriumResult',
|
||||
'fileable_id' => $db_response->id,
|
||||
'type' => 'medical-action-letter',
|
||||
'name' => $name,
|
||||
'original_name' => $fileName,
|
||||
'original_name' => $orignalName,
|
||||
'extension' => $extension,
|
||||
'path' => $path,
|
||||
]);
|
||||
@@ -348,6 +350,7 @@ class DailyMonitoringController extends Controller
|
||||
foreach ($request->result as $file) {
|
||||
$name = 'labresult-' . uniqid();
|
||||
$extension= $file->getClientOriginalExtension();
|
||||
$orignalName = $file->getClientOriginalName();
|
||||
$fileName = $name . '.' . $extension;
|
||||
$path = $file->storeAs($this->path_for_store, $fileName);
|
||||
File::create([
|
||||
@@ -355,7 +358,7 @@ class DailyMonitoringController extends Controller
|
||||
'fileable_id' => $db_response->id,
|
||||
'type' => 'laboratorium-result',
|
||||
'name' => $name,
|
||||
'original_name' => $fileName,
|
||||
'original_name' => $orignalName,
|
||||
'extension' => $extension,
|
||||
'path' => $path,
|
||||
]);
|
||||
|
||||
@@ -106,64 +106,67 @@ class RequestLogController extends Controller
|
||||
]);
|
||||
|
||||
if ($request->member_id){
|
||||
$code = $this->getNextCode($request);
|
||||
$member = Member::find($request->member_id);
|
||||
try {
|
||||
$code = !empty($this->getNextCode($request)) ? $this->getNextCode($request) : null;
|
||||
$member = Member::find($request->member_id);
|
||||
|
||||
$memberValid = false;
|
||||
if ($member){
|
||||
if (($member->members_effective_date <= date('Y-m-d')) &&
|
||||
($member->members_expire_date >= date('Y-m-d')) &&
|
||||
($member->active == 1) &&
|
||||
($member->suspended == 'N')
|
||||
){
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
$newRequestLog = AppRequestLogService::storeRequestLog(
|
||||
row: [],
|
||||
code: $code,
|
||||
member: $member,
|
||||
paymentType: 'cashless',
|
||||
serviceCode: $request->service_code,
|
||||
submissionDate: $request->submission_date,
|
||||
// status: 'approved',
|
||||
status: 'requested', // di nonaktifkan dulu auto approved
|
||||
organization_id: $request->organization_id,
|
||||
source: $request->source
|
||||
);
|
||||
$memberValid = false;
|
||||
if ($member){
|
||||
if (($member->members_effective_date <= date('Y-m-d')) &&
|
||||
($member->members_expire_date >= date('Y-m-d')) &&
|
||||
($member->active == 1) &&
|
||||
($member->suspended == 'N')
|
||||
){
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
$newRequestLog = AppRequestLogService::storeRequestLog(
|
||||
row: [],
|
||||
code: $code,
|
||||
member: $member,
|
||||
paymentType: 'cashless',
|
||||
serviceCode: $request->service_code,
|
||||
submissionDate: $request->submission_date,
|
||||
// status: 'approved',
|
||||
status: 'requested', // di nonaktifkan dulu auto approved
|
||||
organization_id: $request->organization_id,
|
||||
source: $request->source
|
||||
);
|
||||
|
||||
DB::commit();
|
||||
DB::commit();
|
||||
}
|
||||
catch (\Throwable $th) {
|
||||
DB::rollBack();
|
||||
|
||||
return Helper::responseJson(status: 'failed', statusCode: 500, message: $th->getMessage());
|
||||
}
|
||||
} else {
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
$newRequestLog = AppRequestLogService::storeRequestLog(
|
||||
row: [],
|
||||
code: $code,
|
||||
member: $member,
|
||||
paymentType: 'cashless',
|
||||
serviceCode: $request->service_code,
|
||||
submissionDate: $request->submission_date,
|
||||
status: 'requested',
|
||||
organization_id: $request->organization_id,
|
||||
source: $request->source
|
||||
);
|
||||
|
||||
DB::commit();
|
||||
}
|
||||
catch (\Throwable $th) {
|
||||
DB::rollBack();
|
||||
|
||||
return Helper::responseJson(status: 'failed', statusCode: 500, message: $th->getMessage());
|
||||
}
|
||||
// return Helper::responseJson(status: 'failed', statusCode: 500, message: 'Member Not Valid');
|
||||
}
|
||||
catch (\Throwable $th) {
|
||||
DB::rollBack();
|
||||
|
||||
return Helper::responseJson(status: 'failed', statusCode: 500, message: $th->getMessage());
|
||||
}
|
||||
} else {
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
$newRequestLog = AppRequestLogService::storeRequestLog(
|
||||
row: [],
|
||||
code: $code,
|
||||
member: $member,
|
||||
paymentType: 'cashless',
|
||||
serviceCode: $request->service_code,
|
||||
submissionDate: $request->submission_date,
|
||||
status: 'requested',
|
||||
organization_id: $request->organization_id,
|
||||
source: $request->source
|
||||
);
|
||||
|
||||
DB::commit();
|
||||
}
|
||||
catch (\Throwable $th) {
|
||||
DB::rollBack();
|
||||
|
||||
return Helper::responseJson(status: 'failed', statusCode: 500, message: $th->getMessage());
|
||||
}
|
||||
// return Helper::responseJson(status: 'failed', statusCode: 500, message: 'Member Not Valid');
|
||||
}
|
||||
} catch (\Throwable $th) {
|
||||
return Helper::responseJson(status: 'failed', statusCode: 500, message: $th->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return Helper::responseJson(status: 'success', statusCode: 200, message: 'Request LOG berhasil ajukan!', data: $request->toArray());
|
||||
|
||||
@@ -33,6 +33,7 @@ class RequestLogService
|
||||
"Tgl Billing dari RS" => "approved_final_log_at",
|
||||
"Total Billing" => "total_billing",
|
||||
"Benefit Item" => "benefit_id",
|
||||
"Amount Incurred" => "amount_incurred",
|
||||
"Amount Approval" => "amount_approval",
|
||||
"Amount Not Approval" => "amount_not_approval",
|
||||
"Total COB" => "total_cob",
|
||||
@@ -57,6 +58,7 @@ class RequestLogService
|
||||
"approved_final_log_at" => "Tgl Billing dari RS",
|
||||
"total_billing" => "Total Billing",
|
||||
"benefit_id" => "Benefit Item",
|
||||
"amount_incurred" => "Amount Incurred",
|
||||
"amount_approval" => "Amount Approval",
|
||||
"amount_not_approval" => "Amount Not Approval",
|
||||
"total_cob" => "Total COB",
|
||||
@@ -80,6 +82,7 @@ class RequestLogService
|
||||
"Tgl Billing dari RS",
|
||||
"Total Billing",
|
||||
"Benefit Item",
|
||||
"Amount Incurred",
|
||||
"Amount Approval",
|
||||
"Amount Not Approval",
|
||||
"Total COB",
|
||||
@@ -103,6 +106,7 @@ class RequestLogService
|
||||
"Tgl Billing dari RS",
|
||||
"Total Billing",
|
||||
"Benefit Item",
|
||||
"Amount Incurred",
|
||||
"Amount Approval",
|
||||
"Amount Not Approval",
|
||||
"Total COB",
|
||||
@@ -297,7 +301,7 @@ class RequestLogService
|
||||
'request_log_id' => $requestLog->id,
|
||||
'benefit_id' => $benefit->id,
|
||||
// 'amount_incurred' => ($row['amount_approval'] ? $row['amount_approval'] : 0) + ($row['amount_not_approval'] ? $row['amount_not_approval'] : 0) ,
|
||||
'amount_incurred' => $row['total_billing'] ,
|
||||
'amount_incurred' => $row['amount_incurred'] ,
|
||||
'amount_approved' => $row['amount_approval'] ?? 0,
|
||||
'amount_not_approved' => $row['amount_not_approval'] ?? 0,
|
||||
'excess_paid' => $row['amount_not_approval'] ?? 0,
|
||||
|
||||
Reference in New Issue
Block a user