-- Hasta laboratuvar sonuçları (İç + Dış lab birleşik tablo)
CREATE TABLE IF NOT EXISTS patient_lab_results (
    id INT AUTO_INCREMENT PRIMARY KEY,
    patient_id INT NOT NULL,
    test_code VARCHAR(100) NOT NULL COMMENT 'Test kodu (local_test_definitions.code ile eşleşir)',
    test_name VARCHAR(255) NOT NULL COMMENT 'Test adı',
    result_value VARCHAR(255) DEFAULT NULL COMMENT 'Test sonucu',
    reference_min VARCHAR(50) DEFAULT NULL COMMENT 'Minimum referans değeri',
    reference_max VARCHAR(50) DEFAULT NULL COMMENT 'Maksimum referans değeri',
    unit VARCHAR(50) DEFAULT NULL COMMENT 'Ölçü birimi (mg/dL, U/L vb)',
    status VARCHAR(50) DEFAULT 'normal' COMMENT 'normal, low, high, critical',
    result_date DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 'Sonuç tarihi',
    source VARCHAR(50) DEFAULT 'internal' COMMENT 'internal = iç lab, external = dış lab',
    external_lab_name VARCHAR(100) DEFAULT NULL COMMENT 'Dış lab adı (varsa)',
    sample_number VARCHAR(100) DEFAULT NULL COMMENT 'Örnek numarası (dış lab için)',
    notes TEXT DEFAULT NULL COMMENT 'Notlar',
    created_by INT DEFAULT NULL COMMENT 'Kaydı oluşturan kullanıcı ID',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    FOREIGN KEY (patient_id) REFERENCES patients(id) ON DELETE CASCADE,
    INDEX idx_patient (patient_id),
    INDEX idx_test_code (test_code),
    INDEX idx_result_date (result_date),
    INDEX idx_source (source),
    INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='Hasta laboratuvar test sonuçları (iç ve dış lab)';
