diff --git a/app/DataTables/WorklistDataTable.php b/app/DataTables/WorklistDataTable.php
index 17bdfb1..0491b89 100644
--- a/app/DataTables/WorklistDataTable.php
+++ b/app/DataTables/WorklistDataTable.php
@@ -239,18 +239,22 @@ public function getColumns(): array
case WorklistColumn::Organization:
$columns[] = Column::make($col->value)
- ->searchable(true)
- ->orderable(true)
+ ->searchable(false)
->title('Org');
break;
case WorklistColumn::Department:
$columns[] = Column::make($col->value)
- ->searchable(true)
- ->orderable(true)
+ ->searchable(false)
->title('Dept');
break;
+ case WorklistColumn::DicomServer:
+ $columns[] = Column::make($col->value)
+ ->searchable(false)
+ ->title('Server');
+ break;
+
default:
// dd(Str::slug($col->value, '-'));
$columns[] = Column::make($col->value)->title(formatTitle($col->value));
@@ -451,7 +455,9 @@ private function renderCustomColumns(): array
};
break;
case WorklistColumn::StudyDescription:
- $columns[$col->value] = static fn (Study $study) => $study->sanitizedStudyDescription();
+ $columns[$col->value] = function (Study $study) {
+ return sprintf('%s', $study->study_description, str_limit($study->sanitizedStudyDescription(), 20));
+ };
break;
case WorklistColumn::AssignedPhysician:
$columns[$col->value] = static function (Study $study) {
@@ -506,6 +512,13 @@ private function renderCustomColumns(): array
case WorklistColumn::ReportButtons:
$columns[$col->value] = fn (Study $study) => $this->generateReportingButtons($study);
break;
+ case WorklistColumn::DicomServer:
+ $columns[$col->value] = function (Study $study) {
+ return sprintf('%s',
+ strtolower($study->dicomServer->geo_code),
+ $study->dicomServer->server_name);
+ };
+ break;
}
}
diff --git a/app/Services/ACL/WorklistColumn.php b/app/Services/ACL/WorklistColumn.php
index 9786d5e..8ac5e34 100644
--- a/app/Services/ACL/WorklistColumn.php
+++ b/app/Services/ACL/WorklistColumn.php
@@ -36,4 +36,5 @@ enum WorklistColumn: string
case ReportButtons = 'report_buttons';
case Organization = 'organization';
case Department = 'department';
+ case DicomServer = 'dicom_server';
}
diff --git a/app/Services/ACL/WorklistGuard.php b/app/Services/ACL/WorklistGuard.php
index 16b923f..dfa3abf 100644
--- a/app/Services/ACL/WorklistGuard.php
+++ b/app/Services/ACL/WorklistGuard.php
@@ -45,6 +45,7 @@ public static function worklistColumns(User|int|null $usr = null): Collection
if ($user->isAdmin()) {
$columns->push(WorklistColumn::Organization);
$columns->push(WorklistColumn::Department);
+ $columns->push(WorklistColumn::DicomServer);
}
return $columns;
diff --git a/database/migrations/0000_01_31_074312_create_dicom_servers_table.php b/database/migrations/0000_01_31_074312_create_dicom_servers_table.php
index 576bfaa..fe8ab3e 100644
--- a/database/migrations/0000_01_31_074312_create_dicom_servers_table.php
+++ b/database/migrations/0000_01_31_074312_create_dicom_servers_table.php
@@ -14,6 +14,7 @@ public function up(): void
$table->id();
$table->boolean('is_active')->index();
$table->string('server_name')->unique();
+ $table->string('geo_code', 2)->index();
$table->string('host');
$table->integer('port');
$table->string('rest_api_endpoint');
diff --git a/database/seeders/OrganizationSeeder.php b/database/seeders/OrganizationSeeder.php
index 16f8ba3..c30f09a 100644
--- a/database/seeders/OrganizationSeeder.php
+++ b/database/seeders/OrganizationSeeder.php
@@ -36,14 +36,14 @@ public function run(): void
$dept_chev_xr = Department::create(
[
'is_active' => true,
- 'name' => 'Chevron XR',
+ 'name' => 'Chev-CR',
'organization_id' => $chev->id,
]
);
$chev_dep_ct_mr = Department::create(
[
'is_active' => true,
- 'name' => 'Chevron CT/MR',
+ 'name' => 'Chev-MR',
'organization_id' => $chev->id,
]
);
@@ -109,7 +109,8 @@ public function run(): void
DicomServer::create(
[
'is_active' => true,
- 'server_name' => 'Orthanc Main',
+ 'server_name' => 'CTG-1',
+ 'geo_code' => 'BD',
'host' => 'pacs.mylabctg.com',
'port' => 8042,
'rest_api_endpoint' => 'http://pacs.mylabctg.com:8042/',
@@ -122,8 +123,9 @@ public function run(): void
DicomServer::create(
[
'is_active' => false,
- 'server_name' => 'Orthanc XR',
+ 'server_name' => 'MAA-1',
'host' => 'pacs.mylabctg.com',
+ 'geo_code' => 'IN',
'port' => 8043,
'rest_api_endpoint' => 'http://pacs.mylabctg.com:8042/',
'ae_title' => 'RADFUSION',
diff --git a/resources/views/staff/worklist/index.blade.php b/resources/views/staff/worklist/index.blade.php
index 3d1f75a..da3e290 100644
--- a/resources/views/staff/worklist/index.blade.php
+++ b/resources/views/staff/worklist/index.blade.php
@@ -27,6 +27,8 @@
'resources/assets/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.scss',
'resources/assets/vendor/libs/bootstrap-daterangepicker/bootstrap-daterangepicker.scss',
])
+
+
@endsection
@section('vendor-script')