update api user dan export alamr center client
This commit is contained in:
@@ -3,11 +3,22 @@
|
||||
namespace Modules\Client\Transformers\AlarmCenter;
|
||||
|
||||
use App\Models\ClaimRequest;
|
||||
use App\Models\DiagnosisSecondaryClaimHistoryCare;
|
||||
use App\Models\ClaimEncounter;
|
||||
use App\Models\ClaimHistoryCare;
|
||||
use App\Models\Encounter;
|
||||
use App\Models\Member;
|
||||
use App\Models\Icd;
|
||||
use App\Models\Organization;
|
||||
use App\Models\MedicalPlan;
|
||||
use App\Models\CorporateEmployee;
|
||||
use App\Models\DailyMonitoring;
|
||||
use App\Models\LaboratoriumResult;
|
||||
|
||||
|
||||
use App\Helpers\Helper;
|
||||
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
@@ -24,14 +35,87 @@ class DataServiceMonitoring extends JsonResource
|
||||
$claim_request = ClaimRequest::findOrFail($this->claim_request_id);
|
||||
$member = Member::findOrFail($this->member_id);
|
||||
|
||||
$encounter = ClaimEncounter::where('claim_id', $this->id)->first();
|
||||
if ($encounter) {
|
||||
$final_encounter = Encounter::findOrFail($this->final_encounter_id);
|
||||
$data = Organization::findOrFail($final_encounter->healthcare_id);
|
||||
$hospital = $data->name;
|
||||
|
||||
// History Care Hospital
|
||||
$historyCareHospital = ClaimHistoryCare::where('claim_id', $this->id)->first();
|
||||
if ($historyCareHospital) {
|
||||
$hospital = Organization::findOrFail($historyCareHospital->organization_id)->name;
|
||||
$mainDianosis = Icd::findOrFail($historyCareHospital->main_diagnosis_id)->name;
|
||||
$mainDianosisCode = Icd::findOrFail($historyCareHospital->main_diagnosis_id)->code;
|
||||
|
||||
$comporatationDiagnosis = DiagnosisSecondaryClaimHistoryCare::where('claim_history_care_id', $historyCareHospital->id)->first();
|
||||
|
||||
$comporatationDiagnosisName = Icd::findOrFail($comporatationDiagnosis->icd_id)->name;
|
||||
$comporatationDiagnosisCode = Icd::findOrFail($comporatationDiagnosis->icd_id)->code;
|
||||
|
||||
$admissionDate = $historyCareHospital->admission_date;
|
||||
$dischargeDate = $historyCareHospital->discharge_date;
|
||||
$serviceCode = $historyCareHospital->service_code;
|
||||
} else {
|
||||
$hospital = '-';
|
||||
$hospital = '-';
|
||||
$mainDianosis = '-';
|
||||
$mainDianosisCode = '-';
|
||||
$comporatationDiagnosisName = '-';
|
||||
$comporatationDiagnosisCode = '-';
|
||||
$admissionDate = '-';
|
||||
$dischargeDate = '-';
|
||||
$serviceCode = '-';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$dailyMonitoring = DailyMonitoring::where('claim_id', $claim_request->claim_id)->get()->toArray();
|
||||
$laboratoriumResult = LaboratoriumResult::where('claim_id', $claim_request->claim_id)->get()->toArray();
|
||||
|
||||
// Handle Daily Monitoring
|
||||
$dataDailyMonitoring = [];
|
||||
if (count($dailyMonitoring) > 0){
|
||||
$temp = [];
|
||||
foreach($dailyMonitoring as $data){
|
||||
$temp['date'] = Helper::formatDateOnly($data['created_at']);
|
||||
$temp['time'] = Helper::formatTimeOnly($data['created_at']);
|
||||
$temp['status'] = 'Done';
|
||||
$temp['subject_title'] = $data['subject'];
|
||||
$temp['body_temperature'] = $data['body_temperature']. 'mm[Hg]';
|
||||
$temp['sistole'] = $data['sistole']. 'mm[Hg]';
|
||||
$temp['diastole'] = $data['diastole']. 'mm[Hg]';
|
||||
$temp['respiration_rate'] = $data['respiration_rate']. 'mm[Hg]';
|
||||
$temp['analisis_title'] = $data['analysis'];
|
||||
|
||||
$medicalPlan = MedicalPlan::where('claim_daily_monitoring_id', $data['id'])->get('plan')->toArray();
|
||||
if (count( $medicalPlan) > 0){
|
||||
$temp['Perencanaan'] = [];
|
||||
foreach($medicalPlan as $item){
|
||||
array_push($temp['Perencanaan'], $item['plan']);
|
||||
}
|
||||
|
||||
} else {
|
||||
$temp['Perencanaan'] = [];
|
||||
}
|
||||
array_push($dataDailyMonitoring, $temp);
|
||||
}
|
||||
}
|
||||
|
||||
// Handle Laboratorium Result
|
||||
$dataLaboratoruiumResult = [];
|
||||
if (count($laboratoriumResult) > 0){
|
||||
$tempLab = [];
|
||||
foreach($laboratoriumResult as $data){
|
||||
$tempLab['datetime'] = $data['date'];
|
||||
$tempLab['reimbursement_code'] = "RE-0" . $data['id'];
|
||||
$tempLab['examination'] = $data['examination'];
|
||||
$tempLab['location'] = $data['location'];
|
||||
|
||||
if (count($data['lab_result_file']) > 0){
|
||||
$tempLab['file'] = $data['lab_result_file'][0]['lab_result_file_obj']->path; // masih dumy untuk download nya belum bisa multiple
|
||||
}
|
||||
array_push($dataLaboratoruiumResult, $tempLab);
|
||||
}
|
||||
}
|
||||
|
||||
$data = [
|
||||
"id" => $this->id,
|
||||
"company_name" => $member->currentCorporate->name,
|
||||
@@ -41,82 +125,56 @@ class DataServiceMonitoring extends JsonResource
|
||||
"phone" => $member->person->phone,
|
||||
"email" => $member->email,
|
||||
"birth_date" => $member->birth_date,
|
||||
"symptoms" => "Nyeri dada",
|
||||
"sign" => "Sesak Nafas",
|
||||
"main_diagnose" => "Chest pain on breathing",
|
||||
"main_diagnose_code" => "R07.1",
|
||||
"comparative_diagnosis" => "Abnormalities of breathing",
|
||||
"comparative_diagnosis_code" => "R06",
|
||||
"medical_evacuation" => "Land Transportation",
|
||||
"symptoms" => $historyCareHospital->symptoms ? $historyCareHospital->symptoms : '-' ,
|
||||
"sign" => $historyCareHospital->sign ? $historyCareHospital->sign : '-',
|
||||
"main_diagnose" => $mainDianosis,
|
||||
"main_diagnose_code" => $mainDianosisCode,
|
||||
"comparative_diagnosis" => $comporatationDiagnosisName,
|
||||
"comparative_diagnosis_code" => $comporatationDiagnosisCode,
|
||||
"service_name" => $serviceCode,
|
||||
"benefit_name" => "Konsultasi Dokter",
|
||||
"hospital" => $hospital,
|
||||
"admission_date" => $claim_request->submission_date,
|
||||
"discharge_date" => $claim_request->submission_date,
|
||||
"dialy_monitoring" => [
|
||||
"0" => [
|
||||
"date" => "2023-10-05",
|
||||
"time" => "09:10",
|
||||
"status" => "Done",
|
||||
"subject_title" => "Pasien mengalami sesak napas dan nyeri dada",
|
||||
"body_temperature" => "36.5",
|
||||
"sistole" => "110 mm[Hg]",
|
||||
"diastole" => "110 mm[Hg]",
|
||||
"respiration_rate" => "20/min",
|
||||
"analisis_title" => "Asthma bronkial dengan perbaikan",
|
||||
"Perencanaan" => [
|
||||
"O2 4L/min", "IVDL RL 2 kolf/6 jam", "Rencana tes sputum"
|
||||
]
|
||||
],
|
||||
"1" => [
|
||||
"date" => "2023-10-04",
|
||||
"time" => "09:10",
|
||||
"status" => "Done",
|
||||
"subject_title" => "Pasien mengalami sesak napas dan nyeri dada",
|
||||
"body_temperature" => "36.5",
|
||||
"sistole" => "110 mm[Hg]",
|
||||
"diastole" => "110 mm[Hg]",
|
||||
"respiration_rate" => "20/min",
|
||||
"analisis_title" => "Asthma bronkial dengan perbaikan",
|
||||
"Perencanaan" => [
|
||||
"O2 4L/min", "IVDL RL 2 kolf/6 jam", "Rencana tes sputum"
|
||||
]
|
||||
]
|
||||
],
|
||||
"laboratorium_result" => [
|
||||
"0" => [
|
||||
[
|
||||
"datetime" => "2023-10-05 10:00",
|
||||
"reimbursement_code" => "RE-011",
|
||||
"examination" => "SGOT",
|
||||
"location" => "Pramita Jakarta Ragunan",
|
||||
"files" => "https:://test.com"
|
||||
],
|
||||
[
|
||||
"datetime" => "2023-10-05 09:00",
|
||||
"reimbursement_code" => "RE-010",
|
||||
"examination" => "SGOT",
|
||||
"location" => "Pramita Jakarta Ragunan",
|
||||
"files" => "https:://test.com"
|
||||
],
|
||||
],
|
||||
"1" => [
|
||||
[
|
||||
"datetime" => "2023-10-04 10:00",
|
||||
"reimbursement_code" => "RE-09",
|
||||
"examination" => "Hematologi Lengkap",
|
||||
"location" => "Pramita Jakarta Ragunan",
|
||||
"files" => "https:://test.com"
|
||||
],
|
||||
[
|
||||
"datetime" => "2023-10-04 09:00",
|
||||
"reimbursement_code" => "RE-08",
|
||||
"examination" => "Hematologi Lengkap",
|
||||
"location" => "Pramita Jakarta Ragunan",
|
||||
"files" => "https:://test.com"
|
||||
]
|
||||
]
|
||||
"admission_date" => $admissionDate,
|
||||
"discharge_date" => $dischargeDate,
|
||||
"dialy_monitoring" => $dataDailyMonitoring,
|
||||
// "laboratorium_result" => [
|
||||
// "0" => [
|
||||
// [
|
||||
// "datetime" => "2023-10-05 10:00",
|
||||
// "reimbursement_code" => "RE-011",
|
||||
// "examination" => "SGOT",
|
||||
// "location" => "Pramita Jakarta Ragunan",
|
||||
// "files" => "https:://test.com"
|
||||
// ],
|
||||
// [
|
||||
// "datetime" => "2023-10-05 09:00",
|
||||
// "reimbursement_code" => "RE-010",
|
||||
// "examination" => "SGOT",
|
||||
// "location" => "Pramita Jakarta Ragunan",
|
||||
// "files" => "https:://test.com"
|
||||
// ],
|
||||
// ],
|
||||
// "1" => [
|
||||
// [
|
||||
// "datetime" => "2023-10-04 10:00",
|
||||
// "reimbursement_code" => "RE-09",
|
||||
// "examination" => "Hematologi Lengkap",
|
||||
// "location" => "Pramita Jakarta Ragunan",
|
||||
// "files" => "https:://test.com"
|
||||
// ],
|
||||
// [
|
||||
// "datetime" => "2023-10-04 09:00",
|
||||
// "reimbursement_code" => "RE-08",
|
||||
// "examination" => "Hematologi Lengkap",
|
||||
// "location" => "Pramita Jakarta Ragunan",
|
||||
// "files" => "https:://test.com"
|
||||
// ]
|
||||
// ]
|
||||
|
||||
]
|
||||
// ],
|
||||
|
||||
"laboratorium_result" => [$dataLaboratoruiumResult], //
|
||||
|
||||
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user