Spaces:
Running
Running
Jose Salazar commited on
Commit ·
3a64e85
1
Parent(s): 42cdd91
Update prompt: include all values with reference ranges and detected patterns
Browse files
js/ia.js
CHANGED
|
@@ -48,53 +48,39 @@ function construirPrompt(obtenerDatosPaciente, obtenerValoresFormulario, getUlti
|
|
| 48 |
const signosText = document.getElementById('signos-clinicos').value.trim();
|
| 49 |
const refEspecie = paciente.especie ? (getReferencias()[paciente.especie] || {}) : {};
|
| 50 |
|
| 51 |
-
const
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
|
| 59 |
const edadTexto = paciente.edadMeses != null
|
| 60 |
? (paciente.edadMeses < 24 ? `${Math.round(paciente.edadMeses)} meses` : `${(paciente.edadMeses / 12).toFixed(1)} años`)
|
| 61 |
: 'desconocida';
|
| 62 |
|
| 63 |
-
|
| 64 |
-
let cierre = '';
|
| 65 |
-
if (hayImagenes) {
|
| 66 |
-
notaImagenes = `TAREA PRINCIPAL: Se adjuntan ${totalImagenes} imagen${totalImagenes > 1 ? 'es' : ''} de citología. DEBES analizarlas exhaustivamente ANTES de considerar los resultados de laboratorio. Describe morfología celular, lesiones, patrones anormales, hemoparásitos intracelulares y extracelulares (Anaplasma, Babesia, Ehrlichia, Hepatozoon, Piroplasma, Mycoplasma, etc.) e inclusiones citoplasmáticas. Luego integra los hallazgos citológicos con los resultados de laboratorio. NO omitas el análisis de las imágenes bajo ninguna circunstancia.`;
|
| 67 |
-
cierre = `Estructura tu respuesta en dos partes claras: (1) Análisis citológico detallado de las imágenes adjuntas, y (2) Integración con los resultados de laboratorio y recomendaciones diagnósticas.`;
|
| 68 |
-
} else {
|
| 69 |
-
cierre = `Proporciona una interpretación clínica breve (8-10 oraciones) destacando los hallazgos más significativos y las recomendaciones diagnósticas inmediatas.`;
|
| 70 |
-
}
|
| 71 |
-
|
| 72 |
-
const ejemploRespuesta = hayImagenes
|
| 73 |
-
? 'Las imágenes muestran neutrófilos con toxicidad moderada y presencia de cuerpos de Döhle, indicativos de respuesta inflamatoria sistémica. Los resultados de laboratorio confirman leucocitosis con desviación izquierda. Se sugiere descartar proceso infeccioso severo mediante hemocultivo y paneles diagnósticos dirigidos.'
|
| 74 |
-
: 'El paciente presenta leucocitosis con neutrofilia y linfopenia, sugestiva de respuesta inflamatoria aguda con posible compromiso inmune. Los valores de creatinina elevados indican disfunción renal que requiere evaluación adicional. Se recomienda completar el estudio con urocultivo y ecografía abdominal.';
|
| 75 |
-
|
| 76 |
-
return `Eres médico veterinario especialista en patología clínica. Interpreta los siguientes resultados de laboratorio y proporciona un análisis clínico conciso.
|
| 77 |
-
|
| 78 |
-
REGLAS DE RESPUESTA:
|
| 79 |
-
- Responde ÚNICAMENTE en español
|
| 80 |
-
- Máximo 10 oraciones
|
| 81 |
-
- Comienza DIRECTAMENTE con la interpretación clínica, sin introducciones
|
| 82 |
-
- No uses listas numeradas ni expliques tu proceso de análisis
|
| 83 |
-
- Sé directo, profesional y clínico
|
| 84 |
-
|
| 85 |
-
Ejemplo de formato esperado:
|
| 86 |
-
"${ejemploRespuesta}"
|
| 87 |
|
| 88 |
-
|
| 89 |
-
|
|
|
|
| 90 |
|
| 91 |
-
|
| 92 |
-
${lineasValores}
|
| 93 |
|
| 94 |
-
|
|
|
|
| 95 |
|
| 96 |
-
|
| 97 |
-
${
|
|
|
|
|
|
|
| 98 |
}
|
| 99 |
|
| 100 |
function limpiarRespuesta(text) {
|
|
|
|
| 48 |
const signosText = document.getElementById('signos-clinicos').value.trim();
|
| 49 |
const refEspecie = paciente.especie ? (getReferencias()[paciente.especie] || {}) : {};
|
| 50 |
|
| 51 |
+
const lineasValores = Object.entries(valores).map(([clave, valor]) => {
|
| 52 |
+
const ref = refEspecie[clave];
|
| 53 |
+
const nombre = ref?.nombre || clave;
|
| 54 |
+
const unidad = ref?.unidad || '';
|
| 55 |
+
const rango = ref ? ` [ref: ${ref.inferior}-${ref.superior}]` : '';
|
| 56 |
+
const h = hallazgos.find(h => h.clave === clave);
|
| 57 |
+
const flag = h ? ` ← ${h.direccion === 'alto' ? 'ELEVADO' : 'BAJO'} (${h.gravedad})` : '';
|
| 58 |
+
return ` ${nombre}: ${valor} ${unidad}${rango}${flag}`;
|
| 59 |
+
}).join('\n') || 'Sin valores ingresados';
|
| 60 |
+
|
| 61 |
+
const lineasPatrones = patrones.length > 0
|
| 62 |
+
? patrones.map(p => ` - ${p.nombre}: ${p.descripcion}`).join('\n')
|
| 63 |
+
: ' Ninguno detectado';
|
| 64 |
|
| 65 |
const edadTexto = paciente.edadMeses != null
|
| 66 |
? (paciente.edadMeses < 24 ? `${Math.round(paciente.edadMeses)} meses` : `${(paciente.edadMeses / 12).toFixed(1)} años`)
|
| 67 |
: 'desconocida';
|
| 68 |
|
| 69 |
+
return `IMPORTANTE: Responde ÚNICAMENTE en español. Do not write in English under any circumstance.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
|
| 71 |
+
Eres un médico veterinario especialista en patología clínica. Sólo responderás consultas asociadas a ésta área de conocimiento y basado en la evidencia proporcionada.
|
| 72 |
+
Si te envían imágenes de citología debes hacer una revisión exhaustiva de la morfología celular, identificar lesiones, patrones anormales, presencia de hemoparásitos intracelulares y extracelulares (Anaplasma, Babesia, Ehrlichia, Hepatozoon, Piroplasma, Mycoplasma, etc) o inclusiones citoplasmáticas.
|
| 73 |
+
Analiza los resultados y proporciona una interpretación clínica concisa.
|
| 74 |
|
| 75 |
+
Paciente: ${paciente.especie || 'desconocido'}, raza: ${paciente.raza || 'NE'}, edad: ${edadTexto}, sexo: ${paciente.sexo || 'NE'}
|
|
|
|
| 76 |
|
| 77 |
+
Resultados de laboratorio:
|
| 78 |
+
${lineasValores}
|
| 79 |
|
| 80 |
+
Patrones detectados:
|
| 81 |
+
${lineasPatrones}
|
| 82 |
+
${signosText ? `\nSignos clínicos: ${signosText}` : ''}
|
| 83 |
+
Proporciona una interpretación clínica breve (6-8 oraciones) destacando los hallazgos más significativos y las recomendaciones diagnósticas inmediatas.`;
|
| 84 |
}
|
| 85 |
|
| 86 |
function limpiarRespuesta(text) {
|