# تسک ۰۳: ماژول پروفایل کاربر

## توضیح
پیاده‌سازی CRUD پروفایل پزشکی کاربر شامل اطلاعات شخصی،
سابقه بیماری، آلرژی‌ها، داروها، عمل‌های جراحی، سابقه خانوادگی و بستگان.

## Endpoint ها

| متد | مسیر | توضیح | نیاز به Auth |
|-----|------|-------|-------------|
| POST | `/api/v1/user-profile` | ایجاد پروفایل | بله |
| GET | `/api/v1/user-profile/{uuid}` | دریافت پروفایل | بله |
| PATCH | `/api/v1/user-profile/{uuid}` | ویرایش پروفایل | بله (Owner/Admin) |
| DELETE | `/api/v1/user-profile/{uuid}` | حذف پروفایل | بله (Admin) |

## پیش‌نیازها
- تسک ۰۱ و ۰۲ کامل شده باشند

## خروجی‌های مورد انتظار
- [ ] Entity پروفایل با تمام فیلدها
- [ ] پشتیبانی از JSON column برای داده‌های پزشکی پیچیده
- [ ] بعد از ذخیره پروفایل: refresh token و get userinfo اجرا می‌شود
- [ ] فقط owner یا admin می‌تواند پروفایل را ببیند/ویرایش کند

## زمان تخمینی
۸ تا ۱۰ ساعت

## نمونه Request

### POST /api/v1/user-profile
```json
{
  "name": "علی رضایی",
  "description": [{ "value": "متن توضیحات", "format": "basic_html" }],
  "birthday": "1370-05-15",
  "basic_insurance": [251],
  "blood_type": "ab_negative",
  "education": "postgraduate_diploma",
  "fathers_name": "محمد",
  "gender": "male",
  "home_phone": "07433332178",
  "job": "مهندس",
  "marital_status": "married",
  "supplementary_insurance": "308",
  "work_phone": "07433332178",
  "address": "تهران، خیابان ولیعصر",
  "other": [{
    "disease": [{ "id": 1, "name": "فشار خون", "status": "true" }],
    "allergies": [{ "substance": "پنی‌سیلین", "reaction": "کهیر", "severity": "شدید" }],
    "medications": [{ "name": "آتنولول", "dose": "50mg", "frequency": "صبح‌ها" }],
    "surgeries": [{ "type": "آپاندکتومی", "year": 2015, "hospital": "بیمارستان امام خمینی" }],
    "family_history": [{ "relation": "پدر", "disease": "فشار خون" }],
    "relatives": [{
      "name": "سارا",
      "relation": "خواهر",
      "contact": { "phone": "09121234567", "email": "sara@example.com", "address": "تهران" }
    }]
  }]
}
```
