From af53a504daf51377a6486979f346ea4a98bbd3e9 Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Tue, 6 Feb 2024 13:48:48 +0700 Subject: [PATCH 1/2] [Improvement] input Daily Monitoring --- .../AlarmCenter/DataServiceMonitoring.php | 7 +++ .../Api/DailyMonitoringController.php | 2 + app/Models/RequestDailyMonitoring.php | 1 + app/Models/RequestLogDailyMonitoring.php | 7 +++ ...56_add_column_request_daily_monitoring.php | 32 +++++++++++ .../pages/AlarmCenter/ServiceMonitoring.tsx | 57 +++++++++++++++---- .../layouts/dashboard/navbar/NavConfig.tsx | 2 +- .../Components/ClaimListRow.tsx | 4 ++ .../Components/DetailMonitoringForm.tsx | 27 +++++++-- .../Components/DetailMonitoringList.tsx | 6 +- .../DailyMonitoring/Model/Functions.ts | 1 + .../DailyMonitoring/Model/Types.ts | 1 + 12 files changed, 127 insertions(+), 20 deletions(-) create mode 100644 database/migrations/2024_02_06_131456_add_column_request_daily_monitoring.php diff --git a/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php b/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php index c3706314..9af963a7 100644 --- a/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php +++ b/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php @@ -39,6 +39,13 @@ class DataServiceMonitoring extends JsonResource 'diagnosis' => $filesFinalLogDiagnosis, 'kondisi' => $filesFinalLogKondisi, + ]; + } else { + $files = [ + 'result' => [], + 'diagnosis' => [], + 'kondisi' => [], + ]; } diff --git a/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php b/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php index ef4f23ab..cc35a3b2 100644 --- a/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php +++ b/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php @@ -224,6 +224,7 @@ class DailyMonitoringController extends Controller $validator = Validator::make($request->all(),[ 'request_code' => 'required|exists:request_logs,code', 'subject' => 'required', + 'submission_date' => 'required', 'body_temperature' => 'required|numeric', 'sistole' => 'required|numeric', 'diastole' => 'required|numeric', @@ -251,6 +252,7 @@ class DailyMonitoringController extends Controller // insert claim daily monitoring $db_response = RequestDailyMonitoring::create([ 'request_log_id' => $request_log->id, + 'submission_date' => $request->submission_date, 'subject' => $request->subject, 'sistole' => $request->sistole, 'diastole' => $request->diastole, diff --git a/app/Models/RequestDailyMonitoring.php b/app/Models/RequestDailyMonitoring.php index 64999411..cb8405aa 100644 --- a/app/Models/RequestDailyMonitoring.php +++ b/app/Models/RequestDailyMonitoring.php @@ -15,6 +15,7 @@ class RequestDailyMonitoring extends Model protected $fillable = [ 'request_log_id', 'subject', + 'submission_date', 'body_temperature', 'respiration_rate', 'sistole', diff --git a/app/Models/RequestLogDailyMonitoring.php b/app/Models/RequestLogDailyMonitoring.php index 2eacfb50..0d05241c 100644 --- a/app/Models/RequestLogDailyMonitoring.php +++ b/app/Models/RequestLogDailyMonitoring.php @@ -20,6 +20,11 @@ class RequestLogDailyMonitoring extends Model return $this->hasMany(RequestLogMedicalPlan::class); } + public function files() + { + return $this->morphMany(File::class, 'fileable'); + } + /* -------------------------------------------------------------------------- */ protected function code(): Attribute @@ -28,4 +33,6 @@ class RequestLogDailyMonitoring extends Model get: fn ($value, $attributes) => 'RE-' . str_pad($attributes['id'], 3, '0', STR_PAD_LEFT), ); } + + } diff --git a/database/migrations/2024_02_06_131456_add_column_request_daily_monitoring.php b/database/migrations/2024_02_06_131456_add_column_request_daily_monitoring.php new file mode 100644 index 00000000..ca4df672 --- /dev/null +++ b/database/migrations/2024_02_06_131456_add_column_request_daily_monitoring.php @@ -0,0 +1,32 @@ +dateTime('submission_date')->after('request_log_id')->nullable()->default(null); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('request_log_daily_monitorings', function (Blueprint $table) { + $table->dropColumn('submission_date'); + }); + } +}; diff --git a/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx b/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx index 7350c6d3..b6f0a312 100644 --- a/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx +++ b/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx @@ -1029,23 +1029,56 @@ export default function ServiceMonitoring() { - Perencanaan + Medical Plan : - - {data.dailyMonitorings ? ( -
    - {dailyMonitoring.plans.length > 0 && - dailyMonitoring.plans.map((plan, planIndex) => ( + + {data.dailyMonitorings ? ( +
      + {dailyMonitoring.plans.length > 0 ? ( + dailyMonitoring.plans.map((plan, planIndex) => + plan.type === 1 ? (
    • {plan.plan}
    • - ))} -
    - ) : ( - '-' - )} -
    + ) : null + ) + ) : ( +
  • No plans available
  • + )} +
+ ) : ( + '-' + )} +
+ +
+
+ + + Non Medikamentosa Plan : + + + + + + {data.dailyMonitorings ? ( +
    + {dailyMonitoring.plans.length > 0 ? ( + dailyMonitoring.plans.map((plan, planIndex) => + plan.type === 2 ? ( +
  • {plan.plan}
  • + ) : null + ) + ) : ( +
  • No plans available
  • + )} +
+ ) : ( + '-' + )} +
+
diff --git a/frontend/dashboard/src/layouts/dashboard/navbar/NavConfig.tsx b/frontend/dashboard/src/layouts/dashboard/navbar/NavConfig.tsx index 5356c01c..17334caf 100644 --- a/frontend/dashboard/src/layouts/dashboard/navbar/NavConfig.tsx +++ b/frontend/dashboard/src/layouts/dashboard/navbar/NavConfig.tsx @@ -80,7 +80,7 @@ const navConfig = [ title: 'CASE MANAGEMENT', children: [ { title: 'Daily Monitoring', path: '/case_management/daily_monitoring' }, - { title: 'Laboratorium Result', path: '/case_management/laboratorium_result' }, + // { title: 'Laboratorium Result', path: '/case_management/laboratorium_result' }, { title: 'Inpatient Monitoring', path: '/case_management/inpatient_monitoring' }, ], }, diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/ClaimListRow.tsx b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/ClaimListRow.tsx index e08b4db5..277b9188 100644 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/ClaimListRow.tsx +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/ClaimListRow.tsx @@ -123,6 +123,10 @@ export default function ClaimListRow ({ ...props }: Props) { View + navigate(`/case_management/daily_monitoring/${props.row.member_id}/claims/${props.row.code}/add_monitoring`)}> + + Daily Monitoring + } /> ) diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringForm.tsx b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringForm.tsx index 0960b7ab..8d0d13a2 100644 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringForm.tsx +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringForm.tsx @@ -50,6 +50,7 @@ export default function DetailMonitoringList() { claim_code : '', claim_id : '', subject : '', + submission_date : '', body_temperature: '', sistole : '', diastole : '', @@ -183,6 +184,24 @@ export default function DetailMonitoringList() { + {/* Date */} + + + + + Date* : + + + + + + + {/* Subject */} @@ -421,7 +440,7 @@ export default function DetailMonitoringList() { - Confirmation Medical Letter* + Confirmation Medical Letter @@ -477,7 +496,7 @@ export default function DetailMonitoringList() { - Medical Action Letter* + Medical Action Letter @@ -534,7 +553,7 @@ export default function DetailMonitoringList() { - Laboratorium Result* + Laboratorium Result @@ -579,7 +598,7 @@ export default function DetailMonitoringList() { - Laboratorium Result* + Laboratorium Result diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringList.tsx b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringList.tsx index 3c96fa02..e610170f 100644 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringList.tsx +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/DetailMonitoringList.tsx @@ -85,7 +85,7 @@ export default function DetailMonitoringList() { variant="ghost" color="default" > - {row.created_at ? fDate(row.created_at) : '-'} + {row.submission_date ? fDate(row.submission_date) : '-'} {row.discharge_date.discharge_date ? @@ -264,7 +264,7 @@ export default function DetailMonitoringList() { - {row.provider} + {row.provider != null ? row.provider : '-' } @@ -276,7 +276,7 @@ export default function DetailMonitoringList() { - {row.examination} + {row.examination != null ? row.examination : '-' } diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Functions.ts b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Functions.ts index fd68763e..74367218 100644 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Functions.ts +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Functions.ts @@ -47,6 +47,7 @@ export const getClaimList = async ( member_id: string ): Promise => { data.lab_date = data.lab_date != '' && data.lab_date != null ? fDateOnly(data.lab_date) : ''; + data.submission_date = data.submission_date != '' && data.submission_date != null ? fDateOnly(data.submission_date) : ''; const formData = makeFormData({...data}); diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Types.ts b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Types.ts index 3e4706c5..fa2b800d 100644 --- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Types.ts +++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Model/Types.ts @@ -57,6 +57,7 @@ export type DetailMonitoringListType = { diastole : string analysis : string, complaints : string, + submission_date : string, lab_date : string, provider : string, examination : string, From dd81dbaa6f84999e4656c29e70f1a627aa812448 Mon Sep 17 00:00:00 2001 From: ivan-sim Date: Wed, 7 Feb 2024 10:06:31 +0700 Subject: [PATCH 2/2] Update Export excel alrm Center --- .../Http/Controllers/Api/ClaimController.php | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/Modules/Client/Http/Controllers/Api/ClaimController.php b/Modules/Client/Http/Controllers/Api/ClaimController.php index 0afc1c30..24fbae05 100644 --- a/Modules/Client/Http/Controllers/Api/ClaimController.php +++ b/Modules/Client/Http/Controllers/Api/ClaimController.php @@ -275,6 +275,7 @@ class ClaimController extends Controller 'No', 'Code', 'Date Submission', + 'Date Admission', 'Date Discharge', 'Provider', 'Member ID (BN)', @@ -320,6 +321,7 @@ class ClaimController extends Controller ->select( DB::raw('1 AS no'), 'request_logs.submission_date', + 'request_logs.created_at', 'request_logs.discharge_date', 'request_logs.organization_id', 'request_logs.id', @@ -328,10 +330,15 @@ class ClaimController extends Controller 'request_logs.code', 'request_logs.diagnosis', 'request_logs.keterangan', - 'request_logs.catatan' + 'request_logs.catatan', + DB::raw(' + (Select SUM(request_log_benefits.amount_approved) as tot_bill FROM request_log_benefits + WHERE request_log_benefits.request_log_id = request_logs.id LIMIT 1) AS tot_bill + ') ) ->groupBy( 'request_logs.submission_date', + 'request_logs.created_at', 'request_logs.discharge_date', 'request_logs.organization_id', 'request_logs.id', @@ -340,7 +347,8 @@ class ClaimController extends Controller 'request_logs.code', 'request_logs.diagnosis', 'request_logs.keterangan', - 'request_logs.catatan' + 'request_logs.catatan', + 'tot_bill' ) ->orderBy('request_logs.submission_date') ->get(); @@ -455,6 +463,7 @@ class ClaimController extends Controller } $total_billing = 0; $lastIndex = count($dataClaimLog) - 1; + $firtIndex = 0; if (isset($dataClaimLog) && count($dataClaimLog) > 0) { foreach ($dataClaimLog as $index => $item_benefit) @@ -463,6 +472,7 @@ class ClaimController extends Controller $rowData = [ $check_first_id != $item->id ? $no : $no, !empty($item->code) ? $item->code : '', + !empty($item->created_at) ? $item->created_at : '', !empty($item->submission_date) ? $item->submission_date : '', !empty($item->discharge_date) ? $item->discharge_date : '', !empty($dataRumahSakit->nama_rumahsakit) ? $dataRumahSakit->nama_rumahsakit : '', @@ -473,7 +483,7 @@ class ClaimController extends Controller 'LinkSehat', !empty($dataMember->nama_perusahaan) ? $dataMember->nama_perusahaan : '', !empty($dataMember->no_polis) ? $dataMember->no_polis : '', - ($lastIndex == $index ? $total_billing : ''), + ($firtIndex == $index ? $item->tot_bill : ''), !empty($item_benefit->code) ? $item_benefit->code : '', !empty($item_benefit->benfit) ? $item_benefit->benfit : '', !empty($item_benefit->amount_incurred) ? $item_benefit->amount_incurred : '', @@ -495,6 +505,7 @@ class ClaimController extends Controller $rowData = [ $check_first_id != $item->id ? $no : '', !empty($item->code) ? $item->code : '', + !empty($item->created_at) ? $item->created_at : '', !empty($item->submission_date) ? $item->submission_date : '', !empty($item->discharge_date) ? $item->discharge_date : '', !empty($dataRumahSakit->nama_rumahsakit) ? $dataRumahSakit->nama_rumahsakit : '', @@ -531,9 +542,9 @@ class ClaimController extends Controller ->build(); $grand_total_billing = 0; foreach ($dataRow as $rowData) { - if (is_numeric($rowData[12])) { + if (is_numeric($rowData[13])) { // Jumlahkan nilai angka ke total - $grand_total_billing += $rowData[12]; + $grand_total_billing += $rowData[13]; } $row = WriterEntityFactory::createRowFromArray($rowData, $style); $writer->addRow($row); @@ -552,6 +563,7 @@ class ClaimController extends Controller '', '', '', + '', $grand_total_billing, '', '',