Sha256: 729af19acb390dd519b2b7a281cddb5c5ddc80a7bb7ad3629b9ec4f1263cd7b1
Contents?: true
Size: 1.37 KB
Versions: 1
Compression:
Stored size: 1.37 KB
Contents
class Percentil < ApplicationRecord def self.calcular(paciente, valor, tipo) resposta = Hash.new idade = 0 if tipo == 'circunferencia_abdominal' if paciente.meses_vividos < 60 or paciente.meses_vividos > 192 resposta[:status] = 'indisponivel' return resposta end idade = paciente.meses_vividos end if tipo == 'estatura' if paciente.meses_vividos > 240 resposta[:status] = 'indisponivel' return resposta end idade = paciente.meses_vividos end percentis = self.where("sexo = #{paciente.sexo} and tipo = '#{tipo}' and idade <= #{idade}") percentis.each do |percentil| if percentil.valor == valor resposta[:status] = 'exatamente' resposta[:percentil] = percentil return resposta end end if valor < percentis.first.valor resposta[:status] = 'abaixo' resposta[:percentil] = percentis.first return resposta end if valor > percentis.last.valor resposta[:status] = 'acima' resposta[:percentil] = percentis.last return resposta end percentis.each_cons(2) { |percentil_anterior, percentil_atual| if percentil_atual.valor > valor resposta[:status] = 'entre' resposta[:min] = percentil_anterior resposta[:max] = percentil_atual return resposta end } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
omniauth-sabia-1.0.1 | app/models/percentil.rb |