Skip to content

Commit

Permalink
U4X-548: Change the queue in 2.x to use REST API rather than java api (
Browse files Browse the repository at this point in the history
  • Loading branch information
slubwama authored May 7, 2024
1 parent 91b95f7 commit 3fcf275
Show file tree
Hide file tree
Showing 11 changed files with 250 additions and 152 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1299,6 +1299,7 @@ public void sendPatientToNextLocation(FormEntrySession session, String locationT
patientQueue.setLocationFrom(session.getEncounter().getLocation());
patientQueue.setPatient(session.getEncounter().getPatient());
patientQueue.setLocationTo(locationTo);
patientQueue.setQueueRoom(locationTo);
patientQueue.setProvider(provider);
patientQueue.setEncounter(session.getEncounter());
patientQueue.setStatus(nextQueueStatus);
Expand Down Expand Up @@ -2032,6 +2033,7 @@ public PatientQueue sendPatientBackToClinician(Encounter encounter, Location loc
patientQueue.setLocationFrom(locationFrom);
patientQueue.setPatient(encounter.getPatient());
patientQueue.setLocationTo(encounter.getLocation());
patientQueue.setQueueRoom(encounter.getLocation());
patientQueue.setProvider(provider);
patientQueue.setEncounter(encounter);
patientQueue.setStatus(PatientQueue.Status.PENDING);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ public SimpleObject post(@SpringBean("patientService") PatientService patientSer
patientQueue.setLocationFrom(currentLocation);
patientQueue.setPatient(patient);
patientQueue.setLocationTo(location);
patientQueue.setQueueRoom(location);
patientQueue.setProvider(provider);
patientQueue.setStatus(PatientQueue.Status.PENDING);
patientQueue.setCreator(uiSessionContext.getCurrentUser());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.springframework.web.bind.annotation.RequestParam;

import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
Expand All @@ -31,7 +32,6 @@ public ClinicianQueueListFragmentController() {
}

public void controller(@SpringBean FragmentModel pageModel, @SpringBean("locationService") LocationService locationService,UiSessionContext uiSessionContext) {
List<String> list = new ArrayList();

String locationUUIDS = Context.getAdministrationService()
.getGlobalProperty("ugandaemr.clinicianLocationUUIDS");
Expand All @@ -46,25 +46,16 @@ public void controller(@SpringBean FragmentModel pageModel, @SpringBean("locatio
pageModel.put("enablePatientQueueSelection", Context.getAdministrationService().getGlobalProperty("ugandaemr.enablePatientQueueSelection"));
}

public SimpleObject getPatientQueueList(@RequestParam(value = "searchfilter", required = false) String searchfilter, UiSessionContext uiSessionContext) {
UgandaEMRService ugandaEMRService = Context.getService(UgandaEMRService.class);
public SimpleObject getEncounterId(@RequestParam(value = "patientQueueUuid", required = false) String patientQueueUuid) throws ParseException, IOException {
PatientQueueingService patientQueueingService = Context.getService(PatientQueueingService.class);
PatientQueue patientQueue = patientQueueingService.getPatientQueueByUuid(patientQueueUuid);
ObjectMapper objectMapper = new ObjectMapper();

SimpleObject simpleObject = new SimpleObject();

List<PatientQueue> patientQueueList = new ArrayList();
if (!searchfilter.equals("")) {
patientQueueList = patientQueueingService.getPatientQueueListBySearchParams(searchfilter, OpenmrsUtil.firstSecondOfDay(new Date()), OpenmrsUtil.getLastMomentOfDay(new Date()), uiSessionContext.getSessionLocation(), null, null);
String encounterId = "";
if (patientQueue != null && patientQueue.getEncounter() != null) {
encounterId = objectMapper.writeValueAsString(patientQueue.getEncounter().getEncounterId());
} else {
patientQueueList = patientQueueingService.getPatientQueueListBySearchParams(searchfilter, OpenmrsUtil.firstSecondOfDay(new Date()), OpenmrsUtil.getLastMomentOfDay(new Date()), uiSessionContext.getSessionLocation(), null, null);
}
List<PatientQueueVisitMapper> patientQueueMappers = ugandaEMRService.mapPatientQueueToMapper(patientQueueList);
try {
simpleObject.put("patientClinicianQueueList", objectMapper.writeValueAsString(patientQueueMappers));
} catch (IOException e) {
log.error(e);
encounterId = objectMapper.writeValueAsString("");
}
return simpleObject;
return SimpleObject.create("encounterId", encounterId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@ private PatientQueue sendPatientBackToClinician(Encounter encounter, Location lo
patientQueue.setLocationFrom(locationFrom);
patientQueue.setPatient(encounter.getPatient());
patientQueue.setLocationTo(encounter.getLocation());
patientQueue.setQueueRoom(encounter.getLocation());
patientQueue.setProvider(provider);
patientQueue.setEncounter(encounter);
patientQueue.setStatus(PatientQueue.Status.PENDING);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ public SimpleObject post(@SpringBean("patientService") PatientService patientSer
patientQueue.setLocationFrom(currentLocation);
patientQueue.setPatient(patient);
patientQueue.setLocationTo(location);
patientQueue.setQueueRoom(location);
patientQueue.setProvider(provider);
patientQueue.setStatus(PatientQueue.Status.PENDING);
patientQueue.setCreator(uiSessionContext.getCurrentUser());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ public TriageQueueListFragmentController() {
}

public void controller(FragmentConfiguration config, @SpringBean FragmentModel pageModel, UiSessionContext uiSessionContext) {

pageModel.put("specimenSource", Context.getOrderService().getTestSpecimenSources());
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String dateStr = sdf.format(new Date());
pageModel.addAttribute("currentDate", dateStr);
Expand All @@ -46,39 +44,16 @@ public void controller(FragmentConfiguration config, @SpringBean FragmentModel p
pageModel.put("enablePatientQueueSelection", Context.getAdministrationService().getGlobalProperty("ugandaemr.enablePatientQueueSelection"));
}

/**
* Get Patients in Lab Queue
*
* @param searchFilter
* @param uiSessionContext
* @return
* @throws IOException
* @throws ParseException
*/
public SimpleObject getPatientQueueList(@RequestParam(value = "triageSearchFilter", required = false) String searchFilter, UiSessionContext uiSessionContext) throws IOException, ParseException {
UgandaEMRService ugandaEMRService = Context.getService(UgandaEMRService.class);
public SimpleObject getEncounterId(@RequestParam(value = "patientQueueUuid", required = false) String patientQueueUuid) throws ParseException, IOException {
PatientQueueingService patientQueueingService = Context.getService(PatientQueueingService.class);
PatientQueue patientQueue = patientQueueingService.getPatientQueueByUuid(patientQueueUuid);
ObjectMapper objectMapper = new ObjectMapper();
SimpleObject simpleObject = new SimpleObject();
List<PatientQueue> patientQueueList = new ArrayList();
if (!searchFilter.equals("")) {
patientQueueList = patientQueueingService.getPatientQueueListBySearchParams(searchFilter, OpenmrsUtil.firstSecondOfDay(new Date()), OpenmrsUtil.getLastMomentOfDay(new Date()), uiSessionContext.getSessionLocation(), null, null);
String encounterId = "";
if (patientQueue != null && patientQueue.getEncounter() != null) {
encounterId = objectMapper.writeValueAsString(patientQueue.getEncounter().getEncounterId());
} else {
patientQueueList = patientQueueingService.getPatientQueueListBySearchParams(null, OpenmrsUtil.firstSecondOfDay(new Date()), OpenmrsUtil.getLastMomentOfDay(new Date()), uiSessionContext.getSessionLocation(), null, null);
}
simpleObject.put("patientTriageQueueList", objectMapper.writeValueAsString(ugandaEMRService.mapPatientQueueToMapper(patientQueueList)));
return simpleObject;
}

public SimpleObject getActiveVisit(@RequestParam(value = "patientId", required = false) Patient patient) throws ParseException, IOException {
VisitService visitService = Context.getVisitService();
List<Visit> visits = visitService.getActiveVisitsByPatient(patient);
ObjectMapper objectMapper = new ObjectMapper();
String visitId = null;

if (visits.size() > 0) {
visitId = visits.get(0).getUuid();
encounterId = objectMapper.writeValueAsString("");
}
return SimpleObject.create("visitId", objectMapper.writeValueAsString(visitId));
return SimpleObject.create("encounterId", encounterId);
}
}
Loading

0 comments on commit 3fcf275

Please sign in to comment.