TUSS e SP/SADT
A busca TUSS funciona localmente. Consulte o código e filtre por tabela quando precisar restringir os resultados.
from voa_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]
Saída([('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.
from voa_tiss import render_sadt, sadt_catalog, sadt_missing
catalog = sadt_catalog()
faltantes = sadt_missing({})
len(catalog["fields"]), faltantes[:5]
Saída(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.
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