Sha256: a0e55b2a627d89360164d4c3c5c751489bb64310e3761c2bbf658dba44080af7

Contents?: true

Size: 1.04 KB

Versions: 3

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/ukrdc"
require "attr_extras"

# rubocop:disable Rails/Output
module Renalware
  module UKRDC
    module TreatmentTimeline
      #
      # Re-generates the ukrdc_treatments for a patient from their modalities and other information.
      #
      class GenerateTimeline
        pattr_initialize :patient

        def call
         # RemapModelTableNamesToTheirPreparedEquivalents.new.call do
          Rails.logger.info "    Generating Treatment rows for modalities #{modality_names}"
          modalities.each do |modality|
            generator = GeneratorFactory.call(modality)
            generator.call
          end
          # end
        end

        private

        def modalities
          @modalities ||= begin
            patient.modalities.includes(:description).order(started_on: :asc, updated_at: :asc)
          end
        end

        def modality_names
          modalities.map { |mod| mod.description.name }.join("->")
        end
      end
    end
  end
end
# rubocop:enable Rails/Output

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
renalware-core-2.0.92 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.91 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.90 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb