Volver al portafolio
Salud · TypeScript y Node.js

Clinvia

Plataforma para redes de clínicas en TypeScript y Node.js: agenda, turnos online, historia clínica, coberturas desde la autorización hasta la facturación y app del paciente

Mi rol
Diseñador UX/UI · Desarrollador Full Stack · Análisis de arquitectura
ClinviaClinvia
01

Contexto

Clinvia es una plataforma para redes de clínicas: agenda multiprofesional y multisede, turnos online con confirmación automática, historia clínica con evolución y prescripción, coberturas médicas desde la autorización hasta la facturación, informes de la red y una app para que el paciente reserve, confirme y haga teleconsulta.

Hice el producto, el UX/UI y el análisis de arquitectura. La base técnica es Medplum, una plataforma de salud open source sobre el estándar FHIR, en TypeScript y Node.js, que ya resuelve la API clínica, la autenticación, los permisos y la auditoría. El producto de clínica se construye encima.

Licencia
Apache-2.0
Mi rol
Diseñador UX/UI, desarrollador Full Stack, análisis de arquitectura
Stack
TypeScript, Node.js, FHIR R4, PostgreSQL, Redis, React
02

Problema de negocio

En una red de clínicas, la agenda vive en un sistema, la historia clínica en otro y la cobertura en una planilla. La recepción confirma turnos por teléfono, el médico busca el estudio anterior en una carpeta, la autorización se rechaza por falta de un documento que ya estaba en la historia y facturación recién descubre el rechazo cuando el dinero no entra.

Clinvia lo junta todo en un lugar: el mismo paciente, el mismo turno y la misma cobertura desde la reserva hasta la facturación, con el acceso a cada dato de salud controlado y registrado.

03

La base técnica

De Medplum vienen el servidor FHIR R4 con API REST y GraphQL, la autenticación OAuth 2.0 y OpenID con verificación en dos pasos, las políticas de acceso por proyecto y compartimento, el registro de auditoría, las suscripciones en tiempo real, los Bots, la biblioteca de agenda y las apps de ejemplo de portal del paciente, historia clínica y elegibilidad de cobertura.

04

El producto Clinvia

Las reglas de clínica y toda la interfaz: agenda con reserva temporal de horario, confirmación y recordatorios por mensaje, sala de espera, atención con evolución, CIE-10 y prescripción, autorizaciones y facturación de cobertura en el estándar TISS con rechazos y recurso, informes de la red, privacidad con registro de accesos y la app del paciente con teleconsulta.

05

Arquitectura

Todo dato clínico vive en el servidor FHIR de Medplum: paciente, agenda, atención, prescripción, cobertura y auditoría son recursos FHIR, sin base paralela. Clinvia es la capa de producto encima: la app de la clínica y la del paciente, las reglas de agenda y las integraciones con coberturas y mensajería, que corren como Bots y tareas en cola.

Medplum Server y capa Clinvia, la reserva de horario y el mapa de conceptos a FHIR
06

Decisiones de arquitectura y trade-offs

Seis decisiones registradas como ADRs: el contexto, lo que se decidió, el costo de cada una y cómo aparece para quien usa el producto.

Decisiones de arquitectura con contexto, costo y efecto en la pantalla
07

Arquitectura de información y flujos

El mapa del producto, los seis perfiles y los tres flujos más importantes: del turno online a la atención, el estudio que necesita autorización y la facturación hasta el rechazo.

Mapa del producto, perfiles y flujos principales
08

Las pantallas en Figma

