SIA · produção ambulatorial (sia_*)¶
Em uma frase¶
Quinze tabelas do Sistema de Informações Ambulatoriais do SUS (SIASUS), publicadas pelo DATASUS um arquivo por tabela, UF e mês. Este perfil detalha sete: o boletim individualizado (BPA-I), cinco tipos de laudo de APAC e o registro de atenção psicossocial (RAAS).
O que um registro representa¶
Cada tabela vem de um instrumento ou laudo diferente:
sia_bpa_individualizado(prefixoBI): Boletim de Produção Ambulatorial Individualizado (BPA-I), instituído pela Portaria SAS/MS nº 709/2007 para registrar informações sobre os usuários do SUS e sua situação de saúde pela CID (Informe SIASUS 2019-07, p. 17).sia_apac_medicamentos(prefixoAM): Laudo de Medicamentos da APAC (Informe SIASUS 2019-07, p. 5), com peso, altura, transplante e gestante do paciente (p. 7).sia_apac_quimioterapia(prefixoAQ): Laudo de Quimioterapia da APAC (Informe SIASUS 2019-07, p. 5), com CID de topografia, estádio, esquema e meses de tratamento planejados e autorizados (p. 9–10).sia_apac_tratamento_dialitico(prefixoATD): Laudo de Tratamento Dialítico da APAC (Informe SIASUS 2019-07, p. 5), com a data de início da primeira diálise e a data de início da diálise na clínica (p. 15).sia_apac_laudos_diversos(prefixoAD): Laudos Diversos da APAC (Informe SIASUS 2019-07, p. 5), com o layout comum da APAC e nenhum campo próprio (p. 6).sia_apac_cirurgia_bariatrica(prefixoABOno catálogo): Laudo de Acompanhamento à Cirurgia Bariátrica da APAC (Informe SIASUS 2019-07, p. 5), com número da AIH, data da cirurgia e número de meses de acompanhamento (p. 12).sia_psicossocial(prefixoPS): Registro das Ações Ambulatoriais de Saúde (RAAS) – Psicossocial (Informe SIASUS 2019-07, p. 15–16).
Sobre as linhas:
- As informações dos arquivos de APAC referem-se aos atendimentos ambulatoriais realizados em pacientes submetidos à APAC, nas respectivas competências (ano e mês), a partir de janeiro de 2008 (Informe SIASUS 2019-07, p. 5).
ap_autorizé o número da APAC, com a lei de formação UF, ano, tipo, sequencial e dígito (Informe SIASUS 2019-07, p. 6).- O valor aprovado dos arquivos de APAC refere-se ao valor total da APAC (Informe SIASUS 2019-07, p. 5).
- Nos arquivos de APAC, o procedimento contido no arquivo refere-se ao procedimento
principal (Informe SIASUS 2019-07, p. 5), em
ap_pripal(p. 6). - Na RAAS psicossocial, cada linha traz a quantidade de atendimentos (
qtdate) e a quantidade de pacientes (qtdpcn) (Informe SIASUS 2019-07, p. 16–17). - Nenhum dos dicionários do SIA declara chave primária
(
src/omnisus/data/dicionarios/sia_*.yaml, semprimaryKey). - A importação grava as colunas do arquivo com nomes em minúsculas e acrescenta
ano,uf,mese_source_releasea cada linha (src/omnisus/sources/datasus_ftp/staging.py,dbc_bytes_to_parquet;src/omnisus/sources/datasus_ftp/_runner.py,ingest_raw).
Datas e geografia¶
- O documento diz que o
aammdo nome do arquivo é o ano e o mês da competência (Informe SIASUS 2019-07, p. 5 para APAC e p. 17 para BPA-I). - As colunas
ano,ufemesvêm do nome do arquivo (AMRR2401.dbc→ RR, 2024, mês 1) (tests/unit/sources/datasus_ftp/test_filenames_golden.py;src/omnisus/sources/datasus_ftp/staging.py). - Na APAC,
ap_mvmé a data de processamento ou movimento eap_cmpa data de atendimento ao paciente ou competência, ambas AAAAMM (Informe SIASUS 2019-07, p. 6). - A APAC tem validade:
ap_dtiniceap_dtfimsão as datas de início e de fim da validade, AAAAMMDD, eap_dtocoré a data de ocorrência que substitui a data de fim (Informe SIASUS 2019-07, p. 6). ap_tpapacindica se a APAC é 1 = inicial, 2 = continuidade ou 3 = única, eap_apacantguarda o número da APAC anterior (Informe SIASUS 2019-07, p. 6).- No BPA-I,
dt_processé o ano e mês de processamento da produção edt_atendo ano e mês do atendimento (Informe SIASUS 2019-07, p. 17). - Na RAAS psicossocial,
dt_processé a data de processamento edt_atenda data do atendimento, AAAAMM, einicioefimsão as datas de início e fim do atendimento (Informe SIASUS 2019-07, p. 16). - Na APAC,
ap_munpcné UF + município de residência do paciente, com 6 caracteres, eap_ufmuné UF + município do estabelecimento (Informe SIASUS 2019-07, p. 6). - No BPA-I,
munpacé UF + município de residência do paciente ou do estabelecimento, quando não há identificação do paciente, o que ocorre no BPA (Informe SIASUS 2019-07, p. 17). - Na RAAS psicossocial,
munpacé UF + município de residência do paciente, eufmuno do estabelecimento (Informe SIASUS 2019-07, p. 16). ap_ufdifeap_mndif(APAC) eufdifemndif(BPA-I) indicam se a UF ou o município de residência do paciente difere do local do estabelecimento (Informe SIASUS 2019-07, p. 6 e p. 18).
Cobertura e modalidade¶
Arquivos mensais por UF, todos no diretório /dissemin/publicos/SIASUS/200801_/Dados,
sem diretório preliminar. O início difere por tabela: 2008-01 para BPA-I, medicamentos,
quimioterapia e laudos diversos; 2012-11 para a RAAS psicossocial; 2014-01 para
cirurgia bariátrica; 2014-08 para tratamento dialítico. Veja o
catálogo de datasets.
Produção ambulatorial (PA)¶
| Linha | Prefixo | Diretório | Cobertura |
|---|---|---|---|
sia_producao_ambulatorial |
PA |
SIASUS/200801_/Dados |
2008-01 em diante; meses grandes vêm em partes a–d (PASP2401a.dbc), importadas como uma publicação |
sia_producao_ambulatorial_1994_2007 |
PA |
SIASUS/199407_200712/Dados |
1994-07 a 2007-12; o diretório Doc dessa era está vazio no servidor |
Os dicionários dessas linhas partem do inventário físico do descritor DBF de uma fixture real (scripts/gen_dicionario.py). Os rótulos de categoria vêm do CNV do TabWin quando o DEF liga o campo e todo valor não branco da fixture é chave do mapa (sources/cnv/vinculos.json); calendários, cadastros e faixas não são copiados. sia_producao_ambulatorial_1994_2007 fica sem rótulos: os DEF dessa era (SIASUS/200801_/Auxiliar/TAB_SIA_199407-199910.zip e os dois seguintes) não estão arquivados.
Outras APAC e atenção domiciliar¶
Nomes do Informe Técnico SIASUS 2019-07 (p. 5 e p. 15); cobertura lida da listagem de
SIASUS/200801_/Dados em 2026-09-23.
| Linha | Prefixo | Cobertura |
|---|---|---|
sia_apac_acompanhamento_bariatrica |
AB |
2008-01 a 2025-07, 18 UFs, meses esparsos |
sia_apac_fistula_arteriovenosa |
ACF |
2014-08 em diante |
sia_apac_acompanhamento_multiprofissional |
AMP |
2016-03 em diante, 13 UFs |
sia_apac_nefrologia |
AN |
2008-01 a 2014-10 (depois, ATD) |
sia_apac_radioterapia |
AR |
2008-01 em diante |
sia_atencao_domiciliar |
SAD |
2012-04 a 2018-10 |
AB e ABO são famílias diferentes: o TAB_SIA.zip liga AB* a
APAC_Cirurgia_Bariatica.DEF e ABO* a APAC_Pos_Cirurgia_Bariatica.def. AMP não tem
DEF no TAB_SIA.zip, por isso não tem rótulos. Todas declaram identidade de arquivo
(mês e UF), como as outras APAC.
Armadilhas¶
- Os códigos de
ap_ufdifeap_mndifmudam entre layouts: 0 e 1 em laudos diversos (Informe SIASUS 2019-07, p. 6), N e S em quimioterapia (p. 9), cirurgia bariátrica (p. 12) e tratamento dialítico (p. 14), e nenhum código, com 2 caracteres, em medicamentos (p. 7). - Os cinco dicionários de APAC decodificam
ap_ufdifeap_mndifa partir deInvasao.CNV, ligado pelo DEF de cada laudo de APAC no pacote oficialTAB_SIA.zip(src/omnisus/data/dicionarios/sources/cnv/vinculos.json). - O documento nomeia o arquivo de cirurgia bariátrica
ABufaamm.dbf(p. 5) eABUFMM.DBF(p. 11); a biblioteca usa o prefixoABO(catálogo;tests/unit/sources/datasus_ftp/test_filenames_golden.py). - No arquivo real de cirurgia bariátrica, o cabeçalho tem 86 campos, 8 sem nome, que o
parser descarta, e nomes variantes como
AP_TPPRE,AP_APACAN,AP_DTOOCOReCO_CIDPRIM(tests/unit/sources/datasus_ftp/test_sia_apac.py, docstring do módulo), enquanto o layout do documento lista 58 campos comAP_TIPPRE,AP_APACANT,AP_DTOCOReAP_CIDPRI(Informe SIASUS 2019-07, p. 11–12). - Os dicionários de APAC e da RAAS psicossocial foram gerados do cabeçalho de arquivos
DBF reais de 2024, não do informe técnico, e muitos rótulos só repetem o nome do campo
(
src/omnisus/data/dicionarios/sia_apac_*.yamlesia_psicossocial.yaml, comentário inicial elabel). - Quantidade e valor aparecem apresentados e aprovados:
qt_apreseqt_aprov,vl_apresevl_aprovno BPA-I (Informe SIASUS 2019-07, p. 17–18). - No BPA-I, o número de autorização
autoriznão é obrigatório e não é criticado (Informe SIASUS 2019-07, p. 17). - No BPA-I,
etniasó é preenchida quandoracacoré 05 (indígena), a partir da competência de outubro de 2010 (Informe SIASUS 2019-07, p. 18). - O CNS do paciente vem cifrado (
cns_pacna RAAS, "criptografia"; Informe SIASUS 2019-07, p. 16), e os dicionários marcam os campos de CNS comx-crypto: datasus-cns(src/omnisus/data/dicionarios/sia_*.yaml). - Depois de decifrado, o CNS liga pessoas entre tabelas do SIA: nos arquivos de teste de
Roraima, janeiro de 2024, 312 pessoas estavam no BPA-I e na APAC de medicamentos, e 56
no BPA-I e na RAAS psicossocial (
tests/unit/sources/datasus_ftp/test_sia_apac.py,test_cross_family_cns_intersection_rr). - Os códigos ficam no lake como publicados: o dicionário decodifica rótulos e datas na
exibição, não na importação (
src/omnisus/transforms/dictionaries.py, docstring do módulo;src/omnisus/sources/datasus_ftp/staging.py, que não decodifica).
Em aberto¶
- O que uma linha de APAC representa: o documento diz que a APAC gera um registro por
código de procedimento realizado, principal ou secundário, e, na frase seguinte, que
nos arquivos de APAC o procedimento se refere ao principal (p. 5). Vale para
sia_apac_medicamentos,sia_apac_quimioterapia,sia_apac_tratamento_dialitico,sia_apac_laudos_diversosesia_apac_cirurgia_bariatrica. Compare o número de linhas com o de valores distintos deap_autorizantes de contar APAC. - Se a mesma APAC reaparece em meses seguintes: o documento prevê APAC de continuidade e
período de validade (p. 6), mas não diz se cada mês publica a APAC de novo. Não some
meses sem conferir
ap_autorizeap_tpapac. - Qual mês o arquivo representa: o documento chama o
aammdo nome de mês da competência (p. 5 e p. 17), mas separa processamento (ap_mvm,dt_process) de atendimento ou competência (ap_cmp,dt_atend) (p. 6, p. 16 e p. 17). Comparemescom esses campos nos seus dados. - O que uma linha de
sia_bpa_individualizadorepresenta: o documento diz que o BPA-I gera um registro por atendimento no arquivo de procedimentos ambulatoriais (PA) (p. 3), mas não diz o mesmo do arquivo BI. - O que uma linha de
sia_psicossocialrepresenta: cada linha traz quantidades de atendimentos e de pacientes (p. 16–17), e o documento não diz se ela é um atendimento, um paciente ou um período. - O formato de
inicioefimna RAAS psicossocial: o documento dá DDMMAAAA (p. 16), e o dicionário lêyyyyMMdd(src/omnisus/data/dicionarios/sia_psicossocial.yaml). Confira nos seus dados antes de converter. - Que procedimentos entram em
sia_apac_laudos_diversos: o documento lista o laudo e seu layout (p. 5–6), sem dizer o que ele cobre. - Se o layout de 2019 vale para todos os anos: o documento diz que não houve mudanças nos arquivos de APAC (p. 6), sem data de referência.
Como usar¶
import omnisus as sus
alvo = "ducklake:./data/raw/omnisus.ducklake" # o padrão de Lake.local() e load()
escopos = sus.available("sia_bpa_individualizado", years=[2024], ufs=["RR"], months=[1], refresh=True)
relatorio = sus.import_dataset(
"sia_bpa_individualizado", scopes=escopos, target=alvo, policy="skip_same", run_id="sia-bpai-rr-2024-01"
)
with sus.LakeReader(alvo) as leitor:
print(leitor.connect().sql("SELECT ano, mes, count(*) AS registros FROM lake.sia_bpa_individualizado GROUP BY ALL").pl())
Passo a passo com as sete tabelas, análise e procedência:
notebooks/sia.py
.
Fontes¶
- Disseminação de Dados em Saúde, Sistema de Informações Ambulatoriais do SUS
(SIASUS), Informe Técnico (
Informe_Tecnico_SIASUS_2019_07.pdf), Ministério da Saúde / Secretaria Executiva / DATASUS / CGGOV: ftp://ftp.datasus.gov.br/dissemin/publicos/SIASUS/200801_/Doc/Informe_Tecnico_SIASUS_2019_07.pdf — consultado em 2026-09-10; SHA-25670fe69dbd4cf0827452e3c265d8d83ebeabe145f63a7e054e57c7848d070c8dc, conferido de novo em 2026-09-13. Registro:src/omnisus/data/dicionarios/sources/registry.json. Em 2026-09-13, o diretório/dissemin/publicos/SIASUS/200801_/Docsó continha este informe. - Catálogo gerado do registro da biblioteca: Datasets.
Detalhes técnicos¶
As tabelas de 2008 em diante¶
As 14 tabelas abaixo usam o mesmo diretório do FTP,
/dissemin/publicos/SIASUS/200801_/Dados, e se distinguem pelo prefixo do arquivo
(catálogo). A décima quinta, sia_producao_ambulatorial_1994_2007,
fica em SIASUS/199407_200712/Dados (veja Produção ambulatorial, acima).
| Dataset | Prefixo |
|---|---|
sia_bpa_individualizado |
BI |
sia_apac_medicamentos |
AM |
sia_apac_quimioterapia |
AQ |
sia_apac_tratamento_dialitico |
ATD |
sia_apac_laudos_diversos |
AD |
sia_apac_cirurgia_bariatrica |
ABO |
sia_psicossocial |
PS |
sia_producao_ambulatorial |
PA |
sia_apac_acompanhamento_bariatrica |
AB |
sia_apac_fistula_arteriovenosa |
ACF |
sia_apac_acompanhamento_multiprofissional |
AMP |
sia_apac_nefrologia |
AN |
sia_apac_radioterapia |
AR |
sia_atencao_domiciliar |
SAD |
Todos os arquivos que o informe técnico cita (Informe SIASUS 2019-07, p. 1 e p. 5) têm linha no catálogo.
Linha de comando¶
omnisus inventory sia_bpa_individualizado --refresh
omnisus import sia_bpa_individualizado --plan inventory --years 2020-2024 --ufs RR
As importações acrescentam linhas à tabela do dataset, por exemplo
lake.sia_bpa_individualizado. Ao terminar, a importação devolve um ImportReport; o
estado de uma transação interrompida aparece em ImportAbortedError. Veja
resultados e transações.
Dicionários¶
As definições de campo e as regras de decodificação ficam em
src/omnisus/data/dicionarios/<dataset>.yaml, um arquivo por tabela. Todos os sia_*
usam a codificação latin-1, porque o CNS cifrado usa bytes que o cp1252 não define
(comentário inicial dos sete dicionários detalhados neste perfil). O parser aplica o dicionário e preserva os
campos não listados; por isso as colunas físicas da tabela podem ser mais numerosas que
as do dicionário.