Sha256: 940882029c685959889d16047dd5258e0a06bb53f0dc7cb0370ee944fa9f28b4

Contents?: true

Size: 1.04 KB

Versions: 62

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/ukrdc"
require "attr_extras"

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, :created_by)
              .order(started_on: :asc, updated_at: :asc)
          end
        end

        def modality_names
          modalities.map { |mod| mod.description.name }.join("->")
        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/generate_timeline.rb
renalware-core-2.0.158 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.157 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.156 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.155 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.153 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.152 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.151 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.149 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.148 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.147 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.146 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.145 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.144 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.143 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.142 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.141 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.140 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.139 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb
renalware-core-2.0.138 app/models/renalware/ukrdc/treatment_timeline/generate_timeline.rb