update api user dan export alamr center client

This commit is contained in:
2023-11-06 13:19:05 +07:00
parent 23886c52d2
commit 4aa6eaa889
26 changed files with 585 additions and 227 deletions

View File

@@ -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], //
];