رزرو نوبت
منوی دسته بندی

نتایج آزمایشگاهی

import React, { useState } from ‘react’; // تابع اصلی کامپوننت App function App() { // مدیریت وضعیت برای سن، جنسیت و نتایج آزمایش‌ها const [age, setAge] = useState(”); const [gender, setGender] = useState(”); const [labResults, setLabResults] = useState({ WBC: ”, Hb: ”, PLT: ”, FBS: ”, BUN: ”, ‘Hb A1c’: ”, CR: ”, TG: ”, CHOL: ”, HDL: ”, LDL: ”, SGOT: ”, SGPT: ”, ALK: ”, ‘Beta HCG’: ” }); const [suggestions, setSuggestions] = useState(”); const [loading, setLoading] = useState(false); const [error, setError] = useState(”); // تابع برای مدیریت تغییرات در فیلدهای ورودی نتایج آزمایش const handleLabResultChange = (e) => { const { name, value } = e.target; setLabResults(prevResults => ({ …prevResults, [name]: value })); }; // تابع برای تولید پیشنهادات با استفاده از Gemini API const generateSuggestions = async () => { setLoading(true); setError(”); setSuggestions(”); // ساخت پرامپت برای مدل هوش مصنوعی let prompt = ` من یک متخصص آزمایشگاه هستم. لطفا بر اساس اطلاعات زیر، پیشنهادات آزمایشگاهی و نکات مرتبط با سلامتی را ارائه دهید. پیشنهادات باید بر اساس رنج نرمال‌های بین‌المللی و گایدلاین‌های پزشکی، با در نظر گرفتن سن و جنسیت (در صورت ارائه) باشد. اگر نتایج خاصی نشان‌دهنده وضعیت خاصی (مانند دیابت، مشکلات کبدی و غیره) هستند، لطفا توصیه به مراجعه به پزشک متخصص مربوطه (مثلاً متخصص غدد برای دیابت) کنید. لطفا از لحن حرفه‌ای و تخصصی استفاده کنید. اطلاعات بیمار: سن: ${age ? age + ‘ سال’ : ‘نامشخص’} جنسیت: ${gender === ‘male’ ? ‘مرد’ : gender === ‘female’ ? ‘زن’ : ‘نامشخص’} نتایج آزمایشگاهی: `; // اضافه کردن نتایج آزمایشگاهی که وارد شده‌اند به پرامپت let resultsEntered = false; for (const key in labResults) { if (labResults[key]) { prompt += `\n${key}: ${labResults[key]}`; resultsEntered = true; } } if (!resultsEntered) { prompt += ‘\n(هیچ نتیجه آزمایشی وارد نشده است.)’; } try { // تنظیمات API برای فراخوانی مدل Gemini let chatHistory = []; chatHistory.push({ role: “user”, parts: [{ text: prompt }] }); const payload = { contents: chatHistory }; const apiKey = “”; // API Key is provided by the Canvas environment const apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=${apiKey}`; const response = await fetch(apiUrl, { method: ‘POST’, headers: { ‘Content-Type’: ‘application/json’ }, body: JSON.stringify(payload) }); const result = await response.json(); // بررسی پاسخ و استخراج متن پیشنهاد if (result.candidates && result.candidates.length > 0 && result.candidates[0].content && result.candidates[0].content.parts && result.candidates[0].content.parts.length > 0) { const text = result.candidates[0].content.parts[0].text; setSuggestions(text); } else { setError(‘خطا در دریافت پیشنهادات. لطفاً دوباره تلاش کنید.’); console.error(‘Unexpected API response structure:’, result); } } catch (err) { setError(‘خطا در برقراری ارتباط با سرور. لطفاً اتصال اینترنت خود را بررسی کنید.’); console.error(‘API call error:’, err); } finally { setLoading(false); } }; return (

سامانه تحلیل نتایج آزمایشگاهی

لطفاً اطلاعات خود و نتایج آزمایشگاهی را وارد کنید تا پیشنهادات تخصصی دریافت نمایید.

{/* بخش اطلاعات اولیه */}

اطلاعات اولیه

setAge(e.target.value)} className=”w-full p-3 border border-blue-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition duration-200″ placeholder=”مثال: 30″ min=”1″ />
{/* بخش نتایج آزمایشگاهی */}

نتایج آزمایشگاهی

لطفاً نتایج آزمایش خود را در فیلدهای مربوطه وارد کنید. نیازی به تکمیل همه موارد نیست.

{Object.keys(labResults).map((key) => (
))}
{/* دکمه تولید پیشنهادات */} {/* نمایش خطا */} {error && (

{error}

)} {/* نمایش پیشنهادات */} {suggestions && (

پیشنهادات تخصصی

‘) }}>
)}
); } export default App;