class Reports::OfflineExporter
Public Class Methods
Source
# File app/lib/reports/offline_exporter.rb, line 58 def self.from_patients(patients, team:, programmes:, academic_year:) new( team:, programmes:, academic_year:, patients:, dates: [Date.current], include_psd: false, programmes_for: ->(patient) do programmes.select do |programme| programme.default_year_groups.include?( patient.year_group(academic_year:) ) end end, location: nil, session_id: "clinic" ).call end
Source
# File app/lib/reports/offline_exporter.rb, line 78 def self.from_session(session) new( team: session.team, programmes: session.programmes, academic_year: session.academic_year, patients: session.patients, dates: session.dates, include_psd: session.psd_enabled?, programmes_for: ->(patient) { session.programmes_for(patient:) }, location: session.location, session_id: session.id ).call end
Public Instance Methods
Source
# File app/lib/reports/offline_exporter.rb, line 37 def call # stree-ignore Axlsx::Package .new { |package| package.use_shared_strings = true add_vaccinations_sheet(package) add_reference_sheet(package, name: "Performing Professionals", values_name: "EMAIL", values: performing_professional_email_values) add_reference_sheet(package, name: "Suppliers", values_name: "EMAIL", values: supplier_email_values) add_batch_numbers_sheets(package) } .to_stream .read end