SIH FTP Database
Sistema de Informações Hospitalares
[1]:
from pysus import SIH
sih = SIH().load() # Loads the files from DATASUS
[2]:
sih
[2]:
SIH - Sistema de Informações Hospitalares
[3]:
sih.metadata
[3]:
{'long_name': 'Sistema de Informações Hospitalares',
'source': ('https://datasus.saude.gov.br/acesso-a-informacao/morbidade-hospitalar-do-sus-sih-sus/',
'https://datasus.saude.gov.br/acesso-a-informacao/producao-hospitalar-sih-sus/'),
'description': 'A finalidade do AIH (Sistema SIHSUS) é a de transcrever todos os atendimentos que provenientes de internações hospitalares que foram financiadas pelo SUS, e após o processamento, gerarem relatórios para os gestores que lhes possibilitem fazer os pagamentos dos estabelecimentos de saúde. Além disso, o nível Federal recebe mensalmente uma base de dados de todas as internações autorizadas (aprovadas ou não para pagamento) para que possam ser repassados às Secretarias de Saúde os valores de Produção de Média e Alta complexidade além dos valores de CNRAC, FAEC e de Hospitais Universitários – em suas variadas formas de contrato de gestão.'}
[4]:
sih.groups
[4]:
{'RD': 'AIH Reduzida',
'RJ': 'AIH Rejeitada',
'ER': 'AIH Rejeitada com erro',
'SP': 'Serviços Profissionais',
'CH': 'Cadastro Hospitalar',
'CM': ''}
Getting specific files
[5]:
print(str(len(sih.get_files(["RD", "RJ"]))) + " files")
15649 files
[6]:
sih.get_files("RD", uf="SP", year=2000)
[6]:
[RDSP0001.dbc,
RDSP0002.dbc,
RDSP0003.dbc,
RDSP0004.dbc,
RDSP0005.dbc,
RDSP0006.dbc,
RDSP0007.dbc,
RDSP0008.dbc,
RDSP0009.dbc,
RDSP0010.dbc,
RDSP0011.dbc,
RDSP0012.dbc]
[7]:
files = sih.get_files("RD", uf="SP", year=2000, month=[1,2,3])
files
[7]:
[RDSP0001.dbc, RDSP0002.dbc, RDSP0003.dbc]
Describing files inside DATASUS server
[8]:
sih.describe(files[0])
[8]:
{'name': 'RDSP0001.dbc',
'group': 'AIH Reduzida',
'uf': 'São Paulo',
'month': 'Janeiro',
'year': 2000,
'size': '10.1 MB',
'last_update': '2013-10-31 01:14PM'}
Downloading files
You can rather download multiple files or download them individually:
[9]:
sih.download(files) # Specify a directory with `local_dir=`
RDSP0003.parquet: 100%|████████████| 340k/340k [00:12<00:00, 28.0kB/s]
[9]:
[/home/bida/pysus/RDSP0001.parquet,
/home/bida/pysus/RDSP0002.parquet,
/home/bida/pysus/RDSP0003.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
[11]:
parquet = sih.download(files)[0]
100%|████████████████████████████| 8.46M/8.46M [00:00<00:00, 4.04GB/s]
[12]:
parquet.to_dataframe()
[12]:
UF_ZI | ANO_CMPT | MES_CMPT | ESPEC | CGC_HOSP | N_AIH | IDENT | CEP | MUNIC_RES | NASC | ... | CAR_INT | TOT_PT_SP | CPF_AUT | HOMONIMO | NUM_FILHOS | INSTRU | CID_NOTIF | CONTRACEP1 | CONTRACEP2 | GESTRISCO | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380830 | 1 | 06040090 | 353440 | 19631229 | ... | 05 | 719 | 0 | 0 | 00 | 00 | 0 | |||
1 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380841 | 1 | 06110000 | 353440 | 19620609 | ... | 05 | 176 | 0 | 0 | 00 | 00 | 0 | |||
2 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380852 | 1 | 06184080 | 353440 | 19781207 | ... | 05 | 36 | 0 | 0 | 00 | 00 | 0 | |||
3 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380863 | 1 | 06010020 | 353440 | 19710106 | ... | 05 | 176 | 0 | 0 | 00 | 00 | 0 | |||
4 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380874 | 1 | 06112010 | 353440 | 19710717 | ... | 05 | 158 | 0 | 0 | 00 | 00 | 0 | |||
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
193819 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380786 | 1 | 06036090 | 353440 | 19740804 | ... | 05 | 737 | 0 | 0 | 00 | 00 | 0 | |||
193820 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380797 | 1 | 06240120 | 353440 | 19670403 | ... | 05 | 737 | 0 | 0 | 00 | 00 | 0 | |||
193821 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380808 | 1 | 06140080 | 353440 | 19741001 | ... | 05 | 737 | 0 | 0 | 00 | 00 | 0 | |||
193822 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380819 | 1 | 06240090 | 353440 | 19721028 | ... | 05 | 719 | 0 | 0 | 00 | 00 | 0 | |||
193823 | 35 | 2000 | 01 | 02 | 46523171000287 | 2179380820 | 1 | 06260030 | 353440 | 19721122 | ... | 05 | 737 | 0 | 0 | 00 | 00 | 0 |
193824 rows × 60 columns