Sha256: e421ce91f7f9f70ace5fa45f0b8b8a0b011827c035729dd5dd0b442ed8e06623

Contents?: true

Size: 932 Bytes

Versions: 28

Compression:

Stored size: 932 Bytes

Contents

# frozen_string_literal: true

require_dependency "renalware/letters"

module Renalware
  module Letters
    class Patient < ActiveType::Record[Renalware::Patient]
      has_many :letters
      has_many :contacts
      belongs_to :primary_care_physician, class_name: "Renalware::Letters::PrimaryCarePhysician"

      def cc_on_letter?(letter)
        return false unless letter.subject?(self)
        return false unless cc_on_all_letters?

        !letter.main_recipient.patient?
      end

      def assign_contact(params)
        contacts.build(params)
      end

      def has_available_contact?(person)
        contacts.map(&:person).include?(person)
      end

      def has_default_cc?(person)
        contacts.default_ccs.map(&:person).include?(person)
      end

      def with_contact_for(person, &block)
        contact = contacts.detect { |c| c.person == person }
        block.call(contact)
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
renalware-core-2.0.39 app/models/renalware/letters/patient.rb
renalware-core-2.0.38 app/models/renalware/letters/patient.rb
renalware-core-2.0.37 app/models/renalware/letters/patient.rb
renalware-core-2.0.36 app/models/renalware/letters/patient.rb
renalware-core-2.0.35 app/models/renalware/letters/patient.rb
renalware-core-2.0.34 app/models/renalware/letters/patient.rb
renalware-core-2.0.33 app/models/renalware/letters/patient.rb
renalware-core-2.0.32 app/models/renalware/letters/patient.rb
renalware-core-2.0.31 app/models/renalware/letters/patient.rb
renalware-core-2.0.30 app/models/renalware/letters/patient.rb
renalware-core-2.0.28 app/models/renalware/letters/patient.rb
renalware-core-2.0.27 app/models/renalware/letters/patient.rb
renalware-core-2.0.26 app/models/renalware/letters/patient.rb
renalware-core-2.0.25 app/models/renalware/letters/patient.rb
renalware-core-2.0.24 app/models/renalware/letters/patient.rb
renalware-core-2.0.23 app/models/renalware/letters/patient.rb
renalware-core-2.0.22 app/models/renalware/letters/patient.rb
renalware-core-2.0.21 app/models/renalware/letters/patient.rb
renalware-core-2.0.20 app/models/renalware/letters/patient.rb
renalware-core-2.0.18 app/models/renalware/letters/patient.rb