module Qrda::Export::Helper::DateHelper

Public Instance Methods

active_date_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 34
def active_date_time
  "<effectiveTime #{value_or_null_flavor(self['activeDatetime'])}/>"
end
author_effective_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 42
def author_effective_time
  "<effectiveTime #{value_or_null_flavor(self['authorDatetime'])}/>"
end
author_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 38
def author_time
  "<time #{value_or_null_flavor(self['authorDatetime'])}/>"
end
birth_date_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 46
def birth_date_time
  "<birthTime #{value_or_null_flavor(self['birthDatetime'])}/>"
end
completed_prevalence_period() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 125
def completed_prevalence_period
  self['prevalencePeriod']['high'] ? true : false
end
current_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 22
def current_time
  Time.now.utc.to_formatted_s(:number)
end
expired_date_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 58
def expired_date_time
  "<effectiveTime>"\
  "<low #{value_or_null_flavor(self['expiredDatetime'])}/>"\
  "</effectiveTime>"
end
facility_period() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 116
def facility_period
  "<low #{value_or_null_flavor(self['locationPeriod']['low'])}/>"\
  "<high #{value_or_null_flavor(self['locationPeriod']['high'])}/>"
end
incision_datetime() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 121
def incision_datetime
  "<effectiveTime #{value_or_null_flavor(self['incisionDatetime'])}/>"
end
medication_duration_author_effective_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 71
def medication_duration_author_effective_time
  "<effectiveTime xsi:type='IVL_TS'>"\
  "<low #{value_or_null_flavor(self['authorDatetime'])}/>"\
  "<high nullFlavor='UNK'/>"\
  "</effectiveTime>"
end
medication_duration_effective_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 109
def medication_duration_effective_time
  "<effectiveTime xsi:type=\"IVL_TS\">"\
  "<low #{value_or_null_flavor(self['relevantPeriod']['low'])}/>"\
  "<high #{value_or_null_flavor(self['relevantPeriod']['high'])}/>"\
  "</effectiveTime>"
end
medication_supply_request_period() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 64
def medication_supply_request_period
  "<effectiveTime xsi:type='IVL_TS'>"\
  "<low #{value_or_null_flavor(self['relevantPeriod']['low'])}/>"\
  "<high #{value_or_null_flavor(self['relevantPeriod']['high'])}/>"\
  "</effectiveTime>"
end
participation_period() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 92
def participation_period
  "<effectiveTime>"\
  "<low #{value_or_null_flavor(self['participationPeriod']['low'])}/>"\
  "<high #{value_or_null_flavor(self['participationPeriod']['high'])}/>"\
  "</effectiveTime>"
end
performance_period_end() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 18
def performance_period_end
  @performance_period_end.to_formatted_s(:number)
end
performance_period_start() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 14
def performance_period_start
  @performance_period_start.to_formatted_s(:number)
end
prevalence_period() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 78
def prevalence_period
  "<effectiveTime>"\
  "<low #{value_or_null_flavor(self['prevalencePeriod']['low'])}/>"\
  "<high #{value_or_null_flavor(self['prevalencePeriod']['high'])}/>"\
  "</effectiveTime>"
end
received_date_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 30
def received_date_time
  "<high #{value_or_null_flavor(self['receivedDatetime'])}/>"
end
relevant_date_period_or_null_flavor() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 103
def relevant_date_period_or_null_flavor
  return relevant_period if self['relevantPeriod'] && (self['relevantPeriod']['low'] || self['relevantPeriod']['high'])
  return relevant_date_time_value if self['relevantDatetime']
  "<effectiveTime nullFlavor='UNK'/>"
end
relevant_date_time_value() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 99
def relevant_date_time_value
  "<effectiveTime #{value_or_null_flavor(self['relevantDatetime'])}/>"
end
relevant_period() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 85
def relevant_period
  "<effectiveTime>"\
  "<low #{value_or_null_flavor(self['relevantPeriod']['low'])}/>"\
  "<high #{value_or_null_flavor(self['relevantPeriod']['high'])}/>"\
  "</effectiveTime>"
end
result_date_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 54
def result_date_time
  "<effectiveTime #{value_or_null_flavor(self['resultDatetime'])}/>"
end
result_date_time?() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 50
def result_date_time?
  !self['resultDatetime'].nil?
end
sent_date_time() click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 26
def sent_date_time
  "<low #{value_or_null_flavor(self['sentDatetime'])}/>"
end
value_or_null_flavor(time) click to toggle source
# File lib/qrda-export/helper/date_helper.rb, line 5
def value_or_null_flavor(time)
  # this is a bit of a hack for a defineded undefined date
  if time && DateTime.parse(time).year < 3000
    "value='#{DateTime.parse(time).utc.to_formatted_s(:number)}'"
  else
    "nullFlavor='UNK'"
  end
end