Class: Paciente

Inherits:
Individuo show all
Includes:
Comparable
Defined in:
lib/etiqueta/Individuo.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre, peso, talla, edad, sexo, porcentaje, imc, valor) ⇒ Paciente

Returns a new instance of Paciente.



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/etiqueta/Individuo.rb', line 21

def initialize(nombre,peso,talla,edad,sexo,porcentaje,imc,valor)
    super(nombre,edad,sexo)
    @nombre = nombre
    @edad = edad
    @sexo = sexo
    @peso = peso
    @talla = talla
    @porcentaje = porcentaje
    @imc = imc
    @valor = valor
end

Instance Attribute Details

#actFisicaObject

Returns the value of attribute actFisica.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def actFisica
  @actFisica
end

#edadObject

Returns the value of attribute edad.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def edad
  @edad
end

#imcObject

Returns the value of attribute imc.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def imc
  @imc
end

Returns the value of attribute menu.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def menu
  @menu
end

#nombreObject

Returns the value of attribute nombre.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def nombre
  @nombre
end

#pesoObject

Returns the value of attribute peso.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def peso
  @peso
end

#porcentajeObject

Returns the value of attribute porcentaje.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def porcentaje
  @porcentaje
end

#sexoObject

Returns the value of attribute sexo.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def sexo
  @sexo
end

#sumaObject

Returns the value of attribute suma.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def suma
  @suma
end

#tallaObject

Returns the value of attribute talla.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def talla
  @talla
end

#valorObject

Returns the value of attribute valor.



19
20
21
# File 'lib/etiqueta/Individuo.rb', line 19

def valor
  @valor
end

Instance Method Details

#<=>(other) ⇒ Object



113
114
115
# File 'lib/etiqueta/Individuo.rb', line 113

def <=>(other)
   [self.nombre,self.peso,self.talla,self.edad,self.sexo,self.porcentaje,self.imc,self.valor] <=> [other.nombre,other.peso,other.talla,other.edad,other.sexo,other.porcentaje,other.imc,other.valor] 
end

#addactFisica(actFisica) ⇒ Object



37
38
39
# File 'lib/etiqueta/Individuo.rb', line 37

def addactFisica(actFisica)
@actFisica = actFisica
end

#addMenu(menu) ⇒ Object



33
34
35
# File 'lib/etiqueta/Individuo.rb', line 33

def addMenu(menu)
@menu = menu
end

#calculateimcObject



117
118
119
120
# File 'lib/etiqueta/Individuo.rb', line 117

def calculateimc
    @imc = peso/(talla*talla)
    return @imc
end

#calculatePorcentajeObject



122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/etiqueta/Individuo.rb', line 122

def calculatePorcentaje
    if sexo == "Hombre"
        sexo = 1
    else
        sexo = 0
    end
    
    porcentaje = 1.2 * @imc + 0.23 * edad - 10.8 * sexo - 5.4
    
    if @imc < 18.5
        @valor = 'flaco'
    else if @imc < 24.9
        @valor = 'medio'
    else
        @valor = 'obeso'
    end
end
return porcentaje
end

#calculoAlimentacionObject



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/etiqueta/Individuo.rb', line 66

def calculoAlimentacion
    @suma = 0
    @menu.each do |elemento|
        @suma = @suma + elemento.calculate_Kcal
        
    end
    if (@suma >= getGastoTotal)
        if (@suma - getGastoTotal <= getGastoTotal * 0.10)
            valoracionfinal = "Menu adecuado"            
        else
            valoracionfinal = "Menu no adecuado"
        end
    else
        if getGastoTotal - @suma <= @suma * 0.10
            valoracionfinal = "Menu adecuado"
        else
            valoracionfinal = "Menu no adecuado"
        end
    end
    return valoracionfinal
end

#calculoValoracionNutricionalObject



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/etiqueta/Individuo.rb', line 88

def calculoValoracionNutricional
    @suma = 0
    @menu.each do |elemento|
        elemento.each do |elemento2|
        @suma = @suma + elemento2.calculate_Kcal
    end
        
    end
    if (@suma >= getGastoTotal)
        if (@suma - getGastoTotal <= getGastoTotal * 0.10)
            valoracionfinal = "Menu adecuado"            
        else
            valoracionfinal = "Menu no adecuado"
        end
    else
        if getGastoTotal - @suma <= @suma * 0.10
            valoracionfinal = "Menu adecuado"
        else
            valoracionfinal = "Menu no adecuado"
        end
    end
    return valoracionfinal
end

#getGastoActividadFisicaObject



57
58
59
# File 'lib/etiqueta/Individuo.rb', line 57

def getGastoActividadFisica
    return getGastoBasal * @actFisica
end

#getGastoBasalObject



45
46
47
48
49
50
51
# File 'lib/etiqueta/Individuo.rb', line 45

def getGastoBasal
    if sexo == "Mujer"
       return (10 * peso) + (6.25 * talla) - (5 * edad) - 161
    else
       return (10 * peso) + (6.25 * talla) - (5 * edad) + 5
    end
end

#getGastoTermogenoObject



53
54
55
# File 'lib/etiqueta/Individuo.rb', line 53

def getGastoTermogeno
    return getGastoBasal * 0.10
end

#getGastoTotalObject



61
62
63
# File 'lib/etiqueta/Individuo.rb', line 61

def getGastoTotal
    return getGastoBasal + getGastoTermogeno + getGastoActividadFisica
end

#getPesoIdealObject



41
42
43
# File 'lib/etiqueta/Individuo.rb', line 41

def getPesoIdeal
return (talla - 150) * 0.75 + 50
end

#to_sObject



142
143
144
# File 'lib/etiqueta/Individuo.rb', line 142

def to_s()
    return "Nombre: #{@nombre}, Peso: #{@peso}, Talla: #{@talla}, Edad: #{@edad}, Sexo: #{@sexo}, IMC: #{@imc}, Porcentaje: #{@porcentaje}, Complexión: #{@valor}"
end