> ## Documentation Index
> Fetch the complete documentation index at: https://manual.laudos.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Consulta de Laudos

> Busca avançada e visualização de laudos médicos no aplicativo mobile

# Consulta de Laudos

O módulo de Laudos oferece acesso completo ao histórico de laudos médicos com ferramentas de busca avançada e filtros por modalidade de exame.

***

## Visão Geral da Interface

### Cabeçalho

| Elemento           | Função                                                |
| ------------------ | ----------------------------------------------------- |
| **Contador**       | Exibe o total de laudos encontrados na consulta atual |
| **Barra de Busca** | Campo de texto para pesquisa por título ou conteúdo   |
| **Filtros**        | Toggle para exibir/ocultar filtros por tipo de exame  |

### Lista de Resultados

Apresenta os laudos em cards com informações resumidas, ordenados por data de criação (mais recentes primeiro).

***

## Busca Textual

A barra de pesquisa realiza busca textual nos seguintes campos:

* **Título do laudo**
* **Tipo de exame**
* **Conteúdo (parcial)**

### Comportamento

* Busca é executada automaticamente após digitação
* Mínimo de 2 caracteres para iniciar a busca
* Resultados são atualizados em tempo real
* Busca é combinável com filtros de modalidade

<Note>
  A busca utiliza correspondência parcial (ILIKE), permitindo encontrar laudos mesmo com digitação incompleta.
</Note>

***

## Filtros por Modalidade

Selecione uma ou mais modalidades para refinar os resultados:

<CardGroup cols={4}>
  <Card title="TC Tórax" icon="lungs">
    Tomografia computadorizada de tórax
  </Card>

  <Card title="TC Crânio" icon="brain">
    Tomografia computadorizada de crânio
  </Card>

  <Card title="TC Abdomen" icon="stomach">
    Tomografia computadorizada abdominal
  </Card>

  <Card title="RM" icon="magnet">
    Ressonância magnética
  </Card>

  <Card title="US" icon="wave-square">
    Ultrassonografia
  </Card>

  <Card title="RX" icon="x-ray">
    Radiografia convencional
  </Card>

  <Card title="AngioTC" icon="heart-pulse">
    Angiotomografia
  </Card>

  <Card title="Todos" icon="list">
    Remove filtro de modalidade
  </Card>
</CardGroup>

### Comportamento dos Filtros

* Filtros são apresentados como pills horizontais com scroll
* Seleção única: apenas uma modalidade ativa por vez
* Filtro "Todos" remove a restrição de modalidade
* Filtros são combinados com busca textual

***

## Estrutura do Card de Laudo

```
┌──────────────────────────────────────────────────────────┐
│  📄  [TC TORAX]                          25/01/2026      │
│                                                          │
│      TC de tórax sem contraste - Avaliação de           │
│      nódulo pulmonar em paciente tabagista...           │
│                                                     ▶    │
└──────────────────────────────────────────────────────────┘
```

| Elemento   | Descrição                                |
| ---------- | ---------------------------------------- |
| **Ícone**  | Indicador visual de documento médico     |
| **Badge**  | Sigla da modalidade do exame em destaque |
| **Data**   | Data de criação do laudo                 |
| **Título** | Descrição do laudo (até 2 linhas)        |
| **Seta**   | Indicador de navegação para detalhes     |

***

## Visualização de Laudo

Ao selecionar um laudo, o sistema apresenta:

### Informações do Exame

* Tipo de exame
* Data de realização
* Instituição (quando disponível)

### Conteúdo do Laudo

* Texto completo formatado
* Seções estruturadas (Técnica, Achados, Impressão)
* Achados críticos destacados (se houver)

### Ações Disponíveis

* Compartilhar laudo
* Copiar texto
* Retornar à lista

***

## Paginação

O sistema implementa carregamento progressivo para otimização de performance:

| Parâmetro                   | Valor                              |
| --------------------------- | ---------------------------------- |
| **Registros por página**    | 20                                 |
| **Trigger de carregamento** | Scroll até 80% da lista            |
| **Indicador**               | "Carregando mais..." durante fetch |

### Comportamento

1. Primeira carga: 20 laudos mais recentes
2. Scroll até o final: carrega próxima página automaticamente
3. Indicador de progresso: "Mostrando X de Y laudos"
4. Fim da lista: Mensagem "Todos os laudos carregados"

***

## Atualização de Dados

| Ação                | Comportamento                                 |
| ------------------- | --------------------------------------------- |
| **Pull to Refresh** | Recarrega a lista do início, mantendo filtros |
| **Navegação**       | Retorna à posição anterior na lista           |
| **Busca**           | Reinicia paginação a cada nova pesquisa       |

***

## Estados da Interface

### Carregando

Exibe skeleton cards animados durante o carregamento inicial, proporcionando feedback visual de progresso.

### Lista Vazia

Mensagem contextual baseada no estado:

* **Sem filtros**: "Nenhum laudo encontrado. Seus laudos aparecerão aqui após criação."
* **Com filtros**: "Nenhum resultado para os filtros selecionados. Tente ajustar os critérios de busca."

### Erro

Em caso de falha na conexão, exibe opção de tentar novamente com o botão de refresh.

***

## Performance

O módulo de laudos foi otimizado para:

* **Lazy loading** de imagens e conteúdo extenso
* **Debounce** na busca textual (300ms)
* **Cache local** para navegação rápida entre detalhes e lista
* **Compressão** de dados na transferência

<Note>
  Para melhor experiência em conexões lentas, o sistema prioriza carregamento de metadados antes do conteúdo completo.
</Note>
