Class: Renalware::UKRDC::Outgoing::Rendering::HDSessionObservations
- Inherits:
-
Observation
- Object
- Base
- Observation
- Renalware::UKRDC::Outgoing::Rendering::HDSessionObservations
- Defined in:
- app/models/renalware/ukrdc/outgoing/rendering/hd_session_observations.rb
Instance Method Summary collapse
- #create_observation_nodes_under(parent_element) ⇒ Object
- #measurements_for(observations) ⇒ Object
- #observation_times ⇒ Object
- #pre_and_post_observations ⇒ Object
Methods inherited from Observation
Instance Method Details
#create_observation_nodes_under(parent_element) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/models/renalware/ukrdc/outgoing/rendering/hd_session_observations.rb', line 10 def create_observation_nodes_under(parent_element) pre_and_post_observations.each do |pre_or_post, observations| measurements_for(observations).each do |i18n_key, value| parent_element << Rendering::Observation.new( observed_at: observation_times[pre_or_post].iso8601, measurement: value.to_s[0, 19].strip, i18n_key: i18n_key, pre_post: pre_or_post.to_s.upcase # eg PRE or POST ).xml end end end |
#measurements_for(observations) ⇒ Object
40 41 42 43 44 45 46 |
# File 'app/models/renalware/ukrdc/outgoing/rendering/hd_session_observations.rb', line 40 def measurements_for(observations) { "blood_pressure.systolic" => observations.blood_pressure&.systolic, "blood_pressure.diastolic" => observations.blood_pressure&.diastolic, "weight" => coerce_to_float(observations.weight) } end |
#observation_times ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'app/models/renalware/ukrdc/outgoing/rendering/hd_session_observations.rb', line 23 def observation_times @observation_times ||= begin performed_on = session.performed_on.to_datetime { pre: performed_on + session.start_time.seconds_since_midnight.seconds, post: performed_on + session.end_time.seconds_since_midnight.seconds } end end |
#pre_and_post_observations ⇒ Object
33 34 35 36 37 38 |
# File 'app/models/renalware/ukrdc/outgoing/rendering/hd_session_observations.rb', line 33 def pre_and_post_observations { pre: session.document.observations_before, post: session.document.observations_after } end |