Class: Kimaya::TPNCalc

Inherits:
Object
  • Object
show all
Includes:
KimayaCore
Defined in:
lib/kimaya/kimaya.rb

Constant Summary collapse

MAX_DIR =
12.0
MIN_CNR =
150.0
CONCENTRATIONS =
{dextrose_5: 20, dextrose_10: 10, dextrose_25: 4, dextrose_50: 2}

Constants included from KimayaCore

KimayaCore::ERROR_CODES

Instance Attribute Summary

Attributes included from KimayaCore

#achieved_dextrose_conc, #administration, #amino_acid_conc, #amino_acid_intake, #amino_acid_vol, #available_dextrose_concentrations, #calcium_conc, #calcium_intake, #calcium_vol, #calories, #cho_calories, #cnr_rate, #current_weight, #day_of_tpn, #dextrose_concentrations, #dir_rate, #errors, #exceptions, #expected_dir, #fat_calories, #fat_intake, #fat_vol, #feed_vol, #hav_vol, #heparin, #lipid_conc, #losses, #magnesium_conc, #magnesium_intake, #magnesium_vol, #mvi, #non_protein, #other_infusions, #overfill_factor, #percent_dextrose_conc, #potassium_chloride_conc, #potassium_chloride_intake, #potassium_chloride_vol, #prepared_overfill, #remaining_dextrose_vol, #sodium_chloride_conc, #sodium_chloride_intake, #sodium_chloride_vol, #total_fluid_intake, #total_fluid_intake_vol, #total_protein, #tpn_vol, #warnings, #water

Instance Method Summary collapse

Methods included from KimayaCore

#round

Constructor Details

#initialize(options = {}) {|_self| ... } ⇒ TPNCalc

Returns a new instance of TPNCalc.

Yields:

  • (_self)

Yield Parameters:



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/kimaya/kimaya.rb', line 10

def initialize(options= {}, &block)
  yield self if block_given?

  @day_of_tpn                ||= initialize_key(options, :day_of_tpn, 1, 1)
  @current_weight            ||= initialize_key(options, :current_weight, 2)
  @percent_dextrose_conc     ||= initialize_key(options, :percent_dextrose_conc, 4, 0.1)
  @total_fluid_intake        ||= initialize_key(options, :total_fluid_intake, 2, 0)
  @losses                    ||= initialize_key(options, :losses, 2)
  @fat_intake                ||= initialize_key(options, :fat_intake, 2, 0)
  @lipid_conc                ||= initialize_key(options, :lipid_conc, 2, 0.1)
  @overfill_factor           ||= initialize_key(options, :overfill_factor, 2, 1.0)
  @amino_acid_intake         ||= initialize_key(options, :amino_acid_intake, 3)
  @amino_acid_conc           ||= initialize_key(options, :amino_acid_conc, 3)
  @sodium_chloride_intake    ||= initialize_key(options, :sodium_chloride_intake, 3, 0)
  @sodium_chloride_conc      ||= initialize_key(options, :sodium_chloride_conc, 3, 1)
  @potassium_chloride_intake ||= initialize_key(options, :potassium_chloride_intake, 3, 0)
  @potassium_chloride_conc   ||= initialize_key(options, :potassium_chloride_conc, 3, 1)
  @magnesium_intake          ||= initialize_key(options, :magnesium_intake, 3, 0)
  @magnesium_conc            ||= initialize_key(options, :magnesium_conc, 3, 1)
  @calcium_intake            ||= initialize_key(options, :calcium_intake, 3, 0)
  @calcium_conc              ||= initialize_key(options, :calcium_conc, 3, 1)
  @expected_dir              ||= initialize_key(options, :expected_dir, 1, 0.0)
  @other_infusions          ||= initialize_key(options, :other_infusions, 2, 0.0)
  @administration            ||= options.has_key?(:administration) ? options.fetch(:administration) : "Peripheral Line" 
  @available_dextrose_concentrations ||= options.has_key?(:available_dextrose_concentrations) ? options.fetch(:available_dextrose_concentrations) : [:dextrose_50, :dextrose_10]
  @feed_vol = 0
  @losses   = 0
  @errors   = []
  @warnings = []
  @dextrose_concentrations = {}
  @exceptions = []
end

Instance Method Details

#calculate_tpnObject



43
44
45
46
47
48
49
# File 'lib/kimaya/kimaya.rb', line 43

def calculate_tpn 
  calculate_volumes
  calculate_additives
  calculate_dextrose_concentration_achieved
  calculate_calories
  validate_results
end