RevisIA — Check My Reports
A RevisIA utiliza um provider de IA para revisar o conteúdo do laudo, corrigir ortografia e apontar possíveis inconsistências clínicas com base no contexto do exame e do paciente. A funcionalidade está disponível na tela de laudário do portal legado, acionada por um botão dedicado.
Para quem é
| Persona | Quem é | O que faz aqui |
|---|---|---|
| Gestor | perfil administrativo da unidade | pode utilizar a RevisIA no laudário, conforme permissões |
| Proprietário | perfil com acesso ampliado | pode utilizar a RevisIA no laudário |
| Médico | radiologista / laudador | revisa o laudo em edição antes de assinar |
| Residente | médico em formação | revisa o laudo em edição, conforme permissões |
Pré-requisitos
- Portal legado com laudário aberto para um exame.
- Termo de uso de IA aceito (unidade e/ou usuário, conforme escopo da configuração).
- Funcionalidade Check My Reports ativa e configurada:
- na unidade — ver Configuração por empresa;
- no usuário — ver Configuração por usuário.
- Provider, modelo e token válidos para a funcionalidade.
- Laudo com conteúdo preenchido (corpo do documento não pode estar vazio).
Diagrama de sequência
Fluxo principal ao clicar em RevisIA:
Etapas
1. Abrir o laudário
Na lista de exames do portal legado, localize o exame e clique em Abrir Laudário.

2. Acionar a RevisIA
Com o laudário aberto e o laudo preenchido, clique no botão RevisIA. A interface envia para a AI-API as informações do exame e do documento.

Dados enviados (exemplo):
| Grupo | Campos |
|---|---|
| Exame | descrição do estudo, preparação do estudo, modalidade |
| Paciente | sexo, idade |
| Laudo | conteúdo HTML/texto do documento |
3. Visualizar resultado no modal
Após resposta bem-sucedida da API, um modal exibe:
- Laudo revisado — texto com ortografia corrigida;
- Observações — anotações sobre inconsistências médicas encontradas e correções ortográficas realizadas.

4. Aplicar no documento (opcional)
O usuário pode aceitar o laudo revisado para substituir ou incorporar o conteúdo no editor do laudário.

Campos / entradas
| Campo / origem | Descrição |
|---|---|
companyId | ID da unidade (empresa) |
reports[].body | Conteúdo do laudo em edição |
reports[].context.modality | Modalidade do exame |
reports[].context.studyDescription | Descrição do estudo |
reports[].context.studyPreparation | Preparação do estudo |
reports[].context.patient.sex | Sexo do paciente (M / F) |
reports[].context.patient.age | Idade do paciente |
language | Idioma da resposta (pt-BR, es-ES, en-US) |
Saída esperada
| Campo | Descrição |
|---|---|
check[].body | Laudo com ortografia corrigida |
check[].observations | Observações: inconsistências médicas e correções ortográficas realizadas |
Endpoints utilizados
| Endpoint | Descrição |
|---|---|
AI_API POST /check/my-reports | Envia laudo e contexto do exame/paciente; retorna laudo revisado e observações. |
AI_API POST /reformulate/response | Reformula a verificação com um novo prompt informado pelo usuário no modal. |
→ Detalhe técnico: Check My Reports — OpenAPI
Regras de negócio
| ID | Regra | Comportamento esperado |
|---|---|---|
| RN-01 | Laudo vazio | A verificação não é enviada; exibe toast de atenção. |
| RN-02 | Configuração ausente | Toast indicando ausência de configuração (unidade, usuário ou genérica). |
| RN-03 | Sucesso parcial | Modal abre com erro em vermelho na área do laudo; botões de usar/reformular seguem regra de “houve correção”. |
| RN-04 | Reformular | Novo prompt não pode estar vazio. |
| RN-05 | Escopo | Portal legado; laudário. |
Mapeamento de erros
| Situação | Resposta da API | Comportamento |
|---|---|---|
| Clicar em RevisIA com laudo vazio | Toast de atenção: o laudo não pode estar vazio. A verificação não é enviada. | |
| API de verificação retorna resposta vazia / sem dados | AI_API POST /check/my-reports | Toast de atenção dizendo que não foi possível verificar o laudo. O modal não abre. |
| API de verificação falha (erro HTTP / integração) | AI_API POST /check/my-reports | Toast de erro traduzido pelo resolvedor de erros da IA (ou mensagem padrão de falha na verificação). O modal não abre. |
| Configuração da funcionalidade não encontrada (unidade) | AI_API POST /check/my-reports | Toast de atenção indicando ausência de configuração na unidade. |
| Configuração da funcionalidade não encontrada (usuário) | AI_API POST /check/my-reports | Toast de atenção indicando ausência de configuração do usuário. |
| Configuração de IA não encontrada (genérico / companyId) | AI_API POST /check/my-reports | Toast de atenção dizendo que a configuração não foi encontrada. |
| Provider/modelo inválido ou descontinuado | AI_API POST /check/my-reports | Toast de erro específico de modelo inválido/descontinuado (pode citar o modelo). |
| Token / chave de API inválida ou rejeitada pelo provider | AI_API POST /check/my-reports | Toast de erro da integração IA (título pode incluir o provider). |
| Erro genérico do provider / BadRequest | AI_API POST /check/my-reports | Toast com a mensagem tratada pelo resolvedor (ou a mensagem bruta do provider, conforme o tipo). |
| Timeout / job da IA estoura (pooling) | AI_API POST /check/my-reports | Toast de erro de operação / timeout do processamento. |
Verificação “sucesso parcial”: item check[0] com success: false | AI_API POST /check/my-reports | O modal abre, mas o conteúdo mostra o erro em vermelho dentro da área do laudo (prefixo de erro da IA). Botões de usar/reformular seguem a regra de “houve correção”. |
| Reformular verificação com prompt vazio | Toast de atenção: o novo prompt não pode estar vazio. Nada é enviado. | |
| Reformular verificação — API falha | AI_API POST /reformulate/response | Toast de erro (resolvedor da IA ou mensagem padrão de falha na verificação). O laudo do modal não muda. |
| Reformular verificação — resposta vazia | AI_API POST /reformulate/response | Toast de atenção dizendo que não foi possível verificar o laudo. O conteúdo do modal permanece o anterior. |