Sha256: 36d176a387f6345ce15cae5ef402e2250f3255f46282e6b1b7148eadf8869320
Contents?: true
Size: 1.05 KB
Versions: 103
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true require_dependency "renalware/letters" # A method object initialized with an instance of Letter responsible # for determining the "counterpart CC's". A counterpart CC can be a patient, # primary care physician or both. # module Renalware module Letters class DetermineCounterpartCCs < SimpleDelegator def call counterpart_css = [] counterpart_css << build_recipient("patient", patient) if cc_patient? if cc_primary_care_physican? counterpart_css << build_recipient("primary_care_physician", primary_care_physician) end counterpart_css end private def cc_primary_care_physican? pcp = patient.primary_care_physician pcp&.cc_on_letter?(self) end def cc_patient? patient.cc_on_letter?(self) end def build_recipient(person_role, addressee) Recipient.new( person_role: person_role, role: :cc, addressee: addressee, letter: __getobj__ ) end end end end
Version data entries
103 entries across 103 versions & 1 rubygems