Sha256: fb77795a2d89a882e077eae217f0ed51e768fea35417a704c48524c7b08440a1
Contents?: true
Size: 1.7 KB
Versions: 1
Compression:
Stored size: 1.7 KB
Contents
require 'ruby-units' require 'paciente/paciente' require 'valoracion/datos_antropometricos' # Representa un paciente cuyos datos han sido registrados class PacienteConDatos < Paciente include Comparable attr_accessor :datos def initialize(nombre, apellidos, sexo, fecha_nac, ocupacion, consulta, datos) super(nombre, apellidos, sexo, fecha_nac, ocupacion, consulta) @datos = datos end # Cálculo del Indice de Masa Corporal def imc @datos.peso / (@datos.talla * @datos.talla) end # Cálculo del porcentaje de grasa def porcentaje_grasa (1.2 * imc + 0.23 * @edad - 10.8 * @sexo - 5.4).round(2) end # Cálculo de la Relación Cadera-Cintura def rcc (@datos.ccintura.to_f / @datos.ccadera).round(2) end # Cálculo del peso teórico ideal def peso_teorico_ideal (@datos.talla * 100 - 150) * 0.75 + 50 end # Cálculo del gasto energético basal (teniendo en cuenta el sexo) def gasto_energetico_basal (10 * @datos.peso) + (6.25 * @datos.talla) - (5 * @edad) + (@sexo ? 5 : -161) end # Cálculo del efecto termógeno def efecto_termogeno gasto_energetico_basal * 0.10 end # Cálculo del gasto por el factor de actividad fisica def gasto_actividad_fisica gasto_energetico_basal * @datos.actividad_fisica end # Cálculo del gasto energético total (en kcal) def gasto_energetico_total Unit.new("#{gasto_energetico_basal + efecto_termogeno + gasto_actividad_fisica} kcal") end def <=>(other) [gasto_energetico_total, datos] <=> [other.gasto_energetico_total, other.datos] end def to_s "#{super}\n - Datos antropométricos: #{@datos}" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gematdd-dibad-0.1.1 | lib/gematdd/paciente/paciente_datos.rb |