SIA FTP Database
Sistema de Informações Ambulatoriais
[1]:
from pysus import SIA
sia = SIA().load() # Loads the files from DATASUS
[2]:
sia
[2]:
SIA - Sistema de Informações Ambulatoriais
[3]:
sia.metadata
[3]:
{'long_name': 'Sistema de Informações Ambulatoriais',
'source': 'http://sia.datasus.gov.br/principal/index.php',
'description': 'O Sistema de Informação Ambulatorial (SIA) foi instituído pela Portaria GM/MS n.º 896 de 29 de junho de 1990. Originalmente, o SIA foi concebido a partir do projeto SICAPS (Sistema de Informação e Controle Ambulatorial da Previdência Social), em que os conceitos, os objetivos e as diretrizes criados para o desenvolvimento do SICAPS foram extremamente importantes e amplamente utilizados para o desenvolvimento do SIA, tais como: (i) o acompanhamento das programações físicas e orçamentárias; (ii) o acompanhamento das ações de saúde produzidas; (iii) a agilização do pagamento e controle orçamentário e financeiro; e (iv) a formação de banco de dados para contribuir com a construção do SUS.'}
[4]:
sia.groups
[4]:
{'AB': 'APAC de Cirurgia Bariátrica',
'ABO': 'APAC de Acompanhamento Pós Cirurgia Bariátrica',
'ACF': 'APAC de Confecção de Fístula',
'AD': 'APAC de Laudos Diversos',
'AM': 'APAC de Medicamentos',
'AMP': 'APAC de Acompanhamento Multiprofissional',
'AN': 'APAC de Nefrologia',
'AQ': 'APAC de Quimioterapia',
'AR': 'APAC de Radioterapia',
'ATD': 'APAC de Tratamento Dialítico',
'BI': 'Boletim de Produção Ambulatorial individualizado',
'IMPBO': '',
'PA': 'Produção Ambulatorial',
'PAM': '',
'PAR': '',
'PAS': '',
'PS': 'RAAS Psicossocial',
'SAD': 'RAAS de Atenção Domiciliar'}
Getting specific files
[5]:
print(str(len(sia.get_files(["PA", "BI"]))) + " files")
14300 files
[6]:
sia.get_files("PA", uf="SP", year=2000)
[6]:
[PASP0001.dbc,
PASP0002.dbc,
PASP0004.dbc,
PASP0005.dbc,
Pasp0006.dbc,
pasp0003.dbc,
pasp0007.dbc,
pasp0008.dbc,
pasp0009.dbc,
pasp0010.dbc,
pasp0011.dbc,
pasp0012.dbc]
[7]:
files = sia.get_files("PA", uf="SP", year=2000, month=[1,2])
files
[7]:
[PASP0001.dbc, PASP0002.dbc]
Describing files inside DATASUS server
[8]:
sia.describe(files[0])
[8]:
{'name': 'PASP0001.dbc',
'group': 'Produção Ambulatorial',
'uf': 'São Paulo',
'month': 'Janeiro',
'year': 2000,
'size': '7.2 MB',
'last_update': '2013-10-24 04:18PM'}
Downloading files
You can rather download multiple files or download them individually:
[9]:
sia.download(files) # or specify a directory with `local_dir=`
PASP0002.parquet: 100%|████████████| 447k/447k [00:20<00:00, 21.6kB/s]
[9]:
[/home/bida/pysus/PASP0001.parquet, /home/bida/pysus/PASP0002.parquet]
@Note: If the file has been downloaded already, it’s required to delete it in order to download the lastest updated file from DATASUS.
Reading files
PySUS uses Parquets as output, use the method to_dataframe()
to read the file as pandas DataFrame
[10]:
parquet = sia.download(files)[0]
100%|████████████████████████████| 7.73M/7.73M [00:00<00:00, 4.84GB/s]
[11]:
parquet.to_dataframe()
[11]:
PA_CONDIC | PA_GESTAO | PA_CODUNI | PA_DATREF | PA_CODPRO | PA_DOCORIG | PA_CODESP | PA_TIPPRO | PA_TIPATE | PA_FXETAR | ... | PA_DATPR | PA_VALPRO | PA_VALAPR | PA_UFMUN | PA_MUNAT | PA_NUMAPA | PA_CODOCO | PA_CIDPRI | PA_CIDSEC | PA_MORFOL | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | EC | 359999 | 000867 | 200001 | 0701223 | B | 27 | 02 | 99 | ... | 200001 | 58.65 | 58.65 | 355030 | 355030 | 00000000000 | S01 | ||||
1 | EC | 359999 | 000867 | 200001 | 0701223 | B | 27 | 02 | 99 | ... | 200001 | 15.30 | 15.30 | 355030 | 355030 | 00000000000 | S01 | ||||
2 | EC | 359999 | 000867 | 200001 | 0701223 | B | 27 | 02 | 99 | ... | 200001 | 12.75 | 12.75 | 355030 | 355030 | 00000000000 | S01 | ||||
3 | EC | 359999 | 000867 | 200001 | 0701223 | B | 27 | 02 | 99 | ... | 200001 | 12.75 | 12.75 | 355030 | 355030 | 00000000000 | S01 | ||||
4 | EC | 359999 | 000867 | 200001 | 0701223 | B | 27 | 02 | 99 | ... | 200001 | 5.10 | 5.10 | 355030 | 355030 | 00000000000 | S01 | ||||
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
725999 | EA | 359999 | 016127 | 200001 | 0102302 | B | 77 | 00 | 00 | ... | 200001 | 3972.00 | 3972.00 | 355030 | 355030 | 00000000000 | S01 | ||||
726000 | EA | 359999 | 016127 | 200001 | 0302206 | B | 30 | 00 | 00 | ... | 200001 | 2.48 | 2.48 | 355030 | 355030 | 00000000000 | S01 | ||||
726001 | EA | 359999 | 016127 | 200001 | 0302207 | B | 30 | 00 | 00 | ... | 200001 | 6.39 | 6.39 | 355030 | 355030 | 00000000000 | S01 | ||||
726002 | EA | 359999 | 016127 | 200001 | 0304103 | B | 30 | 00 | 00 | ... | 200001 | 7.92 | 7.92 | 355030 | 355030 | 00000000000 | S01 | ||||
726003 | EA | 359999 | 016127 | 200001 | 0401103 | B | 01 | 00 | 27 | ... | 200001 | 2.00 | 2.00 | 355030 | 355030 | 00000000000 | S01 |
726004 rows × 24 columns