/**
 * HIPPO AI Agent Configuration
 * This file contains all the knowledge HIPPO needs about the app and health information.
 *
 * HOW TO EXPAND:
 * - Add new pages to APP_KNOWLEDGE.pages
 * - Add new symptoms to SYMPTOM_DATABASE
 * - Add new doctor types to DOCTOR_TYPES
 */

// =============================================================================
// APP KNOWLEDGE - Information about Neyim var Health Platform
// =============================================================================

export const APP_KNOWLEDGE = {
  appName: "Hipograf",
  appDescription: "Kişisel sağlık verilerinizi görselleştiren ve yöneten platform",
  neyimvarFeature: "Belirtilerinizi analiz edip olası hastalıkları ve hangi doktora gitmeniz gerektiğini söyleyen özellik",

  pages: {
    dashboard: {
      path: "/",
      name: "Ana Sayfa (Dashboard)",
      description: "3D vücut görselleştirmesi, sağlık zaman çizelgesi ve özelleştirilebilir veri widget'ları",
      features: [
        "3D insan vücudu üzerinde aktif rahatsızlıkları görme",
        "Sağlık olaylarını zaman çizelgesinde takip etme",
        "Kan tahlili, ilaçlar ve vital bulgular için widget'lar ekleme/çıkarma",
        "Widget'ları sürükle-bırak ile yeniden düzenleme"
      ],
      tips: [
        "3D model üzerindeki renkli noktalara tıklayarak rahatsızlık detaylarını görebilirsiniz",
        "Sol-sağ ok tuşlarıyla rahatsızlıklar arasında geçiş yapabilirsiniz"
      ]
    },
    timeline: {
      path: "/timeline",
      name: "Zaman Çizelgesi",
      description: "Tüm sağlık olaylarınızı kronolojik sırayla veya takvim görünümünde görüntüleyin",
      features: [
        "Muayeneler, teşhisler ve tedavileri tarih sırasına göre görme",
        "Belirli tarihlere odaklanma",
        "Olayları filtreleme",
        "Timeline ve Takvim görünümü arasında geçiş yapma",
        "Takvimde aylık görünümde tüm sağlık olaylarını görme",
        "Takvimde olaylara tıklayarak detay görme",
        "Sürükleyerek timeline'da gezinme"
      ],
      tips: [
        "Sağ üst köşedeki Timeline/Calendar butonlarıyla görünüm değiştirebilirsiniz",
        "Takvim görünümünde renkli etiketler olay türlerini gösterir: mavi=randevular, pembe=tahliller, yeşil=ilaçlar, turuncu=vital bulgular",
        "Timeline'da tıklayıp sürükleyerek zaman diliminde gezinebilirsiniz",
        "Scroll ile yakınlaştırıp uzaklaştırabilirsiniz"
      ]
    },
    graph: {
      path: "/graph",
      name: "Grafik",
      description: "Sağlık metriklerinizi grafiklerle görselleştirin ve karşılaştırın",
      features: [
        "Kan değerlerinin zaman içindeki değişimini görme",
        "Farklı metrikleri karşılaştırma",
        "Trendleri analiz etme",
        "Başlangıç ve bitiş tarihine göre grafik verisini filtreleme",
        "Son 1, 3, 6 ve 12 ay gibi hazır zaman aralıklarıyla hızlı filtreleme",
        "Hazır zaman aralığı ve özel tarih aralığı filtrelerini birbirinden bağımsız kullanma",
        "Birleştirilmiş grafikten tek bir veri serisini ayrı grafiğe ayırma",
        "Her grafik için normalizasyon durumunu dışa aktarılan JSON içinde saklama",
        "Açık grafik konfigürasyonunu JSON dosyası olarak dışa aktarma"
      ]
    },
    visits: {
      path: "/visits",
      name: "Muayenelerim",
      description: "Hastane randevularınızı ve geçmişinizi takip edin",
      features: [
        "Tüm muayene geçmişini görme",
        "Yıla göre filtreleme",
        "Doktor ve hastane bilgilerini görme",
        "Muayene detayları ve notları"
      ]
    },
    prescriptions: {
      path: "/prescriptions",
      name: "Reçetelerim",
      description: "İlaçlarınızı ve reçetelerinizi yönetin",
      features: [
        "Aktif ve geçmiş reçeteleri görme",
        "İlaç yan etkileri bilgisi",
        "Kullanım talimatları",
        "İlaç hatırlatıcıları"
      ],
      tabs: ["Reçetelerim", "Yan Etkiler", "Kullanım Bilgisi", "Hatırlatıcılar"]
    },
    diseases: {
      path: "/diagnoses",
      name: "Hastalıklarım",
      description: "Teşhis geçmişinizi ve kronik rahatsızlıklarınızı görüntüleyin",
      features: [
        "Tüm teşhisleri ICD kodlarıyla görme",
        "Şiddet seviyesine göre filtreleme (Hafif, Orta, Şiddetli)",
        "İlgili ilaçları görme",
        "CSV olarak dışa aktarma"
      ]
    },
    tests: {
      path: "/tests",
      name: "Tahlillerim",
      description: "Laboratuvar sonuçlarınızı detaylı inceleyin",
      features: [
        "Tüm tahlil sonuçlarını görme",
        "Normal/Anormal sonuçları filtreleme",
        "Referans değerleriyle karşılaştırma",
        "Trend grafiklerine hızlı erişim"
      ]
    },
    images: {
      path: "/images",
      name: "Görüntülerim",
      description: "MR, röntgen ve diğer tıbbi görüntülerinizi görüntüleyin",
      features: [
        "Tüm tıbbi görüntüleri tek yerden erişme",
        "Görüntü detaylarını inceleme"
      ]
    },
    devices: {
      path: "/devices",
      name: "Cihazlarım",
      description: "Bağlı sağlık cihazlarınızı yönetin",
      features: [
        "Akıllı saat ve fitness takip cihazlarını bağlama",
        "Anlık sağlık verilerini senkronize etme"
      ]
    }
  },

  sidebar: {
    description: "Sol taraftaki dar menü çubuğu tüm sayfalara hızlı erişim sağlar",
    items: [
      { icon: "🏠", label: "Dashboard", path: "/" },
      { icon: "⏰", label: "Timeline", path: "/timeline" },
      { icon: "📊", label: "Plots", path: "/plots" },
      { icon: "📅", label: "Muayenelerim", path: "/visits" },
      { icon: "💊", label: "Reçetelerim", path: "/prescriptions" },
      { icon: "🏥", label: "Hastalıklarım", path: "/diagnoses" },
      { icon: "🧪", label: "Tahlillerim", path: "/tests" },
      { icon: "🖼️", label: "Görüntülerim", path: "/images" },
      { icon: "⌚", label: "Cihazlarım", path: "/devices" }
    ]
  }
};