Doce pantallas desktop con prototipo navegable, para la recepción, el cuerpo médico, facturación y la coordinación de la red.

  1. 01 / 10

    Visión del día

    Turnos del día, confirmaciones, sala de espera con el tiempo de cada paciente, ocupación por profesional y la alerta que importa ahora: la autorización que aún no salió para el turno de las 09:20.

  2. 02 / 10

    Agenda del día

    Cinco profesionales lado a lado, con la situación de cada turno en color y texto: confirmado, sin respuesta, esperando, en atención, atendido, ausente o teleconsulta, y la línea de la hora actual.

  3. 03 / 10

    Nuevo turno

    Horarios libres del profesional, elegibilidad de la cobertura verificada con la prepaga antes de reservar y la confirmación al paciente por mensaje. El horario queda reservado 5 minutos mientras la recepción confirma.

  4. 04 / 10

    Pacientes

    Búsqueda por nombre, CPF, teléfono o credencial, cobertura, último y próximo turno, alerta clínica (alergia, marcapasos) y la situación del consentimiento de datos de cada paciente.

  5. 05 / 10

    Historia clínica

    Resumen clínico con la presión arterial a lo largo de los meses, problemas activos con CIE-10, medicamentos en uso, signos vitales y la línea de tiempo de consultas, estudios y teleconsultas.

  6. 06 / 10

    Atención

    Evolución en formato SOAP con plantilla por especialidad, diagnósticos CIE-10, prescripción verificada contra la alergia registrada, pedidos de estudios con cobertura y lo que pasa al firmar: receta en la app, autorización enviada y control sugerido.

  7. 07 / 10

    Coberturas y autorizaciones

    Autorizaciones enviadas a las prepagas con estado y plazo, el rechazo con el motivo informado y lo que falta para el recurso, trayendo el ECG y la evolución directo de la historia clínica.

  8. 08 / 10

    Facturación y rechazos

    Lotes por prepaga en el estándar TISS, cobrado y por cobrar, y cada rechazo con el motivo y el próximo paso. Antes de cerrar el lote, cada orden se valida y lo que falla vuelve a la recepción.

  9. 09 / 10

    Informes

    Atenciones, ocupación, ausencias, espera media y turnos online, ausencias por día de la semana con la recomendación de recordatorio, ocupación por especialidad y atenciones por cobertura.

  10. 10 / 10

    Privacidad y accesos

    Perfiles de acceso aplicados en el servidor, el registro de quién abrió qué historia clínica, intentos bloqueados y accesos de emergencia con justificación, además de consentimientos, pedidos de los titulares y retención de datos.

09

Estados de la interfaz

Cargando, vacío con una próxima acción, la prepaga que no respondió (sin trabar el turno) y la respuesta de las tareas en segundo plano, como los recordatorios enviándose y el horario que otra persona confirmó primero.

Cargando, vacío, error y segundo plano
10

App del paciente

El próximo turno con confirmar y reprogramar, la credencial, recetas y pedidos de estudios que llegan después de la atención, la reserva con la cobertura verificada y la sala de teleconsulta.

Inicio, turnos y teleconsulta
11

Datos de salud con cuidado

El dato de salud es un dato sensible en la LGPD, y la interfaz se diseñó para eso:

Acceso por vínculo
El médico ve la historia clínica de los pacientes que atiende en su sede; la recepción ve el registro y la agenda, no la historia
Emergencia con justificación
Fuera del vínculo, solo con acceso de emergencia, que pide el motivo y avisa a la coordinación
Registro de accesos
Cada lectura de historia clínica se vuelve un registro de auditoría que no se puede editar ni borrar
Consentimiento visible
La situación del consentimiento aparece en la lista de pacientes y en la historia, junto a los pedidos de los titulares

Sistema Visual

Design system propio en Figma, con variables de color y componentes con variantes: botón, sello de estado del turno, ítem de menú y filtro. Verde azulado clínico para actuar, tinta azul petróleo para leer y un color por situación de la agenda, siempre acompañado de texto.

Paleta

Verde azulado

#0B7A75

Acción principal y marca

Tinta

#0B2027

Títulos y textos

Hielo

#E2F3F1

Selección e ítem activo

Ámbar

#B54708

En atención y alerta

Rojo

#B42318

Ausencia, alergia y rechazo

Violeta

#4F3CC9

Teleconsulta

Tipografía

Manrope

800

Títulos y números

Inter

400 / 500 / 600 / 700

Interfaz, tablas y formularios

JetBrains Mono

400

Horarios, órdenes y lotes

12

Próximas versiones

Lo que viene a continuación en el roadmap del producto:

RNDS
Enviar y consultar registros en la Red Nacional de Datos en Salud de Brasil, que también usa FHIR
Lista de espera
Ofrecer automáticamente el horario liberado por una cancelación a quien pidió un sobreturno
Resultados de laboratorio
Recibir los resultados de los laboratorios asociados directo en la historia clínica y en la app del paciente
13

Referencias y créditos

La base técnica de Clinvia es Medplum, de Medplum y la comunidad open source, publicado bajo la licencia Apache-2.0.

Repositorio
medplum/medplum
Documentación
medplum.com/docs
Estándar FHIR R4
hl7.org/fhir/R4
Licencia
Apache-2.0
14

Aprendizaje

En salud, el buen producto es el que no deja que el dato se pierda en el camino: el turno reservado es el mismo que se vuelve atención, autorización y lote. Usar un estándar como FHIR y una base que ya cuida permisos y auditoría deja el esfuerzo donde hace la diferencia: en las reglas de la clínica y en una interfaz que asume lo que está pendiente en lugar de esconderlo.