diff --git a/openmrs-elis-atomfeed-client-omod/src/main/java/org/bahmni/module/elisatomfeedclient/api/worker/OpenElisAccessionEventWorker.java b/openmrs-elis-atomfeed-client-omod/src/main/java/org/bahmni/module/elisatomfeedclient/api/worker/OpenElisAccessionEventWorker.java index 33d78da1c..5b4edb715 100644 --- a/openmrs-elis-atomfeed-client-omod/src/main/java/org/bahmni/module/elisatomfeedclient/api/worker/OpenElisAccessionEventWorker.java +++ b/openmrs-elis-atomfeed-client-omod/src/main/java/org/bahmni/module/elisatomfeedclient/api/worker/OpenElisAccessionEventWorker.java @@ -251,14 +251,22 @@ private Obs createObsWith(String textValue, Concept concept, Date obsDateTime) { protected Set associateTestResultsToOrder(OpenElisAccession openElisAccession) throws ParseException { Encounter orderEncounter = encounterService.getEncounterByUuid(openElisAccession.getAccessionUuid()); - for (OpenElisTestDetail testDetail : openElisAccession.getTestDetails()) { - for (Order order : orderEncounter.getOrders()) { - if (testDetail != null && order != null && order.getConcept() != null && testDetail.getTestUuid().equals(order.getConcept().getUuid()) && testDetail.getStatus() != null && !testDetail.getStatus().equals("Canceled")) { - order.setAccessionNumber(openElisAccession.getAccessionUuid()); - break; + if (!orderEncounter.getOrders().isEmpty()) { + for (OpenElisTestDetail testDetail : openElisAccession.getTestDetails()) { + if (testDetail == null && testDetail.getStatus() == null) { + continue; + } + for (Order order : orderEncounter.getOrders()) { + if (testDetail.getTestUuid().equals(order.getConcept().getUuid())) { + if ("Canceled".equals(testDetail.getStatus())) { + continue; + } + order.setAccessionNumber(openElisAccession.getAccessionUuid()); + } } } } + final EncounterType labResultEncounterType = getLabResultEncounterType(); final Set allTests = openElisAccession.getTestDetails(); diff --git a/openmrs-elis-atomfeed-client-omod/src/test/java/org/bahmni/module/elisatomfeedclient/api/worker/OpenElisAccessionEventWorkerTest.java b/openmrs-elis-atomfeed-client-omod/src/test/java/org/bahmni/module/elisatomfeedclient/api/worker/OpenElisAccessionEventWorkerTest.java index 1b77c71fe..5192bd818 100644 --- a/openmrs-elis-atomfeed-client-omod/src/test/java/org/bahmni/module/elisatomfeedclient/api/worker/OpenElisAccessionEventWorkerTest.java +++ b/openmrs-elis-atomfeed-client-omod/src/test/java/org/bahmni/module/elisatomfeedclient/api/worker/OpenElisAccessionEventWorkerTest.java @@ -1,7 +1,5 @@ package org.bahmni.module.elisatomfeedclient.api.worker; -import java.util.*; - import org.bahmni.module.elisatomfeedclient.api.Constants; import org.bahmni.module.elisatomfeedclient.api.ElisAtomFeedProperties; import org.bahmni.module.elisatomfeedclient.api.builder.OpenElisAccessionBuilder; @@ -32,6 +30,13 @@ import org.openmrs.module.bahmniemrapi.encountertransaction.command.impl.BahmniVisitAttributeService; import java.io.IOException; +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals;