class VaccinationNotificationCriteria
Public Class Methods
Source
# File app/lib/vaccination_notification_criteria.rb, line 26 def self.call(...) = new(...).call private_class_method :new private attr_reader :vaccination_record delegate :patient, :programme, :sourced_from_service?, :academic_year, to: :vaccination_record end
Source
# File app/lib/vaccination_notification_criteria.rb, line 4 def initialize(vaccination_record:) @vaccination_record = vaccination_record end
Public Instance Methods
Source
# File app/lib/vaccination_notification_criteria.rb, line 8 def call return nil unless sourced_from_service? self_consents = patient .consents .via_self_consent .for_programme(programme) .where(academic_year:) .not_invalidated if self_consents.any? return self_consents.max_by(&:submitted_at).notify_parents_on_vaccination end true end