<report title="D2D 3.0 Diabetes Comprehensive Denominator" description="Reports coded and possible un-coded Diabetes patients" active="1">
   <query> 

SELECT distinct d.demographic_no AS Demographic, concat(d.last_name, ', ', d.first_name) AS Patient, d.sex AS Sex,floor(datediff(now(),concat(d.year_of_birth,'-',d.month_of_birth,'-',d.date_of_birth))/365) AS Age, dx.dxresearch_code AS Registry, concat(p.last_name, ', ', p.first_name) AS MRP, dr.BN AS Drug, a.dataField AS "A1C Value", fbs.dataField AS 'FBS Value'

FROM demographic d 

INNER JOIN dxresearch dx
ON d.demographic_no = dx.demographic_no
AND (dx.dxresearch_code NOT IN ('256.4', '648.8', '249', '790.29', '775.1'))
AND dx.status = "A"
AND (dx.coding_system in ('icd9', 'icd10') or dx.coding_system like '%SNOMED%')

INNER JOIN provider p
ON d.provider_no = p.provider_no
	
INNER JOIN
drugs dr 
ON d.demographic_no = dr.demographic_no
AND (dr.BN like '%Acarbose%' or dr.BN like '%dapagliflozin%' or dr.BN like 
'%Alogliptin%' or dr.BN like '%Chlorpropamide%' or dr.BN like 
'%Canagliflozin%' or dr.BN like '%Exenatide%' or dr.BN like 
'%Glibenclamide%' or dr.BN like '%Gliclazide%' or dr.BN like 
'%Glimepiride%' or dr.BN like '%Glyburide%' or dr.BN like '%Januvia%' or 
dr.BN like '%Lariglutide%' or dr.BN like '%Linagliptin%' or dr.BN like 
'%Metformin%' or dr.BN like '%Nateglinide%' or dr.BN like '%Onglyza%' or 
dr.BN like '%Orinase%' or dr.BN like '%Pioglitazone%' or dr.BN like 
'%Prandase%' or dr.BN like '%Repaglinide%' or dr.BN like '%Rosiglitazone%' 
or dr.BN like '%Saxaglyptin%' or dr.BN like '%Sitagliptin%' or dr.BN like '%Tolbutamide%' or dr.BN like 
'%Victoza%' or dr.BN like '%Detamir%' or dr.BN like '%Glargine%' or dr.BN 
like '%Humalog%' or dr.BN like '%Humulin%' or dr.BN like '%Insulin%' or 
dr.BN like '%mix 25%' or dr.BN like '%mix 50%' or dr.BN like '%novomix 
30%')
AND dr.end_date >= curdate()

LEFT JOIN 
(SELECT m.demographicNo, m.type, m.dataField, m.dateObserved
FROM measurements m
INNER JOIN (SELECT demographicNo, type, MAX(dateObserved) AS dateObserved
FROM measurements
WHERE type = "A1C"
AND (datafield >= 7 or (datafield >= 0.07 and datafield < 1))
AND dateObserved >= DATE_SUB(now(),INTERVAL 12 Month)
GROUP BY demographicNo, type) y
ON m.demographicNo = y.demographicNo
AND m.type = y.type
AND m.dateObserved = y.dateObserved) a
ON d.demographic_no = a.demographicNo

LEFT JOIN 
(SELECT m.demographicNo, m.type, m.dataField, m.dateObserved
FROM measurements m
INNER JOIN (SELECT demographicNo, type, MAX(dateObserved) AS dateObserved
FROM measurements
WHERE type = "FBS"
AND (datafield >= 7 or (datafield >= 0.07 and datafield < 1))
AND dateObserved >= DATE_SUB(now(),INTERVAL 12 Month)
GROUP BY demographicNo, type) y
ON m.demographicNo = y.demographicNo
AND m.type = y.type
AND m.dateObserved = y.dateObserved) fbs
ON d.demographic_no = fbs.demographicNo

WHERE d.patient_status = "AC"
ORDER by d.last_name


</query>
</report>