update backend claim history hospital

This commit is contained in:
2023-10-27 09:28:08 +07:00
parent a53a546f1f
commit 63af52cb85
10 changed files with 317 additions and 0 deletions

View File

@@ -8,6 +8,8 @@ use App\Models\Claim;
use App\Models\Icd;
use App\Models\Member;
use App\Models\Organization;
use App\Models\ClaimHistoryCare;
use App\Models\DiagnosisSecondaryClaimHistoryCare;
use App\Services\ClaimService;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
@@ -16,6 +18,7 @@ use Modules\HospitalPortal\Helpers\ApiResponse;
use Illuminate\Support\Facades\Validator;
use Modules\Internal\Transformers\ClaimShowResource;
use Modules\Internal\Transformers\ClaimEditResource;
use Modules\Internal\Transformers\ClaimHistoryCareResource;
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
@@ -526,4 +529,96 @@ class ClaimController extends Controller
"file_url" => url('files/Benefit Usage Report.xlsx')
]);
}
//////////////////// History Care Hospital ///////////////////////////
public function storeHistoryCare(Request $request, $id){
$request->validate([
'service_code' => 'required',
'admision_date' => 'required',
'discharge_date' => 'required',
'organization_id' => 'required',
'practitioner_id' => 'required',
'medical_record_number' => 'required',
'symptoms' => 'required',
'sign' => 'required',
'main_diagnosis_id' => 'required',
]);
$data = [
'service_code' => $request->service_code,
'admision_date' => $request->admision_date,
'discharge_date' => $request->discharge_date,
'organization_id' => $request->organization_id,
'practitioner_id' => $request->practitioner_id,
'medical_record_number' => $request->medical_record_number,
'symptoms' => $request->symptoms,
'sign' => $request->sign,
'claim_id' => $id,
'main_diagnosis_id' => $request->main_diagnosis_id,
'status' => 0,
];
$claimHistoryCare = ClaimHistoryCare::create($data);
if (count($request->secondary_diagnosis_id)) {
foreach($request->secondary_diagnosis_id as $value){
$dataSecondary = [
'claim_history_care_id' => $claimHistoryCare->id,
'icd_id' => intval($value)
];
DiagnosisSecondaryClaimHistoryCare::create($dataSecondary);
}
}
return Helper::responseJson($claimHistoryCare);
}
public function updateHistoryCare(Request $request, $id){
$data = $request->validate([
'service_code' => 'required',
'admision_date' => 'required',
'discharge_date' => 'required',
'organization_id' => 'required',
'practitioner_id' => 'required',
'medical_record_number' => 'required',
'symptoms' => 'required',
'sign' => 'required',
'main_diagnosis_id' => 'required',
]);
// $data['status'] = 0;
$claimHistoryCare = ClaimHistoryCare::findOrFail($id);
$claimHistoryCare->update($data);
// Hapus diagnosis sekunder yang terkait
DiagnosisSecondaryClaimHistoryCare::where('claim_history_care_id', $id)->delete();
if (count($request->secondary_diagnosis_id)) {
foreach ($request->secondary_diagnosis_id as $value) {
$dataSecondary = [
'claim_history_care_id' => $claimHistoryCare->id,
'icd_id' => intval($value),
];
DiagnosisSecondaryClaimHistoryCare::create($dataSecondary);
}
}
return Helper::responseJson(message: 'Data Berhasil di update');
}
public function showHistoryCare($id){
$data = ClaimHistoryCare::with(['organization', 'practitioner', 'practitioner.person', 'icd'])->find($id);
return Helper::responseJson(ClaimHistoryCareResource::make($data));
}
public function approvalHistoryCare(Request $request, $id){
$claimHistoryCare = ClaimHistoryCare::findOrFail($id);
$claimHistoryCare->status = $request->status;
$claimHistoryCare->save();
return Helper::responseJson(message: 'Data Berhasil di update');
}
}