Skip to main content

Gerador de laudos por imagens — Check Image

A funcionalidade Gerador de laudos por imagens (check_image) utiliza um provider de IA para analisar imagens capturadas no viewer e gerar um laudo estruturado, com base no contexto do exame e do paciente.

O fluxo ocorre no new viewer (iframe) integrado ao portal legado: o usuário seleciona imagens agrupadas por série (até 12 no total), aciona o botão de IA em qualquer imagem selecionada e o portal envia o conjunto via postMessage, chama a AI-API e insere o HTML gerado diretamente no editor do laudário (TinyMCE), com o painel de laudo expandido à direita do viewer. Não há modal de IA nem reformulação neste fluxo.

A configuração é por modalidade (MR, CT, CR, DX, etc.): o escopo enviado na requisição é scope-type: modality e scope-value igual à modalidade do exame.


Para quem é

PersonaQuem éO que faz aqui
Gestorperfil administrativo da unidadegera laudo a partir das imagens no viewer
Proprietárioperfil com acesso ampliadogera laudo a partir das imagens no viewer
Médicoradiologista / laudadorgera sugestão de laudo pelas imagens e revisa no editor
Residentemédico em formaçãogera sugestão de laudo pelas imagens, conforme permissões

Permissão: exige perfil GESTOR, PROPRIETARIO, MEDICO ou RESIDENTE. Demais perfis recebem aviso e a IA não é chamada.


Pré-requisitos

  • Portal legado com new viewer aberto para um exame (com laudário disponível para receber o conteúdo).
  • Perfil GESTOR, PROPRIETARIO, MÉDICO ou RESIDENTE.
  • Termo de uso de IA aceito (unidade e/ou usuário, conforme escopo da configuração).
  • Funcionalidade Check Image (check_image) ativa e configurada para a modalidade do exame:
  • Provider, modelo e token válidos para a modalidade.
  • Entre 1 e 12 imagens selecionadas no viewer (total entre todas as séries).
  • Editor do laudário carregado (para aplicar o resultado).

Diagrama de sequência

Fluxo principal — seleção de imagens e geração do laudo:

Diferença em relação às funcionalidades do laudário: não abre modalMobileIA e não chama POST /reformulate/response.


Etapas

1. Abrir o new viewer

Na listagem de exames do portal legado, abra o exame no new viewer integrado ao laudário.

Abrir o new viewer


2. Selecionar imagens no viewer

As imagens do exame são organizadas em séries — cada série contém uma ou mais imagens. Use a barra lateral e a área de exibição para escolher quais imagens enviar à IA (entre 1 e 12 no total).

2.1 Agrupamento por séries

O agrupamento é feito por série: cada série possui uma ou mais imagens. As séries são listadas na barra lateral esquerda, com um checkbox que, quando marcado, seleciona todas as imagens daquela série de uma vez.

Séries na barra lateral com checkbox

2.2 Dividir a exibição

O usuário pode dividir a exibição das imagens de uma mesma série em múltiplos painéis, facilitando a visualização e a seleção individual.

Exibição dividida das imagens da série

2.3 Selecionar uma série inteira

Ao marcar o checkbox ou selecionar todas as imagens de uma série, a série correspondente fica marcada na barra lateral.

Série inteira selecionada

2.4 Selecionar entre séries

Imagens de duas ou mais séries podem ser selecionadas — totalmente (série inteira) ou parcialmente (apenas algumas imagens de cada série), respeitando o limite de 12 imagens no total.

Seleção parcial ou total em múltiplas séries


3. Acionar a IA e receber o laudo no editor

Com uma ou mais imagens selecionadas, clique no botão de IA exibido em qualquer imagem marcada — todas as imagens selecionadas (até 12) serão enviadas juntas.

O portal valida permissão e quantidade. Se houver cache para o conjunto de imageIds (ordenado), o idioma e o usuário, reutiliza o HTML; caso contrário, monta FormData e chama a AI-API com escopo de modalidade.

