public DrugOrderBuilder withAutoExpireDate(Date autoExpireDate) { drugOrder.setAutoExpireDate(autoExpireDate); return this; }
/** * @see DrugOrder#setAutoExpireDateBasedOnDuration() */ @Test public void setAutoExpireDateBasedOnDuration_shouldNotCalculateIfAutoExpireDateAlreadySet() { DrugOrder drugOrder = new DrugOrder(); Date expectedAutoExpireDate = new Date(); drugOrder.setAutoExpireDate(expectedAutoExpireDate); drugOrder.setAutoExpireDateBasedOnDuration(); assertEquals(expectedAutoExpireDate, drugOrder.getAutoExpireDate()); }
/** * Sets autoExpireDate based on duration. * * @should delegate calculation to dosingInstructions * @should not calculate for discontinue action * @should not calculate if autoExpireDate already set */ public void setAutoExpireDateBasedOnDuration() { if (DISCONTINUE != getAction() && getAutoExpireDate() == null) { setAutoExpireDate(getDosingInstructionsInstance().getAutoExpireDate(this)); } }
/** * @see DrugOrder#setAutoExpireDateBasedOnDuration() */ @Test public void setAutoExpireDateBasedOnDuration_shouldDelegateCalculationToDosingInstructions() { DrugOrder drugOrder = spy(new DrugOrder()); drugOrder.setAutoExpireDate(null); DosingInstructions dosingInstructions = mock(DosingInstructions.class); when(drugOrder.getDosingInstructionsInstance()).thenReturn(dosingInstructions); Date expectedAutoExpireDate = new Date(); when(dosingInstructions.getAutoExpireDate(drugOrder)).thenReturn(expectedAutoExpireDate); drugOrder.setAutoExpireDateBasedOnDuration(); assertEquals(expectedAutoExpireDate, drugOrder.getAutoExpireDate()); }
@Test public void validate_shouldPassValidationIfAutoExpireDateAndDurationUnitsAreNotSet() { DrugOrder drugOrder = createValidDrugOrder(); drugOrder.setDurationUnits(null); drugOrder.setAutoExpireDate(null); Errors errors = new BindException(drugOrder, "drugOrder"); new SimpleDosingInstructions().validate(drugOrder, errors); Assert.assertFalse(errors.hasErrors()); }
/** * @see DrugOrder#setAutoExpireDateBasedOnDuration() */ @Test public void setAutoExpireDateBasedOnDuration_shouldNotCalculateForDiscontinueAction() { DrugOrder drugOrder = new DrugOrder(); drugOrder.setAction(Order.Action.DISCONTINUE); Date expectedAutoExpireDate = new Date(); drugOrder.setAutoExpireDate(expectedAutoExpireDate); drugOrder.setAutoExpireDateBasedOnDuration(); assertEquals(expectedAutoExpireDate, drugOrder.getAutoExpireDate()); }
@Test public void validate_shouldPassValidationIfAutoExpireDateIsSetAndDurationUnitsIsNotMappedToSNOMEDCTDuration() throws ParseException { DrugOrder drugOrder = createValidDrugOrder(); drugOrder.setDuration(30); Concept unMappedDurationUnits = new Concept(); drugOrder.setDurationUnits(unMappedDurationUnits); drugOrder.setAutoExpireDate(createDateTime("2014-07-01 10:00:00")); Errors errors = new BindException(drugOrder, "drugOrder"); new SimpleDosingInstructions().validate(drugOrder, errors); Assert.assertFalse(errors.hasErrors()); }
@Test public void validate_shouldFailValidationIfAutoExpireDateIsNotSetAndDurationUnitsIsNotMappedToSNOMEDCTDuration() { DrugOrder drugOrder = createValidDrugOrder(); drugOrder.setDuration(30); Concept unMappedDurationUnits = new Concept(); drugOrder.setDurationUnits(unMappedDurationUnits); drugOrder.setAutoExpireDate(null); Errors errors = new BindException(drugOrder, "drugOrder"); new SimpleDosingInstructions().validate(drugOrder, errors); Assert.assertTrue(errors.hasFieldErrors("durationUnits")); Assert.assertEquals("DrugOrder.error.durationUnitsNotMappedToSnomedCtDurationCode", errors.getFieldError( "durationUnits").getCode()); }
cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - 1); order.setDateActivated(cal.getTime()); order.setAutoExpireDate(new Date()); order.setOrderType(Context.getOrderService().getOrderTypeByName("Drug order")); order.setDrug(Context.getConceptService().getDrug(3));
cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - 1); order.setDateActivated(cal.getTime()); order.setAutoExpireDate(new Date()); order.setOrderType(Context.getOrderService().getOrderTypeByName("Drug order")); order.setDrug(Context.getConceptService().getDrug(3));
cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - 1); order.setDateActivated(cal.getTime()); order.setAutoExpireDate(new Date()); order.setOrderType(Context.getOrderService().getOrderTypeByName("Drug order")); order.setDrug(Context.getConceptService().getDrug(3));
@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()); }
cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - 1); order.setDateActivated(cal.getTime()); order.setAutoExpireDate(new Date()); order.setOrderType(Context.getOrderService().getOrderTypeByName("Drug order")); order.setDrug(Context.getConceptService().getDrug(3));
firstOrder.setDrug(conceptService.getDrug(3)); firstOrder.setDateActivated(new Date()); firstOrder.setAutoExpireDate(DateUtils.addDays(new Date(), 10)); firstOrder.setDosingType(FreeTextDosingInstructions.class); firstOrder.setDosingInstructions("2 for 5 days");
protected void editOrder(FormEntrySession session, OrderTag orderTag) { existingOrder.setDrug(orderTag.drug); existingOrder.setDose(orderTag.dose); existingOrder.setFrequency(orderTag.frequency); existingOrder.setStartDate(orderTag.startDate); if (orderTag.orderDuration != null) existingOrder.setAutoExpireDate(calculateAutoExpireDate(orderTag.startDate, orderTag.orderDuration)); if (orderTag.discontinuedDate != null){ existingOrder.setDiscontinuedDate(orderTag.discontinuedDate); existingOrder.setDiscontinued(true); } if (!StringUtils.isEmpty(orderTag.discontinuedReasonStr)) existingOrder.setDiscontinuedReason(HtmlFormEntryUtil.getConcept(orderTag.discontinuedReasonStr)); existingOrder.setConcept(orderTag.drug.getConcept()); if (!StringUtils.isEmpty(orderTag.instructions)) existingOrder.setInstructions((String) orderTag.instructions); log.debug("modifying drug order, drugId is " + orderTag.drugId + " and startDate is " + orderTag.startDate); existingOrder = setDiscontinueDateFromAutoExpire(existingOrder); session.getSubmissionActions().getCurrentEncounter().setDateChanged(new Date()); }
drugOrder.setAutoExpireDate(calculateAutoExpireDate(orderTag.startDate, orderTag.orderDuration)); drugOrder.setVoided(false); drugOrder.setDrug(orderTag.drug);
revisedOrder.setNumRefills(orderTag.numRefills); if (orderTag.orderDuration != null) revisedOrder.setAutoExpireDate(calculateAutoExpireDate(orderTag.startDate, orderTag.orderDuration)); if (!StringUtils.isEmpty(orderTag.instructions)) revisedOrder.setInstructions((String) orderTag.instructions);
drugOrder.setAutoExpireDate(calculateAutoExpireDate(orderTag.startDate, orderTag.orderDuration)); drugOrder.setVoided(false); drugOrder.setOrderType(Context.getOrderService().getOrderTypeByUuid(DRUG_ORDER_TYPE_UUID));