diff --git a/Modules/Internal/Http/Controllers/Api/ClaimController.php b/Modules/Internal/Http/Controllers/Api/ClaimController.php index 4ba1e712..341201a2 100644 --- a/Modules/Internal/Http/Controllers/Api/ClaimController.php +++ b/Modules/Internal/Http/Controllers/Api/ClaimController.php @@ -433,29 +433,81 @@ class ClaimController extends Controller public function downloadFinalLog($id) { - $claim = Claim::findOrFail($id); + //Claim + $claim = DB::table("claims") + ->where('claims.id', '=', $id) + ->select( + 'claims.code', + 'claims.created_at', + 'claims.member_id', + 'claims.plan_id', + ) + ->first(); - $hospital = $claim->finalEncounter->healthcare ?? null; + //Get claim request id + $data_claim_requests = DB::table('claim_requests') + ->leftJoin('claims', 'claim_requests.id', '=', 'claims.claim_request_id') + ->where('claims.id', $id) + ->select('claim_requests.id') + ->first(); + $id = $data_claim_requests->id; + + //Hospital + $hospital = $hospital = DB::table('claim_services') + ->leftJoin('corporate_hospitals', 'claim_services.hospital_id', '=', 'corporate_hospitals.id') + ->leftJoin('organizations','organizations.id', '=', 'corporate_hospitals.organization_id') + ->leftJoin('addresses', 'addresses.id', '=', 'organizations.main_address_id') + ->where('claim_services.claim_request_id', '=', $id) + ->select('corporate_hospitals.name', 'addresses.text AS address') + ->first(); + + //Memeber + $member = DB::table('members') + ->leftJoin('member_plans', 'member_plans.member_id', '=', 'members.id') + ->where('members.id', '=', $claim->member_id) + ->where('member_plans.plan_id', '=', $claim->plan_id) + ->select( + 'members.name', + DB::raw('(SELECT room_class_coverage FROM corporate_benefits WHERE corporate_benefits.plan_id = '.$claim->plan_id.' LIMIT 1) as room_class_coverage'), + 'members.birth_date', + 'members.gender', + 'members.payor_id', + DB::raw('(SELECT corporates.name FROM corporates INNER JOIN corporate_employees ON corporate_employees.corporate_id = corporates.id WHERE corporate_employees.member_id = '.$claim->member_id.' LIMIT 1) AS corporate_name'), + DB::raw('(SELECT services.name FROM services INNER JOIN plans ON plans.service_code = services.code WHERE plans.id = '.$claim->plan_id.' LIMIT 1) AS services'), + DB::raw('(SELECT member_policies.end FROM member_policies WHERE member_policies.member_id = members.member_id LIMIT 1) AS periode_policy'), + DB::raw('(SELECT member_policies.status FROM member_policies WHERE member_policies.member_id = members.member_id LIMIT 1) AS status_policy'), + ) + ->first(); + + //Benfit Claim + $benefit = DB::table('claim_service_benefits') + ->leftJoin('benefits', 'benefits.id', '=', 'claim_service_benefits.benefit_id') + ->leftJoin('claim_services', 'claim_services.id', '=', 'claim_service_benefits.claim_service_id') + ->where('claim_services.claim_request_id', '=', $id) + ->select('benefits.description', 'claim_service_benefits.amount_incurred AS biaya_diajukan', 'claim_service_benefits.amount_approved AS biaya_disetujui', 'claim_service_benefits.amount_not_approved AS biaya_tidak_disetujui') + ->get(); // TODO Fix this tipu tipu - $inpationBenefit = $claim->member->currentPlan->benefits()->first(); + //$inpationBenefit = $claim->member->currentPlan->benefits()->first(); $pdf = PDF::loadView('pdf.final_log', [ 'claim' => $claim, - 'member' => $claim->member, - 'dateOfAdmission' => $claim->start, + 'member' => $member, + // 'dateOfAdmission' => $claim->start, 'hospital' => $hospital, - 'inpationBenefit' => $inpationBenefit + 'benefit' => $benefit, + //'inpationBenefit' => $inpationBenefit ]); - return $pdf->download('Final LOG '.$claim->code.'.pdf'); + return $pdf->download('Final LOG.pdf'); $view = view('pdf.final_log', [ 'claim' => $claim, - 'member' => $claim->member, - 'dateOfAdmission' => $claim->start, + 'member' => $member, + // 'dateOfAdmission' => $claim->start, 'hospital' => $hospital, - 'inpationBenefit' => $inpationBenefit + 'benefit' => $benefit, + // 'inpationBenefit' => $inpationBenefit ]); return $view; diff --git a/resources/views/pdf/final_log.blade.php b/resources/views/pdf/final_log.blade.php index fccdd337..c5e88222 100644 --- a/resources/views/pdf/final_log.blade.php +++ b/resources/views/pdf/final_log.blade.php @@ -6,7 +6,7 @@ use App\Helpers\Helper; - Surat Jaminan Akhir - {{ $claim->code }} + Surat Jaminan Akhir - {{ 1 }} {{-- --}} @@ -104,28 +104,49 @@ use App\Helpers\Helper; - + + + - - + + + - - + + - - + + - - + + - - + + - - + +
SURAT JAMINAN AKHIR
SURAT JAMINAN AKHIR
Kepada: {{ $hospital->name }} + Kepada + : + {{ $hospital->name ?? '' }}GOP Tanggal: {{ $claim->created_at->format('d-M-y, H:i') }} + GOP Tanggal + : + {{ $claim->created_at ? (new DateTime($claim->created_at))->format('d-M-Y, H:i') : '' }}
Alamat: {{ $hospital->currentAddress->text ?? '' }} + Alamat + : + {{ $hospital->address ?? '' }}GOP Nomor: {{ $claim->code }} + GOP Nomor + : + {{ $claim->code ?? '' }}
No Telpon / Fax: + No Telpon / Fax + : +
Email: + Email + : +
@@ -135,106 +156,142 @@ use App\Helpers\Helper; - - + + - - + + - - + + - - + + - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - +
A. Identitas Pasien
1. Nama Pasien: {{ $member->full_name }} + 1. Nama Pasien + : + {{ $member->name ?? '' }}7. Hak Kelas Kamar: {{ $inpatienBenefit->room_class_coverage ?? '' }} + 7. Hak Kelas Kamar + : + {{ $member->room_class_coverage ?? '' }}
2. Tanggal Lahir: {{ $member->birth_date ?? '' }} + 2. Tanggal Lahir + : + {{ $member->birth_date ? (new DateTime($member->birth_date))->format('d-M-Y') : '' }}8. Hak Kamar ICU: + 8. Hak Kamar ICU + : +
3. Jenis Kelamin: {{ ($member->gender ? + + 3. Jenis Kelamin + : + {{ ($member->gender ? ($member->gender == 'female' ? 'Perempuan' : ($member->gender == 'male' ? 'Laki-Laki' : $member->gender) ) : '') }}9. No Polis: {{ $member->currentPolicy?->code ?? '' }} + 9. No Polis + : + {{ $member->payor_id ?? '' }}
4. Nomor e-KTP: {{ $member->nric }} + 4. Nomor e-KTP + : + {{ $member->nric ?? ''}}10. Nama PH / Perusahaan: {{ $member->currentCorporate?->name ?? '' }} + 10. Nama PH / Perusahaan + : + {{ $member->corporate_name ?? '' }}
5. Manfaat: {{ $claim->claimRequest?->service?->name ?? '' }} + 5. Manfaat + : + {{ $member->services ?? '' }}11. Periode Polis: {{ $member->currentPolicy ? \Carbon\Carbon::parse($member->currentPolicy->end)->format('d-M-Y') : '' }} + 11. Periode Polis + : + {{ $member->periode_policy ? (new DateTime($member->periode_policy))->format('d-M-Y') : '' }}
6. Status Polis: {{ $member->currentPolicy?->status ?? '' }} + 6. Status Polis + : + {{ $member->status_policy == 'active' ? 'Aktif' : 'Tidak Aktif' }}12. Mata Uang: {{ $member->currency ?? 'IDR' }} + 12. Mata Uang + : + IDR
B. Informasi Perawatan
1. Tanggal Masuk: {{ $claim->finalEncounter->start ?? "" }}: {{ 1 }} 7. Lama Perawatan: {{ $claim->finalEncounter->duration_day ?? "" }}: {{ 1 }}
2. Tanggal Keluar: {{ $claim->finalEncounter->end }}: {{ 1 }} 8. Kamar Perawatan : {{ "" }}
3. Nama Rumah Sakit: {{ $hospital->name }}: {{ 1 }} 9. Jumlah Tempat Tidur: {{ $claim->finalEncounter->number_of_bed }}: {{ 1 }}
4. Dokter yang Merawat: {{ $claim->finalEncounter->doctors->first()->person->name ?? '' }}: {{ 1 }} 10. Estimasi Biaya Rawat Inap: {{ $claim->total_tagihan ? Helper::currencyIdrFormat($claim->total_tagihan) : "" }}: {{ 1 }}
5. No. Rekam Medis: {{ $claim->finalEncounter->meta->MEDRECID }}: {{ 1 }} 11. Diagnosa: {{ $claim->diagnosis?->icd?->code ?? '' }}/{{ $claim->diagnosis?->icd?->name ?? '' }}: {{ 1 }}
C. Nilai Jaminan
- +
- @foreach ($claim->items as $item) + @foreach ($benefit as $item) - - - - + + + + @endforeach
Manfaat Polis Biaya Diajukan Biaya Dijamin Biaya Tidak Dijamin
{{ $item->claim_itemable->description }}{{ Helper::currencyIdrFormat($item->nominal_ditagihkan)}}{{ Helper::currencyIdrFormat($item->nominal_dicover) }}{{ Helper::currencyIdrFormat($item->nominal_ditagihkan - $item->nominal_dicover) }}{{ $item->description }}{{ Helper::currencyIdrFormat($item->biaya_diajukan)}}{{ Helper::currencyIdrFormat($item->biaya_disetujui) }}{{ Helper::currencyIdrFormat($item->biaya_tidak_disetujui) }}
@@ -253,7 +310,7 @@ use App\Helpers\Helper;
- Hormat Kami + Hormat Kami


@@ -277,7 +334,7 @@ use App\Helpers\Helper;


- ({{ $member->full_name }}) + ({{ 1 }})