Voltar para o portfólio
Saúde · TypeScript e Node.js

Clinvia

Plataforma para redes de clínicas em TypeScript e Node.js: agenda, agendamento online, prontuário, convênios do pedido de autorização ao faturamento e app do paciente

Meu papel
Designer UX/UI · Desenvolvedor Full Stack · Análise de arquitetura
ClinviaClinvia
01

Contexto

Clinvia é uma plataforma para redes de clínicas: agenda multiprofissional e multiunidade, agendamento online com confirmação automática, prontuário com evolução clínica e prescrição, convênios do pedido de autorização ao faturamento, relatórios da rede e um app para o paciente agendar, confirmar e fazer teleconsulta.

Fiz o produto, o UX/UI e a análise de arquitetura. A fundação técnica é o Medplum, uma plataforma de saúde open source sobre o padrão FHIR, em TypeScript e Node.js, que já resolve API clínica, autenticação, permissões e auditoria. O produto de clínica é construído em cima dela.

Fundação técnica
Medplum · medplum/medplum
Licença
Apache-2.0
Meu papel
Designer UX/UI, desenvolvedor Full Stack, análise de arquitetura
Stack
TypeScript, Node.js, FHIR R4, PostgreSQL, Redis, React
02

Problema de negócio

Numa rede de clínicas, a agenda mora num sistema, o prontuário em outro e o convênio numa planilha. A recepção confirma consulta por telefone, o médico procura o exame anterior em pasta, a guia é negada por falta de documento que já estava no prontuário e o faturamento só descobre a glosa quando o dinheiro não entra.

A Clinvia junta tudo num lugar: o mesmo paciente, a mesma consulta e o mesmo convênio da marcação ao faturamento, com o acesso a cada dado de saúde controlado e registrado.

03

A fundação técnica

Do Medplum vêm o servidor FHIR R4 com API REST e GraphQL, a autenticação OAuth 2.0 e OpenID com verificação em duas etapas, as políticas de acesso por projeto e compartimento, o registro de auditoria, as assinaturas em tempo real, os Bots, a biblioteca de agenda e os apps de exemplo de portal do paciente, prontuário e elegibilidade de convênio.

04

O produto Clinvia

As regras de clínica e toda a interface: agenda com reserva temporária de horário, confirmação e lembretes por mensagem, sala de espera, atendimento com evolução, CID-10 e prescrição, autorizações e faturamento de convênio no padrão TISS com glosas e recurso, relatórios da rede, privacidade com trilha de acesso e o app do paciente com teleconsulta.

05

Arquitetura

Todo dado clínico mora no servidor FHIR do Medplum: paciente, agenda, atendimento, prescrição, convênio e auditoria são recursos FHIR, sem banco paralelo. A Clinvia é a camada de produto em cima: o app da clínica e o do paciente, as regras de agenda e as integrações com operadoras e mensageria, que rodam como Bots e tarefas em fila.

Medplum Server e camada Clinvia, a reserva de horário e o mapa dos conceitos para o FHIR
06

Decisões de arquitetura e trade-offs

Seis decisões registradas como ADRs: o contexto, o que foi decidido, o custo de cada uma e como ela aparece para quem usa o produto.

Decisões de arquitetura com contexto, custo e efeito na tela
07

Arquitetura de informação e fluxos

O mapa do produto, os seis perfis e os três fluxos que mais importam: do agendamento online ao atendimento, o exame que precisa de autorização e o faturamento até a glosa.

Mapa do produto, perfis e fluxos principais
08

As telas no Figma

