Skip to content

ronyperegrino-code/ras

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API RAS

O que é?

A estrutura RAS (Registro de Atendimento Simplificado) é baseada em um conjunto mínimo de informações em saúde coletadas pelos Sistemas PEC e CDS, e deverá ser adotada como processo padrão para transmissão dos dados ao Sistema de Informação em Saúde para a Atenção Básica (SISAB).

Este pacote oferece duas funcionalidades principais:

  1. Exportação de fichas CDS/RAS — Geração de arquivos Thrift para envio ao e-SUS APS (funcionalidade original)
  2. Acesso a dados do SISAB — Consulta à API REST pública do SISAB para obter indicadores de cobertura da Atenção Primária à Saúde

Instalação

Coloque no composer.json:

"denissonleal/ras": "v0.5.x"

depois rode o composer update

Requisitos

  • PHP >= 5.6
  • Extensão cURL habilitada
  • Extensão JSON habilitada
  • Conexão com a internet (para acesso à API do SISAB)

Módulo SISAB — Acesso a Dados

O módulo SISAB permite consultar dados públicos de cobertura da Atenção Primária à Saúde diretamente da API REST do Ministério da Saúde (relatorioaps.saude.gov.br).

Dados Disponíveis

Tipo Descrição Disponibilidade
aps Cobertura da Atenção Primária à Saúde (eSF, eAP, eSFR, eCR, eAPP) 2019–atual
ab Cobertura da Atenção Básica (histórico) 2007–2020
sb Cobertura de Saúde Bucal 2024–atual
acs Cobertura de Agentes Comunitários de Saúde 2007–atual
pns Cobertura PNS (Pesquisa Nacional de Saúde) 2020–2023

Níveis Geográficos

Nível Descrição
BRASIL Total nacional
REGIAO 5 macrorregiões
UF 27 Unidades Federativas
MUNICIPIO ~5.570 municípios

Uso Básico

<?php
require_once 'vendor/autoload.php';

use Sisab\SisabClient;
use Sisab\SisabHelper;
use Sisab\SisabException;

// Inicializar o cliente
$client = new SisabClient();

// Cobertura APS por UF em janeiro/2024
$dados = $client->getCoberturaAps('UF', '202401', '202401');

foreach ($dados as $uf) {
    echo $uf['sgUf'] . ': ' . $uf['qtCobertura'] . '%' . PHP_EOL;
}

Usando o SisabHelper (atalhos)

$helper = new SisabHelper();

// Cobertura APS nacional
$nacional = $helper->coberturaApsNacional(2024, 1);

// Cobertura APS por estado
$sp = $helper->coberturaApsPorEstado('SP', 2024, 1);

// Todos os municípios de MG
$municipios = $helper->coberturaApsMunicipios('MG', 2024, 6);

// Cobertura por região
$regioes = $helper->coberturaApsPorRegiao(2024, 1);

// Comparar todos os estados (ordenado por cobertura)
$ranking = $helper->compararCoberturaApsEstados(2024, 1);

// Buscar município específico por código IBGE
$saoPaulo = $helper->coberturaApsMunicipio('355030', 2024, 1);

// Tendência anual
$tendencia = $helper->tendenciaApsAnual('BRASIL', 2024);

Métodos do SisabClient

Método Descrição
getCoberturaAps($nivel, $compInicio, $compFim, $codigoUf) Cobertura APS (2019+)
getCoberturaAb($nivel, $compInicio, $compFim, $codigoUf) Cobertura AB histórica (2007-2020)
getCoberturaSaudeBucal($nivel, $compInicio, $compFim, $codigoUf) Cobertura Saúde Bucal (2024+)
getCoberturaAcs($nivel, $compInicio, $compFim, $codigoUf) Cobertura ACS (2007+)
getCoberturaPns($nivel, $compInicio, $compFim, $codigoUf) Cobertura PNS (2020-2023)
getUfMap() Mapeamento sigla UF → código IBGE
ufParaCodigo($sigla) Converte sigla UF para código IBGE
getTiposRelatorio() Lista tipos de relatório disponíveis
getNiveisGeograficos() Lista níveis geográficos disponíveis

Parâmetros de Competência

As competências seguem o formato YYYYMM (ano com 4 dígitos + mês com 2 dígitos):

// Janeiro de 2024
$compInicio = '202401';
$compFim = '202401';

// Ano inteiro de 2023
$compInicio = '202301';
$compFim = '202312';

Tratamento de Erros

use Sisab\SisabException;

try {
    $dados = $client->getCoberturaAps('UF', '202401', '202401');
} catch (SisabException $e) {
    echo 'Erro SISAB: ' . $e->getMessage();
}

Variáveis Retornadas (APS)

Variável Descrição
nuComp Competência (MM/YYYY)
sgUf Sigla da UF
noUfAcentuado Nome da UF com acentos
qtPopulacao População
qtEsf Quantidade equipes eSF
qtEap30 Quantidade equipes eAP 30h
qtEap20 Quantidade equipes eAP 20h
qtCobertura Cobertura (%)
coMunicipioIbge Código IBGE do município (nível MUNICIPIO)
noMunicipioAcentuado Nome do município com acentos (nível MUNICIPIO)

Para a lista completa de variáveis de cada endpoint, consulte Sisab\SisabConstants.

Estrutura do Projeto

ras/
├── composer.json
├── index.php
├── src/
│   ├── sisab/                  # Módulo de acesso a dados do SISAB
│   │   ├── SisabClient.php     # Cliente principal da API REST
│   │   ├── SisabConstants.php  # Constantes e metadados
│   │   ├── SisabException.php  # Classe de exceção
│   │   └── SisabHelper.php     # Métodos auxiliares e atalhos
│   ├── cds/                    # Fichas CDS (Thrift)
│   ├── transport/              # Transporte de dados (Thrift)
│   └── thrift/                 # Biblioteca Apache Thrift
├── examples/
│   └── sisab_exemplo.php       # Exemplo completo de uso
└── test_sisab.php              # Testes automatizados

API REST do SISAB — Referência Técnica

A API pública do SISAB está disponível em:

https://relatorioaps-prd.saude.gov.br

Endpoints

Endpoint Descrição
/cobertura/aps Cobertura APS
/cobertura/ab Cobertura AB (histórico)
/cobertura/sb/v2 Cobertura Saúde Bucal
/cobertura/acs Cobertura ACS
/cobertura/pns Cobertura PNS

Parâmetros de Query

Parâmetro Descrição Valores
unidadeGeografica Nível geográfico BRASIL, REGIAO, UF, MUNICIPIO
nuCompInicio Competência inicial YYYYMM
nuCompFim Competência final YYYYMM
coUf Código IBGE da UF (opcional) 1153

Exemplo de URL

https://relatorioaps-prd.saude.gov.br/cobertura/aps?unidadeGeografica=UF&nuCompInicio=202401&nuCompFim=202401

Licença

MIT

About

API RAS para exportação do SUS

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • PHP 100.0%