Padrões de Desenvolvimento EMR para Saúde
Padrões para construção de sistemas de Registro Médico Eletrônico (EMR) e Prontuário Eletrônico do Paciente (EHR). Prioriza segurança do paciente, precisão clínica e eficiência do profissional de saúde.
Quando Usar
- Construção de fluxos de atendimento ao paciente (queixa, exame, diagnóstico, prescrição)
- Implementação de anotações clínicas (estruturadas + texto livre + voz para texto)
- Projeto de módulos de prescrição/medicação com verificação de interações medicamentosas
- Integração com Sistemas de Apoio à Decisão Clínica (SADC)
- Construção de exibição de resultados laboratoriais com destaque de faixas de referência
- Implementação de trilhas de auditoria para dados clínicos
- Projeto de UIs acessíveis para entrada de dados clínicos
Como Funciona
Segurança do Paciente em Primeiro Lugar
Cada decisão de design deve ser avaliada contra: "Isso poderia prejudicar um paciente?"
- Interações medicamentosas DEVEM alertar, não passar silenciosamente
- Valores laboratoriais anormais DEVEM ser sinalizados visualmente
- Sinais vitais críticos DEVEM acionar fluxos de escalonamento
- Nenhuma modificação de dados clínicos sem trilha de auditoria
Fluxo de Atendimento em Página Única
Os atendimentos clínicos devem fluir verticalmente em uma única página — sem alternância de abas:
Cabeçalho do Paciente (fixo — sempre visível)
├── Dados demográficos, alergias, medicações ativas
│
Fluxo do Atendimento (rolagem vertical)
├── 1. Queixa Principal (modelos estruturados + texto livre)
├── 2. História da Doença Atual
├── 3. Exame Físico (por sistemas)
├── 4. Sinais Vitais (disparo automático de escore clínico)
├── 5. Diagnóstico (busca CID-10/SNOMED)
├── 6. Medicações (banco de dados + verificação de interações)
├── 7. Investigações (pedidos de exames laboratoriais/radiologia)
├── 8. Plano e Acompanhamento
└── 9. Assinar / Bloquear / Imprimir
Sistema Inteligente de Modelos
interface ClinicalTemplate {
id: string;
name: string; // ex., "Dor no Peito"
chips: string[]; // chips de sintomas clicáveis
requiredFields: string[]; // pontos de dados obrigatórios
redFlags: string[]; // dispara alerta não dispensável
icdSuggestions: string[]; // códigos de diagnóstico pré-mapeados
}
Bandeiras vermelhas em qualquer modelo devem disparar um alerta visível e não dispensável — NÃO uma notificação toast.
Padrão de Segurança de Medicação
Usuário seleciona medicamento
→ Verificar medicamentos atuais quanto a interações
→ Verificar medicamentos do atendimento quanto a interações
→ Verificar alergias do paciente
→ Validar dose contra peso/idade/função renal
→ Se interação CRÍTICA: BLOQUEAR prescrição completamente
→ Clínico deve documentar motivo da exceção para prosseguir após bloqueio
→ Se interação GRAVE: exibir aviso, exigir confirmação
→ Registrar todos os alertas e motivos de exceção na trilha de auditoria
Interações críticas bloqueiam a prescrição por padrão. O clínico deve explicitamente contornar com um motivo documentado armazenado na trilha de auditoria. O sistema nunca permite silenciosamente uma interação crítica.
Padrão de Atendimento Bloqueado
Uma vez que um atendimento clínico é assinado:
- Nenhuma edição permitida — apenas um adendo (um registro vinculado separado)
- Tanto o original quanto o adendo aparecem na linha do tempo do paciente
- A trilha de auditoria registra quem assinou, quando e quaisquer registros de adendo
Padrões de UI para Dados Clínicos
Exibição de Sinais Vitais: Valores atuais com destaque de faixa normal (verde/amarelo/vermelho), setas de tendência em relação ao anterior, escore clínico calculado automaticamente (NEWS2, qSOFA), orientação de escalonamento inline.
Exibição de Resultados Laboratoriais: Destaque de faixa normal, comparação com valor anterior, valores críticos com alerta não dispensável, timestamps de coleta/análise, pedidos pendentes com prazo de entrega esperado.
PDF de Prescrição: Geração em um clique com dados demográficos do paciente, alergias, diagnóstico, detalhes do medicamento (genérico + marca, dose, via, frequência, duração), bloco de assinatura do clínico.
Acessibilidade para Saúde
UIs de saúde têm requisitos mais rigorosos do que aplicativos web típicos:
- Contraste mínimo de 4.5:1 (WCAG AA) — clínicos trabalham em iluminação variada
- Alvos de toque grandes (mínimo 44x44px) — para interação com luvas ou apressada
- Navegação por teclado — para usuários avançados inserindo dados rapidamente
- Sem indicadores apenas por cor — sempre emparelhar cor com texto/ícone (clínicos daltônicos)
- Rótulos de leitor de tela em todos os campos de formulário
- Sem toasts que se auto-dispensam para alertas clínicos — clínico deve confirmar ativamente
Antipadrões
- Armazenar dados clínicos no localStorage do navegador
- Falhas silenciosas na verificação de interações medicamentosas
- Toasts dispensáveis para alertas clínicos críticos
- UIs de atendimento baseadas em abas que fragmentam o fluxo de trabalho clínico
- Permitir edições em atendimentos assinados/bloqueados
- Exibir dados clínicos sem trilha de auditoria
- Usar o tipo
anypara estruturas de dados clínicos
Exemplos
Exemplo 1: Fluxo de Atendimento ao Paciente
Médico abre atendimento para Paciente #4521
→ Cabeçalho fixo mostra: "Rajesh M, 58M, Alergias: Penicilina, Medicações Ativas: Metformina 500mg"
→ Queixa Principal: seleciona modelo "Dor no Peito"
→ Clica em chips: "subesternal", "irradiando para braço esquerdo", "opressiva"
→ Bandeira vermelha "dor torácica opressiva subesternal" dispara alerta não dispensável
→ Exame: sistema CVS — "S1 S2 normais, sem sopro"
→ Sinais Vitais: FC 110, PA 90/60, SpO2 94%
→ NEWS2 calcula automaticamente: escore 8, risco ALTO, alerta de escalonamento exibido
→ Diagnóstico: pesquisa "SCA" → seleciona CID-10 I21.9
→ Medicações: seleciona AAS 300mg
→ SADC verifica contra Metformina: sem interação
→ Assina atendimento → bloqueado, apenas adendo a partir deste ponto
Exemplo 2: Fluxo de Segurança de Medicação
Médico prescreve Varfarina para Paciente #4521
→ SADC detecta: Varfarina + AAS = interação CRÍTICA
→ UI: modal vermelho não dispensável bloqueia prescrição
→ Médico clica "Contornar com motivo"
→ Digita: "Benefícios superam riscos — protocolo de RNI monitorado"
→ Motivo da exceção + alerta armazenados na trilha de auditoria
→ Prescrição prossegue com exceção documentada
Exemplo 3: Atendimento Bloqueado + Adendo
Atendimento #E-2024-0891 assinado pelo Dr. Silva às 14:30
→ Todos os campos bloqueados — nenhum botão de edição visível
→ Botão "Adicionar Adendo" disponível
→ Dr. Silva clica em adendo, adiciona: "Resultados laboratoriais recebidos — Troponina elevada"
→ Novo registro E-2024-0891-A1 vinculado ao original
→ Linha do tempo mostra ambos: atendimento original + adendo com timestamps