
🧾 Reporte del Modelo Entidad-Relación (MER) – IRIS
📌 Objetivo del Modelo
El modelo entidad-relación describe la estructura de datos para el sistema IRIS, diseñado para:
- Almacenar y gestionar imágenes diagnósticas de pacientes.
- Ejecutar análisis automatizado mediante IA.
- Permitir la validación médica por profesionales de la salud visual.
- Asegurar trazabilidad completa mediante campos de auditoría.
📘 Descripción de Entidades y Campos
1. 🧍♂️ user
Representa a los usuarios del sistema, incluyendo operadores, administradores y creadores de registros clínicos.
Campo | Tipo | Descripción |
---|---|---|
user | string(13) PK | Identificador único del usuario. |
username | string | Nombre de usuario. |
role | string | Rol del usuario (ej. operador, admin). |
string | Correo electrónico del usuario. | |
password | string | Contraseña encriptada. |
status | string | Estado del usuario (activo/inactivo). |
author | string(13) FK | Usuario que creó este registro. |
created_at | datetime | Fecha de creación del registro. |
updated_at | datetime | Última fecha de actualización. |
deleted_at | datetime | Fecha de eliminación lógica (si aplica). |
2. 👁️ patient
Contiene los datos básicos de cada paciente registrado en el sistema.
Campo | Tipo | Descripción |
---|---|---|
patient | string(13) PK | Identificador único del paciente. |
first_name | string | Nombres del paciente. |
last_name | string | Apellidos del paciente. |
document_type | string | Tipo de documento de identidad. |
document_number | string | Número del documento. |
birth_date | date | Fecha de nacimiento. |
gender | string | Género del paciente. |
contact_info | string | Teléfono, correo o dirección. |
registration_date | date | Fecha de registro en la plataforma. |
author | string(13) FK | Usuario que creó este registro. |
created_at | datetime | Fecha de creación. |
updated_at | datetime | Última actualización. |
deleted_at | datetime | Eliminación lógica (si aplica). |
3. 📋 episode
Representa un episodio clínico o motivo de atención de un paciente.
Campo | Tipo | Descripción |
---|---|---|
episode | string(13) PK | Identificador único del episodio. |
patient | string(13) FK | Paciente relacionado. |
start_date | date | Fecha de inicio del episodio. |
end_date | date | Fecha de finalización. |
reason_for_visit | string | Motivo clínico del episodio. |
general_notes | text | Observaciones generales. |
author | string(13) FK | Usuario que creó el episodio. |
created_at | datetime | Fecha de creación. |
updated_at | datetime | Última modificación. |
deleted_at | datetime | Fecha de eliminación lógica. |
4. 🧪 study
Corresponde a un conjunto de imágenes o pruebas diagnósticas tomadas durante un episodio clínico.
Campo | Tipo | Descripción |
---|---|---|
study | string(13) PK | Identificador del estudio. |
episode | string(13) FK | Episodio al que pertenece. |
study_date | date | Fecha del estudio. |
study_type | string | Tipo (retinografía, OCT, etc.). |
status | string | Estado del estudio (pendiente, evaluado). |
observations | text | Comentarios generales del estudio. |
author | string(13) FK | Usuario que generó el estudio. |
created_at | datetime | Fecha de creación. |
updated_at | datetime | Última actualización. |
deleted_at | datetime | Eliminación lógica. |
5. 🖼️ image
Cada registro representa una imagen retiniana obtenida dentro de un estudio.
Campo | Tipo | Descripción |
---|---|---|
image | string(13) PK | ID único de la imagen. |
study | string(13) FK | Estudio al que pertenece. |
capture_date | date | Fecha de captura. |
eye | string | Ojo correspondiente (izquierdo/derecho). |
image_file | string | Ruta o nombre del archivo. |
image_quality | string | Evaluación de la calidad. |
operator_comments | text | Observaciones del operador. |
author | string(13) FK | Usuario que cargó la imagen. |
created_at | datetime | Fecha de carga. |
updated_at | datetime | Última edición. |
deleted_at | datetime | Eliminación lógica. |
6. 🤖 ai_report
Informe generado automáticamente por la IA con los resultados del análisis de una imagen.
Campo | Tipo | Descripción |
---|---|---|
ai_report | string(13) PK | ID del informe. |
image | string(13) FK | Imagen asociada. |
analysis_date | date | Fecha de análisis. |
ai_results | text | Resultado del análisis IA. |
confidence_score | float | Nivel de confianza (0–1). |
ai_recommendations | text | Sugerencias de la IA. |
author | string(13) FK | Usuario que ejecutó el análisis. |
created_at | datetime | Fecha de generación. |
updated_at | datetime | Modificación posterior. |
deleted_at | datetime | Eliminación lógica. |
7. 🧑⚕️ report
Informe médico oficial de un estudio, validado por un profesional.
Campo | Tipo | Descripción |
---|---|---|
report | string(13) PK | ID del informe. |
study | string(13) FK | Estudio evaluado. |
professional | string(13) FK | Profesional que emite el informe. |
validation_date | date | Fecha de validación. |
final_diagnosis | text | Diagnóstico confirmado. |
observations | text | Notas del médico. |
is_validated | boolean | Estado de validación. |
author | string(13) FK | Usuario que creó el registro. |
created_at | datetime | Creación del informe. |
updated_at | datetime | Última modificación. |
deleted_at | datetime | Eliminación lógica. |
8. 👨⚕️ professional
Representa a los oftalmólogos o especialistas registrados.
Campo | Tipo | Descripción |
---|---|---|
professional | string(13) PK | Identificador único. |
username | string | Nombre de usuario. |
specialty | string | Especialidad médica. |
string | Correo del profesional. | |
password | string | Contraseña. |
status | string | Activo/inactivo. |
author | string(13) FK | Usuario que lo registró. |
created_at | datetime | Fecha de creación. |
updated_at | datetime | Modificación. |
deleted_at | datetime | Eliminación lógica. |
🔗 Relaciones Principales del Modelo
- user → patient, episode, study, image, ai_report, report, professional
Relación por campoauthor
: todo registro tiene trazabilidad de su creador. - patient → episode
Un paciente puede tener múltiples episodios clínicos. - episode → study
Cada episodio puede tener uno o varios estudios. - study → image
Cada estudio puede contener múltiples imágenes diagnósticas. - image → ai_report
Cada imagen es analizada por la IA, que genera un único reporte. - study → report → professional
Un estudio puede tener un informe validado por un profesional.
🛡️ Ventajas del Modelo
- Escalable y adaptable a múltiples escenarios clínicos.
- Auditable: todos los registros tienen un campo
author
y timestamps. - Modular: separación clara entre IA, validación médica y administración.
- Preparado para interoperabilidad con otros sistemas clínicos (e.g. HL7, FHIR).