SELECT CONCAT( "" , d.demographic_no, "" ) As "Dem#", CONCAT( "eChart" ) AS "eChart" , a.demographicNo, d.first_name, d.last_name, TIMESTAMPDIFF(YEAR, CONCAT(d.year_of_birth, '-', d.month_of_birth, '-', d.date_of_birth), CURDATE()) AS age, a.latest_ALT_dataField AS latest_ALT, date(a.latest_ALT), b.latest_AST_dataField AS latest_AST, date(b.latest_AST), c.latest_PLT_dataField AS latest_PLT, date(c.latest_PLT), ROUND((TIMESTAMPDIFF(YEAR, CONCAT(d.year_of_birth, '-', d.month_of_birth, '-', d.date_of_birth), CURDATE()) * b.latest_AST_dataField) / (c.latest_PLT_dataField * SQRT(a.latest_ALT_dataField)), 2) AS FIB4 FROM (SELECT * FROM (SELECT demographicNo, dataField AS latest_ALT_dataField, dateObserved AS latest_ALT FROM measurements WHERE type = 'ALT' ORDER BY demographicNo, dateObserved DESC) AS ALTt GROUP BY demographicNo) AS a LEFT JOIN (SELECT * FROM (SELECT demographicNo, dataField AS latest_AST_dataField, dateObserved AS latest_AST FROM measurements WHERE type = 'AST' ORDER BY demographicNo, dateObserved DESC) AS ASTt GROUP BY demographicNo) AS b ON a.demographicNo = b.demographicNo LEFT JOIN (SELECT * FROM (SELECT demographicNo, dataField AS latest_PLT_dataField, dateObserved AS latest_PLT FROM measurements WHERE type = 'PLT' ORDER BY demographicNo, dateObserved DESC) AS PLTt GROUP BY demographicNo) AS c ON a.demographicNo = c.demographicNo LEFT JOIN demographic AS d ON a.demographicNo = d.demographic_no WHERE d.patient_status = 'AC' and date(a.latest_ALT) = date(b.latest_AST) and date(c.latest_PLT) = date(b.latest_AST) ORDER by FIB4 desc