# Recebimento de Resultados e Registros de Problemas de Coleta

**Atenção:** Esse capítulo é uma transcrição do arquivo original enviado pela empresa responsável pelo Sistema de Gestão Pública de Saúde, para acessar o documento original na integra realize o download abaixo

[Integração laboratório - Recebimento de resultados e problemas.pdf](https://estante-ses.sorocaba.sp.gov.br/attachments/3)

## Objetivo do documento

Este documento tem como objetivo descrever o processo de recebimento de resultados de exames enviados pelo laboratório terceiro, bem como a funcionalidade de registro de problemas na coleta dos exames. Essas informações serão transmitidas por meio da integração SIS (Sistema de Integração de Saúde) por parte do laboratório terceiro, utilizando um serviço web (Webservice). Esse sistema permite que o laboratório contratado entregue de forma eficiente e automatizada os resultados dos exames ao cliente, otimizando assim os procedimentos laboratoriais. Além disso, a funcionalidade de registro de problemas na coleta dos exames proporcionará um controle mais abrangente e preciso sobre eventuais dificuldades encontradas durante o processo de coleta, contribuindo para uma gestão mais eficaz da operação.

## Pré requisitos

- - O laboratório terceiro deve ser capaz de consumir o webservice do SIS através do protocolo SOAP.
    - O cliente deve permitir às unidades de saúde que enviem os dados de solicitação de exame, caso contrário nenhuma unidade enviará os dados automaticamente.
    - A unidade de saúde deve criar e recepcionar a solicitação com os respectivos exames que serão integrados para que ocorra a transmissão da mesma via webservice.

## Autenticação

O Sistema de Gestão Pública de Saúde aguardará o laboratório consumir o serviço de envio na seguinte estrutura:

***ENDPOINT sistema: https://sorocaba-sp.vivver.com***

- Deverá ser solicitado ao suporte a criação do usuário e senha, para ser utilizado no consumo dos serviços disponíveis no webservice. Exemplo: 
    - usuário: integracao
    - senha: integracao#senha

- Para validação da conexão com o **ENDPOINT**, deverá realizar o consumo do serviço "requisita\_token". Exemplo: 
    - Verbo -&gt; POST URL:
    - ***https://sorocaba-sp.vivver.com/lab/integracao\_afip/requisita\_token?usuario=integr acao&amp;senha=integracao#senha***

Response:  
O token tem validade de 10 minutos. e94c0dbf34af4564ac23bcc013eaa7e4

## Envio dos resultados de exames

Ao consumir o serviço o laboratório terceiro deve enviar um XML conforme a estrutura descrita abaixo. Após o recebimento deste XML o SIS irá traduzir os resultados para a linguagem própria e incluir em sua base junto ao registro do paciente.

Exemplo:  
Verbo -&gt; POST EnviaResultadoURI:  
***https://sorocaba-sp.vivver.com/lab/integracao\_afip/envia\_resultado***

[![image.png](https://estante-ses.sorocaba.sp.gov.br/uploads/images/gallery/2025-03/scaled-1680-/1Vvimage.png)](https://estante-ses.sorocaba.sp.gov.br/uploads/images/gallery/2025-03/1Vvimage.png)

O Token adquirido no método requisita\_token, deve ser informado no cabeçalho da requisição e enviar o xml de resultado, conforme exemplificado abaixo:

[![image.png](https://estante-ses.sorocaba.sp.gov.br/uploads/images/gallery/2025-03/scaled-1680-/d6Iimage.png)](https://estante-ses.sorocaba.sp.gov.br/uploads/images/gallery/2025-03/d6Iimage.png)

## Definição do XML

O XML para recebimento de resultados do laboratório terceiro seguirá o seguinte padrão:

<table border="1" cellpadding="0" cellspacing="0" data-sheets-baot="1" data-sheets-root="1" dir="ltr" id="bkmrk-campo-descri%C3%A7%C3%A3o-tipo" style="border-collapse: collapse; border-spacing: 0px; width: 100%; border: 1px solid rgb(0, 0, 0);"><colgroup><col style="width: 45.7758%;" width="478"></col><col style="width: 30.5181%;" width="354"></col><col style="width: 12.039%;" width="136"></col><col style="width: 11.6824%;" width="77"></col></colgroup><tbody><tr><th class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(35, 111, 161);"><span style="color: rgb(236, 240, 241);">**Campo**</span></th><th class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(35, 111, 161);"><span style="color: rgb(236, 240, 241);">**Descrição**</span></th><th class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(35, 111, 161);"><span style="color: rgb(236, 240, 241);">**Tipo do Dado**</span></th><th class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle; background-color: rgb(35, 111, 161);"><span style="color: rgb(236, 240, 241);">**Obrigatório**</span></th></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.ordem Servico</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Número da solicitação de exames no Sistema de Gestão Pública de Saúde</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String(13)</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Sim</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.cnesU nidadeExecutante</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Código CNES - Código Nacional de  
Estabelecimentos de Saúde</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Integer</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pedido. codigo</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Número do pedido na base do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String(12)</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pedido.  
posto</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Código posto de coleta</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Integer</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pedido. postoDescricao</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Posto em que foi feito a coleta</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String(80)</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pedido. convenio</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Número do convênio</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pedido. ordemServicoApoio</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Ordem de serviço de apoio</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pedido. dadosCadastrais</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Dados cadastrais adicionais</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pacient e.codigo</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Número do prontuário do paciente no Sistema de Gestão Pública de Saúde</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Integer</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pacient e.nome</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Nome do paciente no Sistema de Gestão Pública de Saúde</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pacien te.sexo</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Nome do paciente no Sistema de Gestão Pública de Saúde</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String(1)</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pacient e.</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Data de nascimento do paciente no Sistema de Gestão Pública de Saúde</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String(8) AAAAMMDD</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.pacient e.cpf</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">CPF do paciente no Sistema de Gestão Pública de Saúde</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String(11)</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.codigo</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Código do exame no Sistema de Gestão Pública de Saúde</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Integer</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Sim</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.mnemonico</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Dado adicional sobre exame</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.descricao</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Descrição do exame</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.mascara.data</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Data texto máscara. Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.mascara.hora</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Hora texto máscara. Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.mascara.versaoMascara</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Versão da máscara. Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.amostras.amostra.codigoBarra</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Código de barras.Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.amostras.amostra.tipo</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Tipo da amostra. Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.guia</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Código da guia. Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.observacao</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Observação do exame</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.solicitacao.data</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Data da soliciação do exame</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.solicitacao.hora</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Hora da solicitação do exame</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.coleta.data</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Data / hora coleta no laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String DD/MM/AAAA  
HH:MM:SS</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.coleta.hora</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Hora coleta no laboratório  
terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String HH:MM:SS</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.coleta.codResponsavel</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Código do responsável pela  
coleta no laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String(8)</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.coleta.nomeResponsavel</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Nome do responsável pela  
coleta no laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.liberacao.data</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Data / hora liberação no laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String DD/MM/AAAA  
HH:MM:SS</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.liberacao.hora</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Hora liberação no laboratório  
terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">HH:MM:SS</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.liberacao.codResponsavel</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Código do responsável pela  
liberação no laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String(8)</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.liberacao.nomeResponsavel</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Nome do responsável pela  
liberação no laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.assinado</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Assinatura do resultado do  
exame no laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultados.resultado.apelido</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Sigla do exame no Sistema de Gestão Pública de Saúde</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String(5)</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Sim</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.resultados.resultado.valor</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Valor do resultado do exame</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Decimal</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Sim</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultados.resultado.tipo</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Tipo do resultado do exame.  
Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultados.resultado.unMedida</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Unidade de medida do  
resultado do exame. Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultados.resultado.vlReferen  
cia</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Valor de referência do exame. Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.resultados.resultado.limiteSup erior</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Limite superior do resultado de exame. Uso do laboratório  
terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.resultados.resultado.limiteInferi or</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Limite inferior do resultado de  
exame. Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultados.resultado.processo</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Processo do resultado de  
exame. Uso do laboratório terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultados.resultado.metodolo  
gia</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Metodologia do resultado de exame. Uso do laboratório  
terceiro</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultados.resultado.culturaPo  
sitiva</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Resultado do exame cultura foi positivo</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultados.resultado.imagemb  
ase64</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Imagem do resultado do exame formato base 64</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Base 64</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultadosCultura</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Resultados do exame de  
cultuta</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame  
s.exame.resultadoPdf</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Arquivo PDF dos resultados  
dos exames da solicitação</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Base 64</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.exame s.exame.resultadoUrlExame</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">URL do resultado do exame da  
solicitação</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr><tr><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">RecebeResultado.ResultadoLab.resulta  
doURLPedido</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">URL do resultado da solicitação  
de exames</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">String</td><td class="align-center" style="border-color: rgb(0, 0, 0); vertical-align: middle;">Não</td></tr></tbody></table>

### Exemplo da requisição de recebimento de resultados

```bash
# Envio de requisição via HTTP para envio de resultados laboratoriais
Method: POST
RequestUri: 'https://www.municipio-mg.vivver.com/lab/integracao_afip/envia_resultado'
Version: 1.1
Content: System.Net.Http.StringContent
Headers:
{
    Accept-Encoding: deflate
    Cache-Control: no-cache, max-age=0
    Authorization: Token AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    SOAPAction: http://tempuri.org/IServicoRecebeResultado/RecebeResultado
    Content-Type: text/xml; charset=utf-8
}
```

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"
          xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <Body>
        <RecebeResultado>
            <ResultadoLab xmlns="">
                <ordemServico>2022120014372</ordemServico>
                <cnesUnidadeExecutante/>

                <pedido>
                    <codigo>123456</codigo>
                    <posto i:nil="true"/>
                    <postoDescricao i:nil="true"/>
                    <convenio i:nil="true"/>
                    <ordemServicoApoio i:nil="true"/>
                    <dadosCadastrais i:nil="true"/>
                </pedido>

                <paciente>
                    <codigo>29727</codigo>
                    <nome>NOME DO CIDADÃO</nome>
                    <sexo>F</sexo>
                    <dtNascimento>20020708</dtNascimento>
                    <cpf i:nil="true"/>
                </paciente>

                <exames>
                    <exame>
                        <codigo>91</codigo>
                        <mnemonico>HEMOGRAMA COMPLETO</mnemonico>
                        <descricao i:nil="true"/>

                        <mascara>
                            <data i:nil="true"/>
                            <hora i:nil="true"/>
                            <versaoMascara i:nil="true"/>
                        </mascara>

                        <amostras>
                            <amostra>
                                <codigoBarra>047876500108</codigoBarra>
                                <tipo/>
                            </amostra>
                        </amostras>

                        <guia i:nil="true"/>
                        <observacao i:nil="true"/>

                        <solicitacao>
                            <data i:nil="true"/>
                            <hora i:nil="true"/>
                        </solicitacao>

                        <coleta>
                            <data>08/07/2022 15:39:00</data>
                            <hora i:nil="true"/>
                            <codResponsavel>DANUZAMX</codResponsavel>
                            <nomeResponsavel i:nil="true"/>
                        </coleta>

                        <liberacao>
                            <data>08/01/2022 16:50:00</data>
                            <hora i:nil="true"/>
                            <codResponsavel>BIOQUIM1</codResponsavel>
                            <nomeResponsavel i:nil="true"/>
                        </liberacao>

                        <assinado i:nil="true"/>

                        <resultados>
                            <resultado>
                                <apelido>GRUABODET</apelido>
                                <valor>A</valor>
                                <tipo i:nil="true"/>
                                <unMedida i:nil="true"/>
                                <vlReferencia i:nil="true"/>
                                <limiteSuperior i:nil="true"/>
                                <limiteInferior i:nil="true"/>
                                <processo i:nil="true"/>
                                <metodologia i:nil="true"/>
                                <culturaPositiva i:nil="true"/>
                                <imagembase64 i:nil="true"/>
                            </resultado>
                            <resultado>
                                <apelido>OBS</apelido>
                                <valor/>
                                <tipo i:nil="true"/>
                                <unMedida i:nil="true"/>
                                <vlReferencia i:nil="true"/>
                                <limiteSuperior i:nil="true"/>
                                <limiteInferior i:nil="true"/>
                                <processo i:nil="true"/>
                                <metodologia i:nil="true"/>
                                <culturaPositiva i:nil="true"/>
                                <imagembase64 i:nil="true"/>
                            </resultado>
                        </resultados>

                        <resultadosCultura/>
                        <PDF i:nil="true"/>
                        <resultadoUrlExame i:nil="true"/>
                    </exame>
                </exames>

                <resultadoURLPedido/>
            </ResultadoLab>
        </RecebeResultado>
    </Body>
</Envelope>
```

## **Envio de problemas na coleta dos exames**

Para registrar problemas durante as coletas dos exames, o laboratório terceiro terá a flexibilidade de reportar questões de duas maneiras distintas: para a solicitação como um todo, utilizando um único motivo, ou de forma específica para exames individuais. Para realizar esse processo, o laboratório deverá utilizar o Webservice de acordo com as diretrizes estabelecidas, seguindo o mesmo método de autenticação.

É importante salientar que os códigos dos motivos a serem incluídos nas requisições devem estar previamente cadastrados no Sistema de Gestão Pública de Saúde. Portanto, é necessário que o laboratório terceiro entre em contato com a equipe operacional do sistema para obter esses códigos, assegurando uma comunicação eficaz e padronizada.

Exemplo:  
Verbo -&gt; POST EnviaResultadoURI:  
***https://municipio-mg.empresa.com/lab/integracao\_afip/cancela\_exame***

[![image.png](https://estante-ses.sorocaba.sp.gov.br/uploads/images/gallery/2025-03/scaled-1680-/PKvimage.png)](https://estante-ses.sorocaba.sp.gov.br/uploads/images/gallery/2025-03/PKvimage.png)

O Token adquirido no método requisita\_token, deve ser informado no cabeçalho da requisição e enviar o xml de resultado, conforme exemplificado abaixo:

[![image.png](https://estante-ses.sorocaba.sp.gov.br/uploads/images/gallery/2025-03/scaled-1680-/k3Jimage.png)](https://estante-ses.sorocaba.sp.gov.br/uploads/images/gallery/2025-03/k3Jimage.png)

## Definição do XML

O XML para recebimento de resultados do laboratório terceiro seguirá o seguinte padrão:

<table border="1" cellpadding="0" cellspacing="0" class="align-center" data-sheets-baot="1" data-sheets-root="1" dir="ltr" id="bkmrk-campo-descri%C3%A7%C3%A3o-tipo-1" style="width: 100%; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(0, 0, 0);"><colgroup><col style="width: 25.9873%;" width="388"></col><col style="width: 45.2975%;" width="726"></col><col style="width: 9.41885%;" width="88"></col><col style="width: 19.3117%;" width="288"></col></colgroup><tbody><tr><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0); background-color: rgb(35, 111, 161);"><span style="color: rgb(236, 240, 241);">**Campo**</span></td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0); background-color: rgb(35, 111, 161);"><span style="color: rgb(236, 240, 241);">**Descrição**</span></td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0); background-color: rgb(35, 111, 161);"><span style="color: rgb(236, 240, 241);">**Tipo do Dado**</span></td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0); background-color: rgb(35, 111, 161);"><span style="color: rgb(236, 240, 241);">**Obrigatório**</span></td></tr><tr><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">CancelamentoIntegracao.pedido.ordem Servico</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Número da solicitação de exames no Sistema de Gestão Pública de Saúde</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">String(13)</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Sim</td></tr><tr><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">CancelamentoIntegracao.pedido.cancel amentoTotal</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">indica se a requisição é para registrar problema para toda solicitação ou exames específicos true = cancelar  
toda solicitação..</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">boolean</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Sim</td></tr><tr><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">CancelamentoIntegracao.pedido.codigo  
\_motivo</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Código do motivo do problema. Esta tag somente é necessária se o cancelamentototal for igual a true, caso contrário não  
informar.</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Integer</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Se cancelamento total for igual a true.</td></tr><tr><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">CancelamentoIntegracao.pedido.exame  
s.exame.codigo</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Código do exame que deseja registrar problema na coleta</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Integer</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Se cancelamento total for igual a false.</td></tr><tr><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">CancelamentoIntegracao.pedido.exame s.exame.codigo\_motivo</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Código do motivo de problema na coleta</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">String(80)</td><td class="align-center" style="vertical-align: middle; border-color: rgb(0, 0, 0);">Somente se cancelamento total for igual a false.</td></tr></tbody></table>

### Exemplo de requisição

```bash
# Envio de requisição via HTTP para cancelamento de exames
Method: POST
RequestUri: 'https://www.municipio-mg.vivver.com/lab/integracao_afip/cancela_exame'
Headers:
{
    Accept-Encoding: deflate
    Cache-Control: no-cache, max-age=0
    Authorization: Token AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    SOAPAction: http://tempuri.org/IServicoRecebeResultado/RecebeResultado
    Content-Type: text/xml; charset=utf-8
}
```

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"
          xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <Body>
        <CancelamentoIntegracao xmlns="">
            <pedido>
                <ordemServico>2023090000021</ordemServico>
                <cancelamentoTotal>false</cancelamentoTotal>
                <codigo_motivo>6</codigo_motivo>

                <exames>
                    <exame>
                        <codigo>54</codigo>
                        <codigo_motivo>2</codigo_motivo>
                    </exame>
                    <exame>
                        <codigo>102</codigo>
                        <codigo_motivo>3</codigo_motivo>
                    </exame>
                </exames>
            </pedido>
        </CancelamentoIntegracao>
    </Body>
</Envelope>
```