/** * @see DosingInstructions#validate(DrugOrder, org.springframework.validation.Errors) * @param order * @param errors * @should reject a duration unit with a mapping of an invalid type */ @Override public void validate(DrugOrder order, Errors errors) { ValidationUtils.rejectIfEmpty(errors, "dose", "DrugOrder.error.doseIsNullForDosingTypeSimple"); ValidationUtils.rejectIfEmpty(errors, "doseUnits", "DrugOrder.error.doseUnitsIsNullForDosingTypeSimple"); ValidationUtils.rejectIfEmpty(errors, "route", "DrugOrder.error.routeIsNullForDosingTypeSimple"); ValidationUtils.rejectIfEmpty(errors, "frequency", "DrugOrder.error.frequencyIsNullForDosingTypeSimple"); if (order.getAutoExpireDate() == null && order.getDurationUnits() != null && Duration.getCode(order.getDurationUnits()) == null) { errors.rejectValue("durationUnits", "DrugOrder.error.durationUnitsNotMappedToSnomedCtDurationCode"); } }
/** * @see DosingInstructions#getAutoExpireDate(DrugOrder) */ @Override public Date getAutoExpireDate(DrugOrder drugOrder) { if (drugOrder.getDuration() == null || drugOrder.getDurationUnits() == null) { return null; } if (drugOrder.getNumRefills() != null && drugOrder.getNumRefills() > 0) { return null; } String durationCode = Duration.getCode(drugOrder.getDurationUnits()); if (durationCode == null) { return null; } Duration duration = new Duration(drugOrder.getDuration(), durationCode); return aMomentBefore(duration.addToDate(drugOrder.getEffectiveStartDate(), drugOrder.getFrequency())); }
if (order.getDurationUnits() != null) { List<Concept> drugDurationUnits = orderService.getDurationUnits(); if (!drugDurationUnits.contains(order.getDurationUnits())) { errors.rejectValue("durationUnits", "DrugOrder.error.notAmongAllowedConcepts"); if (Duration.getCode(order.getDurationUnits()) == null) { errors.rejectValue("durationUnits", "DrugOrder.error.durationUnitsNotMappedToSnomedCtDurationCode");
/** * @see DosingInstructions#getDosingInstructions(DrugOrder) */ @Override public DosingInstructions getDosingInstructions(DrugOrder order) { if (!order.getDosingType().equals(this.getClass())) { throw new APIException("DrugOrder.error.dosingTypeIsMismatched", new Object[] { this.getClass().getName(), order.getDosingType() }); } SimpleDosingInstructions simpleDosingInstructions = new SimpleDosingInstructions(); simpleDosingInstructions.setDose(order.getDose()); simpleDosingInstructions.setDoseUnits(order.getDoseUnits()); simpleDosingInstructions.setRoute(order.getRoute()); simpleDosingInstructions.setFrequency(order.getFrequency()); simpleDosingInstructions.setDuration(order.getDuration()); simpleDosingInstructions.setDurationUnits(order.getDurationUnits()); simpleDosingInstructions.setAsNeeded(order.getAsNeeded()); simpleDosingInstructions.setAsNeededCondition(order.getAsNeededCondition()); simpleDosingInstructions.setAdministrationInstructions(order.getDosingInstructions()); return simpleDosingInstructions; }
/** * @see org.openmrs.Order#copyHelper(Order) */ protected DrugOrder copyHelper(DrugOrder target) { super.copyHelper(target); target.setDose(getDose()); target.setDoseUnits(getDoseUnits()); target.setFrequency(getFrequency()); target.setAsNeeded(getAsNeeded()); target.setAsNeededCondition(getAsNeededCondition()); target.setQuantity(getQuantity()); target.setQuantityUnits(getQuantityUnits()); target.setDrug(getDrug()); target.setDosingType(getDosingType()); target.setDosingInstructions(getDosingInstructions()); target.setDuration(getDuration()); target.setDurationUnits(getDurationUnits()); target.setNumRefills(getNumRefills()); target.setRoute(getRoute()); target.setBrandName(getBrandName()); target.setDispenseAsWritten(getDispenseAsWritten()); target.setDrugNonCoded(getDrugNonCoded()); return target; }
/** * @see Order#cloneForRevisionHelper(Order) */ protected DrugOrder cloneForRevisionHelper(DrugOrder target) { super.cloneForRevisionHelper(target); target.setDose(getDose()); target.setDoseUnits(getDoseUnits()); target.setFrequency(getFrequency()); target.setAsNeeded(getAsNeeded()); target.setAsNeededCondition(getAsNeededCondition()); target.setQuantity(getQuantity()); target.setQuantityUnits(getQuantityUnits()); target.setDrug(getDrug()); target.setDosingType(getDosingType()); target.setDosingInstructions(getDosingInstructions()); target.setDuration(getDuration()); target.setDurationUnits(getDurationUnits()); target.setRoute(getRoute()); target.setNumRefills(getNumRefills()); target.setBrandName(getBrandName()); target.setDispenseAsWritten(getDispenseAsWritten()); target.setDrugNonCoded(getDrugNonCoded()); return target; }
if (lastRevision.getDurationUnits() != null) { durationUnitsWidget.setInitialValue(lastRevision.getDurationUnits().getId());