From 3555374560a00c96674e1d8c92a34d4b176ce81a Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 12 Feb 2025 20:54:06 +0300 Subject: [PATCH 1/2] SSEMR-471 Match the total TX Curr on graph, card and regimens --- .../constants/GenerateCumulativeSummary.java | 26 +++++++++++++------ .../SSEMRWebServicesController.java | 6 ++--- .../web/controller/TxCurrController.java | 4 +-- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/omod/src/main/java/org/openmrs/module/ssemrws/web/constants/GenerateCumulativeSummary.java b/omod/src/main/java/org/openmrs/module/ssemrws/web/constants/GenerateCumulativeSummary.java index 5f54304..065165e 100644 --- a/omod/src/main/java/org/openmrs/module/ssemrws/web/constants/GenerateCumulativeSummary.java +++ b/omod/src/main/java/org/openmrs/module/ssemrws/web/constants/GenerateCumulativeSummary.java @@ -5,12 +5,12 @@ public class GenerateCumulativeSummary { - public static Map> generateCumulativeSummary(List dates, Date startDate, - Date endDate) { + public static Map> generateCumulativeSummary(List dates, Date startDate, Date endDate, + int totalPatients) { String[] months = new String[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; - // Step 1: Calculate the monthly summary for the given dates + // Step 1: Organize patients into their correct month/year Map> yearMonthSummary = new TreeMap<>(); for (Date date : dates) { @@ -37,12 +37,17 @@ public static Map> generateCumulativeSummary(List> generateCumulativeSummary(List> summary = new HashMap<>(); summary.put("groupYear", filteredCumulativeSummary); diff --git a/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/SSEMRWebServicesController.java b/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/SSEMRWebServicesController.java index d379393..c38d1fb 100755 --- a/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/SSEMRWebServicesController.java +++ b/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/SSEMRWebServicesController.java @@ -517,8 +517,7 @@ public Object getPatientsOnAdultRegimenTreatment(HttpServletRequest request, regimen_4I, regimen_4J, regimen_4K, regimen_4L, regimen_5A, regimen_5B, regimen_5C, regimen_5D, regimen_5E, regimen_5F, regimen_5G, regimen_5H, regimen_5I, regimen_5J), // regimens - ACTIVE_REGIMEN_CONCEPT_UUID, txCurrPatients, true - ); + ACTIVE_REGIMEN_CONCEPT_UUID, txCurrPatients, true); } @RequestMapping(method = RequestMethod.GET, value = "/dashboard/childRegimenTreatment") @@ -543,8 +542,7 @@ public Object getPatientsOnChildRegimenTreatment(HttpServletRequest request, regimen_4I, regimen_4J, regimen_4K, regimen_4L, regimen_5A, regimen_5B, regimen_5C, regimen_5D, regimen_5E, regimen_5F, regimen_5G, regimen_5H, regimen_5I, regimen_5J), // regimens - ACTIVE_REGIMEN_CONCEPT_UUID, txCurrPatients, false - ); + ACTIVE_REGIMEN_CONCEPT_UUID, txCurrPatients, false); } /** diff --git a/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/TxCurrController.java b/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/TxCurrController.java index 5755c38..6ee621d 100644 --- a/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/TxCurrController.java +++ b/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/TxCurrController.java @@ -68,7 +68,7 @@ private Object paginateAndGenerateSummaryForTxCurr(ArrayList GenerateCumulativeSummary.generateCumulativeSummary(enrollmentDates, startDate, endDate)); + totalCount, startDate, endDate, filterCategory, (enrollmentDates) -> GenerateCumulativeSummary + .generateCumulativeSummary(enrollmentDates, startDate, endDate, totalCount)); } } From 19dcc1629f1b27681b4f679d6436b84b42e71322 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 12 Feb 2025 22:33:48 +0300 Subject: [PATCH 2/2] SSEMR-549 Fetch regimens in real time --- .../web/constants/GetPatientRegimens.java | 20 +++++++++++++++++++ .../SSEMRWebServicesController.java | 14 +++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/omod/src/main/java/org/openmrs/module/ssemrws/web/constants/GetPatientRegimens.java b/omod/src/main/java/org/openmrs/module/ssemrws/web/constants/GetPatientRegimens.java index 05ab644..d1ed0ab 100644 --- a/omod/src/main/java/org/openmrs/module/ssemrws/web/constants/GetPatientRegimens.java +++ b/omod/src/main/java/org/openmrs/module/ssemrws/web/constants/GetPatientRegimens.java @@ -106,4 +106,24 @@ private Map prepareResults(Map regimenCounts) { results.put("results", regimenList); return results; } + + public static Date[] getStartAndEndDate(String qStartDate, String qEndDate, SimpleDateFormat dateTimeFormatter) + throws ParseException { + Date endDate = (qEndDate != null) ? dateTimeFormatter.parse(qEndDate) : new Date(); + + // Extend endDate to 23:59:59 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(endDate); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + calendar.set(Calendar.MILLISECOND, 999); + endDate = calendar.getTime(); + + // Set startDate correctly + calendar.set(Calendar.DAY_OF_MONTH, 1); + Date startDate = (qStartDate != null) ? dateTimeFormatter.parse(qStartDate) : calendar.getTime(); + + return new Date[] { startDate, endDate }; + } } diff --git a/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/SSEMRWebServicesController.java b/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/SSEMRWebServicesController.java index c38d1fb..7aba98a 100755 --- a/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/SSEMRWebServicesController.java +++ b/omod/src/main/java/org/openmrs/module/ssemrws/web/controller/SSEMRWebServicesController.java @@ -505,6 +505,12 @@ public Object getPatientsOnAdultRegimenTreatment(HttpServletRequest request, Date startDate = dateTimeFormatter.parse(qStartDate); Date endDate = dateTimeFormatter.parse(qEndDate); + // Add 23 hours to endDate + Calendar calendar = Calendar.getInstance(); + calendar.setTime(endDate); + calendar.add(Calendar.HOUR_OF_DAY, 23); + endDate = calendar.getTime(); + // Get txCurrPatients within the date range List txCurrPatients = getTxCurrMain.getTxCurrPatients(startDate, endDate); @@ -516,7 +522,6 @@ public Object getPatientsOnAdultRegimenTreatment(HttpServletRequest request, Arrays.asList(regimen_4A, regimen_4B, regimen_4C, regimen_4D, regimen_4E, regimen_4F, regimen_4G, regimen_4H, regimen_4I, regimen_4J, regimen_4K, regimen_4L, regimen_5A, regimen_5B, regimen_5C, regimen_5D, regimen_5E, regimen_5F, regimen_5G, regimen_5H, regimen_5I, regimen_5J), - // regimens ACTIVE_REGIMEN_CONCEPT_UUID, txCurrPatients, true); } @@ -530,6 +535,12 @@ public Object getPatientsOnChildRegimenTreatment(HttpServletRequest request, Date startDate = dateTimeFormatter.parse(qStartDate); Date endDate = dateTimeFormatter.parse(qEndDate); + // Add 23 hours to endDate + Calendar calendar = Calendar.getInstance(); + calendar.setTime(endDate); + calendar.add(Calendar.HOUR_OF_DAY, 23); + endDate = calendar.getTime(); + // Get txCurrPatients within the date range List txCurrPatients = getTxCurrMain.getTxCurrPatients(startDate, endDate); @@ -541,7 +552,6 @@ public Object getPatientsOnChildRegimenTreatment(HttpServletRequest request, Arrays.asList(regimen_4A, regimen_4B, regimen_4C, regimen_4D, regimen_4E, regimen_4F, regimen_4G, regimen_4H, regimen_4I, regimen_4J, regimen_4K, regimen_4L, regimen_5A, regimen_5B, regimen_5C, regimen_5D, regimen_5E, regimen_5F, regimen_5G, regimen_5H, regimen_5I, regimen_5J), - // regimens ACTIVE_REGIMEN_CONCEPT_UUID, txCurrPatients, false); }