Sha256: 5caa3a4040b5dd39b9f52f77a578b5baba5ed3e41cf29974632157d08903f3aa

Contents?: true

Size: 1.3 KB

Versions: 18

Compression:

Stored size: 1.3 KB

Contents

require_dependency "renalware"

module Renalware
  module Clinical
    class ProfilePresenter
      attr_reader :patient, :params
      delegate :allergies, to: :patient
      delegate :diagnosis, :diagnosed_on, to: :diabetes, prefix: true

      def initialize(patient:, params:)
        @params = params
        @patient = Clinical.cast_patient(patient)
      end

      def swabs
        @swabs ||= Renalware::Events::Swab.for_patient(patient)
                                          .ordered
                                          .page(params[:page])
                                          .per(params.fetch(:per_page, 10))
      end

      def smoking_history
        history.smoking || NullObject.instance
      end

      def alcohol_history
        history.alcohol || NullObject.instance
      end

      def history
        patient.document.history || NullObject.instance
      end

      def diabetes
        patient.document.diabetes || NullObject.instance
      end

      def dry_weights
        @dry_weights ||= DryWeight.for_patient(patient).ordered
      end

      def body_compositions
        @body_compositions ||= begin
          BodyComposition
            .for_patient(patient)
            .includes([:modality_description, :assessor])
            .ordered
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
renalware-core-2.0.0.pre.rc11 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.rc10 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.rc9 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.rc8 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.rc7 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.rc6 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.rc5 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.rc4 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.rc3 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.rc1 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.beta12 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.beta11 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.beta10 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.beta9 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.beta8 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.beta7 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.beta6 app/presenters/renalware/clinical/profile_presenter.rb
renalware-core-2.0.0.pre.beta5 app/presenters/renalware/clinical/profile_presenter.rb