diff --git a/api/src/main/java/org/openmrs/module/eptsreports/reporting/library/queries/QualityImprovement2020Queries.java b/api/src/main/java/org/openmrs/module/eptsreports/reporting/library/queries/QualityImprovement2020Queries.java
index 40c8213d25..60c9ec9d83 100644
--- a/api/src/main/java/org/openmrs/module/eptsreports/reporting/library/queries/QualityImprovement2020Queries.java
+++ b/api/src/main/java/org/openmrs/module/eptsreports/reporting/library/queries/QualityImprovement2020Queries.java
@@ -274,33 +274,33 @@ public static SqlCohortDefinition getMQ12NumI(
*
*
* - os utentes com registo de um MDC (MDC 1 ou MDC 2 ou MDC 3 ou MDC 4 ou MDC 5) como “GA” e
- * o respectivo “Estado” = “Início” numa consulta clínica (“Ficha Clínica”) decorrida há 24
- * meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data Consulta
- * Clínica” <= “Data Fim Revisão” – 24 meses) ou
+ * o respectivo “Estado” = “Início” na última consulta clínica (“Ficha Clínica”) decorrida
+ * há 24 meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data
+ * Consulta Clínica” <= “Data Fim Revisão” – 24 meses) ou
* - os utentes com registo de um MDC (MDC 1 ou MDC 2 ou MDC 3 ou MDC 4 ou MDC 5) como “DT” e
- * o respectivo “Estado” = “Início” numa consulta clínica (“Ficha Clínica”) decorrida há 24
- * meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data Consulta
- * Clínica” <= “Data Fim Revisão” – 24 meses) ou
+ * o respectivo “Estado” = “Início” na última consulta clínica (“Ficha Clínica”) decorrida
+ * há 24 meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data
+ * Consulta Clínica” <= “Data Fim Revisão” – 24 meses) ou
* - os utentes com registo de um MDC (MDC 1 ou MDC 2 ou MDC 3 ou MDC 4 ou MDC 5) como “APE” e
- * o respectivo “Estado” = “Início” numa consulta clínica (“Ficha Clínica”) decorrida há 24
- * meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data Consulta
- * Clínica” <= “Data Fim Revisão” – 24 meses) ou
+ * o respectivo “Estado” = “Início” na última consulta clínica (“Ficha Clínica”) decorrida
+ * há 24 meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data
+ * Consulta Clínica” <= “Data Fim Revisão” – 24 meses) ou
* - os utentes com registo de um MDC (MDC 1 ou MDC 2 ou MDC 3 ou MDC 4 ou MDC 5) como “DD” e
- * o respectivo “Estado” = “Início” numa consulta clínica (“Ficha Clínica”) decorrida há 24
- * meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data Consulta
- * Clínica” <= “Data Fim Revisão” – 24 meses) ou
+ * o respectivo “Estado” = “Início” na última consulta clínica (“Ficha Clínica”) decorrida
+ * há 24 meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data
+ * Consulta Clínica” <= “Data Fim Revisão” – 24 meses) ou
* - os utentes com registo de um MDC (MDC 1 ou MDC 2 ou MDC 3 ou MDC 4 ou MDC 5) como “DS” e
- * o respectivo “Estado” = “Início” numa consulta clínica (“Ficha Clínica”) decorrida há 24
- * meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data Consulta
- * Clínica” <= “Data Fim Revisão” – 24 meses) ou
+ * o respectivo “Estado” = “Início” na última consulta clínica (“Ficha Clínica”) decorrida
+ * há 24 meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data
+ * Consulta Clínica” <= “Data Fim Revisão” – 24 meses) ou
* - os utentes com registo de um MDC (MDC 1 ou MDC 2 ou MDC 3 ou MDC 4 ou MDC 5) como “FR” e
- * o respectivo “Estado” = “Início” numa consulta clínica (“Ficha Clínica”) decorrida há 24
- * meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data Consulta
- * Clínica” <= “Data Fim Revisão” – 24 meses) ou
+ * o respectivo “Estado” = “Início” na última consulta clínica (“Ficha Clínica”) decorrida
+ * há 24 meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data
+ * Consulta Clínica” <= “Data Fim Revisão” – 24 meses) ou
* - os utentes com registo de um MDC (MDC 1 ou MDC 2 ou MDC 3 ou MDC 4 ou MDC 5) como “DA” e
- * o respectivo “Estado” = “Início” numa consulta clínica (“Ficha Clínica”) decorrida há 24
- * meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data Consulta
- * Clínica” <= “Data Fim Revisão” – 24 meses) ou
+ * o respectivo “Estado” = “Início” na última consulta clínica (“Ficha Clínica”) decorrida
+ * há 24 meses (“Data Consulta Clínica” >= “Data Fim Revisão” – 26 meses+1dia e “Data
+ * Consulta Clínica” <= “Data Fim Revisão” – 24 meses) ou
*
*
* @return SqlCohortDefinition
@@ -328,14 +328,31 @@ public static SqlCohortDefinition getPatientsWithFollowingMdcDispensationsWithSt
+ " INNER JOIN encounter e ON e.patient_id = p.patient_id "
+ " INNER JOIN obs otype ON otype.encounter_id = e.encounter_id "
+ " INNER JOIN obs ostate ON ostate.encounter_id = e.encounter_id "
+ + " INNER JOIN ( "
+ + " SELECT p.patient_id, MAX(e.encounter_datetime) last_mds "
+ + " FROM patient p "
+ + " INNER JOIN encounter e ON p.patient_id = e.patient_id "
+ + " INNER JOIN obs o ON o.encounter_id = e.encounter_id "
+ + " INNER JOIN obs o2 ON o.encounter_id = e.encounter_id "
+ + " WHERE p.voided = 0 "
+ + " AND e.voided = 0 "
+ + " AND o.voided = 0 "
+ + " AND o2.voided = 0 "
+ + " AND o.concept_id = ${165174} "
+ + " AND o2.concept_id = ${165322} "
+ + " AND e.encounter_type = ${6} "
+ + " AND e.encounter_datetime >= :startDate "
+ + " AND e.encounter_datetime <= :endDate "
+ + " AND o.obs_group_id = o2.obs_group_id "
+ + " GROUP BY p.patient_id"
+ + " ) last_consultation ON last_consultation.patient_id = p.patient_id "
+ "WHERE e.encounter_type = ${6} "
+ " AND e.location_id = :location "
+ " AND otype.concept_id = ${165174} "
+ " AND otype.value_coded IN (${dispensationTypes}) "
+ " AND ostate.concept_id = ${165322} "
+ " AND ostate.value_coded IN (${states}) "
- + " AND e.encounter_datetime >= :startDate "
- + " AND e.encounter_datetime <= :endDate "
+ + " AND e.encounter_datetime = last_consultation.last_mds "
+ " AND otype.obs_group_id = ostate.obs_group_id "
+ " AND e.voided = 0 "
+ " AND p.voided = 0 "
diff --git a/api/src/main/java/org/openmrs/module/eptsreports/reporting/reports/SetupResumoMensalDAHReport.java b/api/src/main/java/org/openmrs/module/eptsreports/reporting/reports/SetupResumoMensalDAHReport.java
index c61246d254..37c077b0ef 100644
--- a/api/src/main/java/org/openmrs/module/eptsreports/reporting/reports/SetupResumoMensalDAHReport.java
+++ b/api/src/main/java/org/openmrs/module/eptsreports/reporting/reports/SetupResumoMensalDAHReport.java
@@ -18,7 +18,6 @@
import org.openmrs.module.reporting.report.ReportDesign;
import org.openmrs.module.reporting.report.definition.ReportDefinition;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
@Deprecated
public class SetupResumoMensalDAHReport extends EptsDataExportManager {