Doze telas desktop com protótipo navegável, para a recepção, o corpo clínico, o faturamento e a coordenação da rede.

  1. 01 / 10

    Visão do dia

    Consultas do dia, confirmações, sala de espera com o tempo de cada paciente, ocupação por profissional e o alerta que importa agora: a guia que ainda não foi autorizada para a consulta das 09:20.

  2. 02 / 10

    Agenda do dia

    Cinco profissionais lado a lado, com a situação de cada consulta em cor e texto: confirmada, sem resposta, aguardando, em atendimento, atendida, faltou ou teleconsulta, e a linha do horário atual.

  3. 03 / 10

    Novo agendamento

    Horários livres do profissional, elegibilidade do convênio conferida na operadora antes de marcar e a confirmação com o paciente por mensagem. O horário fica reservado por 5 minutos enquanto a recepção confirma.

  4. 04 / 10

    Pacientes

    Busca por nome, CPF, telefone ou carteirinha, convênio, última e próxima consulta, alerta clínico (alergia, marca-passo) e a situação do consentimento de dados de cada paciente.

  5. 05 / 10

    Prontuário

    Resumo clínico com a pressão arterial ao longo dos meses, problemas ativos com CID-10, medicamentos em uso, sinais vitais e a linha do tempo de consultas, exames e teleconsultas.

  6. 06 / 10

    Atendimento

    Evolução no formato SOAP com modelo por especialidade, diagnósticos CID-10, prescrição conferida contra a alergia registrada, pedidos de exame com cobertura e o que acontece ao assinar: receita no app, guia enviada e retorno sugerido.

  7. 07 / 10

    Convênios e autorizações

    Guias enviadas às operadoras com status e prazo, a negativa com o motivo informado e o que falta para o recurso, puxando o ECG e a evolução direto do prontuário.

  8. 08 / 10

    Faturamento e glosas

    Lotes por operadora no padrão TISS, recebido e a receber, e cada glosa com o motivo e o próximo passo. Antes de fechar o lote, cada guia é validada e o que falha volta para a recepção.

  9. 09 / 10

    Relatórios

    Atendimentos, ocupação, faltas, espera média e agendamento online, faltas por dia da semana com a recomendação de lembrete, ocupação por especialidade e atendimentos por convênio.

  10. 10 / 10

    Privacidade e acessos

    Perfis de acesso aplicados no servidor, a trilha de quem abriu qual prontuário, tentativas bloqueadas e acessos de emergência com justificativa, além de consentimentos, pedidos dos titulares e retenção de dados.

09

Estados da interface

Carregando, vazio com uma próxima ação, a operadora que não respondeu (sem travar o agendamento) e o retorno das tarefas em segundo plano, como os lembretes sendo enviados e o horário que outra pessoa confirmou primeiro.

Carregando, vazio, erro e segundo plano
10

App do paciente

A próxima consulta com confirmar e remarcar, a carteirinha, receitas e pedidos de exame que chegam depois do atendimento, o agendamento com a cobertura conferida e a sala de teleconsulta.

Início, agendamento e teleconsulta
11

Dado de saúde com cuidado

Dado de saúde é dado sensível na LGPD, e a interface foi desenhada para isso:

Acesso pelo vínculo
O médico vê o prontuário dos pacientes que atende na sua unidade; a recepção vê cadastro e agenda, não o prontuário
Emergência com justificativa
Fora do vínculo, só com acesso de emergência, que pede o motivo e avisa a coordenação
Trilha de acesso
Cada leitura de prontuário vira um registro de auditoria que não pode ser editado nem apagado
Consentimento visível
A situação do consentimento aparece na lista de pacientes e no prontuário, junto dos pedidos dos titulares

Sistema Visual

Design system próprio no Figma, com variáveis de cor e componentes com variantes: botão, selo de status da consulta, item de menu e filtro. Verde-azulado clínico para agir, tinta azul-petróleo para ler e uma cor por situação da agenda, sempre acompanhada de texto.

Paleta

Verde-azulado

#0B7A75

Ação principal e marca

Tinta

#0B2027

Títulos e textos

Gelo

#E2F3F1

Seleção e item ativo

Âmbar

#B54708

Em atendimento e atenção

Vermelho

#B42318

Falta, alergia e negativa

Violeta

#4F3CC9

Teleconsulta

Tipografia

Manrope

800

Títulos e números

Inter

400 / 500 / 600 / 700

Interface, tabelas e formulários

JetBrains Mono

400

Horários, guias e lotes

12

Próximas versões

O que vem a seguir no roadmap do produto:

RNDS
Enviar e consultar registros na Rede Nacional de Dados em Saúde, que também usa FHIR
Lista de espera
Oferecer automaticamente o horário liberado por um cancelamento a quem pediu encaixe
Laudos de laboratório
Receber os resultados dos laboratórios parceiros direto no prontuário e no app do paciente
13

Referências e créditos

A fundação técnica da Clinvia é o Medplum, da Medplum e da comunidade open source, publicado sob a licença Apache-2.0.

Repositório
medplum/medplum
Documentação
medplum.com/docs
Padrão FHIR R4
hl7.org/fhir/R4
Licença
Apache-2.0
14

Aprendizado

Em saúde, o produto bom é o que não deixa o dado se perder no caminho: a consulta marcada é a mesma que vira atendimento, guia e lote. Usar um padrão como o FHIR e uma fundação que já cuida de permissão e auditoria deixa o esforço onde ele faz diferença: nas regras da clínica e numa interface que assume o que está pendente, em vez de esconder.