Sha256: 21529767bd5e5cf3afc605307c29f36e79fc14b3616b9ec693c0b56588c86f94

Contents?: true

Size: 1.46 KB

Versions: 41

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true

require_dependency "renalware"

module Renalware
  module HD
    class MDMPresenter < Renalware::MDMPresenter
      NullObject = Naught.build do |config|
        config.black_hole
        config.define_explicit_conversions
        config.singleton
        config.predicates_return false
      end

      def sessions
        @sessions ||= begin
          sessions = Sessions::LatestPatientSessionsQuery
                       .new(patient: patient)
                       .call(max_sessions: 6)
                       .includes(:patient, :hospital_unit, :signed_on_by, :signed_off_by)
          CollectionPresenter.new(sessions, SessionPresenter, view_context)
        end
      end

      def hd_profile
        @hd_profile ||= begin
          profile = HD::Profile.for_patient(patient).first
          if profile.present?
            HD::ProfilePresenter.new(profile)
          else
            NullObject.instance
          end
        end
      end

      def dry_weights
        @dry_weights ||= begin
          Clinical::DryWeight.for_patient(patient).ordered.includes(:assessor).limit(5)
        end
      end

      def preference_set
        @preference_set ||= PreferenceSet.for_patient(patient).first || NullObject.instance
      end

      def audits
        @audits ||= PatientStatistics.for_patient(patient).limit(6).ordered
      end

      def rolling_audit
        @rolling_audit ||= audits.find_by(rolling: true)
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
renalware-core-2.1.1 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.1.0 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.167 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.166 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.165 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.164 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.163 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.162 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.161 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.160 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.159 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.158 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.157 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.156 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.155 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.153 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.152 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.151 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.149 app/presenters/renalware/hd/mdm_presenter.rb
renalware-core-2.0.148 app/presenters/renalware/hd/mdm_presenter.rb