def call(
since_date: nil,
until_date: nil,
format: "table",
programme: nil,
outcome: nil,
ods_code: nil,
workgroup: nil,
**
)
MavisCLI.load_rails
teams = resolve_teams(ods_code, workgroup)
return unless teams
service =
::Stats::Vaccinations.new(
since_date:,
until_date:,
programme_type: programme,
outcome:,
teams:
)
results = service.call
case format
when "json"
puts results.to_json
when "csv"
puts generate_csv(results)
else
puts generate_table(
results,
since_date,
binding.local_variable_get(:until_date)
)
end
end