· 6 years ago · Feb 13, 2019, 11:46 AM
1<?php
2
3public function proceedCreateFromRujukan($id, CreateSepForAdmission $request)
4 {
5 $validated = $request->validated();
6 $admission = Admission::find($id);
7
8 $sep_svc = new Sep([
9 'cons_id' => env('VCLAIM_CONS_ID'),
10 'secret_key' => env('VCLAIM_PPK_SECRET'),
11 'base_url' => env('VCLAIM_BASE_URL')
12 ]);
13
14 $eksekutif = request('eksekutif', 0);
15 $katarak = request('katarak', 0);
16 $cob = request('cob', 0);
17 $notes = request('notes', '-');
18 $kll = request('kll', 0);
19 //rujukan will always outpatient type, for outpatient, inpatient class will always be 3
20 $validated['inpatient_class'] = '3';
21 $insert_sep = [
22 'request' => [
23 't_sep' => [
24 'noKartu' => $validated['bpjs_number'],
25 'tglSep' => $validated['sep_date'],
26 'ppkPelayanan' => env('VCLAIM_PPK_KEY'),
27 'jnsPelayanan' => $validated['service_type'],
28 'klsRawat' => $validated['inpatient_class'],
29 'noMR' => $admission->medicalRecord->code,
30 'rujukan' => [
31 'asalRujukan' => $validated['ref_source'],
32 'tglRujukan' => $validated['ref_date'],
33 'noRujukan' => $validated['ref_code'],
34 'ppkRujukan' => $validated['ref_ppk_code']
35 ],
36 'catatan' => $notes,
37 'diagAwal' => $validated['diagnosa_code'],
38 'poli' => [
39 'tujuan' => $validated['dest_dept_code'],
40 'eksekutif' => (string)$eksekutif
41 ],
42 'cob' => [
43 'cob' => (string)$cob
44 ],
45 'katarak' => [
46 'katarak' => (string)$katarak
47 ],
48 'jaminan' => [
49 'lakaLantas' => (string) $kll,
50 'penjamin' => [
51 'penjamin' => $kll ? implode(',', $validated['kll_guarantor']) : '',
52 'tglKejadian' => $kll ? $validated['kll_date'] : '',
53 'keterangan' => $kll ? $validated['kll_notes'] : '',
54 'suplesi' => [
55 'suplesi' => '0',
56 'noSepSuplesi' => '',
57 'lokasiLaka' => [
58 'kdPropinsi' => $kll ? $validated['kll_propinsi_code'] : '',
59 'kdKabupaten' => $kll ? $validated['kll_kabupaten_code'] : '',
60 'kdKecamatan' => $kll ? $validated['kll_kecamatan_code'] : '',
61 ],
62 ],
63 ],
64 ],
65 'skdp' => [
66 'noSurat' => $validated['skdp'],
67 'kodeDPJP' => $validated['dpjp_code']
68 ],
69 'noTelp' => $validated['mobile'],
70 'user' => 'Coba Ws'
71 ]
72 ]
73 ];
74
75 $result_insert = $sep_svc->insertSEP($insert_sep);
76 logger()->info('[BPJS-API] insert sep - rujukan', [
77 'response' => $result_insert,
78 'data' => $insert_sep
79 ]);
80
81 if ($result_insert['metaData']['code'] != 200) {
82 return redirect()->back()->withInput($request->all())->with('error-message', $result_insert['metaData']['message']);
83 }
84}