'array', 'alerts' => 'array', 'recorded_at' => 'datetime', ]; } protected static function booted(): void { static::creating(function (SpecialtyClinicalRecord $record) { if (! $record->uuid) { $record->uuid = (string) Str::uuid(); } }); } public function getRouteKeyName(): string { return 'uuid'; } public function organization(): BelongsTo { return $this->belongsTo(Organization::class, 'organization_id'); } public function branch(): BelongsTo { return $this->belongsTo(Branch::class, 'branch_id'); } public function visit(): BelongsTo { return $this->belongsTo(Visit::class, 'visit_id'); } public function patient(): BelongsTo { return $this->belongsTo(Patient::class, 'patient_id'); } public function consultation(): BelongsTo { return $this->belongsTo(Consultation::class, 'consultation_id'); } /** * @return list */ public function activeAlerts(): array { $alerts = $this->alerts ?? []; return is_array($alerts) ? array_values($alerts) : []; } }