MVECoder
3/4/2016 - 2:01 PM

Accounts Receivable, abbreviated

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)