Sha256: a31a84bee4289d89a695460bc34a5db8700a27c5f82325c704fd17c30992c4f8

Contents?: true

Size: 984 Bytes

Versions: 3

Compression:

Stored size: 984 Bytes

Contents

require_dependency "renalware"
require "attr_extras"

module Renalware
  module Clinical
    class HeaderPresenter
      pattr_initialize :patient
      delegate :weight, :height, :blood_pressure, :bmi, to: :clinical_current_observations
      delegate :measurement, :date, to: :weight, prefix: true
      delegate :measurement, :date, to: :height, prefix: true
      delegate :measurement, :date, to: :blood_pressure, prefix: true
      delegate :measurement, :date, to: :bmi, prefix: true

      def current_pathology
        @pathology ||= pathology_current_observation_set.values
      end

      private

      def pathology_current_observation_set
        pathology_patient.current_observation_set || Pathology::NullObservationSet.new
      end

      def pathology_patient
        Pathology.cast_patient(patient)
      end

      def clinical_current_observations
        @clinical_current_observations ||= Clinics::CurrentObservations.new(patient)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
renalware-core-2.0.0.pre.rc11 app/presenters/renalware/clinical/header_presenter.rb
renalware-core-2.0.0.pre.rc10 app/presenters/renalware/clinical/header_presenter.rb
renalware-core-2.0.0.pre.rc9 app/presenters/renalware/clinical/header_presenter.rb