classification === 'primary'; } public function isDiagnostic(): bool { return $this->classification === 'diagnostic'; } public function badgeSpec(): ?BadgeSpec { if (! $this->badgeDomain instanceof BadgeDomain || ! is_string($this->badgeState) || trim($this->badgeState) === '') { return null; } return \App\Support\Badges\BadgeCatalog::spec($this->badgeDomain, $this->badgeState); } /** * @return array{ * axis: string, * state: string, * label: string, * classification: string, * badgeDomain: ?string, * badgeState: ?string * } */ public function toArray(): array { return [ 'axis' => $this->axis, 'state' => $this->state, 'label' => $this->label, 'classification' => $this->classification, 'badgeDomain' => $this->badgeDomain?->value, 'badgeState' => $this->badgeState, ]; } }