Skip to content

🔗 Módulo Integration

O módulo Integration é a camada de interoperabilidade com sistemas nacionais SUS (RNDS, CNS, CNES, SIGTAP, BNAFAR), essencial para validação em tempo real, envio de dados assistenciais e conformidade com Conecte SUS.

Funcionalidades Principais

Validação e Consulta em Tempo Real

  • CNS: Validação de cartão nacional de saúde (consulta CadSUS), busca por nome/CPF para unificação de pacientes
  • CNES: Listagem de estabelecimentos (unidades próprias + conveniadas), profissionais vinculados
  • SIGTAP: Tabela de procedimentos/medicamentos/OPM para cobrança/faturamento, com códigos atualizados

Use chamadas assíncronas (queues) para não travar UI.

Sincronização de Catálogos (Central)

Jobs agendados para importar/atualizar: medicamentos Hórus/ANVISA, vacinas PNI, CIDs, tabelas SIGTAP para referência compartilhada com tenants.

Integrações Transacionais (Envio de Dados)

  • RNDS (Rede Nacional de Dados em Saúde): Envio de contatos assistenciais (atendimentos, dispensações, imunizações, notificações) via WebService SOAP. Validação pré-envio (CNS/CNES/SIGTAP) e retentativas automáticas. Suporte a PEC e-SUS APS (fichas CDS/Prontuário)
  • BNAFAR: Consulta de preços de referência para compras/licitações, integrado à Farmácia

Credenciais e Setup (SUS Digital)

ServiçoAmbiente Homolog.ProduçãoAutenticação
CNS/CadSUShttps://homologacao.datasus.gov.brhttps://servicos.datasus.gov.brCertificado ICP-Brasil (PF/PJ), token OAuth2
RNDSSOAP WSDL homologSOAP produçãoChave pública/privada + login CNS gestor CNES
CNES/SIGTAPAPI RESTAPI RESTAPI Key por CNES principal

Passos para ativar:

  • Portal SUS Digital: Solicite credenciais para CNES principal (gestor municipal), informe sistema (Laravel 12, PHP 8.4). Gere certificado ICP-Brasil
  • Configure jobs para teste em homologação
  • Monitore falhas e conformidade (logs auditados)

Telas e Fluxos de Usuário

Dashboard Integrações

Status conexões, jobs pendentes, erros recentes, % dados enviados RNDS.

Gerenciar Credenciais

Upload certs, teste conexão CNS/RNDS.

Sincronizar Catálogos

Botão "Atualizar SIGTAP", preview diffs.

Monitor RNDS

Fila de envios, reenvio falhas, relatórios de rejeições.

Modelos de Dados

  • Central: NationalCatalog (medicamentos, procedimentos), IntegrationCredential (por tenant/CNES)
  • Tenant: RndsSubmission (id, tipo_dado, status, erro_msg, data_envio)
  • Cache: Redis para consultas frequentes (CNS válidos 24h)

Implementação Técnica (Laravel)

Use php-soap ou nusoap para RNDS SOAP; Guzzle para REST APIs. Exemplo job RNDS:

php
<?php
namespace App\Jobs;

use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Log;
use SoapClient;

class SendToRndsJob implements ShouldQueue
{
    use Dispatchable;

    protected $clinicalRecord;

    public function __construct($clinicalRecord)
    {
        $this->clinicalRecord = $clinicalRecord;
    }

    public function handle()
    {
        $contact = $this->clinicalRecord; // Do Prontuário
        $client = new SoapClient('https://producao.rnds.gov.br/wsdl');
        $response = $client->enviarContatoAssistencial([
            'cnsPaciente' => $contact->patient->cns,
            'cnes' => config('tenant.cnes'),
            // ... dados validados
        ]);
        if (!$response->sucesso) {
            Log::error('RNDS falha', $response);
        }
    }
}

Desacople: services como CnsValidator, RndsSender injetados nos módulos.

Priorize MVP: validação CNS/CNES → sync catálogos → envio básico RNDS de dispensações. Isso habilita todos os módulos sem retrabalho.

💡 Nota Técnica

No código, este módulo é representado pelo namespace App\Modules\Integration. As tabelas no banco de dados utilizam o prefixo integration_.