
Descripción
Contexto general
Sistema web para clínicas y consultorios que digitaliza todo el flujo de atención médica. Permite agendar citas, llevar historias clínicas de pacientes, registrar consultas por etapas (signos vitales, diagnóstico, recetas, exámenes de laboratorio e imagen) y generar documentos médicos en PDF con firma electrónica. Incluye gestión de farmacia, hospitalización, emergencias y notificaciones. Cuenta con roles diferenciados para administradores, médicos y recepcionistas. Cumple con la normativa de salud de Ecuador (MSP/ACESS). Construido con 11 microservicios en Go en el backend y Angular en el frontend.

Motivación
Por qué lo construí
Reemplazar el papel y las hojas de cálculo por un sistema digital que guía al personal médico paso a paso.
Centralizar en un solo lugar la agenda de citas, los historiales de pacientes y los documentos médicos (recetas, órdenes de laboratorio e imagen).
Cumplir con la normativa de salud de Ecuador para registros médicos electrónicos, incluyendo firma electrónica para dar validez legal a los documentos.
Reducir errores administrativos con un flujo de atención claro: cada consulta pasa de Pendiente → En proceso → Finalizada, con guardado automático del progreso.
Características
Lo que destaca
Backend en Go con 11 microservicios independientes (auth, pacientes, citas, atenciones, farmacia, laboratorio, diagnósticos, evolución, notificaciones, etc.) usando arquitectura hexagonal.
Seguridad con JWT + rotación automática de tokens + lista negra de sesiones revocadas, cumpliendo estándares para datos de salud protegidos (PHI).
Frontend Angular zoneless con Signals y rxResource — sin Zone.js, con carga diferida (@defer) que redujo el bundle inicial del dashboard un 40%.
Workspace de consulta médica con estado reactivo por etapas (triaje → diagnóstico → prescripción → exámenes) usando signals, sin suscripciones manuales.
Búsqueda de diagnósticos CIE-10 con coincidencia difusa (trigram + unaccent en PostgreSQL) y generación de recetas/órdenes en PDF con firma electrónica.
Base de datos PostgreSQL con 14 módulos DDL: 30+ tipos ENUM, índices parciales para limpieza de tokens, y vistas materializadas para dashboards.