SIRG Logo

SIRG

Bem-vindo ao SIRG

O Sistema Integrado de Regulação e Gestão foi desenvolvido para facilitar o gerenciamento e o acompanhamento de solicitações e agendamentos na área da saúde. Pacientes podem consultar o status de suas solicitações com total transparência.

Transparência

A Prefeitura de Conceição do Almeida garante a transparência na Central de Marcação, disponibilizando indicadores em tempo real que demonstram a eficiência e a equidade no atendimento à população.

0
0
0

Aviso Importante !

As especialidades disponíveis podem ser consultadas normalmente. No entanto, alguns exames são de caráter particular e não são ofertados pelo SUS. Para obter informações detalhadas sobre quais exames são particulares, procure a Central de Regulação.

Exames/Especialidades Disponíveis

Integração com o SIRG

Arquitetura, objetivos e como integrar via HTTP e RabbitMQ.

Objetivos

  • Compartilhar capacidade regional por meio de pactos entre municípios.
  • Publicar e consumir solicitações de forma segura e rastreável.
  • Integrar sistemas externos via HTTP e mensageria RabbitMQ.
  • Reduzir tempo de espera e aumentar a eficiência na regulação.

Arquitetura

Backend Spring Boot, Frontend SvelteKit e RabbitMQ para distribuição de eventos. Troca via TopicExchange (regional_topic_exchange) e filas por município.

Filas compartilhadas

  • encaminhamento.<MUNICIPIO>.pacto.<ID>.nova: novas solicitações publicadas.
  • evento-claim-aceite.<ORIGEM>.pacto.<ID>: confirmação de consumo.
  • convite/convite-aceite e ingresso/ingresso-aceite: convites e ingressos.
  • agendamento-externo: sinalização de agendamentos externos.

Configuração local

  • Queue: app.municipio.queue-name.
  • Identificador (routing keys): app.municipio.nome-identificador.
  • Exchange central: regional_topic_exchange.

Integração HTTP

1) Cadastro público de município (referência)

POST /api/registry/municipios/register-public

{
  "nome": "Santo Antônio de Jesus",
  "cnes": "0000000",
  "rabbitQueueName": "SAJ_QUEUE",
  "baseUrl": "https://saj.gov.br/sirg"
}

2) Listar pactos públicos

GET /api/registry/pactos

curl -s http://HOST/api/registry/pactos

3) Solicitar ingresso em um pacto (referência)

POST /api/registry/pactos/{pactoId}/join-requests

{
  "mensagem": "Gostaríamos de participar com a fila da cardiologia."
}

Observação: a instância chamadora usa seu município local para identificar o solicitante. Pode requerer autenticação.

4) Criar pacto (autenticado)

POST /api/pactos

{
  "nome": "Pacto Regional de Oftalmologia",
  "descricao": "Compartilhamento de consultas e exames de oftalmologia"
}

Mensageria (RabbitMQ)

Exchange: regional_topic_exchange

Bindings por município

  • encaminhamento.<MEU_MUNICIPIO>.#
  • convite.<MEU_MUNICIPIO>.# e convite-aceite.<MEU_MUNICIPIO>.#
  • ingresso.<MEU_MUNICIPIO>.# e ingresso-aceite.<MEU_MUNICIPIO>.#
  • evento-claim-aceite.<MEU_MUNICIPIO>.#

Exemplos de routing key

encaminhamento.SAJ.pacto.42.nova
evento-claim-aceite.SAJ.pacto.42
convite.FEIRA_DE_SANTANA.pacto.7
ingresso-aceite.SAJ.pacto.7

Mensagens trafegam como JSON (ex.: PactoEventoResumoDTO, PactoJoinRequestMensagemDTO).

Pactos públicos

Pactos públicos podem ser consultados via endpoint de listagem e utilizados como base para integração entre municípios. O fluxo de ingresso e aceite pode ser realizado por endpoints dedicados e/ou por eventos via mensageria, conforme a política de autenticação e governança adotada.

Endpoints relacionados (referência)

  • GET /api/registry/pactos — listar pactos públicos
  • POST /api/registry/pactos/{pactoId}/join-requests — solicitar ingresso
  • POST /api/pactos — criar pacto (autenticado)

Cadastro de Município Externo (referência)

O cadastro público de município externo serve para anunciar dados básicos (como fila/identificador e URL base), facilitando a descoberta por pactos e integrações regionais.

POST /api/registry/municipios/register-public

{
  "nome": "Meu Município",
  "cnes": "0000000",
  "rabbitQueueName": "MEU_MUNICIPIO_QUEUE",
  "baseUrl": "https://meu.municipio.gov.br/sirg"
}