Class: Gerint::Comunicacao
- Inherits:
-
Object
- Object
- Gerint::Comunicacao
- Defined in:
- lib/gerint/comunicacao/comunicacao.rb
Instance Attribute Summary collapse
-
#ambiente ⇒ Object
Returns the value of attribute ambiente.
-
#apikey ⇒ Object
Returns the value of attribute apikey.
-
#cnes ⇒ Object
Returns the value of attribute cnes.
-
#senha ⇒ Object
Returns the value of attribute senha.
-
#usuario ⇒ Object
Returns the value of attribute usuario.
Instance Method Summary collapse
- #alta(alta) ⇒ Object
-
#bloquear_leito(bloqueio_leito) ⇒ Object
Usado para bloqueio de leito.
- #busca_situacao_solicitacoes ⇒ Object
- #busca_solicitacoes_executante(filtros = "") ⇒ Object
-
#credenciais ⇒ Object
Consulta as credenciais instanciadas.
-
#desbloquear_leito(desbloqueio_leito) ⇒ Object
Usado para desbloqueio de leito.
- #endereco_url ⇒ Object
-
#evoluir_paciente(evolucao_paciente) ⇒ Object
Usado para evoluções do paciente.
- #executa_get(endereco) ⇒ Object
- #executa_post(endereco, body) ⇒ Object
-
#initialize(ambiente, apikey, usuario, senha, cnes) ⇒ Comunicacao
constructor
A new instance of Comunicacao.
- #internacao(internacao) ⇒ Object
- #reversao_alta(reversao_alta) ⇒ Object
- #reversao_internacao(reversao_internacao) ⇒ Object
- #solicitacao_internacao(solicitacao_internacao) ⇒ Object
- #solicitacao_internacao_psiquiatria(solicitacao_internacao_psiquiatria) ⇒ Object
- #transferir_leito(transf) ⇒ Object
Constructor Details
#initialize(ambiente, apikey, usuario, senha, cnes) ⇒ Comunicacao
Returns a new instance of Comunicacao.
9 10 11 12 13 14 15 16 |
# 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 end |
Instance Attribute Details
#ambiente ⇒ Object
Returns the value of attribute ambiente.
7 8 9 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 7 def ambiente @ambiente end |
#apikey ⇒ Object
Returns the value of attribute apikey.
7 8 9 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 7 def apikey @apikey end |
#cnes ⇒ Object
Returns the value of attribute cnes.
7 8 9 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 7 def cnes @cnes end |
#senha ⇒ Object
Returns the value of attribute senha.
7 8 9 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 7 def senha @senha end |
#usuario ⇒ Object
Returns the value of attribute usuario.
7 8 9 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 7 def usuario @usuario end |
Instance Method Details
#alta(alta) ⇒ Object
119 120 121 122 123 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 119 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 |
#bloquear_leito(bloqueio_leito) ⇒ Object
Usado para bloqueio de leito
137 138 139 140 141 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 137 def bloquear_leito(bloqueio_leito) # Usado para bloqueio de leito ender = "/leitos/bloquearLeito" body = bloqueio_leito.to_json retorno = self.executa_post(ender, body) end |
#busca_situacao_solicitacoes ⇒ Object
85 86 87 88 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 85 def busca_situacao_solicitacoes ender = "/solicitacoes/buscaSituacaoSolicitacoes" retorno = self.executa_get(ender) end |
#busca_solicitacoes_executante(filtros = "") ⇒ Object
90 91 92 93 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 90 def busca_solicitacoes_executante(filtros="") ender = "/solicitacoes/buscaSolicitacoesExecutante#{filtros}" retorno = self.executa_get(ender) end |
#credenciais ⇒ Object
Consulta as credenciais instanciadas
18 19 20 21 22 23 24 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 18 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 |
#desbloquear_leito(desbloqueio_leito) ⇒ Object
Usado para desbloqueio de leito
143 144 145 146 147 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 143 def desbloquear_leito(desbloqueio_leito) # Usado para desbloqueio de leito ender = "/leitos/desbloquearLeito" body = desbloqueio_leito.to_json retorno = self.executa_post(ender, body) end |
#endereco_url ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 26 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" elsif @ambiente == 'P2' "https://apigateway.procempa.com.br/apiman-gateway/saude/saude-api/1.0/gerint" elsif @ambiente == 'H2' "https://apigateway-hom.procempa.com.br/apiman-gateway/saude/saude-api/1.0/gerint" else "ERRO: Ambiente inválido, informa P, H, P2 ou H2" end end |
#evoluir_paciente(evolucao_paciente) ⇒ Object
Usado para evoluções do paciente
149 150 151 152 153 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 149 def evoluir_paciente(evolucao_paciente) # Usado para evoluções do paciente ender = "/solicitacoes/evolucaoPaciente" body = evolucao_paciente.to_json retorno = self.executa_post(ender, body) end |
#executa_get(endereco) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 40 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) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 59 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) ⇒ Object
107 108 109 110 111 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 107 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) ⇒ Object
125 126 127 128 129 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 125 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) ⇒ Object
113 114 115 116 117 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 113 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) ⇒ Object
95 96 97 98 99 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 95 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) ⇒ Object
101 102 103 104 105 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 101 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) ⇒ Object
131 132 133 134 135 |
# File 'lib/gerint/comunicacao/comunicacao.rb', line 131 def transferir_leito(transf) ender = "/internacoes/transferir" body = transf.to_json retorno = self.executa_post(ender, body) end |