// =============================================================================
// NEYIM VAR - SYMPTOM CHECKER DATABASE
// =============================================================================

export interface Symptom {
  id: string;
  name: string;
  nameTr: string;
  bodyPart: string;
  severity: 'low' | 'medium' | 'high';
}

export interface Disease {
  id: string;
  name: string;
  nameTr: string;
  symptoms: string[]; // symptom IDs
  doctorType: string;
  description: string;
  urgency: 'routine' | 'soon' | 'urgent';
}

export interface DoctorType {
  id: string;
  name: string;
  nameTr: string;
  description: string;
}

// Doctor Types / Specializations
export const DOCTOR_TYPES: DoctorType[] = [
  { id: 'gp', name: 'General Practitioner', nameTr: 'Aile Hekimi', description: 'Genel sağlık sorunları için ilk başvuru noktası' },
  { id: 'cardio', name: 'Cardiologist', nameTr: 'Kardiyolog', description: 'Kalp ve damar hastalıkları uzmanı' },
  { id: 'neuro', name: 'Neurologist', nameTr: 'Nörolog', description: 'Beyin ve sinir sistemi hastalıkları uzmanı' },
  { id: 'gastro', name: 'Gastroenterologist', nameTr: 'Gastroenterolog', description: 'Sindirim sistemi hastalıkları uzmanı' },
  { id: 'pulmo', name: 'Pulmonologist', nameTr: 'Göğüs Hastalıkları Uzmanı', description: 'Akciğer ve solunum yolu hastalıkları uzmanı' },
  { id: 'derm', name: 'Dermatologist', nameTr: 'Dermatolog', description: 'Cilt hastalıkları uzmanı' },
  { id: 'ortho', name: 'Orthopedist', nameTr: 'Ortopedi Uzmanı', description: 'Kemik, eklem ve kas hastalıkları uzmanı' },
  { id: 'ent', name: 'ENT Specialist', nameTr: 'KBB Uzmanı', description: 'Kulak, burun, boğaz hastalıkları uzmanı' },
  { id: 'uro', name: 'Urologist', nameTr: 'Ürolog', description: 'İdrar yolu ve böbrek hastalıkları uzmanı' },
  { id: 'endo', name: 'Endocrinologist', nameTr: 'Endokrinolog', description: 'Hormon ve metabolizma hastalıkları uzmanı' },
  { id: 'psych', name: 'Psychiatrist', nameTr: 'Psikiyatrist', description: 'Ruh sağlığı ve psikolojik hastalıklar uzmanı' },
  { id: 'opht', name: 'Ophthalmologist', nameTr: 'Göz Hastalıkları Uzmanı', description: 'Göz hastalıkları uzmanı' },
  { id: 'rheum', name: 'Rheumatologist', nameTr: 'Romatoloji Uzmanı', description: 'Romatizmal hastalıklar uzmanı' },
  { id: 'inf', name: 'Infectious Disease Specialist', nameTr: 'Enfeksiyon Hastalıkları Uzmanı', description: 'Bulaşıcı hastalıklar uzmanı' },
  { id: 'aller', name: 'Allergist', nameTr: 'Alerji Uzmanı', description: 'Alerji ve bağışıklık sistemi hastalıkları uzmanı' },
  { id: 'emergency', name: 'Emergency Medicine', nameTr: 'Acil Tıp', description: 'Acil durumlar için' }
];

