'datetime', 'completed_at' => 'datetime', ]; } protected static function booted(): void { static::creating(function (DentalTreatmentPlan $plan) { if (! $plan->uuid) { $plan->uuid = (string) Str::uuid(); } }); } public function getRouteKeyName(): string { return 'uuid'; } public function organization(): BelongsTo { return $this->belongsTo(Organization::class, 'organization_id'); } public function patient(): BelongsTo { return $this->belongsTo(Patient::class, 'patient_id'); } public function visit(): BelongsTo { return $this->belongsTo(Visit::class, 'visit_id'); } public function items(): HasMany { return $this->hasMany(DentalPlanItem::class, 'treatment_plan_id')->orderBy('priority')->orderBy('id'); } }