'array', 'meta' => 'array', 'is_active' => 'boolean', 'sort_order' => 'integer', ]; } protected static function booted(): void { static::creating(function (ClinicalPathway $pathway) { if (! $pathway->uuid) { $pathway->uuid = (string) Str::uuid(); } }); } public function getRouteKeyName(): string { return 'uuid'; } public function templates(): HasMany { return $this->hasMany(PathwayTemplate::class, 'pathway_id')->orderBy('sort_order'); } public function patientPathways(): HasMany { return $this->hasMany(PatientPathway::class, 'pathway_id'); } public function scopeActive(Builder $query): Builder { return $query->where('is_active', true); } public static function findByCode(string $code): ?self { return static::query()->where('code', $code)->where('is_active', true)->first(); } }