@Test public void saveOrder_shouldFailIfDrugNonCodedInPreviousDrugOrderDoesNotMatchThatOfTheRevisedDrugOrder() { executeDataSet("org/openmrs/api/include/OrderServiceTest-nonCodedDrugs.xml"); DrugOrder previousOrder = (DrugOrder) orderService.getOrder(584); DrugOrder order = previousOrder.cloneForRevision(); String drugNonCodedParacetemol = "non coded aspirin"; order.setDateActivated(new Date()); order.setOrderer(providerService.getProvider(1)); order.setEncounter(encounterService.getEncounter(6)); assertFalse(previousOrder.getDrugNonCoded().equals(drugNonCodedParacetemol)); order.setDrugNonCoded(drugNonCodedParacetemol); order.setPreviousOrder(previousOrder); expectedException.expect(EditedOrderDoesNotMatchPreviousException.class); expectedException.expectMessage("The orderable of the previous order and the new one order don't match"); orderService.saveOrder(order, null); }
@Test public void saveOrder_shouldRevisePreviousNonCodedOrderIfItIsAlreadyExisting() { //We are trying to discontinue order id 584 in OrderServiceTest-nonCodedDrugs.xml executeDataSet("org/openmrs/api/include/OrderServiceTest-nonCodedDrugs.xml"); DrugOrder previousOrder = (DrugOrder) orderService.getOrder(584); DrugOrder order = previousOrder.cloneForRevision(); order.setDateActivated(new Date()); order.setOrderer(providerService.getProvider(1)); order.setEncounter(encounterService.getEncounter(6)); order.setAsNeeded(true); order.setPreviousOrder(previousOrder); DrugOrder saveOrder = (DrugOrder) orderService.saveOrder(order, null); Assert.assertTrue(saveOrder.getAsNeeded()); assertNotNull(orderService.getOrder(saveOrder.getOrderId())); }
/** * @see OrderService#saveOrder(org.openmrs.Order, OrderContext) */ @Test public void saveOrder_shouldFailIfTheExistingDrugOrderMatchesTheConceptAndNotDrugOfTheRevisedOrder() { final DrugOrder orderToDiscontinue = (DrugOrder) orderService.getOrder(5); //create a different test drug Drug discontinuationOrderDrug = new Drug(); discontinuationOrderDrug.setConcept(orderToDiscontinue.getConcept()); discontinuationOrderDrug = conceptService.saveDrug(discontinuationOrderDrug); assertNotEquals(discontinuationOrderDrug, orderToDiscontinue.getDrug()); assertNotNull(orderToDiscontinue.getDrug()); DrugOrder order = orderToDiscontinue.cloneForRevision(); order.setDateActivated(new Date()); order.setOrderer(providerService.getProvider(1)); order.setEncounter(encounterService.getEncounter(6)); order.setDrug(discontinuationOrderDrug); expectedException.expect(EditedOrderDoesNotMatchPreviousException.class); expectedException.expectMessage("The orderable of the previous order and the new one order don't match"); orderService.saveOrder(order, null); }
@Test public void saveOrder_shouldSetAutoExpireDateForReviseOrderWithSimpleDosingInstructions() { executeDataSet("org/openmrs/api/include/OrderServiceTest-drugOrderAutoExpireDate.xml"); DrugOrder originalOrder = (DrugOrder) orderService.getOrder(111); assertTrue(originalOrder.isActive()); DrugOrder revisedOrder = originalOrder.cloneForRevision(); revisedOrder.setOrderer(originalOrder.getOrderer()); revisedOrder.setEncounter(originalOrder.getEncounter()); revisedOrder.setNumRefills(0); revisedOrder.setAutoExpireDate(null); revisedOrder.setDuration(10); revisedOrder.setDurationUnits(conceptService.getConcept(1001)); orderService.saveOrder(revisedOrder, null); assertNotNull(revisedOrder.getAutoExpireDate()); }
/** * @see OrderService#saveOrder(org.openmrs.Order, OrderContext) */ @Test public void saveOrder_shouldFailIfTheExistingDrugOrderMatchesTheConceptAndNotDrugOfTheDCOrder() { final DrugOrder orderToDiscontinue = (DrugOrder) orderService.getOrder(5); assertTrue(OrderUtilTest.isActiveOrder(orderToDiscontinue, null)); //create a different test drug Drug discontinuationOrderDrug = new Drug(); discontinuationOrderDrug.setConcept(orderToDiscontinue.getConcept()); discontinuationOrderDrug = conceptService.saveDrug(discontinuationOrderDrug); assertNotEquals(discontinuationOrderDrug, orderToDiscontinue.getDrug()); assertNotNull(orderToDiscontinue.getDrug()); DrugOrder order = orderToDiscontinue.cloneForRevision(); order.setDateActivated(new Date()); order.setOrderer(providerService.getProvider(1)); order.setEncounter(encounterService.getEncounter(6)); order.setDrug(discontinuationOrderDrug); order.setOrderReasonNonCoded("Discontinue this"); expectedException.expect(EditedOrderDoesNotMatchPreviousException.class); expectedException.expectMessage("The orderable of the previous order and the new one order don't match"); orderService.saveOrder(order, null); }
DrugOrder revision = secondOrder.cloneForRevision(); revision.setScheduledDate(DateUtils.addDays(firstOrder.getEffectiveStartDate(), 2)); revision.setEncounter(encounterService.getEncounter(6));
DrugOrder revisedOrder = existingOrder.cloneForRevision(); setOrderer(session, revisedOrder); revisedOrder.setDrug(orderTag.drug); } else { Context.getOrderService().voidOrder(existingOrder, "Update discontinued date or reason"); discontinuationOrder = existingOrder.cloneForRevision(); discontinuationOrder.setDateActivated(orderTag.discontinuedDate); discontinuationOrder.setOrderReason(HtmlFormEntryUtil.getConcept(orderTag.discontinuedReasonStr));