isRadiologist()) { $columns = $columns->reject(function ($col) { return $col == WorklistColumn::AssignedPhysician || $col == WorklistColumn::ReadingPhysician; }); } else { $columns = $columns->reject(function ($col) { return $col == WorklistColumn::ReportDate; }); } if ($user->isAdmin()) { $columns->push(WorklistColumn::Organization); $columns->push(WorklistColumn::Department); $columns->push(WorklistColumn::DicomServer); } return $columns; } public static function worklistButtons(Study $study, User|int|null $usr = null): Collection { $user = me($usr); if ($user->isRadiologist()) { return collect([ WorklistButton::StudyMetadata, // WorklistButton::Notes, // WorklistButton::Audit, WorklistButton::Bookmark, ]); } $buttons = collect([ WorklistButton::StudyMetadata, WorklistButton::History, // WorklistButton::Notes, ]); if ($study->canAssignRad()) { $buttons->push(WorklistButton::Assign); } if (may(Permission::AuditLogView)) { $buttons->push(WorklistButton::Audit); } if (may(Permission::BookmarkCreate)) { $buttons->push(WorklistButton::Bookmark); } return $buttons; } }