// Common Symptoms
export const SYMPTOMS: Symptom[] = [
  // Head
  { id: 'headache', name: 'Headache', nameTr: 'Baş ağrısı', bodyPart: 'head', severity: 'low' },
  { id: 'migraine', name: 'Migraine', nameTr: 'Migren', bodyPart: 'head', severity: 'medium' },
  { id: 'dizziness', name: 'Dizziness', nameTr: 'Baş dönmesi', bodyPart: 'head', severity: 'medium' },
  { id: 'confusion', name: 'Confusion', nameTr: 'Zihin bulanıklığı', bodyPart: 'head', severity: 'high' },

  // Eyes
  { id: 'blurred_vision', name: 'Blurred Vision', nameTr: 'Bulanık görme', bodyPart: 'eyes', severity: 'medium' },
  { id: 'eye_pain', name: 'Eye Pain', nameTr: 'Göz ağrısı', bodyPart: 'eyes', severity: 'medium' },
  { id: 'red_eyes', name: 'Red Eyes', nameTr: 'Gözlerde kızarıklık', bodyPart: 'eyes', severity: 'low' },

  // Ear, Nose, Throat
  { id: 'ear_pain', name: 'Ear Pain', nameTr: 'Kulak ağrısı', bodyPart: 'ear', severity: 'medium' },
  { id: 'sore_throat', name: 'Sore Throat', nameTr: 'Boğaz ağrısı', bodyPart: 'throat', severity: 'low' },
  { id: 'runny_nose', name: 'Runny Nose', nameTr: 'Burun akıntısı', bodyPart: 'nose', severity: 'low' },
  { id: 'nasal_congestion', name: 'Nasal Congestion', nameTr: 'Burun tıkanıklığı', bodyPart: 'nose', severity: 'low' },
  { id: 'hearing_loss', name: 'Hearing Loss', nameTr: 'İşitme kaybı', bodyPart: 'ear', severity: 'high' },

  // Respiratory
  { id: 'cough', name: 'Cough', nameTr: 'Öksürük', bodyPart: 'chest', severity: 'low' },
  { id: 'shortness_breath', name: 'Shortness of Breath', nameTr: 'Nefes darlığı', bodyPart: 'chest', severity: 'high' },
  { id: 'wheezing', name: 'Wheezing', nameTr: 'Hırıltılı solunum', bodyPart: 'chest', severity: 'medium' },
  { id: 'chest_tightness', name: 'Chest Tightness', nameTr: 'Göğüste sıkışma', bodyPart: 'chest', severity: 'high' },

  // Cardiovascular
  { id: 'chest_pain', name: 'Chest Pain', nameTr: 'Göğüs ağrısı', bodyPart: 'chest', severity: 'high' },
  { id: 'palpitations', name: 'Palpitations', nameTr: 'Çarpıntı', bodyPart: 'chest', severity: 'medium' },
  { id: 'leg_swelling', name: 'Leg Swelling', nameTr: 'Bacak şişmesi', bodyPart: 'legs', severity: 'medium' },

  // Digestive
  { id: 'nausea', name: 'Nausea', nameTr: 'Mide bulantısı', bodyPart: 'abdomen', severity: 'low' },
  { id: 'vomiting', name: 'Vomiting', nameTr: 'Kusma', bodyPart: 'abdomen', severity: 'medium' },
  { id: 'stomach_pain', name: 'Stomach Pain', nameTr: 'Karın ağrısı', bodyPart: 'abdomen', severity: 'medium' },
  { id: 'diarrhea', name: 'Diarrhea', nameTr: 'İshal', bodyPart: 'abdomen', severity: 'low' },
  { id: 'constipation', name: 'Constipation', nameTr: 'Kabızlık', bodyPart: 'abdomen', severity: 'low' },
  { id: 'bloating', name: 'Bloating', nameTr: 'Şişkinlik', bodyPart: 'abdomen', severity: 'low' },
  { id: 'heartburn', name: 'Heartburn', nameTr: 'Mide yanması', bodyPart: 'abdomen', severity: 'low' },

  // Musculoskeletal
  { id: 'back_pain', name: 'Back Pain', nameTr: 'Sırt ağrısı', bodyPart: 'back', severity: 'medium' },
  { id: 'joint_pain', name: 'Joint Pain', nameTr: 'Eklem ağrısı', bodyPart: 'joints', severity: 'medium' },
  { id: 'muscle_pain', name: 'Muscle Pain', nameTr: 'Kas ağrısı', bodyPart: 'muscles', severity: 'low' },
  { id: 'neck_pain', name: 'Neck Pain', nameTr: 'Boyun ağrısı', bodyPart: 'neck', severity: 'medium' },
  { id: 'stiffness', name: 'Stiffness', nameTr: 'Tutulma/Sertlik', bodyPart: 'joints', severity: 'low' },

  // Skin
  { id: 'rash', name: 'Rash', nameTr: 'Döküntü', bodyPart: 'skin', severity: 'low' },
  { id: 'itching', name: 'Itching', nameTr: 'Kaşıntı', bodyPart: 'skin', severity: 'low' },
  { id: 'skin_redness', name: 'Skin Redness', nameTr: 'Ciltte kızarıklık', bodyPart: 'skin', severity: 'low' },
  { id: 'hives', name: 'Hives', nameTr: 'Kurdeşen', bodyPart: 'skin', severity: 'medium' },

  // General/Systemic
  { id: 'fever', name: 'Fever', nameTr: 'Ateş', bodyPart: 'general', severity: 'medium' },
  { id: 'fatigue', name: 'Fatigue', nameTr: 'Yorgunluk/Halsizlik', bodyPart: 'general', severity: 'low' },
  { id: 'weight_loss', name: 'Unexplained Weight Loss', nameTr: 'Açıklanamayan kilo kaybı', bodyPart: 'general', severity: 'high' },
  { id: 'night_sweats', name: 'Night Sweats', nameTr: 'Gece terlemesi', bodyPart: 'general', severity: 'medium' },
  { id: 'loss_appetite', name: 'Loss of Appetite', nameTr: 'İştahsızlık', bodyPart: 'general', severity: 'low' },
  { id: 'chills', name: 'Chills', nameTr: 'Titreme/Üşüme', bodyPart: 'general', severity: 'low' },

  // Urinary
  { id: 'frequent_urination', name: 'Frequent Urination', nameTr: 'Sık idrara çıkma', bodyPart: 'urinary', severity: 'low' },
  { id: 'painful_urination', name: 'Painful Urination', nameTr: 'Ağrılı idrar yapma', bodyPart: 'urinary', severity: 'medium' },
  { id: 'blood_urine', name: 'Blood in Urine', nameTr: 'İdrarda kan', bodyPart: 'urinary', severity: 'high' },

  // Mental/Neurological
  { id: 'anxiety', name: 'Anxiety', nameTr: 'Anksiyete/Kaygı', bodyPart: 'mental', severity: 'medium' },
  { id: 'depression', name: 'Depression', nameTr: 'Depresyon', bodyPart: 'mental', severity: 'high' },
  { id: 'insomnia', name: 'Insomnia', nameTr: 'Uykusuzluk', bodyPart: 'mental', severity: 'medium' },
  { id: 'numbness', name: 'Numbness/Tingling', nameTr: 'Uyuşma/Karıncalanma', bodyPart: 'nerves', severity: 'medium' },
  { id: 'tremor', name: 'Tremor', nameTr: 'Titreme', bodyPart: 'nerves', severity: 'medium' }
];

