> For the complete documentation index, see [llms.txt](https://docs.voa.health/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voa.health/integracao/tiss/tutoriais/03-tuss-e-sp-sadt.md).

# TUSS e SP/SADT

A busca TUSS funciona localmente. Consulte o código e filtre por tabela quando precisar restringir os resultados.

[Abrir no GitHub](https://github.com/Voa-Health/tiss/blob/main/docs/tutoriais/03-tuss-e-sp-sadt.ipynb) · [Abrir no Colab](https://colab.research.google.com/github/Voa-Health/tiss/blob/main/docs/tutoriais/03-tuss-e-sp-sadt.ipynb)

A busca TUSS funciona localmente. Consulte o código e filtre por tabela quando precisar restringir os resultados.

```python
from tiss.tuss import lookup, search

procedimentos = lookup("10101012", tabela="22")
busca = search("ressonância magnética de crânio", tabela="22")
[(row["codigo"], row["termo"]) for row in procedimentos], busca[:2]
```

```
([('10101012',
   'Consulta em consultório (no horário normal ou preestabelecido)')],
 [{'codigo': '41101014',
   'descricao': '',
   'tabela': '22',
   'termo': 'RM - Crânio (encéfalo)',
   'vigencia_fim': '',
   'vigencia_inicio': '2009-02-13'},
  {'codigo': '41101030',
   'descricao': '',
   'tabela': '22',
   'termo': 'RM - Base do crânio',
   'vigencia_fim': '',
   'vigencia_inicio': '2009-02-13'}])
```

A lista de campos e os dados ausentes podem ser consultados sem a dependência opcional de PDF.

```python
from tiss import render_sadt, sadt_catalog, sadt_missing

catalog = sadt_catalog()
faltantes = sadt_missing({})
len(catalog["fields"]), faltantes[:5]
```

```
(34,
 ['atendimento_rn',
  'beneficiario_carteira',
  'beneficiario_nome',
  'carater_atendimento',
  'numero_guia_prestador'])
```

Com a dependência PDF instalada, renderize uma guia sintética com data fixa. Sem ela, use `sadt_missing` e `sadt_catalog` para preparar os dados.

```python
from datetime import date
from importlib.util import find_spec
from pathlib import Path

if find_spec("weasyprint") and find_spec("jinja2"):
    output = Path("guia.pdf")
    try:
        render_sadt({}, output, gen_date=date(2026, 1, 1))
        resultado_pdf = output.is_file()
    finally:
        output.unlink(missing_ok=True)
else:
    resultado_pdf = (len(sadt_missing({})), len(sadt_catalog()["fields"]))

resultado_pdf
```

```
True
```
