Jose Salazar commited on
Commit
4486d90
·
1 Parent(s): 3a64e85

Prioritize image analysis in prompt when cytology images are attached

Browse files
Files changed (1) hide show
  1. js/ia.js +41 -11
js/ia.js CHANGED
@@ -48,6 +48,9 @@ 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 lineasValores = Object.entries(valores).map(([clave, valor]) => {
52
  const ref = refEspecie[clave];
53
  const nombre = ref?.nombre || clave;
@@ -66,21 +69,48 @@ function construirPrompt(obtenerDatosPaciente, obtenerValoresFormulario, getUlti
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) {
 
48
  const signosText = document.getElementById('signos-clinicos').value.trim();
49
  const refEspecie = paciente.especie ? (getReferencias()[paciente.especie] || {}) : {};
50
 
51
+ const totalImagenes = imagenesDataUrl.filter(Boolean).length + capturasMicroscopio.length;
52
+ const hayImagenes = totalImagenes > 0;
53
+
54
  const lineasValores = Object.entries(valores).map(([clave, valor]) => {
55
  const ref = refEspecie[clave];
56
  const nombre = ref?.nombre || clave;
 
69
  ? (paciente.edadMeses < 24 ? `${Math.round(paciente.edadMeses)} meses` : `${(paciente.edadMeses / 12).toFixed(1)} años`)
70
  : 'desconocida';
71
 
72
+ if (hayImagenes) {
73
+ return `Responde en español.
74
+
75
+ Eres médico veterinario especialista en patología clínica.
76
+
77
+ Se adjuntan ${totalImagenes} imagen${totalImagenes > 1 ? 'es' : ''} de citología. Tu tarea principal es analizar estas imágenes.
78
+
79
+ Instrucciones para el análisis de imágenes:
80
+ - Examina la morfología celular en detalle
81
+ - Identifica lesiones celulares y patrones anormales
82
+ - Busca hemoparásitos intracelulares y extracelulares (Anaplasma, Babesia, Ehrlichia, Hepatozoon, Piroplasma, Mycoplasma)
83
+ - Identifica inclusiones citoplasmáticas
84
+ - Describe tus hallazgos citológicos
85
+
86
+ Una vez analizadas las imágenes, integra los hallazgos con los siguientes datos:
87
+
88
+ Paciente: ${paciente.especie || 'desconocido'}, raza: ${paciente.raza || 'NE'}, edad: ${edadTexto}, sexo: ${paciente.sexo || 'NE'}
89
+
90
+ Resultados de laboratorio:
91
+ ${lineasValores}
92
+
93
+ Patrones detectados:
94
+ ${lineasPatrones}
95
+ ${signosText ? `\nSignos clínicos: ${signosText}` : ''}
96
+
97
+ Estructura tu respuesta en dos partes: (1) Hallazgos citológicos de las imágenes, (2) Integración con laboratorio y recomendaciones. Máximo 10 oraciones en total.`;
98
+ }
99
+
100
+ return `Responde en español.
101
+
102
+ Eres médico veterinario especialista en patología clínica.
103
 
104
+ Paciente: ${paciente.especie || 'desconocido'}, raza: ${paciente.raza || 'NE'}, edad: ${edadTexto}, sexo: ${paciente.sexo || 'NE'}
 
 
105
 
106
+ Resultados de laboratorio:
107
+ ${lineasValores}
108
 
109
+ Patrones detectados:
110
+ ${lineasPatrones}
111
+ ${signosText ? `\nSignos clínicos: ${signosText}` : ''}
112
 
113
+ Proporciona una interpretación clínica breve (6-8 oraciones) destacando los hallazgos más significativos y las recomendaciones diagnósticas inmediatas.`;
 
 
 
114
  }
115
 
116
  function limpiarRespuesta(text) {