class ParseSubstance

Attributes

cdose[RW]
chemical_qty[RW]
chemical_substance[RW]
chemical_unit[RW]
description[RW]
dose[RW]
is_active_agent[RW]
is_excipiens[RW]
more_info[RW]
name[RW]
qty[W]
salts[RW]
unit[W]

Public Class Methods

new(name, dose = nil) click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 334
def initialize(name, dose = nil)
  puts "ParseSubstance.new from #{name.inspect} #{dose.inspect}" if VERBOSE_MESSAGES
  @name = ParseUtil.capitalize(name.to_s)
  @name.sub!(/\baqua\b/i, "aqua")
  @name.sub!(/\bDER\b/i, "DER")
  @name.sub!(/\bad pulverem\b/i, "ad pulverem")
  @name.sub!(/\bad iniectabilia\b/i, "ad iniectabilia")
  @name.sub!(/\bad suspensionem\b/i, "ad suspensionem")
  @name.sub!(/\bad solutionem\b/i, "ad solutionem")
  @name.sub!(/\bpro compresso\b/i, "pro compresso")
  @name.sub!(/\bpro\b/i, "pro")
  @name.sub!(/ Q\.S\. /i, " q.s. ")
  @name.sub!(/\s+\bpro$/i, "")
  @dose = dose if dose
  @salts = []
end

Public Instance Methods

qty() click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 351
def qty
  return @dose.qty_range if @dose&.qty_range
  @dose ? @dose.qty : @qty
end
to_string() click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 361
def to_string
  s = "#{@name}:"
  s = " #{@qty}" if @qty
  s = " #{@unit}" if @unit
  s += @chemical_substance.to_s if chemical_substance
  s
end
unit() click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 356
def unit
  return @unit if @unit
  @dose ? @dose.unit : @unit
end