// Common Diseases/Conditions with symptom mappings
export const DISEASES: Disease[] = [
  // Respiratory
  {
    id: 'common_cold',
    name: 'Common Cold',
    nameTr: 'Soğuk algınlığı',
    symptoms: ['runny_nose', 'sore_throat', 'cough', 'nasal_congestion', 'fatigue'],
    doctorType: 'gp',
    description: 'Viral üst solunum yolu enfeksiyonu. Genellikle 7-10 günde kendiliğinden geçer.',
    urgency: 'routine'
  },
  {
    id: 'flu',
    name: 'Influenza (Flu)',
    nameTr: 'Grip',
    symptoms: ['fever', 'cough', 'sore_throat', 'muscle_pain', 'fatigue', 'headache', 'chills'],
    doctorType: 'gp',
    description: 'Viral solunum yolu enfeksiyonu. Soğuk algınlığından daha şiddetli seyreder.',
    urgency: 'soon'
  },
  {
    id: 'bronchitis',
    name: 'Bronchitis',
    nameTr: 'Bronşit',
    symptoms: ['cough', 'chest_tightness', 'fatigue', 'shortness_breath', 'wheezing'],
    doctorType: 'pulmo',
    description: 'Bronşların iltihaplanması. Akut veya kronik olabilir.',
    urgency: 'soon'
  },
  {
    id: 'asthma',
    name: 'Asthma',
    nameTr: 'Astım',
    symptoms: ['wheezing', 'shortness_breath', 'chest_tightness', 'cough'],
    doctorType: 'pulmo',
    description: 'Kronik hava yolu hastalığı. Düzenli takip gerektirir.',
    urgency: 'soon'
  },

  // Cardiovascular
  {
    id: 'hypertension',
    name: 'Hypertension',
    nameTr: 'Hipertansiyon (Yüksek Tansiyon)',
    symptoms: ['headache', 'dizziness', 'chest_pain', 'shortness_breath'],
    doctorType: 'cardio',
    description: 'Yüksek kan basıncı. Sessiz katil olarak bilinir, düzenli kontrol önemlidir.',
    urgency: 'soon'
  },
  {
    id: 'heart_attack',
    name: 'Heart Attack',
    nameTr: 'Kalp Krizi',
    symptoms: ['chest_pain', 'shortness_breath', 'palpitations', 'nausea', 'dizziness'],
    doctorType: 'emergency',
    description: 'ACİL DURUM! Hemen 112\'yi arayın.',
    urgency: 'urgent'
  },

  // Gastrointestinal
  {
    id: 'gastritis',
    name: 'Gastritis',
    nameTr: 'Gastrit',
    symptoms: ['stomach_pain', 'nausea', 'bloating', 'heartburn', 'loss_appetite'],
    doctorType: 'gastro',
    description: 'Mide mukozasının iltihaplanması.',
    urgency: 'routine'
  },
  {
    id: 'gerd',
    name: 'GERD (Acid Reflux)',
    nameTr: 'Reflü',
    symptoms: ['heartburn', 'chest_pain', 'sore_throat', 'cough', 'nausea'],
    doctorType: 'gastro',
    description: 'Mide asidinin yemek borusuna geri kaçması.',
    urgency: 'routine'
  },
  {
    id: 'ibs',
    name: 'Irritable Bowel Syndrome',
    nameTr: 'İrritabl Bağırsak Sendromu',
    symptoms: ['stomach_pain', 'bloating', 'diarrhea', 'constipation'],
    doctorType: 'gastro',
    description: 'Bağırsak fonksiyon bozukluğu. Stresle tetiklenebilir.',
    urgency: 'routine'
  },

  // Musculoskeletal
  {
    id: 'arthritis',
    name: 'Arthritis',
    nameTr: 'Artrit (Eklem İltihabı)',
    symptoms: ['joint_pain', 'stiffness', 'leg_swelling'],
    doctorType: 'rheum',
    description: 'Eklemlerin iltihaplanması. Birçok türü vardır.',
    urgency: 'routine'
  },
  {
    id: 'back_strain',
    name: 'Back Strain',
    nameTr: 'Bel Fıtığı / Bel Ağrısı',
    symptoms: ['back_pain', 'muscle_pain', 'stiffness', 'numbness'],
    doctorType: 'ortho',
    description: 'Kas veya bağ gerilmesi. Fizik tedavi faydalı olabilir.',
    urgency: 'routine'
  },

  // Neurological
  {
    id: 'migraine_disease',
    name: 'Migraine',
    nameTr: 'Migren',
    symptoms: ['migraine', 'nausea', 'blurred_vision', 'dizziness'],
    doctorType: 'neuro',
    description: 'Şiddetli, tekrarlayan baş ağrısı atakları.',
    urgency: 'routine'
  },
  {
    id: 'tension_headache',
    name: 'Tension Headache',
    nameTr: 'Gerilim Tipi Baş Ağrısı',
    symptoms: ['headache', 'neck_pain', 'fatigue'],
    doctorType: 'neuro',
    description: 'En yaygın baş ağrısı tipi. Stres ve gerginlikle ilişkili.',
    urgency: 'routine'
  },

  // Skin
  {
    id: 'eczema',
    name: 'Eczema',
    nameTr: 'Egzama',
    symptoms: ['rash', 'itching', 'skin_redness'],
    doctorType: 'derm',
    description: 'Kronik cilt iltihabı. Genetik yatkınlık rol oynar.',
    urgency: 'routine'
  },
  {
    id: 'allergic_reaction',
    name: 'Allergic Reaction',
    nameTr: 'Alerjik Reaksiyon',
    symptoms: ['hives', 'itching', 'rash', 'shortness_breath', 'leg_swelling'],
    doctorType: 'aller',
    description: 'Bağışıklık sisteminin aşırı tepkisi. Şiddetli olursa acil yardım alın.',
    urgency: 'soon'
  },

  // ENT
  {
    id: 'sinusitis',
    name: 'Sinusitis',
    nameTr: 'Sinüzit',
    symptoms: ['nasal_congestion', 'headache', 'runny_nose', 'sore_throat'],
    doctorType: 'ent',
    description: 'Sinüslerin iltihaplanması.',
    urgency: 'routine'
  },
  {
    id: 'otitis',
    name: 'Ear Infection',
    nameTr: 'Kulak İltihabı',
    symptoms: ['ear_pain', 'fever', 'hearing_loss'],
    doctorType: 'ent',
    description: 'Kulak enfeksiyonu. Antibiyotik gerekebilir.',
    urgency: 'soon'
  },

  // Urinary
  {
    id: 'uti',
    name: 'Urinary Tract Infection',
    nameTr: 'İdrar Yolu Enfeksiyonu',
    symptoms: ['painful_urination', 'frequent_urination', 'blood_urine', 'fever'],
    doctorType: 'uro',
    description: 'İdrar yollarının bakteriyel enfeksiyonu.',
    urgency: 'soon'
  },

  // Mental Health
  {
    id: 'anxiety_disorder',
    name: 'Anxiety Disorder',
    nameTr: 'Anksiyete Bozukluğu',
    symptoms: ['anxiety', 'palpitations', 'insomnia', 'fatigue', 'shortness_breath'],
    doctorType: 'psych',
    description: 'Aşırı kaygı ve endişe durumu. Tedavi edilebilir.',
    urgency: 'routine'
  },
  {
    id: 'depression_disorder',
    name: 'Depression',
    nameTr: 'Depresyon',
    symptoms: ['depression', 'fatigue', 'insomnia', 'loss_appetite', 'weight_loss'],
    doctorType: 'psych',
    description: 'Ruh hali bozukluğu. Profesyonel yardım almanız önerilir.',
    urgency: 'soon'
  },

  // Endocrine
  {
    id: 'diabetes_symptoms',
    name: 'Diabetes',
    nameTr: 'Şeker Hastalığı (Diyabet)',
    symptoms: ['frequent_urination', 'fatigue', 'blurred_vision', 'weight_loss'],
    doctorType: 'endo',
    description: 'Kan şekeri regülasyon bozukluğu. Erken teşhis önemlidir.',
    urgency: 'soon'
  },
  {
    id: 'thyroid',
    name: 'Thyroid Disorder',
    nameTr: 'Tiroid Bozukluğu',
    symptoms: ['fatigue', 'weight_loss', 'palpitations', 'anxiety', 'tremor'],
    doctorType: 'endo',
    description: 'Tiroid bezinin aşırı veya az çalışması.',
    urgency: 'routine'
  }
];

