¿Qué hace Patrones de Desarrollo EMR para Salud?
Patrones para construir sistemas de Registro Médico Electrónico (EMR) y Registro de Salud Electrónico (EHR). Prioriza la seguridad del paciente, la precisión clínica y la eficiencia del profesional.
Cuándo Usar
- Construir flujos de encuentro del paciente (queja, examen, diagnóstico, receta)
- Implementar toma de notas clínicas (estructurada + texto libre + voz a texto)
- Diseñar módulos de recetas/medicamentos con verificación de interacciones farmacológicas
- Integrar Sistemas de Apoyo a la Decisión Clínica (CDSS)
- Construir visualizaciones de resultados de laboratorio con resaltado de rangos de referencia
- Implementar pistas de auditoría para datos clínicos
- Diseñar interfaces accesibles para el ingreso de datos clínicos en el ámbito sanitario
Cómo Funciona
Seguridad del Paciente Primero
Cada decisión de diseño debe evaluarse contra: "¿Podría esto dañar a un paciente?"
- Las interacciones farmacológicas DEBEN alertar, no pasar en silencio
- Los valores anormales de laboratorio DEBEN marcarse visualmente
- Los signos vitales críticos DEBEN activar flujos de escalamiento
- Sin modificación de datos clínicos sin pista de auditoría
Flujo de Encuentro en una Sola Página
Los encuentros clínicos deben fluir verticalmente en una sola página, sin cambiar de pestaña:
Encabezado del Paciente (fijo — siempre visible)
├── Datos demográficos, alergias, medicamentos activos
│
Flujo de Encuentro (desplazamiento vertical)
├── 1. Queja Principal (plantillas estructuradas + texto libre)
├── 2. Historia de la Enfermedad Actual
├── 3. Examen Físico (por sistemas)
├── 4. Signos Vitales (activan puntuación clínica automática)
├── 5. Diagnóstico (búsqueda CIE-10/SNOMED)
├── 6. Medicamentos (BD de medicamentos + verificación de interacciones)
├── 7. Exámenes (órdenes de laboratorio/radiología)
├── 8. Plan y Seguimiento
└── 9. Firmar / Bloquear / Imprimir
Sistema de Plantillas Inteligentes
interface ClinicalTemplate {
id: string;
name: string; // ej., "Dolor de Pecho"
chips: string[]; // chips de síntomas seleccionables
requiredFields: string[]; // puntos de datos obligatorios
redFlags: string[]; // activa alerta no descartable
icdSuggestions: string[]; // códigos de diagnóstico pre-asignados
}
Las banderas rojas en cualquier plantilla deben activar una alerta visible y no descartable — NO una notificación toast.
Patrón de Seguridad de Medicamentos
Usuario selecciona medicamento
→ Verificar interacciones con medicamentos actuales
→ Verificar interacciones con medicamentos del encuentro
→ Verificar alergias del paciente
→ Validar dosis contra peso/edad/función renal
→ Si interacción CRÍTICA: BLOQUEAR la prescripción por completo
→ El clínico debe documentar el motivo de anulación para proceder tras un bloqueo
→ Si interacción GRAVE: mostrar advertencia, solicitar reconocimiento
→ Registrar todas las alertas y motivos de anulación en la pista de auditoría
Las interacciones críticas bloquean la prescripción por defecto. El clínico debe anular explícitamente con un motivo documentado almacenado en la pista de auditoría. El sistema nunca permite silenciosamente una interacción crítica.
Patrón de Encuentro Bloqueado
Una vez que un encuentro clínico está firmado:
- Sin ediciones permitidas — solo una adenda (un registro separado vinculado)
- Tanto el original como la adenda aparecen en la línea de tiempo del paciente
- La pista de auditoría captura quién firmó, cuándo y cualquier registro de adenda
Patrones de UI para Datos Clínicos
Visualización de Signos Vitales: Valores actuales con resaltado de rango normal (verde/amarillo/rojo), flechas de tendencia respecto al valor anterior, puntuación clínica calculada automáticamente (NEWS2, qSOFA), guía de escalamiento en línea.
Visualización de Resultados de Laboratorio: Resaltado de rango normal, comparación con valor anterior, valores críticos con alerta no descartable, marcas de tiempo de recogida/análisis, órdenes pendientes con tiempo de respuesta esperado.
PDF de Receta: Generación en un clic con datos demográficos del paciente, alergias, diagnóstico, detalles del medicamento (genérico + marca, dosis, vía, frecuencia, duración), bloque de firma del clínico.
Accesibilidad para el Sector Salud
Las interfaces sanitarias tienen requisitos más estrictos que las aplicaciones web típicas:
- Contraste mínimo 4.5:1 (WCAG AA) — los clínicos trabajan en condiciones de iluminación variables
- Objetivos táctiles grandes (mínimo 44x44px) — para interacción con guantes o apresurada
- Navegación por teclado — para usuarios avanzados que ingresan datos rápidamente
- Sin indicadores solo con color — siempre acompañar color con texto/icono (clínicos con daltonismo)
- Etiquetas de lector de pantalla en todos los campos del formulario
- Sin toasts que se descarten automáticamente para alertas clínicas — el clínico debe reconocer activamente
Anti-Patrones
- Almacenar datos clínicos en localStorage del navegador
- Fallos silenciosos en la verificación de interacciones farmacológicas
- Toasts descartables para alertas clínicas críticas
- Interfaces de encuentro basadas en pestañas que fragmentan el flujo de trabajo clínico
- Permitir ediciones en encuentros firmados/bloqueados
- Mostrar datos clínicos sin pista de auditoría
- Usar tipo
anypara estructuras de datos clínicos
Ejemplos
Ejemplo 1: Flujo de Encuentro del Paciente
El doctor abre un encuentro para el paciente #4521
→ El encabezado fijo muestra: "Rajesh M, 58M, Alergias: Penicilina, Meds Activos: Metformina 500mg"
→ Queja Principal: selecciona plantilla "Dolor de Pecho"
→ Hace clic en chips: "subesternal", "irradiado a brazo izquierdo", "opresivo"
→ La bandera roja "dolor de pecho opresivo subesternal" activa alerta no descartable
→ Examen: sistema CVS — "S1 S2 normal, sin soplo"
→ Signos Vitales: FC 110, PA 90/60, SpO2 94%
→ NEWS2 calcula automáticamente: puntuación 8, riesgo ALTO, alerta de escalamiento mostrada
→ Diagnóstico: busca "SCA" → selecciona CIE-10 I21.9
→ Medicamentos: selecciona Aspirina 300mg
→ El CDSS verifica contra Metformina: sin interacción
→ Firma el encuentro → bloqueado, solo adenda a partir de este punto
Ejemplo 2: Flujo de Seguridad de Medicamentos
El doctor prescribe Warfarina para el paciente #4521
→ El CDSS detecta: Warfarina + Aspirina = interacción CRÍTICA
→ UI: modal rojo no descartable bloquea la prescripción
→ El doctor hace clic en "Anular con motivo"
→ Escribe: "Los beneficios superan los riesgos — protocolo de INR monitorizado"
→ Motivo de anulación + alerta almacenados en pista de auditoría
→ La prescripción continúa con anulación documentada
Ejemplo 3: Encuentro Bloqueado + Adenda
Encuentro #E-2024-0891 firmado por el Dr. Shah a las 14:30
→ Todos los campos bloqueados — sin botones de edición visibles
→ Botón "Agregar Adenda" disponible
→ El Dr. Shah hace clic en adenda, agrega: "Resultados de laboratorio recibidos — Troponina elevada"
→ Nuevo registro E-2024-0891-A1 vinculado al original
→ La línea de tiempo muestra ambos: encuentro original + adenda con marcas de tiempo