Class: OpenEHR::RM::DataTypes::Quantity::DateTime::DvDuration

Constant Summary

Constants included from AssumedLibraryTypes::TimeDefinitions

AssumedLibraryTypes::TimeDefinitions::DAYS_IN_LEAP_YEAR, AssumedLibraryTypes::TimeDefinitions::DAYS_IN_MONTH, AssumedLibraryTypes::TimeDefinitions::DAYS_IN_WEEK, AssumedLibraryTypes::TimeDefinitions::DAYS_IN_YEAR, AssumedLibraryTypes::TimeDefinitions::HOURS_IN_DAY, AssumedLibraryTypes::TimeDefinitions::MAX_DAYS_IN_MONTH, AssumedLibraryTypes::TimeDefinitions::MAX_DAYS_IN_YEAR, AssumedLibraryTypes::TimeDefinitions::MINUTES_IN_HOUR, AssumedLibraryTypes::TimeDefinitions::MONTH_IN_YEAR, AssumedLibraryTypes::TimeDefinitions::NOMINAL_DAYS_IN_MONTH, AssumedLibraryTypes::TimeDefinitions::NOMINAL_DAYS_IN_YEAR, AssumedLibraryTypes::TimeDefinitions::SECONDS_IN_MINUTE

Constants included from Support::Definition::BasicDefinition

Support::Definition::BasicDefinition::CR, Support::Definition::BasicDefinition::LF

Instance Attribute Summary collapse

Attributes included from AssumedLibraryTypes::ISO8601DurationModule

#days, #fractional_second, #hours, #minutes, #months, #seconds, #weeks, #years

Attributes inherited from OpenEHR::RM::DataTypes::Quantity::DvAbsoluteQuantity

#accuracy

Attributes inherited from OpenEHR::RM::DataTypes::Quantity::DvQuantified

#magnitude_status

Attributes inherited from OpenEHR::RM::DataTypes::Quantity::DvOrdered

#normal_range, #normal_status, #other_reference_ranges

Instance Method Summary collapse

Methods included from AssumedLibraryTypes::ISO8601DurationModule

#as_string, #to_seconds

Methods included from AssumedLibraryTypes::TimeDefinitions

valid_day?, valid_hour?, valid_minute?, valid_month?, valid_second?, valid_year?

Methods inherited from OpenEHR::RM::DataTypes::Quantity::DvAbsoluteQuantity

#add, #diff, #subtract

Methods inherited from OpenEHR::RM::DataTypes::Quantity::DvQuantified

#<=>, #accuracy_unknown?, valid_magnitude_status?

Methods inherited from OpenEHR::RM::DataTypes::Quantity::DvOrdered

#<=>, #is_normal?, #is_simple?, #is_strictly_comparable_to?

Methods inherited from Basic::DataValue

#==

Constructor Details

#initialize(args = { }) ⇒ DvDuration

Returns a new instance of DvDuration.



211
212
213
# File 'lib/openehr/rm/data_types/quantity/date_time.rb', line 211

def initialize(args = { })
  super
end

Instance Attribute Details

#valueObject

Returns the value of attribute value.



209
210
211
# File 'lib/openehr/rm/data_types/quantity/date_time.rb', line 209

def value
  @value
end

Instance Method Details

#magnitudeObject



229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# File 'lib/openehr/rm/data_types/quantity/date_time.rb', line 229

def magnitude
  months = 0
  months += @months if @months
  months += @years * MONTH_IN_YEAR if @years
  days = 0
  days += months * NOMINAL_DAYS_IN_MONTH if months
  days += @weeks * DAYS_IN_WEEK if @weeks
  days += @days if @days
  hours = 0
  hours += days * HOURS_IN_DAY if days
  hours += @hours if @hours
  minutes = 0
  minutes += hours * MINUTES_IN_HOUR if hours
  minutes += @minutes if @minutes
  seconds = 0
  seconds += @seconds if @seconds
  seconds += @fractional_second if @fractional_second
  seconds += minutes * SECONDS_IN_MINUTE if minutes
  return seconds
end