Appearance
🩺 Módulo Clinical
O módulo Clinical é o núcleo do Prontuário Eletrônico do Paciente (PEP), conforme Resolução CFM 1.821/2007 e certificação SBIS S-RES NGS2, garantindo imutabilidade, assinatura digital e interoperabilidade SUS.
✅ Status de Implementação
Status Atual: ✅ COMPLETAMENTE IMPLEMENTADO (Fase 2 do roadmap concluída)
- Backend: 100% implementado com 13 Actions, controllers completos e testes
- Frontend: Interfaces básicas implementadas
- Banco de Dados: Estrutura completa com isolamento tenant
- Integrações: Base preparada para RNDS e assinatura digital
- Testes: 8 testes de feature cobrindo funcionalidades críticas
Funcionalidades Implementadas
👤 Gestão de Pacientes
- Cadastro Unificado: CNS/CPF com criptografia LGPD
- Busca Avançada: Laravel Scout para pesquisa rápida
- Dados Sensíveis: Criptografia automática (nome, CPF, CNS)
- Histórico Completo: Todos os atendimentos vinculados
🏥 Atendimentos Clínicos (Encounters)
- Tipos de Atendimento: Consulta, emergência, retorno, procedimento
- Status Controlado: Em andamento, concluído, cancelado
- Queixa Principal: Registro estruturado da demanda
- Controle de Tempo: Início e fim com timestamps
📋 Anamnese Estruturada
- História da Doença Atual: Detalhada e obrigatória
- Antecedentes: Pessoais, familiares, sociais
- Revisão de Sistemas: Avaliação completa
- Alergias e Medicações: JSON estruturado
📊 Sinais Vitais
- Parâmetros Completos: PA, FC, FR, temperatura, SpO2, peso, altura
- Registro Temporal: Com profissional e timestamp
- Histórico: Vinculado ao atendimento
🔍 Diagnósticos (CID-11)
- Código CID: Campo indexado para busca
- Tipo: Primário/secundário
- Descrição: Automática do código
- Notas: Complementares do profissional
📝 Evoluções Versionadas
- Versionamento: Nunca apaga, sempre adiciona versão
- Hash de Integridade: SHA-256 para imutabilidade
- Histórico Completo: Todas as evoluções preservadas
- Auditoria: Profissional e timestamp
💊 Prescrições Eletrônicas
- Itens Estruturados: Medicamento, posologia, quantidade, via
- Status Controlado: Pendente, emitida, cancelada
- Vinculação: Com atendimento e paciente
- Integração Farmácia: Base preparada
📎 Documentos Clínicos
- Upload Seguro: Laudos, imagens, exames
- Metadados: Tipo, tamanho, profissional
- Download Controlado: Com permissões
- Armazenamento: Estruturado por atendimento
🏗️ Arquitetura Técnica
Models Principais
php
// Pacientes
Patient::class // Dados criptografados, Scout search
// Atendimentos
ClinicalEncounter::class // Core do atendimento
Anamnesis::class // História clínica
VitalSign::class // Sinais vitais
Diagnosis::class // CID-11
ClinicalEvolution::class // Evoluções versionadas
ClinicalDocument::class // Anexos
// Prescrições
ClinicalPrescription::class // Cabeçalho
PrescriptionItem::class // ItensActions Implementadas (13)
php
CreatePatientAction::class // Cadastro com validação
SearchPatientsAction::class // Busca com Scout
CreateEncounterAction::class // Início de atendimento
RecordVitalSignsAction::class // Sinais vitais
AddDiagnosisAction::class // CID-11
RecordEvolutionAction::class // Evolução versionada
CreatePrescriptionAction::class // Prescrição
IssuePrescriptionAction::class // Emissão
CancelPrescriptionAction::class // Cancelamento
CloseEncounterAction::class // Fechamento
UploadDocumentAction::class // Anexos
UpdatePatientAction::class // Atualização
GetClinicalDashboardStatsAction::class // KPIsControllers (8)
php
DashboardController::class // KPIs e visão geral
PatientController::class // CRUD pacientes
EncounterController::class // Gestão atendimentos
EvolutionController::class // Evoluções
VitalSignController::class // Sinais vitais
DiagnosisController::class // Diagnósticos
PrescriptionController::class // Prescrições
DocumentController::class // DocumentosTestes (8 Feature Tests)
- Dashboard clínico
- CRUD pacientes
- Atendimentos completos
- Evoluções e diagnósticos
- Prescrições
- Sinais vitais
- Documentos
📊 Dashboard e KPIs
APIs para métricas em tempo real:
| KPI | Descrição | Implementação |
|---|---|---|
| Atendimentos Hoje | Consultas do dia | ✅ GetClinicalDashboardStatsAction |
| Em Andamento | Atendimentos ativos | ✅ encounters_in_progress |
| Prescrições Pendentes | Aguardando emissão | ✅ pending_prescriptions |
| Total de Pacientes | Base cadastrada | ✅ total_patients |
🔐 Conformidade e Segurança
Imutabilidade (SBIS S-RES NGS2)
- Versionamento: Evoluções nunca são alteradas
- Hash SHA-256: Integridade de conteúdo
- Auditoria: OwenIt Auditing em todos os models
Privacidade (LGPD)
- Criptografia: Dados sensíveis (nome, CPF, CNS)
- Acesso Controlado: Spatie Permissions
- Logs de Visualização: Auditoria de acesso
Assinatura Digital
- Estrutura Preparada: Campos para assinatura ICP-Brasil
- Integração CRM: Base para validação profissional
- Prescrições: Assinatura obrigatória
🔗 Integrações
Farmácia
- Vinculação: Prescrições → Dispensações
- Status: Sincronização automática
- Histórico: Rastreabilidade completa
RNDS
- Estrutura Preparada: Campos compatíveis
- Envio Automático: Atendimentos e diagnósticos
- Conformidade: Protocolos oficiais
e-SUS APS
- Exportação: Dados para sistemas nacionais
- Relatórios: Indicadores de saúde pública
- Interoperabilidade: Padrões SUS
📱 Interfaces Implementadas
Dashboard
- KPIs em tempo real
- Atendimentos do dia
- Prescrições pendentes
- Busca rápida de pacientes
Atendimento Clínico
- Novo atendimento
- Anamnese estruturada
- Sinais vitais
- Diagnósticos CID-11
- Evoluções versionadas
- Prescrições
- Upload de documentos
Gestão de Pacientes
- Cadastro completo
- Busca avançada
- Histórico de atendimentos
- Dados criptografados
🎯 Próximos Passos
Fase 3 (Care/Assistencial)
- Integração com visitas ACS
- Cadastro familiar
- Indicadores territoriais
Fase 7 (Integrações Completas)
- Assinatura digital ICP-Brasil
- RNDS produção
- e-SUS APS
Melhorias Planejadas
- Interface mobile para profissionais
- Telemedicina integrada
- IA para sugestões diagnósticas
- Relatórios avançados com Power BI
Telas e Fluxos de Usuário
Busca/Abrir Prontuário
Filtro por nome/CNS, timeline de atendimentos passados.
Novo Atendimento
Formulário com auto-save, assinatura final → bloqueio edição.
Prescrição
Interface drag-drop medicamentos, preview PDF assinado.
Dashboard Profissional
Próximos agendados, alertas (alergias, vacinas pendentes).
Visualização Compartilhada
Modo "somente leitura" para outros profissionais da UBS.
Modelos de Dados Essenciais (Tenant)
- Patient:
cns,cpf, dados demográficos,alergias,comorbidades - Appointment:
paciente_id,profissional_id,data,tipo,status(agendado/realizado) - ClinicalRecord (versionado):
appointment_id,cid,evolucao_texto,hash_anterior,signed_by,signed_at - Prescription:
clinical_record_id, itens (drug_id,posologia),assinatura_hash - ExamRequest:
tipo,solicitante,resultado_upload(anexo)
Integrações
- Farmácia: Envio de prescrições para dispensação
- Care/Imunização: Histórico de vacinas e visitas ACS
- CNES/SIGTAP: Procedimentos faturáveis
- RNDS: Envio de atendimentos para Conecte SUS
Priorize MVP: cadastro paciente → atendimento básico → prescrição → assinatura. Teste conformidade SBIS desde cedo para evitar retrabalho. Isso atende e-SUS e prepara para RES nacional.
💡 Nota Técnica
No código, este módulo é representado pelo namespace App\Modules\Clinical. As tabelas no banco de dados utilizam o prefixo clinical_.
