Tutoriais

Exemplo de XML TISS comentado linha a linha (para entender de verdade)

Equipe TISS Manager31 de maio de 20269 min de leitura
Exemplo de XML TISS comentado linha a linha (para entender de verdade)

Ler XML TISS na mão assusta na primeira vez: parece muralha de código. Mas a estrutura é simples e repetitiva. Neste artigo, vamos comentar trecho a trecho um exemplo típico, em linguagem clara, para você nunca mais olhar para um XML sem entender o que está acontecendo.

Visão geral da anatomia

Todo XML TISS tem quatro grandes blocos:

  • Cabeçalho: identifica quem envia, para quem, qual versão e qual a competência.
  • Prestador: identifica a clínica ou hospital (CNPJ, registro ANS).
  • Lote de guias: contém uma ou várias guias (consulta, SP/SADT, internação, honorários).
  • Epílogo: hash MD5 que valida que nada foi alterado.

Cabeçalho do XML

O início é sempre parecido — declaração XML, namespace da ANS e cabeçalho da mensagem. Em linguagem simples:

<?xml version="1.0" encoding="ISO-8859-1"?> → diz ao computador que é um XML, com codificação Latin-1 (atenção: alguns convênios já aceitam UTF-8, mas a maioria ainda exige ISO).

<ans:mensagemTISS xmlns:ans="..."> → abre a mensagem TISS, com referência ao padrão XML da ANS.

<ans:cabecalho> → começa o bloco de identificação: ID da transação, sequencial, data e hora de geração, versão do padrão TISS, tipo de transação (envio de lote, recurso, demonstrativo).

Bloco do prestador e da operadora

Logo após o cabeçalho:

<ans:origem> com CNPJ ou CPF do prestador, código de identificação na operadora e código do tipo de transação.

<ans:destino> com o registro ANS da operadora (6 dígitos).

Erros aqui são muito comuns — confira o registro ANS da operadora antes de gerar o lote (veja nosso guia do padrão TISS).

Bloco do lote de guias

Aqui mora 90% do conteúdo útil. Para cada guia:

  • <ans:numeroGuiaPrestador> → número único da guia no seu sistema (não pode repetir).
  • <ans:dadosBeneficiario> → número da carteirinha, nome, plano contratado.
  • <ans:dadosExecutante> → profissional que executou (CRM, UF, CBO).
  • <ans:procedimentos> → códigos TUSS dos procedimentos, quantidade, valor unitário (use a tabela TUSS atualizada).
  • <ans:dadosAutorizacao> → senha de autorização (quando exigida).

Epílogo e hash MD5

No fim do arquivo:

<ans:epilogo> contém o <ans:hash>, valor MD5 calculado sobre o conteúdo do XML. Se você editar qualquer caractere depois disso, o hash precisa ser recalculado — caso contrário, é rejeição automática. Veja como corrigir no nosso artigo hash MD5 TISS.

Como validar tudo de uma vez

Em vez de conferir manualmente, jogue o XML no validador TISS online: ele lê o XSD oficial da ANS, sinaliza cada campo errado, confere o hash e mostra exatamente onde corrigir.

Vídeo: lendo XML TISS na prática

Para ver um XML sendo navegado e explicado, busque no YouTube: XML TISS estrutura explicada.

Perguntas frequentes

Posso abrir o XML no Bloco de Notas?

Pode, mas é ruim. Use editores como VS Code ou Notepad++ com plugin de XML — eles mostram a hierarquia e sinalizam tags abertas/fechadas, evitando erro humano.

O encoding precisa ser ISO-8859-1?

A maioria das operadoras ainda exige ISO-8859-1. Algumas já aceitam UTF-8 nas versões mais novas do TISS. Sempre confirme no manual técnico da operadora.

Posso editar o XML manualmente para corrigir um campo?

Tecnicamente sim, mas é arriscado — qualquer mudança quebra o hash MD5. Edite, recalcule o hash e revalide antes de transmitir.

Conclusão

XML TISS deixa de parecer monstro quando você decompõe em blocos. Cabeçalho, prestador, lote, epílogo. Entendendo cada parte, qualquer rejeição vira algo objetivo de corrigir. E para não ter que descer ao nível do código toda vez, automatize com o validador TISS online e o conversor de versão.

Continue lendo