<?php

declare(strict_types=1);

namespace Kylin\Pet\Models;

use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Kylin\Core\Models\BaseModel;

/**
 * 宠物诊疗记录
 *
 * 依据 GB/T 43825-2024《宠物诊疗服务规范》第 6 条：
 * 诊疗记录需完整覆盖 16 个环节。
 *
 * @property int    $id
 * @property int    $pet_id         宠物 ID
 * @property string $visit_date     就诊日期
 * @property string $diagnosis      诊断
 * @property string $treatment      治疗方案
 * @property string $doctor_name    医生姓名
 * @property string $clinic_name    诊所名称
 * @property string $notes          备注
 */
class PetMedicalRecord extends BaseModel
{
    protected $table = 'kylin_pet_medical_records';

    protected $fillable = [
        'pet_id', 'visit_date', 'diagnosis', 'treatment',
        'doctor_name', 'clinic_name', 'notes',
    ];

    protected $casts = [
        'visit_date' => 'date',
    ];

    public function pet(): BelongsTo
    {
        return $this->belongsTo(Pet::class, 'pet_id');
    }
}