Sha256: 5e0682b80e6a404616839ed24c74de2d149e3497457e6db090f7a33f33c4ddf6

Contents?: true

Size: 991 Bytes

Versions: 62

Compression:

Stored size: 991 Bytes

Contents

# frozen_string_literal: true

require_dependency "renalware/ukrdc"
require "attr_extras"

module Renalware
  module UKRDC
    module TreatmentTimeline
      module TransferOut
        class Generator
          RR7_DISCHARGE_CODE_TRANSFER_OUT = 38
          pattr_initialize :modality
          delegate :patient, to: :modality

          def call
            update_discharge_reason_on_most_recent_treatment
          end

          private

          def most_recent_treatment
            @most_recent_treatment ||= begin
              Treatment.where(patient_id: patient.id).order(started_on: :desc).first
            end
          end

          def update_discharge_reason_on_most_recent_treatment
            return if most_recent_treatment.blank?

            most_recent_treatment.update!(
              discharge_reason_code: RR7_DISCHARGE_CODE_TRANSFER_OUT,
              discharge_reason_comment: "transfer_out"
            )
          end
        end
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
renalware-core-2.0.159 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.158 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.157 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.156 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.155 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.153 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.152 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.151 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.149 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.148 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.147 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.146 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.145 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.144 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.143 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.142 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.141 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.140 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.139 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb
renalware-core-2.0.138 app/models/renalware/ukrdc/treatment_timeline/transfer_out/generator.rb