Sha256: cc83aa71818f4de42a2c0bb2ace21a77d52fb749ca1561f7a982d62e6d37e47e

Contents?: true

Size: 887 Bytes

Versions: 35

Compression:

Stored size: 887 Bytes

Contents

# frozen_string_literal: true

require_dependency "renalware/pathology/requests"

module Renalware
  module Pathology
    module Requests
      class GlobalRule
        class PrescriptionDrugCategory < GlobalRule
          validate :drug_category_present

          def observation_required_for_patient?(patient, _date)
            (patient.drugs.map(&:id) & drug_ids).any?
          end

          def to_s
            "prescribed drugs include #{drug_category.name}"
          end

          private

          def drug_ids
            drug_category.drugs.map(&:id)
          end

          def drug_category
            DrugCategory.find_by(id: param_id)
          end

          def drug_category_present
            return if drug_category.present?
            errors.add(:param_id, "param_id must be the id of a DrugCategory")
          end
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
renalware-core-2.0.46 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.45 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.44 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.43 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.42 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.41 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.40 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.39 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.38 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.37 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.36 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.35 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.34 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.33 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.32 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.31 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.30 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.28 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.27 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb
renalware-core-2.0.26 app/models/renalware/pathology/requests/global_rule/prescription_drug_category.rb