Sha256: 70ef719de90fa44f177e0b6fab8a4a76330c31747a710dcdfde5af9471524165

Contents?: true

Size: 1.01 KB

Versions: 10

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/ukrdc"
require "attr_extras"
require "benchmark"

module Renalware
  module UKRDC
    module TreatmentTimeline
      # Re-generates the ukrdc_treatments table
      class GenerateTreatments
        def self.call
          new.call
        end

        def call
          elapsed_ms = Benchmark.ms do
            generate_treatments
          end
          log("\nCreated #{UKRDC::Treatment.count} UKRDC Treatments in #{elapsed_ms / 1000.0}s")
        end

        private

        def patient_scope
          Renalware::Patient.select(:id)
        end

        # rubocop:disable Rails/Output
        def generate_treatments
          Rails.logger.info "#{patient_scope.count} patients"
          patient_scope.find_each do |patient|
            print "\n#{patient.id}: "
            GenerateTimeline.new(patient).call
          end
        end
        # rubocop:enable Rails/Output

        def log(msg)
          Rails.logger.info(msg)
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
renalware-core-2.0.89 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb
renalware-core-2.0.88 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb
renalware-core-2.0.87 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb
renalware-core-2.0.86 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb
renalware-core-2.0.85 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb
renalware-core-2.0.84 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb
renalware-core-2.0.83 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb
renalware-core-2.0.82 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb
renalware-core-2.0.81 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb
renalware-core-2.0.80 app/models/renalware/ukrdc/treatment_timeline/generate_treatments.rb