Sha256: 931e57aeab89523c068141ae71a6ec94e39ea0f4a3250135708969709b63ac08

Contents?: true

Size: 1.42 KB

Versions: 106

Compression:

Stored size: 1.42 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/transplants"

module Renalware
  module Transplants
    class Patient < ActiveType::Record[Renalware::Patient]
      has_one :current_donor_stage, -> { current }, class_name: "DonorStage"

      scope :with_registration_statuses, lambda {
        joins(<<-SQL)
          left outer join transplant_registrations
            on transplant_registrations.patient_id = patients.id
          left outer join transplant_registration_statuses
            on (transplant_registration_statuses.registration_id = transplant_registrations.id
            and transplant_registration_statuses.terminated_on is null
            and transplant_registration_statuses.started_on <= current_date)
          left outer join transplant_registration_status_descriptions
            on transplant_registration_statuses.description_id =
              transplant_registration_status_descriptions.id
        SQL
      }

      def ever_been_a_donor?
        @ever_been_a_donor ||= begin
          donor_modality = "Renalware::Transplants::DonorModalityDescription"
          modality_descriptions.exists?(type: donor_modality)
        end
      end

      def ever_been_a_recipient?
        @ever_been_a_recipient ||= begin
          recipient_modality = "Renalware::Transplants::RecipientModalityDescription"
          modality_descriptions.exists?(type: recipient_modality)
        end
      end
    end
  end
end

Version data entries

106 entries across 106 versions & 1 rubygems

Version Path
renalware-core-2.0.153 app/models/renalware/transplants/patient.rb
renalware-core-2.0.152 app/models/renalware/transplants/patient.rb
renalware-core-2.0.151 app/models/renalware/transplants/patient.rb
renalware-core-2.0.149 app/models/renalware/transplants/patient.rb
renalware-core-2.0.148 app/models/renalware/transplants/patient.rb
renalware-core-2.0.147 app/models/renalware/transplants/patient.rb
renalware-core-2.0.146 app/models/renalware/transplants/patient.rb
renalware-core-2.0.145 app/models/renalware/transplants/patient.rb
renalware-core-2.0.144 app/models/renalware/transplants/patient.rb
renalware-core-2.0.143 app/models/renalware/transplants/patient.rb
renalware-core-2.0.142 app/models/renalware/transplants/patient.rb
renalware-core-2.0.141 app/models/renalware/transplants/patient.rb
renalware-core-2.0.140 app/models/renalware/transplants/patient.rb
renalware-core-2.0.139 app/models/renalware/transplants/patient.rb
renalware-core-2.0.138 app/models/renalware/transplants/patient.rb
renalware-core-2.0.137 app/models/renalware/transplants/patient.rb
renalware-core-2.0.136 app/models/renalware/transplants/patient.rb
renalware-core-2.0.135 app/models/renalware/transplants/patient.rb
renalware-core-2.0.134 app/models/renalware/transplants/patient.rb
renalware-core-2.0.133 app/models/renalware/transplants/patient.rb