private void validateFieldsForOutpatientCareSettingType(DrugOrder order, Errors errors) { if (order.getAction() != Order.Action.DISCONTINUE && order.getCareSetting() != null && order.getCareSetting().getCareSettingType().equals(CareSetting.CareSettingType.OUTPATIENT)) { ValidationUtils.rejectIfEmpty(errors, "quantity", "DrugOrder.error.quantityIsNullForOutPatient"); ValidationUtils.rejectIfEmpty(errors, "numRefills", "DrugOrder.error.numRefillsIsNullForOutPatient"); } }
/** * @see OrderService#getCareSettingByName(String) */ @Test public void getCareSettingByName_shouldReturnTheCareSettingWithTheSpecifiedName() { CareSetting cs = orderService.getCareSettingByName("INPATIENT"); assertEquals(2, cs.getId().intValue()); //should also be case insensitive cs = orderService.getCareSettingByName("inpatient"); assertEquals(2, cs.getId().intValue()); }
/** * @see OrderService#getCareSettings(boolean) */ @Test public void getCareSettings_shouldReturnRetiredCareSettingsIfIncludeRetiredIsSetToTrue() { CareSetting retiredCareSetting = orderService.getCareSetting(3); assertTrue(retiredCareSetting.getRetired()); List<CareSetting> careSettings = orderService.getCareSettings(true); assertEquals(3, careSettings.size()); assertTrue(containsId(careSettings, retiredCareSetting.getCareSettingId())); }
public static DropdownWidget createCareSettingWidget(FormEntryContext context, boolean inpatientOnly) { DropdownWidget careSettingWidget = new DropdownWidget(); List<CareSetting> careSettings = Context.getOrderService().getCareSettings(false); List<Option> options = new ArrayList<Option>(); for (CareSetting careSetting : careSettings) { if (!inpatientOnly || careSetting.getCareSettingType().equals(CareSettingType.INPATIENT)) { options.add(new Option(careSetting.getName(), careSetting.getId().toString(), false)); } } setupDropdownWidget(context, careSettingWidget, options); return careSettingWidget; }
@Test public void shouldGetAnCareSettingByUuid() throws Exception { SimpleObject result = deserialize(handle(newGetRequest(getURI() + "/" + getUuid()))); CareSetting expectedCareSetting = service.getCareSettingByUuid(getUuid()); assertEquals(expectedCareSetting.getUuid(), PropertyUtils.getProperty(result, "uuid")); assertEquals(expectedCareSetting.getName(), PropertyUtils.getProperty(result, "name")); assertEquals(expectedCareSetting.getCareSettingType().name(), PropertyUtils.getProperty(result, "careSettingType")); assertEquals(expectedCareSetting.getDescription(), PropertyUtils.getProperty(result, "description")); assertEquals(expectedCareSetting.isRetired(), PropertyUtils.getProperty(result, "retired")); assertNull(PropertyUtils.getProperty(result, "auditInfo")); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.DelegatingCrudResource#newDelegate() */ @Override public CareSetting newDelegate() { return new CareSetting(); }
@Test public void shouldGetACareSettingByName() throws Exception { final String name = "outpatient"; SimpleObject result = deserialize(handle(newGetRequest(getURI() + "/" + name))); CareSetting expectedCareSetting = service.getCareSettingByName(name); assertEquals(expectedCareSetting.getUuid(), PropertyUtils.getProperty(result, "uuid")); assertEquals(expectedCareSetting.getName(), PropertyUtils.getProperty(result, "name")); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.DelegatingCrudResource#doSearch(org.openmrs.module.webservices.rest.web.RequestContext) */ @Override protected NeedsPaging<CareSetting> doSearch(RequestContext context) { List<CareSetting> careSettings = Context.getOrderService().getCareSettings(context.getIncludeAll()); for (Iterator<CareSetting> iterator = careSettings.iterator(); iterator.hasNext();) { CareSetting cs = iterator.next(); if (!Pattern.compile(Pattern.quote(context.getParameter("q")), Pattern.CASE_INSENSITIVE).matcher(cs.getName()) .find()) { iterator.remove(); } } return new NeedsPaging<CareSetting>(careSettings, context); }
@Override public Integer getId() { return getCareSettingId(); }
private void ensureCareSettingIsSet(Order order, OrderContext orderContext) { if (order.getCareSetting() != null) { return; } CareSetting careSetting = null; if (orderContext != null) { careSetting = orderContext.getCareSetting(); } Order previousOrder = order.getPreviousOrder(); if (careSetting == null || (previousOrder != null && !careSetting.equals(previousOrder.getCareSetting()))) { throw new OrderEntryException("Order.care.cannot.determine"); } order.setCareSetting(careSetting); }
dcOrder.add("patient", patient.getUuid()); dcOrder.add("concept", orderToDiscontinue.getConcept().getUuid()); dcOrder.add("careSetting", orderToDiscontinue.getCareSetting().getUuid()); dcOrder.add("previousOrder", orderToDiscontinue.getUuid()); dcOrder.add("encounter", Context.getEncounterService().getEncounter(6).getUuid()); assertEquals(dcOrder.get("action"), Util.getByPath(savedDCOrder, "action")); assertEquals(orderToDiscontinue.getPatient().getUuid(), Util.getByPath(savedDCOrder, "patient/uuid")); assertEquals(orderToDiscontinue.getCareSetting().getUuid(), Util.getByPath(savedDCOrder, "careSetting/uuid")); assertEquals(dcOrder.get("previousOrder"), Util.getByPath(savedDCOrder, "previousOrder/uuid")); assertNotNull(PropertyUtils.getProperty(savedDCOrder, "dateActivated"));
/** * @see OrderValidator#validate(Object,Errors) */ @Test public void validate_shouldPassValidationIfAllFieldsAreCorrect() { Order order = new DrugOrder(); Encounter encounter = new Encounter(); order.setConcept(Context.getConceptService().getConcept(88)); order.setOrderer(Context.getProviderService().getProvider(1)); Patient patient = Context.getPatientService().getPatient(2); encounter.setPatient(patient); order.setPatient(patient); Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - 1); order.setDateActivated(cal.getTime()); order.setAutoExpireDate(new Date()); order.setCareSetting(new CareSetting()); order.setEncounter(encounter); order.setUrgency(Order.Urgency.ROUTINE); order.setAction(Order.Action.NEW); order.setOrderType(Context.getOrderService().getOrderTypeByName("Drug order")); Errors errors = new BindException(order, "order"); new OrderValidator().validate(order, errors); Assert.assertFalse(errors.hasErrors()); }
} else if (!order.getOrderType().equals(previousOrder.getOrderType())) { throw new EditedOrderDoesNotMatchPreviousException("Order.type.doesnot.match"); } else if (!order.getCareSetting().equals(previousOrder.getCareSetting())) { throw new EditedOrderDoesNotMatchPreviousException("Order.care.setting.doesnot.match"); } else if (!getActualType(order).equals(getActualType(previousOrder))) {
revisedOrder.add("previousOrder", orderToRevise.getUuid()); revisedOrder.add("patient", patient.getUuid()); revisedOrder.add("careSetting", orderToRevise.getCareSetting().getUuid()); revisedOrder.add("concept", orderToRevise.getConcept().getUuid()); revisedOrder.add("encounter", encounter.getUuid()); assertEquals(revisedOrder.get("action"), Util.getByPath(savedOrder, "action")); assertEquals(patient.getUuid(), Util.getByPath(savedOrder, "patient/uuid")); assertEquals(orderToRevise.getCareSetting().getUuid(), Util.getByPath(savedOrder, "careSetting/uuid")); assertEquals(revisedOrder.get("previousOrder"), Util.getByPath(savedOrder, "previousOrder/uuid")); assertEquals(revisedOrder.get("concept"), Util.getByPath(savedOrder, "concept/uuid"));
/** * @see OrderValidator#validate(Object,Errors) */ @Test public void validate_shouldPassValidationIfFieldLengthsAreCorrect() { Order order = new Order(); Encounter encounter = new Encounter(); order.setConcept(Context.getConceptService().getConcept(88)); order.setOrderer(Context.getProviderService().getProvider(1)); Patient patient = Context.getPatientService().getPatient(2); encounter.setPatient(patient); order.setPatient(patient); Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - 1); order.setDateActivated(cal.getTime()); order.setAutoExpireDate(new Date()); order.setCareSetting(new CareSetting()); order.setEncounter(encounter); order.setUrgency(Order.Urgency.ROUTINE); order.setAction(Order.Action.NEW); order.setOrderReasonNonCoded("orderReasonNonCoded"); order.setAccessionNumber("accessionNumber"); order.setCommentToFulfiller("commentToFulfiller"); order.setVoidReason("voidReason"); Errors errors = new BindException(order, "order"); new OrderValidator().validate(order, errors); Assert.assertFalse(errors.hasErrors()); }
crit.add(Restrictions.eq("patient", searchCriteria.getPatient())); if (searchCriteria.getCareSetting() != null && searchCriteria.getCareSetting().getId() != null) { crit.add(Restrictions.eq("careSetting", searchCriteria.getCareSetting()));
order.setDateActivated(cal.getTime()); order.setAutoExpireDate(new Date()); order.setCareSetting(new CareSetting()); order.setEncounter(encounter); order.setUrgency(Order.Urgency.ROUTINE);
/** * @see OrderService#getCareSettingByUuid(String) */ @Test public void getCareSettingByUuid_shouldReturnTheCareSettingWithTheSpecifiedUuid() { CareSetting cs = orderService.getCareSettingByUuid("6f0c9a92-6f24-11e3-af88-005056821db0"); assertEquals(1, cs.getId().intValue()); }
/** * @see TestOrderValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldFailValidationIfTheSpecimenSourceIsInvalid() { ConceptService conceptService = Context.getConceptService(); Concept specimenSource = conceptService.getConcept(3); OrderService orderService = Context.getOrderService(); assertThat(specimenSource, not(isIn(orderService.getDrugRoutes()))); TestOrder order = new TestOrder(); Patient patient = new Patient(8); order.setPatient(patient); order.setOrderType(orderService.getOrderTypeByName("Test order")); order.setConcept(conceptService.getConcept(5497)); order.setOrderer(new Provider()); order.setCareSetting(new CareSetting()); Encounter encounter = new Encounter(); encounter.setPatient(patient); order.setEncounter(encounter); order.setDateActivated(new Date()); order.setSpecimenSource(specimenSource); Errors errors = new BindException(order, "order"); new TestOrderValidator().validate(order, errors); Assert.assertTrue(errors.hasFieldErrors("specimenSource")); Assert.assertEquals("TestOrder.error.specimenSourceNotAmongAllowedConcepts", errors.getFieldError("specimenSource") .getCode()); }
careSettingWidget.setInitialValue(lastRevision.getCareSetting().getId());