// =============================================================================
// HIPPO PERSONALITY & RESPONSES
// =============================================================================

export const HIPPO_PERSONALITY = {
  name: "HIPPO",
  greeting: "Hi! I'm HIPPO, your Hipograf health assistant.\n\nHow can I help?\n\n- Learn how to use Hipograf\n- Get help with pages and features\n- Ask for general symptom guidance",

  systemPrompt: `You are HIPPO, the AI assistant for the Hipograf health platform.

WHAT HIPOGRAF IS:
Hipograf helps patients and medical practitioners visualize, manage, and review health information.
Patients can inspect their own medical data. Practitioners can review linked patients and enter a selected patient's data context.

HIPOGRAF KNOWLEDGE:
- Dashboard: 3D body model, selected disease details, timeline/agenda/calendar choices, and widgets for abnormal labs, medications, wearable data, recent history, and upcoming schedule.
- Hospital Visits: visit lists with hospital, department, doctor, date, diagnoses, notes, linked prescriptions, sorting, searching, and diagnosis filtering.
- Prescriptions: active/expired medications, detailed drug information, linked visits/diagnoses, usage instructions, safety, side effects, and CSV export.
- Diagnoses: searchable diagnosis history with ICD codes, severity filters, date ranges, clinical details, physician information, related prescriptions, and CSV export.
- Lab Tests: chronological tests and subtests with reference ranges, normal/out-of-reference filters, timeline/plot links, manual upload, PDF scanning, editing, and deletion.
- Imaging: radiology image grid/card views, search, detail view, download, and upload.
- Vaccinations: reverse-chronological vaccine records with search and manual record creation.
- Wearable Devices: connected mobile/wearable data synced through the companion app, including heart rate, steps, calories, and respiration for up to 30 days.
- Timeline: timeline, Agenda Page, calendar, and history views for appointments, lab tests, prescriptions, and vaccinations with filters and keyboard access.
- Plots: interactive plots for lab values, prescriptions, and wearable data with AI search, date ranges, styling, normalization, combining/splitting, presets, and PNG export.
- Practitioner Pages: linked patient lists, patient detail overview, and patient-context viewing with a persistent patient indicator.
- Settings: account updates, password changes, data cleanup, account deletion, and logout.

YOUR TASKS:
1. Help users understand Hipograf pages and workflows.
2. Give concise, step-by-step guidance for using the application.
3. Provide general symptom guidance when asked, including possible directions and what type of clinician may be appropriate.
4. Answer in English by default. Be warm, clear, and practical.

MEDICAL SAFETY RULES:
- Never present a definitive diagnosis.
- Always remind users that medical guidance does not replace a medical professional.
- For emergency symptoms such as chest pain, severe shortness of breath, stroke symptoms, fainting, or severe allergic reactions, tell the user to seek emergency care immediately.
- Keep answers short and direct unless the user asks for more detail.
- If the user asks about the application, give accurate, practical guidance.

IMPORTANT: Always state that medical advice from HIPPO is informational and cannot replace a doctor or licensed clinician.`
};

// =============================================================================
// HELPER FUNCTIONS
// =============================================================================

export function findMatchingDiseases(symptomIds: string[]): Disease[] {
  if (symptomIds.length === 0) return [];

  const matches = DISEASES.map(disease => {
    const matchCount = disease.symptoms.filter(s => symptomIds.includes(s)).length;
    const matchPercentage = matchCount / disease.symptoms.length;
    return { disease, matchCount, matchPercentage };
  })
    .filter(m => m.matchCount >= 2 || m.matchPercentage >= 0.5)
    .sort((a, b) => b.matchPercentage - a.matchPercentage || b.matchCount - a.matchCount);

  return matches.slice(0, 5).map(m => m.disease);
}

export function getDoctorType(doctorId: string): DoctorType | undefined {
  return DOCTOR_TYPES.find(d => d.id === doctorId);
}

export function getSymptomsByName(query: string): Symptom[] {
  const lowerQuery = query.toLowerCase();
  return SYMPTOMS.filter(s =>
    s.name.toLowerCase().includes(lowerQuery) ||
    s.nameTr.toLowerCase().includes(lowerQuery)
  );
}
