class Sunnyside::ReportPDF
Attributes
check[R]
claims[R]
pdf[R]
provider[R]
services[R]
Public Class Methods
new(pdf, data = {})
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 50 def initialize(pdf, data = {}) @pdf = pdf @claims = data[:claim_data] @services = data[:service_data] @provider = data[:provider] @check = data[:check] end
Public Instance Methods
check_total()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 63 def check_total services.sum(:amount_paid) end
claim_header(claim)
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 109 def claim_header(claim) puts claim.control_number pdf.move_down 10 claim_data = [[claim.control_number, client(claim.invoice_number), claim.invoice_number, currency(claim.amount_charged), currency(claim.amount_paid), claim.denial_reason]] pdf.table(claim_data, :column_widths => [85, 75, 75, 75, 75, 150], :cell_style => { :align => :center, :overflow => :shrink_to_fit, :size => 12, :height => 30 }) # SHOULD ONLY HAVE ONE CLAIM pdf.move_down 10 create_service_table(claim.id) end
claim_table()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 144 def claim_table claims.exclude(denial_reason: ['22', '4']).all.each { |clm| claim_header(clm) } end
client(inv)
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 105 def client(inv) Invoice.where(invoice_number: inv).get(:client_name) end
create_check_header()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 58 def create_check_header pdf.text "CLAIMS FOR #{provider} - CHECK NUMBER: #{check} - CHECK TOTAL: #{currency(check_total)}" pdf.move_down 20 end
create_service_table(id)
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 135 def create_service_table(id) pdf.table(service_data(id), :column_widths => [85, 75, 75, 75, 75, 150], :cell_style => { :align => :center, :overflow => :shrink_to_fit, :size => 12, :height => 30 }) # SHOULD ONLY HAVE ONE CLAIM end
currency(amt)
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 67 def currency(amt) Money.new(amt * 100, 'USD').format end
denial_table()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 84 def denial_table pdf.start_new_page pdf.move_down 10 pdf.text 'CLAIMS WITH DENIALS' pdf.move_down 10 claims.where(denial_reason: '4').all.each { |clm| claim_header(clm) } end
denials()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 80 def denials claims.exclude(denial_reason: '22').where('amount_charged > amount_paid') end
service_data(id)
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 123 def service_data(id) services.where(claim_id: id).map { |svc| ['', svc.dos, svc_code(svc), svc.units, currency(svc.amount_charged), currency(svc.amount_paid), svc.denial_reason] } end
svc_code(svc)
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 127 def svc_code(svc) if svc.mod_1 svc.service_code + ':' + svc.mod_1 else svc.service_code end end
table_create()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 100 def table_create pdf.text 'asdasds' and_this_too_please end
takeback_header()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 92 def takeback_header pdf.start_new_page pdf.move_down 10 pdf.text 'ADJUSTED CLAIMS' pdf.move_down 10 claims.where(denial_reason: '22').all.each { |clm| claim_header(clm) } end
takeback_table()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 75 def takeback_table takeback_header takebacks.all.each { |clm| claim_header(clm) } end
takebacks()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 71 def takebacks claims.where(denial_reason: '22') end