Accounts Receivable, abbreviated
SELECT
(select max(claim_status)
from hcfa WHERE hcfa.orderid = v_orderpaymentcharges.orderid) claim_status,
(select max(datesubmitted) from hcfa where hcfa.orderid = v_orderpaymentcharges.orderid) claim_datesubmitted,
sum( balanceinsurance) balanceinsurance,
orderid, orderdate, patientid,
lastname, firstname,
(select companyname from insurance where v_orderpaymentcharges.insuranceid = insurance.id) insurance ,
(select max(insurance_number) from patient_insurance where insurance_company_id = v_orderpaymentcharges.insuranceid and status_flag = 'Yes' and contactid = patientid) as insurance_number ,
v_orderpaymentcharges.physicianid, dbo.uf_getdate() as print_date
FROM {oj v_orderpaymentcharges LEFT OUTER JOIN contacts ON patientid = contacts.contactid} , mycompanyinformation
where ( isNull(v_orderpaymentcharges.orderstatusid, 0) not in (select domainid from domain where isQuote = 'Yes' and domaintypeid = 86))
and (mycompanyinformation.setupid = v_orderpaymentcharges.locationid)
AND v_orderpaymentcharges.locationid = 15
AND v_orderpaymentcharges.orderdate >= {ts '2003-10-01 00:00:00.000'}
AND v_orderpaymentcharges.orderdate <= {ts '2015-11-01 23:59:59.000'}
GROUP BY orderid, orderdate, patientid, homephone, orderstatusid, orderstatus, mycompanyinformation.companyname, mycompanyinformation.company_code, contacts.firstname , middlename , contacts.lastname, birthdate, insuranceid,v_orderpaymentcharges.physicianid,contacts.addressline1,contacts.addressline2,stateorprovince,contacts.zipcode
HAVING ( sum(balancepatient) <> 0 or sum(balanceinsurance) <> 0 or sum( v_orderpaymentcharges.balance) <> 0 or sum(CASE WHEN DATEDIFF(dd, orderdate, getdate()) < 31 THEN v_orderpaymentcharges.balance ELSE 0 END) <> 0 or sum(CASE WHEN DATEDIFF(dd, orderdate, getdate()) < 61 and DATEDIFF(dd, orderdate, getdate()) > 30 THEN v_orderpaymentcharges.balance ELSE 0 END ) <> 0 or sum(CASE WHEN DATEDIFF(dd, orderdate, getdate()) < 91 and DATEDIFF(dd, orderdate, getdate()) > 60 THEN v_orderpaymentcharges.balance ELSE 0 END ) <> 0 or sum(CASE WHEN DATEDIFF(dd, orderdate, getdate()) > 90 THEN v_orderpaymentcharges.balance ELSE 0 END ) <> 0)