{
  "schema_surumu": "1.2.0",
  "arac": {
    "ad": "Günlük Su İhtiyacı Hesaplama",
    "slug": "su-ihtiyaci",
    "kategori": "sağlık-fitness",
    "surum": "1.2.0",
    "tarih": "2026-07-29",
    "dil": "tr-TR",
    "canonical": "https://hesapla.narch.tech/arac/su-ihtiyaci/",
    "ucretsiz": true,
    "kayit_gerekli": false,
    "cevrimdisi_calisir": true,
    "tibbi_tavsiye": false,
    "veri_politikasi": {
      "aga_gonderilir": false,
      "saklanir": false,
      "cerez_kullanilir": false,
      "analitik_kullanilir": false,
      "aciklama": "Girilen kilo, yaş, cinsiyet, gebelik ve diğer sağlık bilgileri cihazdan dışarı gönderilmez ve hiçbir yerde saklanmaz."
    }
  },
  "calistirma": {
    "surum": "1.1.0",
    "tur": "gomulu_saf_javascript_fonksiyonu",
    "dosya": "index.html",
    "script_id": "hesap-motoru",
    "fonksiyon": "suIhtiyaci",
    "girdi_serilestirme": {
      "format": "JSON nesnesi",
      "kural": "JSON number, string ve boolean tiplerini koru; sayı veya boolean metinlerini dönüştürme; eksik isteğe bağlı alanları motor varsayılanlarına bırak."
    },
    "cikti_serilestirme": {
      "format": "JSON",
      "kural": "Dönüş değeri JSON.stringify ile doğrudan serileştirilebilir; NaN, Infinity, undefined, fonksiyon veya döngüsel referans üretmez."
    },
    "node_cagri": {
      "bagimlilik": "Yalnız Node.js yerleşik node:fs ve node:vm modülleri",
      "calisma_dizini": "arac/su-ihtiyaci",
      "tarif": "su-ihtiyaci-API.md içindeki 'Doğrudan Node çağrısı' örneğini çalıştır; örnek test-su-ihtiyaci.cjs tarafından gerçekten yürütülür."
    }
  },
  "girdi_semasi": {
    "zorunlu": [
      "kilo",
      "yas"
    ],
    "alanlar": {
      "kilo": {
        "ad": "Kilo",
        "tip": "number",
        "birim": "kg",
        "zorunlu": true,
        "aralik": {
          "exclusive_minimum": 0,
          "maximum": null
        },
        "inceleme_uyarisi": {
          "alt_kg": 6.3,
          "ust_kg": 272.2,
          "disinda_davranis": "sonuç üretilir; KILO_GIRDISINI_DOGRULA uyarısı eklenir",
          "ret_siniri": false,
          "saglikli_kilo_araligi": false,
          "alt_turetim": "WHO kız çocuk ağırlık-yaş tablosunda 1 yaş için −3 SD = 6,3 kg; 1 yaş ve üzeri tüm kullanıcılar için geniş, temkinli alt kontrol noktası",
          "ust_turetim": "NHANES standart dijital tartı kapasitesi 600 lb × 0,45359237 = 272,155422 kg; bir ondalığa 272,2 kg",
          "kaynak_idleri": [
            "SRC_WHO_WEIGHT_REVIEW",
            "SRC_NHANES_SCALE",
            "SRC_NIST_CONVERSION"
          ]
        },
        "teknik_hesap_kapisi": {
          "uygulanma_kosulu": "yas >= 1; yas < 1 sonuc_yok kapısı önceliklidir",
          "kosul": "Math.round(kilo × 30) >= 1 ve Math.round(kilo × 100) sonlu bir Number.isSafeInteger olmalı",
          "disinda_davranis": "HESAP_ARALIGI_DISINDA; sonuc=null",
          "saglik_esigi": false,
          "kaynak_id": "SRC_ECMA_SAFE_INTEGER"
        },
        "not": "Tek başına kilo, boy ve büyüme bilgisi olmadan yaşa göre sağlıklı kilo sınıflaması yapamaz. Sıfır ve negatif değer reddedilir; 6,3–272,2 kg dışı yalnız birim/girdi kontrolü olarak uyarılır. Günlük toplamdan hız güvenliği hükmü türetilmez."
      },
      "yas": {
        "ad": "Yaş",
        "tip": "integer",
        "birim": "yıl",
        "zorunlu": true,
        "aralik": {
          "minimum": 0,
          "maximum": null
        },
        "davranis": {
          "yas_1_alti": "sonuc_yok",
          "yas_1_17": "sonuc_yok; doğrulanmış yaş/cinsiyet bazlı oral DRV yöntemi uygulanmadı",
          "yas_18_ve_ustu": "yetiskin_agirlik_ve_referans"
        }
      },
      "cinsiyet": {
        "ad": "Referans satırı",
        "tip": "enum",
        "birim": null,
        "zorunlu": false,
        "varsayilan": "belirtmek_istemiyorum",
        "degerler": [
          "kadin",
          "erkek",
          "belirtmek_istemiyorum"
        ],
        "not": "Yalnız EFSA ve TÜBER referans satırını vurgular; ağırlık formülünü değiştirmez."
      },
      "ml_per_kg": {
        "ad": "Yetişkin planlama katsayısı",
        "tip": "number",
        "birim": "ml/kg/gün",
        "zorunlu": false,
        "aralik": {
          "minimum": 30,
          "maximum": 35
        },
        "varsayilan": 33,
        "varsayilan_turetimi": {
          "kaynakli_aralik": [
            30,
            35
          ],
          "orta_nokta": 32.5,
          "yuvarlama": "en yakın tam sayıya",
          "sonuc": 33,
          "not": "33 bağımsız bir resmî norm değildir."
        },
        "kapsam_notu": "30–35 aralığı NICE yetişkin beslenme-desteği rehberinden gelir; genel sağlıklı nüfus için tek doğru norm değildir. TÜBER 35 ml/kg üst değerini destekler.",
        "kaynak_id": "SRC_WEIGHT_RANGE"
      },
      "aktivite_dk": {
        "ad": "Egzersiz süresi",
        "tip": "number",
        "birim": "dakika/gün",
        "zorunlu": false,
        "aralik": {
          "minimum": 0,
          "maximum": 1440,
          "sinir_turu": "takvimsel teknik sınır; sağlık eşiği değildir"
        },
        "varsayilan": 0,
        "sayisal_etki": false,
        "rozet": "KAYNAK-DOĞRULANMADI",
        "not": "ACSM'nin egzersiz sıvısı kapsamı, aktivite dakikasını günlük ağırlık tahminine otomatik ekleyen ürün işlemini doğrulamaz. Kişisel ter hızı için egzersiz öncesi/sonrası ağırlık, içilen sıvı, idrar ve süre gerekir."
      },
      "iklim": {
        "ad": "İklim",
        "tip": "enum",
        "birim": null,
        "zorunlu": false,
        "varsayilan": "iliman",
        "degerler": [
          "iliman",
          "sicak",
          "cok_sicak_nemli"
        ],
        "sayisal_etki": false,
        "rozet": "KAYNAK-DOĞRULANMADI"
      },
      "gebelik": {
        "ad": "Gebelik",
        "tip": "boolean",
        "birim": null,
        "zorunlu": false,
        "varsayilan": false
      },
      "emzirme": {
        "ad": "Emzirme",
        "tip": "boolean",
        "birim": null,
        "zorunlu": false,
        "varsayilan": false
      },
      "ates": {
        "ad": "Ateş",
        "tip": "boolean",
        "birim": null,
        "zorunlu": false,
        "varsayilan": false,
        "sayisal_etki": false,
        "rozet": "KAYNAK-DOĞRULANMADI"
      },
      "yuksek_irtifa": {
        "ad": "Yüksek irtifa",
        "tip": "boolean",
        "birim": null,
        "zorunlu": false,
        "varsayilan": false,
        "sayisal_etki": false,
        "rozet": "KAYNAK-DOĞRULANMADI"
      },
      "uyanik_saat": {
        "ad": "Uyanık süre",
        "tip": "integer",
        "birim": "saat/gün",
        "zorunlu": false,
        "aralik": {
          "minimum": 1,
          "maximum": 24,
          "sinir_turu": "takvimsel teknik sınır; sağlık eşiği değildir"
        },
        "varsayilan": 16
      }
    }
  },
  "cikti_semasi": {
    "durum_degerleri": [
      "ok",
      "uyari",
      "sonuc_yok",
      "hata"
    ],
    "ust_alanlar": {
      "durum": {
        "tip": "string",
        "zorunlu": true,
        "enum": ["ok", "uyari", "sonuc_yok", "hata"],
        "birim": null
      },
      "sonuc": {
        "tip": "object|null",
        "zorunlu": true,
        "birim": null
      },
      "uyarilar": {
        "tip": "array",
        "zorunlu": true,
        "birim": null,
        "items": {
          "tip": "object",
          "zorunlu_alanlar": ["kod", "seviye", "mesaj"],
          "alanlar": {
            "kod": {
              "tip": "string",
              "enum": [
                "BIR_YAS_ALTI",
                "COCUK_ORAL_YONTEM_YOK",
                "BIRLESIK_GEBELIK_EMZIRME_MODELI_YOK",
                "KILO_GIRDISINI_DOGRULA",
                "IKLIM_KATSAYISI_YOK",
                "ATES_KATSAYISI_YOK",
                "IRTIFA_KATSAYISI_YOK",
                "AKTIVITE_MODELI_YOK"
              ],
              "birim": null
            },
            "seviye": {
              "tip": "string",
              "enum": ["bilgi", "yuksek", "kritik"],
              "birim": null
            },
            "mesaj": {
              "tip": "string",
              "birim": null
            }
          }
        }
      },
      "hatalar": {
        "tip": "array",
        "zorunlu": true,
        "birim": null,
        "items": {
          "tip": "object",
          "zorunlu_alanlar": ["alan", "kod", "mesaj"],
          "alanlar": {
            "alan": {
              "tip": "string",
              "enum": ["kilo", "yas", "ml_per_kg", "aktivite_dk", "uyanik_saat", "cinsiyet", "iklim", "gebelik", "emzirme", "ates", "yuksek_irtifa"],
              "birim": null
            },
            "kod": {
              "tip": "string",
              "enum": ["GECERSIZ_KILO", "GECERSIZ_YAS", "GECERSIZ_KATSAYI", "GECERSIZ_AKTIVITE", "GECERSIZ_UYANIK_SAAT", "GECERSIZ_CINSIYET", "GECERSIZ_IKLIM", "GECERSIZ_BOOLEAN", "HESAP_ARALIGI_DISINDA"],
              "birim": null
            },
            "mesaj": {
              "tip": "string",
              "birim": null
            },
            "kaynak_id": {
              "tip": "string",
              "zorunlu": false,
              "birim": null
            }
          }
        }
      },
      "kullanilan_kaynak_idleri": {
        "tip": "array",
        "zorunlu": true,
        "birim": null,
        "benzersiz": true,
        "items": {
          "tip": "string",
          "enum": [
            "SRC_WEIGHT_RANGE",
            "SRC_TUBER",
            "SRC_EFSA_WATER",
            "SRC_FOOD_SHARE",
            "SRC_HOLLIDAY_SEGAR",
            "SRC_NICE_NG29",
            "SRC_RCH_IV_FLUIDS",
            "SRC_ACSM_ACTIVITY",
            "SRC_NASEM_SAFETY",
            "SRC_WHO_WEIGHT_REVIEW",
            "SRC_NHANES_SCALE",
            "SRC_NIST_CONVERSION",
            "SRC_ECMA_SAFE_INTEGER",
            "SRC_WHO_INFANT",
            "SRC_CDC_WATER",
            "SRC_CDC_ALTITUDE",
            "SRC_RISK_GROUPS",
            "SRC_URINE_COLOR"
          ],
          "birim": null
        }
      }
    },
    "varyantlar": {
      "hata": {
        "kosul": "girdi doğrulaması başarısız",
        "durum": "hata",
        "sonuc": null
      },
      "yas_1_alti": {
        "kosul": "yas < 1",
        "durum": "sonuc_yok",
        "sonuc": null,
        "uyari_kodu": "BIR_YAS_ALTI"
      },
      "yas_1_17": {
        "kosul": "1 <= yas < 18",
        "durum": "sonuc_yok",
        "sonuc": null,
        "uyari_kodu": "COCUK_ORAL_YONTEM_YOK",
        "uretilmeyen_alanlar": [
          "toplam_su",
          "icilecek_su",
          "cocuk_bakim_sivisi",
          "cevrimler",
          "icecek_cevrimleri",
          "plan",
          "guvenlik",
          "duzeltmeler"
        ],
        "not": "Litre, bardak, şişe, seçilen plan noktası, uyanık-saat planı veya güvenlik hükmü üretilmez."
      },
      "birlesik_gebelik_emzirme": {
        "kosul": "yas >= 18 ve gebelik=true ve emzirme=true",
        "durum": "sonuc_yok",
        "sonuc": null,
        "uyari_kodu": "BIRLESIK_GEBELIK_EMZIRME_MODELI_YOK",
        "rozet": "KAYNAK-DOĞRULANMADI",
        "kullanilan_kaynak_idleri": [],
        "uretilmeyen_alanlar": [
          "toplam_su",
          "icilecek_su",
          "referans_alim",
          "cevrimler",
          "icecek_cevrimleri",
          "plan",
          "guvenlik",
          "duzeltmeler"
        ],
        "not": "Ayrı gebelik ve emzirme ilaveleri toplanmaz; birleşik sayı, litre, bardak, şişe veya saat planı üretilmez."
      },
      "yas_18_ve_ustu": {
        "kosul": "yas >= 18 ve !(gebelik=true ve emzirme=true)",
        "durum": "ok|uyari",
        "sonuc": "aşağıdaki sonuc_alanlari nesnesi"
      }
    },
    "varyant_notu": "durum=hata veya sonuc_yok ise sonuc her zaman null'dır. Sonuç nesnesi yalnız birleşik gebelik+emzirme ret dalına girmeyen sayısal yetişkin varyantında bulunur.",
    "sonuc_alanlari": {
      "yontem": {
        "id": "string",
        "ad": "string",
        "kaynak_id": "string"
      },
      "agirlik_temelli": {
        "uygulanabilir": "boolean",
        "katsayi_ml_kg": "object|null; uygulanabilir=true iken alt, secilen, ust ve varsayilan_turetimi alanları",
        "toplam_su": "object|null; uygulanabilir=true iken alt/secilen/ust ml ve litre alanları",
        "icilecek_su": "object|null; uygulanabilir=true iken yiyecek payı, aralık ve kaynak alanları"
      },
      "referans_alim": {
        "uygulanabilir": "boolean",
        "ad": "string",
        "ayrim_notu": "string|null",
        "satirlar": {
          "tip": "array",
          "zorunlu": true,
          "birim": null,
          "items": {
            "tip": "object",
            "zorunlu_alanlar": ["kod", "etiket", "toplam_ml", "toplam_litre", "icecek_alt_ml", "icecek_ust_ml", "secili"],
            "alanlar": {
              "kod": {
                "tip": "string",
                "enum": ["kadin", "erkek", "gebelik", "emzirme"],
                "birim": null
              },
              "etiket": {
                "tip": "string",
                "birim": null
              },
              "toplam_ml": {
                "tip": "integer",
                "birim": "ml/gün"
              },
              "toplam_litre": {
                "tip": "number",
                "birim": "L/gün"
              },
              "icecek_alt_ml": {
                "tip": "integer",
                "birim": "ml/gün"
              },
              "icecek_ust_ml": {
                "tip": "integer",
                "birim": "ml/gün"
              },
              "secili": {
                "tip": "boolean",
                "birim": null
              }
            }
          }
        },
        "kaynak_idleri": "array",
        "gerekce": "string; yalnız uygulanmayan varyantta"
      },
      "toplam_su": {
        "alt_ml": "number",
        "secilen_ml": "number",
        "ust_ml": "number",
        "alt_litre": "number",
        "secilen_litre": "number",
        "ust_litre": "number"
      },
      "icilecek_su": {
        "tip": "object|null",
        "yetiskin_nesnesi": {
          "alt_ml": "number",
          "secilen_ml": "number",
          "ust_ml": "number",
          "alt_litre": "number",
          "secilen_litre": "number",
          "ust_litre": "number"
        },
        "not": "Yetişkinde yiyecek payı aralığı uygulanır. aktivite_dk sayısal etki yapmaz. Çocuk varyantında sonuç nesnesinin tamamı null döner."
      },
      "duzeltmeler": {
        "tip": "array",
        "ortak_alanlar": {
          "kod": "string",
          "ad": "string",
          "secildi": "boolean",
          "uygulandi": "boolean",
          "dogrulandi": "boolean",
          "kaynak_id": "string|null"
        },
        "kosullu_alanlar": {
          "islem": "string|null",
          "miktar_ml": "number; sabit düzeltmede",
          "secim": "string|boolean; doğrulanmamış seçeneklerde",
          "miktar": "null; doğrulanmamış sayısal modelde",
          "kaynak_kapsami_dogrulandi": "boolean; kaynak yönü/kapsamı doğrulansa bile ürün işlemi ayrı değerlendirilir",
          "urun_modeli_dogrulandi": "boolean",
          "yon_kaynak_idleri": "array; yönsel kapsamı açıklayan, fakat sayısal ürün işlemini doğrulamayan kaynaklar",
          "uygulanmama_nedeni": "string; uygulanmadığında"
        }
      },
      "cevrimler": {
        "aciklama": "Seçilen toplam-su tahmininin çevrimleri; içilecek sade su reçetesi değildir.",
        "litre": "number",
        "bardak_200_ml": {
          "adet": "integer",
          "yaklasik": true,
          "yuvarlama": "yukari"
        },
        "pet_sise_500_ml": {
          "adet": "number",
          "yaklasik": true
        }
      },
      "icecek_cevrimleri": {
        "tip": "object|null",
        "aciklama": "Yetişkinde yiyecek payı düşülmüş seçilen içecek orta noktasının çevrimleri; çocuk varyantında sonuç nesnesi null.",
        "nesne": "cevrimler ile aynı yapı"
      },
      "plan": {
        "temel_alinan_ml": "integer; seçilen toplam-su eşdeğeri",
        "temel_turu": "toplam_su_esdegeri",
        "uyanik_saat": "integer",
        "saat_basina_ortalama_ml": "number",
        "icecek_temel_alinan_ml": "integer|null",
        "icecek_saat_basina_ortalama_ml": "number|null",
        "satirlar": [
          {
            "sira": "integer",
            "etiket": "string",
            "donem": "string",
            "ml": "integer; toplam-su eşdeğeri",
            "icecek_ml": "integer|null; yiyecek payı düşülmüş yetişkin orta noktası"
          }
        ],
        "satirlar_toplami_ml": "integer",
        "icecek_satirlar_toplami_ml": "integer|null",
        "kullanim_notu": "string"
      },
      "guvenlik": {
        "gunluk_ul_belirlendi": false,
        "hizli_tuketim_degerlendirmesi": "degerlendirilemedi",
        "gercek_zamanli_tuketim_girdisi_var": false,
        "uyanik_sureye_yayilmis_tarama_ml": null,
        "esik_asildi": null,
        "kaynak_id": "SRC_NASEM_SAFETY",
        "mesaj": "string",
        "not": "Su için günlük UL belirlenmemiştir; hızlı ve aşırı tüketim risklidir. Gerçek tüketim miktarı ve süresi alınmadığından klinik hız hükmü üretilemez."
      }
    }
  },
  "standart_json_schema": {
    "girdi": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://hesapla.narch.tech/arac/su-ihtiyaci/su-ihtiyaci-girdi.schema.json",
      "title": "Günlük Su İhtiyacı motor girdisi",
      "type": "object",
      "required": ["kilo", "yas"],
      "properties": {
        "kilo": {
          "type": "number",
          "exclusiveMinimum": 0,
          "x-birim": "kg"
        },
        "yas": {
          "type": "integer",
          "minimum": 0,
          "x-birim": "yıl"
        },
        "cinsiyet": {
          "type": "string",
          "enum": ["kadin", "erkek", "belirtmek_istemiyorum"]
        },
        "ml_per_kg": {
          "type": "number",
          "minimum": 30,
          "maximum": 35,
          "x-birim": "ml/kg/gün"
        },
        "aktivite_dk": {
          "type": "number",
          "minimum": 0,
          "maximum": 1440,
          "x-birim": "dakika/gün"
        },
        "iklim": {
          "type": "string",
          "enum": ["iliman", "sicak", "cok_sicak_nemli"]
        },
        "gebelik": {"type": "boolean"},
        "emzirme": {"type": "boolean"},
        "ates": {"type": "boolean"},
        "yuksek_irtifa": {"type": "boolean"},
        "uyanik_saat": {
          "type": "integer",
          "minimum": 1,
          "maximum": 24,
          "x-birim": "saat/gün"
        }
      }
    },
    "cikti": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://hesapla.narch.tech/arac/su-ihtiyaci/su-ihtiyaci-cikti.schema.json",
      "title": "Günlük Su İhtiyacı motor çıktısı",
      "$defs": {
        "uyari": {
          "type": "object",
          "required": ["kod", "seviye", "mesaj"],
          "additionalProperties": false,
          "properties": {
            "kod": {
              "type": "string",
              "enum": [
                "BIR_YAS_ALTI",
                "COCUK_ORAL_YONTEM_YOK",
                "BIRLESIK_GEBELIK_EMZIRME_MODELI_YOK",
                "KILO_GIRDISINI_DOGRULA",
                "IKLIM_KATSAYISI_YOK",
                "ATES_KATSAYISI_YOK",
                "IRTIFA_KATSAYISI_YOK",
                "AKTIVITE_MODELI_YOK"
              ]
            },
            "seviye": {
              "type": "string",
              "enum": ["bilgi", "yuksek", "kritik"]
            },
            "mesaj": {"type": "string", "minLength": 1}
          }
        },
        "hata": {
          "type": "object",
          "required": ["alan", "kod", "mesaj"],
          "additionalProperties": false,
          "properties": {
            "alan": {
              "type": "string",
              "enum": ["kilo", "yas", "ml_per_kg", "aktivite_dk", "uyanik_saat", "cinsiyet", "iklim", "gebelik", "emzirme", "ates", "yuksek_irtifa"]
            },
            "kod": {
              "type": "string",
              "enum": ["GECERSIZ_KILO", "GECERSIZ_YAS", "GECERSIZ_KATSAYI", "GECERSIZ_AKTIVITE", "GECERSIZ_UYANIK_SAAT", "GECERSIZ_CINSIYET", "GECERSIZ_IKLIM", "GECERSIZ_BOOLEAN", "HESAP_ARALIGI_DISINDA"]
            },
            "mesaj": {"type": "string", "minLength": 1},
            "kaynak_id": {"type": "string", "pattern": "^SRC_[A-Z0-9_]+$"}
          }
        },
        "uyari_dizisi": {
          "type": "array",
          "items": {"$ref": "#/$defs/uyari"}
        },
        "hata_dizisi": {
          "type": "array",
          "items": {"$ref": "#/$defs/hata"}
        },
        "kaynak_id_dizisi": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string",
            "enum": [
              "SRC_WEIGHT_RANGE",
              "SRC_TUBER",
              "SRC_EFSA_WATER",
              "SRC_FOOD_SHARE",
              "SRC_HOLLIDAY_SEGAR",
              "SRC_NICE_NG29",
              "SRC_RCH_IV_FLUIDS",
              "SRC_ACSM_ACTIVITY",
              "SRC_NASEM_SAFETY",
              "SRC_WHO_WEIGHT_REVIEW",
              "SRC_NHANES_SCALE",
              "SRC_NIST_CONVERSION",
              "SRC_ECMA_SAFE_INTEGER",
              "SRC_WHO_INFANT",
              "SRC_CDC_WATER",
              "SRC_CDC_ALTITUDE",
              "SRC_RISK_GROUPS",
              "SRC_URINE_COLOR"
            ]
          }
        },
        "referans_satiri": {
          "type": "object",
          "required": ["kod", "etiket", "toplam_ml", "toplam_litre", "icecek_alt_ml", "icecek_ust_ml", "secili"],
          "additionalProperties": false,
          "properties": {
            "kod": {
              "type": "string",
              "enum": ["kadin", "erkek", "gebelik", "emzirme"]
            },
            "etiket": {"type": "string", "minLength": 1},
            "toplam_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
            "toplam_litre": {"type": "number", "minimum": 0, "x-birim": "L/gün"},
            "icecek_alt_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
            "icecek_ust_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
            "secili": {"type": "boolean"}
          }
        },
        "su_miktari": {
          "type": "object",
          "required": ["alt_ml", "secilen_ml", "ust_ml", "alt_litre", "secilen_litre", "ust_litre"],
          "additionalProperties": false,
          "properties": {
            "alt_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
            "secilen_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
            "ust_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
            "alt_litre": {"type": "number", "minimum": 0, "x-birim": "L/gün"},
            "secilen_litre": {"type": "number", "minimum": 0, "x-birim": "L/gün"},
            "ust_litre": {"type": "number", "minimum": 0, "x-birim": "L/gün"}
          }
        },
        "cevrimler": {
          "type": "object",
          "required": ["litre", "bardak_200_ml", "pet_sise_500_ml"],
          "additionalProperties": false,
          "properties": {
            "litre": {"type": "number", "minimum": 0, "x-birim": "L/gün"},
            "bardak_200_ml": {
              "type": "object",
              "required": ["adet", "yaklasik", "yuvarlama"],
              "additionalProperties": false,
              "properties": {
                "adet": {"type": "integer", "minimum": 0, "x-birim": "200 ml bardak"},
                "yaklasik": {"const": true},
                "yuvarlama": {"const": "yukari"}
              }
            },
            "pet_sise_500_ml": {
              "type": "object",
              "required": ["adet", "yaklasik"],
              "additionalProperties": false,
              "properties": {
                "adet": {"type": "number", "minimum": 0, "x-birim": "500 ml şişe"},
                "yaklasik": {"const": true}
              }
            }
          }
        },
        "plan_satiri": {
          "type": "object",
          "required": ["sira", "etiket", "donem", "ml", "icecek_ml"],
          "additionalProperties": false,
          "properties": {
            "sira": {"type": "integer", "minimum": 1},
            "etiket": {"type": "string", "minLength": 1},
            "donem": {"type": "string", "minLength": 1},
            "ml": {"type": "integer", "minimum": 0, "x-birim": "ml"},
            "icecek_ml": {"type": "integer", "minimum": 0, "x-birim": "ml"}
          }
        },
        "sonuc": {
          "type": "object",
          "required": ["yontem", "agirlik_temelli", "referans_alim", "toplam_su", "icilecek_su", "duzeltmeler", "cevrimler", "icecek_cevrimleri", "plan", "guvenlik"],
          "additionalProperties": false,
          "properties": {
            "yontem": {
              "type": "object",
              "required": ["id", "ad", "kaynak_id"],
              "additionalProperties": false,
              "properties": {
                "id": {"const": "agirlik_temelli"},
                "ad": {"type": "string", "minLength": 1},
                "kaynak_id": {"const": "SRC_WEIGHT_RANGE"}
              }
            },
            "agirlik_temelli": {
              "type": "object",
              "required": ["uygulanabilir", "katsayi_ml_kg", "toplam_su", "icilecek_su"],
              "additionalProperties": false,
              "properties": {
                "uygulanabilir": {"const": true},
                "katsayi_ml_kg": {"type": "object"},
                "toplam_su": {"$ref": "#/$defs/su_miktari"},
                "icilecek_su": {"type": "object"}
              }
            },
            "referans_alim": {
              "type": "object",
              "required": ["uygulanabilir", "ad", "ayrim_notu", "satirlar", "kaynak_idleri"],
              "additionalProperties": false,
              "properties": {
                "uygulanabilir": {"const": true},
                "ad": {"type": "string", "minLength": 1},
                "ayrim_notu": {"type": "string", "minLength": 1},
                "satirlar": {
                  "type": "array",
                  "minItems": 2,
                  "items": {"$ref": "#/$defs/referans_satiri"}
                },
                "kaynak_idleri": {
                  "type": "array",
                  "items": {"enum": ["SRC_EFSA_WATER", "SRC_TUBER"]},
                  "uniqueItems": true
                }
              }
            },
            "toplam_su": {"$ref": "#/$defs/su_miktari"},
            "icilecek_su": {"$ref": "#/$defs/su_miktari"},
            "duzeltmeler": {
              "type": "array",
              "items": {
                "type": "object",
                "required": ["kod", "ad", "secildi", "uygulandi", "dogrulandi", "kaynak_id"],
                "properties": {
                  "kod": {"enum": ["aktivite", "gebelik", "emzirme", "iklim", "ates", "yuksek_irtifa"]},
                  "ad": {"type": "string"},
                  "secildi": {"type": "boolean"},
                  "uygulandi": {"type": "boolean"},
                  "dogrulandi": {"type": "boolean"},
                  "kaynak_id": {"type": ["string", "null"]}
                }
              }
            },
            "cevrimler": {"$ref": "#/$defs/cevrimler"},
            "icecek_cevrimleri": {"$ref": "#/$defs/cevrimler"},
            "plan": {
              "type": "object",
              "required": ["temel_alinan_ml", "temel_turu", "uyanik_saat", "saat_basina_ortalama_ml", "icecek_temel_alinan_ml", "icecek_saat_basina_ortalama_ml", "satirlar", "satirlar_toplami_ml", "icecek_satirlar_toplami_ml", "kullanim_notu"],
              "properties": {
                "temel_alinan_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
                "temel_turu": {"const": "toplam_su_esdegeri"},
                "uyanik_saat": {"type": "integer", "minimum": 1, "maximum": 24, "x-birim": "saat/gün"},
                "saat_basina_ortalama_ml": {"type": "number", "minimum": 0, "x-birim": "ml/saat"},
                "icecek_temel_alinan_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
                "icecek_saat_basina_ortalama_ml": {"type": "number", "minimum": 0, "x-birim": "ml/saat"},
                "satirlar": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/plan_satiri"}},
                "satirlar_toplami_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
                "icecek_satirlar_toplami_ml": {"type": "integer", "minimum": 0, "x-birim": "ml/gün"},
                "kullanim_notu": {"type": "string", "minLength": 1}
              }
            },
            "guvenlik": {
              "type": "object",
              "required": ["gunluk_ul_belirlendi", "hizli_tuketim_degerlendirmesi", "gercek_zamanli_tuketim_girdisi_var", "uyanik_sureye_yayilmis_tarama_ml", "esik_asildi", "kaynak_id", "mesaj"],
              "additionalProperties": false,
              "properties": {
                "gunluk_ul_belirlendi": {"const": false},
                "hizli_tuketim_degerlendirmesi": {"const": "degerlendirilemedi"},
                "gercek_zamanli_tuketim_girdisi_var": {"const": false},
                "uyanik_sureye_yayilmis_tarama_ml": {"type": "null"},
                "esik_asildi": {"type": "null"},
                "kaynak_id": {"const": "SRC_NASEM_SAFETY"},
                "mesaj": {"type": "string", "minLength": 1}
              }
            }
          }
        }
      },
      "oneOf": [
        {
          "type": "object",
          "required": ["durum", "sonuc", "uyarilar", "hatalar", "kullanilan_kaynak_idleri"],
          "additionalProperties": false,
          "properties": {
            "durum": {"const": "ok"},
            "sonuc": {"$ref": "#/$defs/sonuc"},
            "uyarilar": {"allOf": [{"$ref": "#/$defs/uyari_dizisi"}, {"maxItems": 0}]},
            "hatalar": {"allOf": [{"$ref": "#/$defs/hata_dizisi"}, {"maxItems": 0}]},
            "kullanilan_kaynak_idleri": {"$ref": "#/$defs/kaynak_id_dizisi"}
          }
        },
        {
          "type": "object",
          "required": ["durum", "sonuc", "uyarilar", "hatalar", "kullanilan_kaynak_idleri"],
          "additionalProperties": false,
          "properties": {
            "durum": {"const": "uyari"},
            "sonuc": {"$ref": "#/$defs/sonuc"},
            "uyarilar": {"allOf": [{"$ref": "#/$defs/uyari_dizisi"}, {"minItems": 1}]},
            "hatalar": {"allOf": [{"$ref": "#/$defs/hata_dizisi"}, {"maxItems": 0}]},
            "kullanilan_kaynak_idleri": {"$ref": "#/$defs/kaynak_id_dizisi"}
          }
        },
        {
          "type": "object",
          "required": ["durum", "sonuc", "uyarilar", "hatalar", "kullanilan_kaynak_idleri"],
          "additionalProperties": false,
          "properties": {
            "durum": {"const": "sonuc_yok"},
            "sonuc": {"type": "null"},
            "uyarilar": {"allOf": [{"$ref": "#/$defs/uyari_dizisi"}, {"minItems": 1}]},
            "hatalar": {"allOf": [{"$ref": "#/$defs/hata_dizisi"}, {"maxItems": 0}]},
            "kullanilan_kaynak_idleri": {"$ref": "#/$defs/kaynak_id_dizisi"}
          }
        },
        {
          "type": "object",
          "required": ["durum", "sonuc", "uyarilar", "hatalar", "kullanilan_kaynak_idleri"],
          "additionalProperties": false,
          "properties": {
            "durum": {"const": "hata"},
            "sonuc": {"type": "null"},
            "uyarilar": {"$ref": "#/$defs/uyari_dizisi"},
            "hatalar": {"allOf": [{"$ref": "#/$defs/hata_dizisi"}, {"minItems": 1}]},
            "kullanilan_kaynak_idleri": {"$ref": "#/$defs/kaynak_id_dizisi"}
          }
        }
      ]
    }
  },
  "yontemler": [
    {
      "id": "agirlik_temelli",
      "ad": "Yetişkin ağırlık temelli tahmin",
      "uygulama_kosulu": "yas >= 18",
      "formul": "kilo_kg × ml_per_kg",
      "aralik": "30–35 ml/kg/gün",
      "kapsam_notu": "30–35 aralığı NICE yetişkin beslenme-desteği bağlamındadır; TÜBER 35 ml/kg değerini destekler. Araç bunu yalnız kaba karşılaştırma tahmini olarak kullanır, genel sağlıklı nüfus reçetesi saymaz.",
      "kaynak_idleri": [
        "SRC_WEIGHT_RANGE",
        "SRC_TUBER"
      ]
    },
    {
      "id": "referans_alim",
      "ad": "EFSA ve TÜBER toplam su yeterli alımı",
      "uygulama_kosulu": "yas >= 18",
      "degerler": {
        "yetiskin_kadin_ml": 2000,
        "yetiskin_erkek_ml": 2500,
        "gebelik_ml": 2300,
        "emzirme_ml": 2700
      },
      "kaynak_idleri": [
        "SRC_EFSA_WATER",
        "SRC_TUBER"
      ]
    },
    {
      "id": "holliday_segar",
      "ad": "Holliday–Segar rutin IV bakım sıvısı — yalnız eğitim içeriği",
      "uygulama_kosulu": "Hesap motorunda uygulanmaz; görünür klinik eğitim içeriğinde açıklanır",
      "formul": {
        "ilk_10_kg": "100 ml/kg/gün",
        "sonraki_10_kg": "50 ml/kg/gün",
        "20_kg_uzeri": "20 ml/kg/gün"
      },
      "sayisal_sonuc_uretir": false,
      "klinik_sinir": "Hastanede rutin IV bakım formülüdür; oral günlük su ihtiyacı veya sade su içme reçetesi değildir. Klinik izlem ve bireysel ayarlama gerekir.",
      "guncel_kapsam_notlari": {
        "nice_ng29": "Öneri 1.4.1 rutin IV bakım formülüdür; 24 saatte erkeklerde 2.500 ml, kadınlarda 2.000 ml üstüne nadiren gerek duyulur.",
        "rch_2026": "İdeal ağırlığın kullanılması düşünülebilir; >60 kg için 2.400 ml/gün normal maksimumdur."
      },
      "kaynak_idleri": [
        "SRC_NICE_NG29",
        "SRC_RCH_IV_FLUIDS",
        "SRC_HOLLIDAY_SEGAR"
      ]
    }
  ],
  "duzeltme_tanimlari": [
    {
      "kod": "aktivite",
      "ad": "Egzersiz",
      "uygulanabilir_grup": "yas >= 18",
      "islem": null,
      "miktar": null,
      "kaynak_kapsami": "ACSM egzersiz sırasında çoğu sporcu için 0,4–0,8 L/saat başlangıç aralığını ve kişiselleştirmeyi açıklar.",
      "urun_modeli": "aktivite_dk × sabit ml/saat değerini günlük ağırlık temeline ekleme",
      "kaynak_kapsami_dogrulandi": true,
      "urun_modeli_dogrulandi": false,
      "dogrulandi": false,
      "varsayilan_acik": false,
      "kaynak_id": null,
      "yon_kaynak_idleri": [
        "SRC_ACSM_ACTIVITY"
      ],
      "rozet": "KAYNAK-DOĞRULANMADI",
      "not": "aktivite_dk seçimi sayısal toplamı değiştirmez. Kişisel ter hızı için egzersiz öncesi/sonrası ağırlık, içilen sıvı, idrar ve süre girdileri gerekir."
    },
    {
      "kod": "gebelik",
      "ad": "Gebelik",
      "uygulanabilir_grup": "yas >= 18",
      "islem": "toplam suya sabit ekle",
      "miktar_ml_gun": 300,
      "dogrulandi": true,
      "varsayilan_acik": false,
      "kaynak_id": "SRC_EFSA_WATER"
    },
    {
      "kod": "emzirme",
      "ad": "Emzirme",
      "uygulanabilir_grup": "yas >= 18",
      "islem": "toplam suya sabit ekle",
      "miktar_ml_gun": 700,
      "dogrulandi": true,
      "varsayilan_acik": false,
      "kaynak_id": "SRC_EFSA_WATER"
    },
    {
      "kod": "gebelik_emzirme_birlesik",
      "ad": "Eşzamanlı gebelik ve emzirme",
      "uygulanabilir_grup": "yas >= 18",
      "islem": null,
      "miktar": null,
      "dogrulandi": false,
      "varsayilan_acik": false,
      "kaynak_id": null,
      "rozet": "KAYNAK-DOĞRULANMADI",
      "davranis": "durum=sonuc_yok; sonuc=null; ayrı ilaveler toplanmaz; sayı, çevrim ve plan üretilmez",
      "not": "Gebelik ve emzirme için ayrı kaynak satırları, eşzamanlı duruma ait birleşik klinik modeli doğrulamaz."
    },
    {
      "kod": "iklim",
      "ad": "Sıcak / nemli iklim",
      "uygulanabilir_grup": null,
      "islem": null,
      "miktar": null,
      "dogrulandi": false,
      "varsayilan_acik": false,
      "rozet": "KAYNAK-DOĞRULANMADI",
      "yon_kaynak_idleri": [
        "SRC_TUBER",
        "SRC_CDC_WATER"
      ],
      "not": "Gereksinimin artabileceği doğrulanmıştır; herkese uygulanabilir sabit sayı doğrulanmamıştır."
    },
    {
      "kod": "ates",
      "ad": "Ateş",
      "uygulanabilir_grup": null,
      "islem": null,
      "miktar": null,
      "dogrulandi": false,
      "varsayilan_acik": false,
      "rozet": "KAYNAK-DOĞRULANMADI",
      "yon_kaynak_idleri": [
        "SRC_TUBER",
        "SRC_CDC_WATER"
      ],
      "not": "Boolean alan sıcaklık derecesini içermez; genel yetişkin sabit katsayısı doğrulanmamıştır."
    },
    {
      "kod": "yuksek_irtifa",
      "ad": "Yüksek irtifa",
      "uygulanabilir_grup": null,
      "islem": null,
      "miktar": null,
      "dogrulandi": false,
      "varsayilan_acik": false,
      "rozet": "KAYNAK-DOĞRULANMADI",
      "yon_kaynak_idleri": [
        "SRC_CDC_ALTITUDE"
      ],
      "not": "Genel nüfus için sabit ilave doğrulanmamıştır."
    }
  ],
  "girdi_inceleme_modeli": {
    "kilo_alt_kg": 6.3,
    "kilo_ust_kg": 272.2,
    "tetikleme": "yas >= 1 ve (kilo < 6,3 veya kilo > 272,2)",
    "uyari_kodu": "KILO_GIRDISINI_DOGRULA",
    "hesabi_engeller": false,
    "saglikli_kilo_araligi": false,
    "aciklama": "Yalnız açık birim/veri girişi hatalarını yakalamaya yarayan geniş inceleme aralığıdır. Yaşa göre sağlıklı kilo veya tanı üretmez; bunun için boy, cinsiyete göre büyüme eğrisi ve klinik bağlam gerekir.",
    "alt_kaynak_id": "SRC_WHO_WEIGHT_REVIEW",
    "ust_kaynak_idleri": [
      "SRC_NHANES_SCALE",
      "SRC_NIST_CONVERSION"
    ]
  },
  "guvenlik_modeli": {
    "gunluk_ul": null,
    "gunluk_ul_aciklamasi": "National Academies su için tolere edilebilir günlük üst alım sınırı belirlememiştir.",
    "hizli_tuketim_riski": true,
    "hiz_degerlendirmesi": "degerlendirilemedi",
    "gerekli_eksik_girdiler": [
      "gerçek zamanlı tüketim miktarı",
      "tüketim süresi"
    ],
    "uyanik_saatten_hukum": false,
    "tetikleme": null,
    "etiket": "Günlük UL yoktur; hızlı ve aşırı tüketim risklidir. Bu araç klinik hız eşiği veya güvenlik kararı üretmez.",
    "kaynak_id": "SRC_NASEM_SAFETY"
  },
  "kaynak_ve_islem_kapisi": {
    "kural": "Yalnız kaynağı ve bu formdaki sayısal işlemi birlikte doğrulanmış durumlar sayısal etki yapar.",
    "birlesik_gebelik_emzirme": {
      "kaynak_durumu": "KAYNAK-DOĞRULANMADI",
      "birlesik_klinik_model_dogrulandi": false,
      "sayisal_etki": false,
      "davranis": "durum=sonuc_yok; sonuc=null; kullanilan_kaynak_idleri=[]; sayı, referans, çevrim, plan ve güvenlik alanı üretilmez"
    }
  },
  "kaynaklar": [
    {
      "id": "SRC_WEIGHT_RANGE",
      "baslik": "Nutrition support for adults — recommendation 1.4.2",
      "kurum_veya_yazar": "National Institute for Health and Care Excellence (NICE)",
      "yil": 2006,
      "son_guncelleme": "2017-08-04",
      "url": "https://www.nice.org.uk/guidance/CG32/chapter/recommendations",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "Yetişkin beslenme desteğinde ağır hasta/yaralı olmayan ve yeniden beslenme riski taşımayan kişiler için toplam alımda 30–35 ml/kg/gün sıvı"
      ],
      "kapsam_siniri": "Klinik yetişkin beslenme-desteği bağlamıdır; genel sağlıklı nüfus için tek doğru içme suyu normu veya reçetesi değildir. Toplam alım yiyecek, oral sıvı, oral destek, enteral/parenteral beslenme ve IV sıvıyı kapsar.",
      "dogrulandi": true
    },
    {
      "id": "SRC_TUBER",
      "baslik": "Türkiye Beslenme Rehberi (TÜBER) 2022",
      "kurum_veya_yazar": "T.C. Sağlık Bakanlığı Halk Sağlığı Genel Müdürlüğü",
      "yil": 2022,
      "url": "https://hsgm.saglik.gov.tr/depo/birimler/saglikli-beslenme-ve-hareketli-hayat-db/Dokumanlar/Rehberler/Turkiye_Beslenme_Rehber_TUBER_2022_min.pdf",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "35 ml/kg/gün üst uç",
        "Yetişkin erkek 2,5 L ve kadın 2,0 L toplam su",
        "İçecek %80 ve yiyecek %20",
        "Gebelik +300 ml ve emzirme +700 ml"
      ],
      "sayfalar": [
        "basılı s.15",
        "basılı s.30–31",
        "basılı s.253"
      ],
      "dogrulandi": true
    },
    {
      "id": "SRC_EFSA_WATER",
      "baslik": "Scientific Opinion on Dietary Reference Values for water",
      "kurum_veya_yazar": "European Food Safety Authority",
      "yil": 2010,
      "url": "https://doi.org/10.2903/j.efsa.2010.1459",
      "ozet_url": "https://www.efsa.europa.eu/sites/default/files/assets/DRV_Summary_tables_jan_17.pdf",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "Yetişkin kadın 2,0 L/gün toplam su",
        "Yetişkin erkek 2,5 L/gün toplam su",
        "Gebelik 2,3 L/gün ve +300 ml",
        "Emzirme 2,7 L/gün ve +700 ml",
        "Toplam su tüm içecekleri ve yiyecek nemini içerir"
      ],
      "dogrulandi": true
    },
    {
      "id": "SRC_FOOD_SHARE",
      "baslik": "Fluid (water and drinks) and hydration",
      "kurum_veya_yazar": "British Dietetic Association",
      "yil": 2023,
      "url": "https://www.bda.uk.com/resource/fluid-water-drinks.html",
      "efsa_tam_metin_url": "https://backend.orbit.dtu.dk/ws/files/6350877/5.Scientific.pdf",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "İçeceklerden %70–80",
        "Yiyeceklerden %20–30",
        "Çay ve kahvedeki suyun genel sıvı alımına katkısı"
      ],
      "dogrulandi": true
    },
    {
      "id": "SRC_HOLLIDAY_SEGAR",
      "baslik": "The Maintenance Need for Water in Parenteral Fluid Therapy",
      "kurum_veya_yazar": "Holliday MA, Segar WE",
      "yil": 1957,
      "url": "https://doi.org/10.1542/peds.19.5.823",
      "aap_aciklama_url": "https://publications.aap.org/pediatrics/resources/24215/Top-Pediatric-Hospital-Medicine-Articles-in",
      "erisim_tarihi": "2026-07-29",
      "dogruladigi_degerler": [
        "İlk 10 kg için 100 ml/kg/gün",
        "Sonraki 10 kg için 50 ml/kg/gün",
        "20 kg üzeri her kg için 20 ml/kg/gün"
      ],
      "klinik_baglam": "Tarihsel parenteral klinik bakım sıvısı formülü; güncel klinik kapsam için SRC_NICE_NG29 ve SRC_RCH_IV_FLUIDS ile birlikte okunur.",
      "tek_basina_guncel_yeterlilik_kaniti": false,
      "oral_su_hedefi": false,
      "dogrulandi": true
    },
    {
      "id": "SRC_NICE_NG29",
      "baslik": "Intravenous fluid therapy in children and young people in hospital — recommendation 1.4.1",
      "kurum_veya_yazar": "National Institute for Health and Care Excellence (NICE)",
      "yil": 2015,
      "son_guncelleme": "2020-06-11",
      "url": "https://www.nice.org.uk/guidance/ng29/chapter/recommendations",
      "erisim_tarihi": "2026-07-29",
      "dogruladigi_degerler": [
        "Holliday–Segar formülü çocuklar ve gençlerde rutin IV bakım sıvısı hızını hesaplamak içindir",
        "24 saatte erkeklerde 2.500 ml ve kadınlarda 2.000 ml üstüne nadiren gerek duyulur",
        "IV sıvı başlangıcında ve sürerken elektrolit/glukoz izlemi ve sonraki reçetelerin ölçümlere göre ayarlanması gerekir"
      ],
      "kapsam_siniri": "Hastanede IV sıvı tedavisi; genel sağlıklı çocuk için oral günlük su hedefi değildir.",
      "dogrulandi": true
    },
    {
      "id": "SRC_RCH_IV_FLUIDS",
      "baslik": "Clinical Practice Guidelines: Intravenous fluids",
      "kurum_veya_yazar": "The Royal Children's Hospital Melbourne",
      "son_guncelleme": "2026-01",
      "url": "https://www.rch.org.au/clinicalguide/guideline_index/Intravenous_fluids/",
      "erisim_tarihi": "2026-07-29",
      "dogruladigi_degerler": [
        "Bakım sıvısı hızını hesaplarken ideal vücut ağırlığını kullanmayı düşünme",
        "60 kg üzeri için 2.400 ml/gün normal maksimum ve 100 ml/saat",
        "Tam bakım hızının yalnız başlangıç noktası olması; hasta çocuklarda ayarlama ve izlem gereği"
      ],
      "kapsam_siniri": "Klinik IV sıvı reçetesi; oral günlük içme hedefi değildir.",
      "dogrulandi": true
    },
    {
      "id": "SRC_ACSM_ACTIVITY",
      "baslik": "American College of Sports Medicine position stand: Exercise and fluid replacement",
      "kurum_veya_yazar": "ACSM; Sawka ve ark.",
      "yil": 2007,
      "url": "https://pubmed.ncbi.nlm.nih.gov/17277604/",
      "sayisal_aralik_url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC10781183/",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "Çoğu sporcu için başlangıç planı 0,4–0,8 L/saat",
        "Ter hızına göre kişiselleştirme gereği"
      ],
      "dogrulamadigi_urun_islemi": "aktivite_dk × sabit ml/saat değerini günlük ağırlık temelli toplama otomatik ekleme",
      "dogrulandi": true
    },
    {
      "id": "SRC_NASEM_SAFETY",
      "baslik": "Dietary Reference Intakes for Water, Potassium, Sodium, Chloride, and Sulfate — Water",
      "kurum_veya_yazar": "Institute of Medicine / National Academies",
      "yil": 2005,
      "url": "https://www.nationalacademies.org/read/10925/chapter/6",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "Su için günlük UL belirlenmedi",
        "Aşırı ve hızlı hipotonik sıvı tüketiminin hiponatremiye yol açabilmesi"
      ],
      "dogrulandi": true
    },
    {
      "id": "SRC_WHO_WEIGHT_REVIEW",
      "baslik": "WHO Child Growth Standards — Weight-for-age GIRLS, Birth to 5 years",
      "kurum_veya_yazar": "World Health Organization",
      "url": "https://cdn.who.int/media/docs/default-source/child-growth/child-growth-standards/indicators/weight-for-age/sft-wfa-girls-z-0-5.pdf",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "1 yaş (12 ay) kız çocuk için −3 SD ağırlık 6,3 kg"
      ],
      "urun_kullanimi": "1 yaş ve üstünde yalnız geniş alt birim/girdi gözden-geçirme noktası; sağlıklı kilo veya tanı eşiği değildir.",
      "dogrulandi": true
    },
    {
      "id": "SRC_NHANES_SCALE",
      "baslik": "NHANES 2017 Anthropometry Procedures Manual",
      "kurum_veya_yazar": "U.S. National Center for Health Statistics / CDC",
      "url": "https://stacks.cdc.gov/view/cdc/51795/cdc_51795_DS1.pdf",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "Standart dijital ağırlık tartısının azami kapasitesi 600 lb"
      ],
      "urun_kullanimi": "Yalnız geniş üst birim/ölçüm girdisi gözden-geçirme noktası; insan ağırlığı üst sınırı veya sağlıklı kilo eşiği değildir.",
      "dogrulandi": true
    },
    {
      "id": "SRC_NIST_CONVERSION",
      "baslik": "NIST Guide to the SI — exact pound conversion factor",
      "kurum_veya_yazar": "U.S. National Institute of Standards and Technology",
      "url": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-footnotes",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "1 lb = tam olarak 0,45359237 kg",
        "600 lb × 0,45359237 = 272,155422 kg; bir ondalığa 272,2 kg"
      ],
      "dogrulandi": true
    },
    {
      "id": "SRC_ECMA_SAFE_INTEGER",
      "baslik": "ECMAScript Language Specification — Number.MAX_SAFE_INTEGER",
      "kurum_veya_yazar": "Ecma International / TC39",
      "url": "https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number.max_safe_integer",
      "is_safe_integer_url": "https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number.issafeinteger",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "Number.MAX_SAFE_INTEGER = 9007199254740991",
        "Number.isSafeInteger ile tam tamsayı temsil denetimi"
      ],
      "urun_kullanimi": "Yalnız taşma ve plan toplamı hassasiyet kaybını önleyen teknik kapı; sağlık eşiği değildir.",
      "dogrulandi": true
    },
    {
      "id": "SRC_WHO_INFANT",
      "baslik": "Breastfeeding — Questions and answers",
      "kurum_veya_yazar": "World Health Organization",
      "url": "https://www.who.int/news-room/questions-and-answers/item/breastfeeding",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "İlk 6 ayda sıcak havada dahi ek su verilmemesi"
      ],
      "urun_politikasi_notu": "Aracın 1 yaş altına hiç sonuç vermemesi, WHO'nun 6 ay hükmünden daha geniş ve temkinli bir ürün politikasıdır; 12 ay tıbbi eşik diye sunulmaz.",
      "dogrulandi": true
    },
    {
      "id": "SRC_CDC_WATER",
      "baslik": "About Water and Healthier Drinks",
      "kurum_veya_yazar": "U.S. Centers for Disease Control and Prevention",
      "url": "https://www.cdc.gov/healthy-weight-growth/water-healthy-drinks/index.html",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "Sıcak iklim, fiziksel aktivite ve ateşte gereksinimin artabileceği"
      ],
      "dogrulanmayan": [
        "Herkese uygulanabilir sabit sıcak iklim ilavesi",
        "Boolean ateş alanı için sabit ilave"
      ],
      "dogrulandi": true
    },
    {
      "id": "SRC_CDC_ALTITUDE",
      "baslik": "High-Altitude Travel and Altitude Illness",
      "kurum_veya_yazar": "CDC Yellow Book",
      "url": "https://www.cdc.gov/yellow-book/hcp/environmental-hazards-risks/high-altitude-travel-and-altitude-illness.html",
      "erisim_tarihi": "2026-07-27",
      "dogrulanmayan": [
        "Genel nüfus için sabit günlük irtifa su ilavesi"
      ],
      "dogrulandi": true
    },
    {
      "id": "SRC_RISK_GROUPS",
      "baslik": "Hastalıklarda sıvı miktarının klinik ekipçe belirlenmesi",
      "kurum_veya_yazar": "National Kidney Foundation, American Heart Association, NHS",
      "urls": [
        "https://www.kidney.org/kidney-topics/nutrition-and-kidney-failure",
        "https://www.heart.org/en/health-topics/heart-failure/treatment-options-for-heart-failure/lifestyle-changes-for-heart-failure",
        "https://www.wsh.nhs.uk/CMS-Documents/Patient-leaflets/NutritionandDieteticService/6790-1-Fluid-restriction-guidance.pdf"
      ],
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "Böbrek yetmezliği, kalp yetmezliği ve karaciğer hastalığında genel sıvı hesabının uygun olmayabilmesi ve miktarın klinik ekipçe belirlenmesi"
      ],
      "dogrulandi": true
    },
    {
      "id": "SRC_URINE_COLOR",
      "baslik": "Urine color — Symptoms and causes",
      "kurum_veya_yazar": "Mayo Clinic",
      "url": "https://www.mayoclinic.org/diseases-conditions/urine-color/symptoms-causes/syc-20367333",
      "erisim_tarihi": "2026-07-27",
      "dogruladigi_degerler": [
        "İlaç, vitamin, yiyecek ve sağlık durumlarının idrar rengini etkileyebilmesi"
      ],
      "dogrulandi": true
    }
  ],
  "uyari_metni": {
    "kisa": "Bu araç yalnızca tahmin üretir; tıbbi tavsiye değildir.",
    "tam": [
      "Bu bir tahmin aracıdır, tıbbi tavsiye değildir; tanı koymaz, tedavi veya ilaç önermez.",
      "Böbrek yetmezliği, kalp yetmezliği, karaciğer hastalığı, hiponatremi öyküsü olanlar ve diüretik/idrar söktürücü kullananlar için günlük sıvı miktarını hekim belirler; bu araç onlar için geçerli değildir.",
      "Aşırı su tüketimi tehlikelidir ve su zehirlenmesine/hiponatremiye yol açabilir.",
      "Su için belirlenmiş günlük bir üst alım sınırı yoktur. Hızlı tüketim risklidir; gerçek tüketim miktarı ve süre alınmadığından hız güvenliği değerlendirilemez.",
      "1 yaş altı bebekler için sonuç üretilmez.",
      "1–17 yaş için sayısal oral sonuç üretilmez. Holliday–Segar yalnız rutin IV bakım formülünü açıklayan eğitim içeriğidir; içme reçetesi değildir.",
      "Gebelik ve emzirme birlikte seçildiğinde birleşik klinik model doğrulanmadığı için ayrı ilaveler toplanmaz ve sayısal sonuç üretilmez.",
      "aktivite_dk bu sürümde sayısal toplamı değiştirmez; kişisel ter hızı için gerekli ölçümler alınmıyor."
    ],
    "agent_talimati": "Yalnız yetişkin sonucunu kesin reçete olmadan; yöntem, aralık, seçilen nokta, toplam su/içecek ayrımı, kaynaklar ve uyarılarla aktar. sonuc_yok varyantında sayı, çevrim veya plan türetme. Gebelik+emzirme birleşiminde iki ayrı ilaveyi toplama veya iki durumdan birini seçme. Çocuk için Holliday–Segar sayısı üretme. aktivite_dk veya uyanik_saat alanından kaynakta olmayan sayısal düzeltme/güvenlik hükmü çıkarma. Hastalık veya ilaç risk gruplarında aracı geçersiz say."
  },
  "hata_durumlari": [
    {
      "kod": "GECERSIZ_KILO",
      "alan": "kilo",
      "kosul": "sayı değil veya <= 0",
      "durum": "hata",
      "sonuc": null
    },
    {
      "kod": "GECERSIZ_YAS",
      "alan": "yas",
      "kosul": "tam sayı değil veya < 0",
      "durum": "hata",
      "sonuc": null
    },
    {
      "kod": "GECERSIZ_KATSAYI",
      "alan": "ml_per_kg",
      "kosul": "30–35 dışında",
      "durum": "hata",
      "sonuc": null
    },
    {
      "kod": "GECERSIZ_AKTIVITE",
      "alan": "aktivite_dk",
      "kosul": "0–1440 dışında",
      "durum": "hata",
      "sonuc": null
    },
    {
      "kod": "GECERSIZ_UYANIK_SAAT",
      "alan": "uyanik_saat",
      "kosul": "1–24 dışında veya tam sayı değil",
      "durum": "hata",
      "sonuc": null
    },
    {
      "kod": "GECERSIZ_CINSIYET",
      "alan": "cinsiyet",
      "kosul": "kadin, erkek veya belirtmek_istemiyorum dışında",
      "durum": "hata",
      "sonuc": null
    },
    {
      "kod": "GECERSIZ_IKLIM",
      "alan": "iklim",
      "kosul": "iliman, sicak veya cok_sicak_nemli dışında",
      "durum": "hata",
      "sonuc": null
    },
    {
      "kod": "GECERSIZ_BOOLEAN",
      "alan": "gebelik|emzirme|ates|yuksek_irtifa",
      "kosul": "alan verilmiş ve JSON boolean true/false değil",
      "durum": "hata",
      "sonuc": null
    },
    {
      "kod": "HESAP_ARALIGI_DISINDA",
      "alan": "kilo",
      "kosul": "en küçük yetişkin temeli 1 ml'ye yuvarlanamıyor veya kilo × 100 sonucu sonlu güvenli tamsayı olarak temsil edilemiyor",
      "durum": "hata",
      "sonuc": null,
      "kaynak_id": "SRC_ECMA_SAFE_INTEGER"
    },
    {
      "kod": "BIR_YAS_ALTI",
      "alan": "yas",
      "kosul": "yas < 1",
      "durum": "sonuc_yok",
      "sonuc": null
    },
    {
      "kod": "COCUK_ORAL_YONTEM_YOK",
      "alan": "yas",
      "kosul": "1 <= yas < 18",
      "durum": "sonuc_yok",
      "sonuc": null
    },
    {
      "kod": "BIRLESIK_GEBELIK_EMZIRME_MODELI_YOK",
      "alan": "gebelik|emzirme",
      "kosul": "yas >= 18 ve gebelik=true ve emzirme=true",
      "durum": "sonuc_yok",
      "sonuc": null,
      "rozet": "KAYNAK-DOĞRULANMADI",
      "kaynak_id": null
    }
  ],
  "ornek": {
    "cagri": {
      "kilo": 70,
      "yas": 30,
      "cinsiyet": "belirtmek_istemiyorum",
      "ml_per_kg": 33,
      "aktivite_dk": 0,
      "iklim": "iliman",
      "gebelik": false,
      "emzirme": false,
      "ates": false,
      "yuksek_irtifa": false,
      "uyanik_saat": 16
    },
    "yanit": {
      "durum": "ok",
      "sonuc": {
        "yontem": {
          "id": "agirlik_temelli",
          "ad": "Yetişkin ağırlık temelli tahmin + bağımsız düzeltmeler",
          "kaynak_id": "SRC_WEIGHT_RANGE"
        },
        "agirlik_temelli": {
          "uygulanabilir": true,
          "katsayi_ml_kg": {
            "alt": 30,
            "secilen": 33,
            "ust": 35,
            "varsayilan_turetimi": "30–35 orta noktası 32,5; tam sayıya 33"
          },
          "toplam_su": {
            "alt_ml": 2100,
            "secilen_ml": 2310,
            "ust_ml": 2450,
            "alt_litre": 2.1,
            "secilen_litre": 2.31,
            "ust_litre": 2.45
          },
          "icilecek_su": {
            "ad": "İçeceklerden karşılanacağı tahmin edilen su",
            "alt_ml": 1470,
            "secilen_ml": 1733,
            "ust_ml": 1960,
            "yiyecek_payi_alt": 0.2,
            "yiyecek_payi_ust": 0.3,
            "secilen_payi_turetimi": "20–30 orta noktası %25",
            "aktivite_notu": "aktivite_dk bu sürümde sayısal etki yapmaz; kişisel ter hızı için gerekli ölçümler alınmıyor.",
            "kaynak_id": "SRC_FOOD_SHARE"
          }
        },
        "referans_alim": {
          "uygulanabilir": true,
          "ad": "EFSA ve TÜBER toplam su yeterli alımları",
          "ayrim_notu": "Toplam su, yalnız sade içme suyu değildir; bütün içeceklerdeki suyu ve yiyecek nemini içerir.",
          "satirlar": [
            {
              "kod": "kadin",
              "etiket": "Yetişkin kadın",
              "toplam_ml": 2000,
              "toplam_litre": 2,
              "icecek_alt_ml": 1400,
              "icecek_ust_ml": 1600,
              "secili": false
            },
            {
              "kod": "erkek",
              "etiket": "Yetişkin erkek",
              "toplam_ml": 2500,
              "toplam_litre": 2.5,
              "icecek_alt_ml": 1750,
              "icecek_ust_ml": 2000,
              "secili": false
            }
          ],
          "kaynak_idleri": [
            "SRC_EFSA_WATER",
            "SRC_TUBER"
          ]
        },
        "toplam_su": {
          "alt_ml": 2100,
          "secilen_ml": 2310,
          "ust_ml": 2450,
          "alt_litre": 2.1,
          "secilen_litre": 2.31,
          "ust_litre": 2.45
        },
        "icilecek_su": {
          "alt_ml": 1470,
          "secilen_ml": 1733,
          "ust_ml": 1960,
          "alt_litre": 1.47,
          "secilen_litre": 1.733,
          "ust_litre": 1.96
        },
        "duzeltmeler": [
          {
            "kod": "aktivite",
            "ad": "Egzersiz",
            "secildi": false,
            "uygulandi": false,
            "dogrulandi": false,
            "kaynak_kapsami_dogrulandi": true,
            "urun_modeli_dogrulandi": false,
            "islem": null,
            "miktar": null,
            "kaynak_id": null,
            "yon_kaynak_idleri": [
              "SRC_ACSM_ACTIVITY"
            ],
            "uygulanmama_nedeni": "KAYNAK-DOĞRULANMADI: ACSM egzersiz aralığının günlük ağırlık tahminine otomatik eklenmesini doğrulamaz; kişisel ter hızı için gerekli ölçümler alınmıyor."
          },
          {
            "kod": "gebelik",
            "ad": "Gebelik",
            "secildi": false,
            "uygulandi": false,
            "dogrulandi": true,
            "islem": "sabit_ml",
            "miktar_ml": 0,
            "kaynak_id": "SRC_EFSA_WATER"
          },
          {
            "kod": "emzirme",
            "ad": "Emzirme",
            "secildi": false,
            "uygulandi": false,
            "dogrulandi": true,
            "islem": "sabit_ml",
            "miktar_ml": 0,
            "kaynak_id": "SRC_EFSA_WATER"
          },
          {
            "kod": "iklim",
            "ad": "Sıcak / nemli iklim",
            "secildi": false,
            "secim": "iliman",
            "uygulandi": false,
            "dogrulandi": false,
            "islem": null,
            "kaynak_id": null,
            "uygulanmama_nedeni": "KAYNAK-DOĞRULANMADI: iklim ve eforu ayıran evrensel sabit ilave yok."
          },
          {
            "kod": "ates",
            "ad": "Ateş",
            "secildi": false,
            "secim": false,
            "uygulandi": false,
            "dogrulandi": false,
            "islem": null,
            "kaynak_id": null,
            "uygulanmama_nedeni": "KAYNAK-DOĞRULANMADI: sıcaklık derecesi olmadan yetişkin için sabit sayı doğrulanmadı."
          },
          {
            "kod": "yuksek_irtifa",
            "ad": "Yüksek irtifa",
            "secildi": false,
            "secim": false,
            "uygulandi": false,
            "dogrulandi": false,
            "islem": null,
            "kaynak_id": null,
            "uygulanmama_nedeni": "KAYNAK-DOĞRULANMADI: genel nüfus için sabit ilave doğrulanmadı."
          }
        ],
        "cevrimler": {
          "litre": 2.31,
          "bardak_200_ml": {
            "adet": 12,
            "yaklasik": true,
            "yuvarlama": "yukari"
          },
          "pet_sise_500_ml": {
            "adet": 4.62,
            "yaklasik": true
          }
        },
        "icecek_cevrimleri": {
          "litre": 1.733,
          "bardak_200_ml": {
            "adet": 9,
            "yaklasik": true,
            "yuvarlama": "yukari"
          },
          "pet_sise_500_ml": {
            "adet": 3.47,
            "yaklasik": true
          }
        },
        "plan": {
          "temel_alinan_ml": 2310,
          "temel_turu": "toplam_su_esdegeri",
          "uyanik_saat": 16,
          "saat_basina_ortalama_ml": 144.4,
          "icecek_temel_alinan_ml": 1733,
          "icecek_saat_basina_ortalama_ml": 108.3,
          "satirlar": [
            {"sira": 1, "etiket": "Uyanıştan sonra 1. saat", "donem": "Uyanınca", "ml": 145, "icecek_ml": 109},
            {"sira": 2, "etiket": "Uyanıştan sonra 2. saat", "donem": "Sabah", "ml": 145, "icecek_ml": 109},
            {"sira": 3, "etiket": "Uyanıştan sonra 3. saat", "donem": "Sabah", "ml": 145, "icecek_ml": 109},
            {"sira": 4, "etiket": "Uyanıştan sonra 4. saat", "donem": "Sabah", "ml": 145, "icecek_ml": 109},
            {"sira": 5, "etiket": "Uyanıştan sonra 5. saat", "donem": "Öğle çevresi", "ml": 145, "icecek_ml": 109},
            {"sira": 6, "etiket": "Uyanıştan sonra 6. saat", "donem": "Öğle çevresi", "ml": 145, "icecek_ml": 108},
            {"sira": 7, "etiket": "Uyanıştan sonra 7. saat", "donem": "Öğle çevresi", "ml": 144, "icecek_ml": 108},
            {"sira": 8, "etiket": "Uyanıştan sonra 8. saat", "donem": "Öğle çevresi", "ml": 144, "icecek_ml": 108},
            {"sira": 9, "etiket": "Uyanıştan sonra 9. saat", "donem": "İkindi", "ml": 144, "icecek_ml": 108},
            {"sira": 10, "etiket": "Uyanıştan sonra 10. saat", "donem": "İkindi", "ml": 144, "icecek_ml": 108},
            {"sira": 11, "etiket": "Uyanıştan sonra 11. saat", "donem": "İkindi", "ml": 144, "icecek_ml": 108},
            {"sira": 12, "etiket": "Uyanıştan sonra 12. saat", "donem": "İkindi", "ml": 144, "icecek_ml": 108},
            {"sira": 13, "etiket": "Uyanıştan sonra 13. saat", "donem": "Akşam", "ml": 144, "icecek_ml": 108},
            {"sira": 14, "etiket": "Uyanıştan sonra 14. saat", "donem": "Akşam", "ml": 144, "icecek_ml": 108},
            {"sira": 15, "etiket": "Uyanıştan sonra 15. saat", "donem": "Akşam", "ml": 144, "icecek_ml": 108},
            {"sira": 16, "etiket": "Uyanıştan sonra 16. saat", "donem": "Akşam", "ml": 144, "icecek_ml": 108}
          ],
          "satirlar_toplami_ml": 2310,
          "icecek_satirlar_toplami_ml": 1733,
          "kullanim_notu": "Toplam-su eşdeğeri kabul testindeki seçilen formül sonucunu dağıtır. İçecek sütunu, yetişkinde yiyecek payı düşülmüş orta noktayı ayrıca dağıtır. İkisi de tıbbi içme reçetesi değildir."
        },
        "guvenlik": {
          "gunluk_ul_belirlendi": false,
          "hizli_tuketim_degerlendirmesi": "degerlendirilemedi",
          "gercek_zamanli_tuketim_girdisi_var": false,
          "uyanik_sureye_yayilmis_tarama_ml": null,
          "esik_asildi": null,
          "kaynak_id": "SRC_NASEM_SAFETY",
          "mesaj": "Su için belirlenmiş günlük bir UL yoktur; hızlı ve aşırı tüketim risklidir. Gerçek tüketim miktarı ve süresi alınmadığı için hız güvenliği değerlendirilemedi."
        }
      },
      "uyarilar": [],
      "hatalar": [],
      "kullanilan_kaynak_idleri": [
      "SRC_WEIGHT_RANGE",
      "SRC_TUBER",
      "SRC_EFSA_WATER",
        "SRC_FOOD_SHARE",
        "SRC_NASEM_SAFETY"
      ]
    }
  },
  "ornek_birlesik_durum": {
    "cagri": {
      "kilo": 60,
      "yas": 30,
      "cinsiyet": "kadin",
      "ml_per_kg": 33,
      "aktivite_dk": 0,
      "iklim": "iliman",
      "gebelik": true,
      "emzirme": true,
      "ates": false,
      "yuksek_irtifa": false,
      "uyanik_saat": 16
    },
    "yanit": {
      "durum": "sonuc_yok",
      "sonuc": null,
      "uyarilar": [
        {
          "kod": "BIRLESIK_GEBELIK_EMZIRME_MODELI_YOK",
          "seviye": "yuksek",
          "mesaj": "[KAYNAK-DOĞRULANMADI] Gebelik ve emzirme için ayrı ilaveler kaynaklıdır; eşzamanlı duruma ait birleşik klinik model doğrulanmamıştır. Motor iki ilaveyi toplamaz ve sayısal sonuç, çevrim veya saat planı üretmez."
        }
      ],
      "hatalar": [],
      "kullanilan_kaynak_idleri": []
    }
  }
}
