From af53a504daf51377a6486979f346ea4a98bbd3e9 Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Tue, 6 Feb 2024 13:48:48 +0700 Subject: [PATCH] [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,