Skip to content

Commit

Permalink
Merge pull request #326 from ojwanganto/updated-lims-queue
Browse files Browse the repository at this point in the history
Add rest endpoint for posting queued tests
  • Loading branch information
patryllus authored Nov 22, 2024
2 parents ab19bc9 + 9d127c5 commit b1babaa
Showing 1 changed file with 33 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,12 @@
import org.openmrs.module.kenyaemrorderentry.api.service.KenyaemrOrdersService;
import org.openmrs.module.kenyaemrorderentry.labDataExchange.LabOrderDataExchange;
import org.openmrs.module.kenyaemrorderentry.labDataExchange.LabwareFacilityWideResultsMapper;
import org.openmrs.module.kenyaemrorderentry.labDataExchange.LimsSystemWebRequest;
import org.openmrs.module.kenyaemrorderentry.manifest.LabManifest;
import org.openmrs.module.kenyaemrorderentry.manifest.LabManifestOrder;
import org.openmrs.module.kenyaemrorderentry.metadata.KenyaemrorderentryAdminSecurityMetadata;
import org.openmrs.module.kenyaemrorderentry.queue.LimsQueue;
import org.openmrs.module.kenyaemrorderentry.queue.LimsQueueStatus;
import org.openmrs.module.kenyaemrorderentry.util.Utils;
import org.openmrs.module.webservices.rest.web.RestConstants;
import org.openmrs.module.webservices.rest.web.v1_0.controller.BaseRestController;
Expand All @@ -44,6 +47,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
Expand Down Expand Up @@ -440,6 +444,35 @@ public Object getManifestMerics(HttpServletRequest request) {
return(model);
}

@CrossOrigin(origins = "*", methods = {RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT, RequestMethod.DELETE, RequestMethod.OPTIONS})
@RequestMapping(method = RequestMethod.GET, value = "/sendteststolims")
@ResponseBody
public Object sendQueuedLabTestsToLims(HttpServletRequest request) {
KenyaemrOrdersService kenyaemrOrdersService = Context.getService(KenyaemrOrdersService.class);
SimpleObject model = new SimpleObject();

List<LimsQueue> queuedLabTests = kenyaemrOrdersService.getLimsQueueEntriesByStatus(LimsQueueStatus.QUEUED, null, null, false);

if (queuedLabTests.isEmpty()) {
model.put("response", "There are no tests to send to LIMS");
return model;
}
int counter = 0;
for (LimsQueue limsQueue : queuedLabTests) {
try {
LimsSystemWebRequest.postLabOrderRequestToLims(limsQueue.getPayload());
limsQueue.setStatus(LimsQueueStatus.SUBMITTED);
limsQueue.setDateLastChecked(new Date());
kenyaemrOrdersService.saveLimsQueue(limsQueue);
counter++;
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
model.put("numberOfSubmittedTests", counter);
return(model);
}

/**
* @see BaseRestController#getNamespace()
*/
Expand Down

0 comments on commit b1babaa

Please sign in to comment.