Sha256: 13cb6baea83834d52c97f12b51422191985f561995c93cc0ccd6d6ce43e93dc2

Contents?: true

Size: 1.09 KB

Versions: 10

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/surveys"

module Renalware
  module Surveys
    class EQ5DComponent < ApplicationComponent
      rattr_initialize [:patient!]

      def rows
        @rows ||= EQ5DPivotedResponse.where(patient_id: patient.id)
      end

      def question_labels
        survey
          .questions
          .order(:position)
          .select(:code, :label)
          .each_with_object({}) { |q, hash| hash[q.code] = q.label }
      end

      def data_for_question_code(_code)
        Renalware::Surveys::Response
          .where(patient_id: patient.id, question_id: 1)
          .pluck(:answered_on, :value)
          .to_h
      end

      def column_headings
        @column_headings ||= begin
          headings = ["Date"]

          headings.concat(
            Renalware::Survey
            .find_by!(code: "eq5d")
            .questions
            .order(:position)
            .pluck(:label)
          )
          headings
        end
      end

      def survey
        @survey ||= Renalware::Surveys::Survey.find_by!(code: "eq5d")
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
renalware-core-2.1.1 app/components/renalware/surveys/eq5d_component.rb
renalware-core-2.1.0 app/components/renalware/surveys/eq5d_component.rb
renalware-core-2.0.167 app/components/renalware/surveys/eq5d_component.rb
renalware-core-2.0.166 app/components/renalware/surveys/eq5d_component.rb
renalware-core-2.0.165 app/components/renalware/surveys/eq5d_component.rb
renalware-core-2.0.164 app/components/renalware/surveys/eq5d_component.rb
renalware-core-2.0.163 app/components/renalware/surveys/eq5d_component.rb
renalware-core-2.0.162 app/components/renalware/surveys/eq5d_component.rb
renalware-core-2.0.161 app/components/renalware/surveys/eq5d_component.rb
renalware-core-2.0.160 app/components/renalware/surveys/eq5d_component.rb