Skip to content

Commit

Permalink
add. check to filter out orders that are inactive and not scheduled (#66
Browse files Browse the repository at this point in the history
)

(cherry picked from commit 9ce0056)
  • Loading branch information
Arjun-Go authored and rahu1ramesh committed Jul 4, 2024
1 parent 1df93ef commit a712bf1
Showing 1 changed file with 9 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -151,22 +151,23 @@ public List<AdmittedPatient> searchAdmittedPatients(Location location, List<Stri
try {
Session session = sessionFactory.getCurrentSession();

String selectQuery = "select NEW org.openmrs.module.ipd.api.model.AdmittedPatient(assignment," +
"(COUNT(DISTINCT o.orderId) - COUNT (DISTINCT s.order.orderId)),careTeam) " +
String selectQuery = "select NEW org.openmrs.module.ipd.api.model.AdmittedPatient(assignment, " +
"(COUNT(DISTINCT o.orderId) - COUNT(DISTINCT s.order.orderId)), careTeam) " +
"from org.openmrs.module.bedmanagement.entity.BedPatientAssignment assignment " +
"JOIN org.openmrs.Visit v on v.patient = assignment.patient " +
"JOIN org.openmrs.Patient p on assignment.patient = p " +
"JOIN org.openmrs.Person pr on pr.personId=p.patientId " +
"JOIN org.openmrs.Person pr on pr.personId = p.patientId " +
"JOIN org.openmrs.Encounter e on e.visit = v " +
"LEFT JOIN CareTeam careTeam on careTeam.visit = v "+
"LEFT JOIN CareTeam careTeam on careTeam.visit = v " +
"JOIN org.openmrs.module.bedmanagement.entity.BedLocationMapping locmap on locmap.bed = assignment.bed " +
"JOIN org.openmrs.Location l on locmap.location = l " +
"LEFT JOIN org.openmrs.Order o on o.encounter = e " +
"LEFT JOIN org.openmrs.Order o on o.encounter = e and o.dateStopped is null and o.action!='DISCONTINUE' and o.careSetting.careSettingId = 2 " +
"LEFT JOIN Slot s on s.order = o ";


// Construct additional joins and where clause based on search keys
StringBuilder additionalJoins = new StringBuilder("");
StringBuilder whereClause = new StringBuilder("");
StringBuilder additionalJoins = new StringBuilder();
StringBuilder whereClause = new StringBuilder();
generateSQLSearchConditions(searchKeys, additionalJoins, whereClause, searchValue);

// Construct group by clause
Expand All @@ -188,6 +189,7 @@ public List<AdmittedPatient> searchAdmittedPatients(Location location, List<Stri
}
}


private void generateSQLSearchConditions(List<String> searchKeys, StringBuilder additionalJoins, StringBuilder whereClause, String searchValue) {
whereClause.append("where (assignment.endDatetime is null and v.stopDatetime is null and l.parentLocation = :location)");
if (searchKeys != null && !searchKeys.isEmpty()) {
Expand Down

0 comments on commit a712bf1

Please sign in to comment.