Biblioteca desenvolvida em C# .NET para integração com o WebService do SNGPC (Sistema Nacional de Gerenciamento de Produtos Controlados) da Anvisa
O Sistema Nacional de Gerenciamento de Produtos Controlados (SNGPC) é uma plataforma da Anvisa para monitoramento e controle da venda de medicamentos e substâncias sujeitas a controle especial.
Farmácias e drogarias devem enviar periodicamente arquivos XML ao SNGPC contendo informações sobre movimentação de medicamentos controlados, garantindo conformidade com as regulamentações da RDC nº 27/2007 e outras normativas vigentes.
Esta biblioteca facilita a geração, envio e consulta desses arquivos XML, abstraindo a complexidade da comunicação com o WebService da Anvisa.
- Serialização de XML
Criação de XMLs através da serialização de classes, eliminando a necessidade de manipulação manual de arquivos XML. - Integração com WebService
Implementação dos métodos do WebService:EnviarArquivo- Envio de XMLs de inventário e movimentações.ConsultarArquivo- Consulta de dados de um arquivo enviado.ValidarUsuario- Verifica credenciais de acesso.
var medicamentoInventario = new MedicamentoInventario()
{
MedicamentoEntrada = new()
{
ClasseTerapeutica = ClasseTerapeutica.Antimicrobiano,
NumeroLoteMedicamento = "200678",
QuantidadeMedicamento = 1234,
RegistroMSMedicamento = "1888888888888",
UnidadeMedidaMedicamento = UnidadeMedidaMedicamento.Caixa
}
};
var inventario = new Inventario()
{
Corpo = new()
{
Medicamentos = [medicamentoInventario],
},
Cabecalho = new()
{
CnpjEmissor = "05059874000138",
CpfTransmissor = "72586648153",
Data = DateTime.Now,
}
};
var responseEnviarInventario = await SNGPCWS.EnviarArquivoAsync("teste@email.com", "1234", inventario);
Console.WriteLine(responseEnviarInventario);var responseConsultarArquivo = await SNGPCWS.ConsultarArquivo("teste@email.com", "1234", "99999999999999", "098f6bcd4621d373cade4e832627b4f6");
Console.WriteLine(responseConsultarArquivo);var responseValidarUsuario = await SNGPCWS.ValidarUsuarioAsync("teste@email.com", "1234");
Console.WriteLine(responseValidarUsuario);