diff --git a/app/presenters/renalware/hd/session_presenter.rb b/app/presenters/renalware/hd/session_presenter.rb
index <HASH>..<HASH> 100644
--- a/app/presenters/renalware/hd/session_presenter.rb
+++ b/app/presenters/renalware/hd/session_presenter.rb
@@ -73,7 +73,8 @@ module Renalware
         when ::Float; (post - pre).round(1)
         when ::Integer; (post - pre)
         end
-        # raise "Unsupported class '#{pre.class}'' - cannot calculate the change"
+      rescue StandardError => exception
+        nil
       end
 
       def summarised_access_used
diff --git a/spec/presenters/renalware/hd/session_presenter_spec.rb b/spec/presenters/renalware/hd/session_presenter_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/presenters/renalware/hd/session_presenter_spec.rb
+++ b/spec/presenters/renalware/hd/session_presenter_spec.rb
@@ -47,6 +47,14 @@ module Renalware
             expect(presenter.change_in(:pulse)).to be_nil
           end
         end
+
+        context "when values are dodgy" do
+          it "returns nil if before measurement is a number but post a string" do
+            session.document.observations_before.pulse = 100
+            session.document.observations_after.pulse = "100,90"
+            expect(presenter.change_in(:pulse)).to be_nil
+          end
+        end
       end
 
       describe "#before_measurement_for" do
Fix change_in errors where string cubtracted from int

change_in is used to calc the diff in 2 values