/** * @see org.openmrs.api.EncounterService#purgeEncounter(Encounter, boolean) */ @Override public void purgeEncounter(Encounter encounter, boolean cascade) throws APIException { // if authenticated user is not supposed to edit encounter of certain type if (!canEditEncounter(encounter, null)) { throw new APIException("Encounter.error.privilege.required.purge", new Object[] { encounter.getEncounterType() .getEditPrivilege() }); } if (cascade) { ObsService obsService = Context.getObsService(); List<Encounter> justThisEncounter = new ArrayList<>(); justThisEncounter.add(encounter); List<Obs> observations = new ArrayList<>( obsService.getObservations(null, justThisEncounter, null, null, null, null, null, null, null, null, null, true)); for (Obs o : observations) { obsService.purgeObs(o); } Set<Order> orders = encounter.getOrders(); for (Order o : orders) { Context.getOrderService().purgeOrder(o); } } Context.getEncounterService().purgeEncounter(encounter); }
/** * @see OrderService#purgeOrder(org.openmrs.Order, boolean) */ @Test public void purgeOrder_shouldDeleteOrderFromTheDatabase() { final String uuid = "9c21e407-697b-11e3-bd76-0800271c1b75"; Order order = orderService.getOrderByUuid(uuid); assertNotNull(order); orderService.purgeOrder(order); assertNull(orderService.getOrderByUuid(uuid)); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.BaseDelegatingResource#purge(java.lang.Object, * org.openmrs.module.webservices.rest.web.RequestContext) */ @Override public void purge(Order delegate, RequestContext context) throws ResponseException { Context.getOrderService().purgeOrder(delegate); }
orderService.purgeOrder(order, false); Assert.assertNotNull(os.getObsByUuid(obsUuid)); orderService.purgeOrder(order, true);