class Gerint::Comunicacao
Attributes
ambiente[RW]
apikey[RW]
cnes[RW]
senha[RW]
usuario[RW]
Public Class Methods
new(ambiente, apikey, usuario, senha, cnes)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 9 def initialize(ambiente, apikey, usuario, senha, cnes) @ambiente = ambiente @apikey = apikey @usuario = usuario @senha = senha @cnes = cnes if ambiente == 'H' && apikey == '' # Se não informar a apikey, pega os dados de teste do HEPA @apikey = "0ecc120b-c3bf-4e71-a5f9-cbaf0e394e34" @usuario = "integracao.2237180" @senha = "integracao.2237180" @cnes = "2237180" end end
Public Instance Methods
alta(alta)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 121 def alta(alta) ender = "/internacoes/liberar" # No GERINT o serviço é chamado de Liberação de Internação body = alta.to_json retorno = self.executa_post(ender, body) end
busca_situacao_solicitacoes()
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 87 def busca_situacao_solicitacoes ender = "/solicitacoes/buscaSituacaoSolicitacoes" retorno = self.executa_get(ender) end
busca_solicitacoes_executante(filtros="")
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 92 def busca_solicitacoes_executante(filtros="") ender = "/solicitacoes/buscaSolicitacoesExecutante#{filtros}" retorno = self.executa_get(ender) end
credenciais()
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 24 def credenciais # Consulta as credenciais instanciadas x = "ambiente = #{@ambiente} \n" x += "apikey = #{@apikey} \n" x += "usuario = #{@usuario} \n" x += "senha = #{@senha} \n" x += "cnes = #{@cnes}" end
endereco_url()
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 32 def endereco_url if @ambiente == 'P' "https://api.procempa.com.br/apiman-gateway/saude/api/1.0/gerint" elsif @ambiente == 'H' "https://api-hom.procempa.com.br/apiman-gateway/saude/api/1.1/gerint" else "ERRO: Ambiente inválido, informa P para produção ou H para Homologação" end end
executa_get(endereco)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 42 def executa_get(endereco) ender = endereco_url + endereco url = URI("#{ender}") https = Net::HTTP.new(url.host, url.port); https.use_ssl = true request = Net::HTTP::Get.new(url) request["X-API-Key"] = @apikey request["usuario"] = @usuario request["senha"] = @senha request["cnes"] = @cnes request["Cookie"] = "SERVERID=WS4CH" response = https.request(request) response.read_body end
executa_post(endereco, body)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 61 def executa_post(endereco, body) ender = endereco_url + endereco url = URI("#{ender}") https = Net::HTTP.new(url.host, url.port); https.use_ssl = true request = Net::HTTP::Post.new(url) request["X-API-Key"] = @apikey request["usuario"] = @usuario request["senha"] = @senha request["cnes"] = @cnes request["Content-Type"] = "application/json" request["Cookie"] = "SERVERID=WS4CH" request.body = body puts "***************************" puts request.body puts "***************************" response = https.request(request) response.read_body end
internacao(internacao)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 109 def internacao(internacao) ender = "/internacoes" # Usado para internações e internações psiquiatricas body = internacao.to_json retorno = self.executa_post(ender, body) end
reversao_alta(reversao_alta)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 127 def reversao_alta(reversao_alta) ender = "/internacoes/reverterAlta" # Usado para reversao de internações body = reversao_alta.to_json retorno = self.executa_post(ender, body) end
reversao_internacao(reversao_internacao)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 115 def reversao_internacao(reversao_internacao) ender = "/internacoes/reverterInternacao" # Usado para reversao de internações body = reversao_internacao.to_json retorno = self.executa_post(ender, body) end
solicitacao_internacao(solicitacao_internacao)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 97 def solicitacao_internacao(solicitacao_internacao) ender = "/solicitacoes" body = solicitacao_internacao.to_json retorno = self.executa_post(ender, body) end
solicitacao_internacao_psiquiatria(solicitacao_internacao_psiquiatria)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 103 def solicitacao_internacao_psiquiatria(solicitacao_internacao_psiquiatria) ender = "/solicitacoes/psiquiatria" body = solicitacao_internacao_psiquiatria.to_json retorno = self.executa_post(ender, body) end
transferir_leito(transf)
click to toggle source
# File lib/gerint/comunicacao/comunicacao.rb, line 133 def transferir_leito(transf) ender = "/internacoes/transferir" body = transf.to_json retorno = self.executa_post(ender, body) end