Após resposta bem-sucedida (ou cache), o HTML de check[0].body é inserido diretamente no editor do laudário (TinyMCE) e o painel de laudo é expandido à direita do viewer — sem modal de IA.

Botão de IA e laudo aplicado no editor

Dados enviados (exemplo):

GrupoCampos
Imagensimages (blobs PNG), imagesMeta (JSON com imageId, série, índice, etc.)
Unidade / usuáriocompanyId, userId
Examemodality, studyDescription, studyPreparation
PacientepatientSex, patientAge
Idiomalanguage (pt-BR, es-ES, en-US)
Headers de escoposcope-type: modality, scope-value: <modalidade>

Campos / entradas

Campo / origemDescrição
imagesArquivos de imagem capturados no viewer (FormData)
imagesMetaMetadados das imagens (JSON)
companyIdID da unidade — também no path da URL
userIdID do usuário logado
modalityModalidade do exame (define o escopo da config IA)
studyDescriptionDescrição do estudo
studyPreparationMarcações clínicas (JSON)
patientSexSexo do paciente (M / F)
patientAgeIdade do paciente
languageIdioma da resposta (pt-BR, es-ES, en-US)

Saída esperada

CampoDescrição
check[].bodyHTML do laudo gerado a partir das imagens (aplicado no editor)

Endpoints utilizados

EndpointDescrição
AI_API POST /check/images/{companyId}Envia imagens (multipart) e contexto do exame/paciente; retorna o laudo em check[].body.

→ Detalhe técnico: Check Images — OpenAPI


Regras de negócio

IDRegraComportamento esperado
RN-01Perfil sem permissãoToast de atenção; a IA não é chamada.
RN-02Nenhuma imagem selecionadaToast de atenção; a IA não é chamada.
RN-03Mais de 12 imagensToast de atenção; a IA não é chamada.
RN-04Cache hitInsere HTML cacheado no editor; não chama a AI-API.
RN-05Resposta sem check[0].bodyToast de erro; nada é aplicado no editor.
RN-06Laudo/editor não carregadoToast de atenção; o conteúdo não é aplicado.
RN-07Configuração ausente (CONFIGURATION_NOT_FOUND)Toast específico de gerador indisponível (não usa as mensagens genéricas de unidade/usuário).
RN-08EscopoNew viewer + laudário; sem modal e sem reformular.
RN-09ConfiguraçãoPor modalidade (check_image + scope_value).

Mapeamento de erros

SituaçãoResposta da APIComportamento
Perfil sem permissão (fora de GESTOR/PROPRIETARIO/MEDICO/RESIDENTE)Toast de atenção: gerador de laudos por imagens por IA não disponível. A IA não é chamada.
Viewer não enviou imagens / nenhuma selecionadaToast de atenção: não foi possível capturar as imagens para realizar a análise com IA.
Mais de 12 imagensToast de atenção: só é possível analisar até doze imagens.
API retorna sucesso sem check[0].bodyAI_API POST /check/images/{companyId}Toast de erro: não foi possível analizar as imagens com IA. Nada é aplicado no editor.
API de verificação falha (erro HTTP / integração)AI_API POST /check/images/{companyId}Toast de erro traduzido pelo resolvedor de erros da IA (ou mensagem padrão: não foi possível analizar as imagens com IA).
Configuração da funcionalidade não encontradaAI_API POST /check/images/{companyId}Toast de atenção: gerador de laudos por imagens por IA não disponível (caso especial de CONFIGURATION_NOT_FOUND para check_image).
Provider/modelo inválido ou descontinuadoAI_API POST /check/images/{companyId}Toast de erro específico de modelo inválido/descontinuado (pode citar o modelo).
Token / chave de API inválida ou rejeitada pelo providerAI_API POST /check/images/{companyId}Toast de erro da integração IA (título pode incluir o provider).
Erro genérico do provider / BadRequestAI_API POST /check/images/{companyId}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/images/{companyId}Toast de erro de operação / timeout do processamento.
Laudo/editor ainda não carregado ao aplicar o resultadoToast de atenção: não foi possível adicionar o laudo. Tente novamente após o carregamento do laudário.

Relacionado