/** * @see org.openmrs.api.VisitService#unvoidVisit(org.openmrs.Visit) */ @Override public Visit unvoidVisit(Visit visit) throws APIException { return Context.getVisitService().saveVisit(visit); }
/** * @see org.openmrs.api.VisitService#endVisit(org.openmrs.Visit, java.util.Date) */ @Override public Visit endVisit(Visit visit, Date stopDate) { if (stopDate == null) { stopDate = new Date(); } visit.setStopDatetime(stopDate); return Context.getVisitService().saveVisit(visit); }
private void mergeVisits(Patient preferred, Patient notPreferred, PersonMergeLogData mergedData) { // move all visits, including voided ones (encounters will be handled below) //TODO: this should be a copy, not a move VisitService visitService = Context.getVisitService(); for (Visit visit : visitService.getVisitsByPatient(notPreferred, true, true)) { if (log.isDebugEnabled()) { log.debug("Merging visit " + visit.getVisitId() + " to " + preferred.getPatientId()); } visit.setPatient(preferred); Visit persisted = visitService.saveVisit(visit); mergedData.addMovedVisit(persisted.getUuid()); } }
/** * @see VisitService#saveVisit(Visit) */ @Test(expected = APIException.class) public void saveVisit_shouldFailIfValidationErrorsAreFound() { Visit visit = new Visit(); //Not setting the patient so that we get validation errors visit.setVisitType(visitService.getVisitType(1)); visit.setStartDatetime(new Date()); visitService.saveVisit(visit); }
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldBeAbleToAddAnAttributeToAVisit() { Date now = new Date(); Visit visit = visitService.getVisit(1); VisitAttributeType attrType = visitService.getVisitAttributeType(1); VisitAttribute attr = new VisitAttribute(); attr.setAttributeType(attrType); attr.setValue(now); visit.addAttribute(attr); visitService.saveVisit(visit); assertEquals(new SimpleDateFormat("yyyy-MM-dd").format(now), attr.getValueReference()); }
/** * This method assigns a visit to a new encounter using the registered visit assignment handler * * @param encounter a new encounter */ private void createVisitForNewEncounter(Encounter encounter) { if (encounter.getEncounterId() == null) { //Am using Context.getEncounterService().getActiveEncounterVisitHandler() instead of just //getActiveEncounterVisitHandler() for modules which may want to AOP around this call. EncounterVisitHandler encounterVisitHandler = Context.getEncounterService().getActiveEncounterVisitHandler(); if (encounterVisitHandler != null) { encounterVisitHandler.beforeCreateEncounter(encounter); //If we have been assigned a new visit, persist it. if (encounter.getVisit() != null && encounter.getVisit().getVisitId() == null) { Context.getVisitService().saveVisit(encounter.getVisit()); } } } }
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldPassIfNoValidationErrorsAreFound() { Visit visit = new Visit(); visit.setPatient(Context.getPatientService().getPatient(2)); visit.setVisitType(visitService.getVisitType(1)); visit.setStartDatetime(new Date()); visitService.saveVisit(visit); }
@Test public void shouldVoidASimpleAttribute() { executeDataSet(VISITS_ATTRIBUTES_XML); Visit visit = visitService.getVisit(1); VisitAttributeType attrType = visitService.getVisitAttributeType(1); List<VisitAttribute> attributes = visit.getActiveAttributes(attrType); assertTrue(attributes.size() > 0); VisitAttribute attribute = attributes.get(0); attribute.setVoided(true); visitService.saveVisit(visit); assertNotNull(attribute.getVoidedBy()); assertNotNull(attribute.getDateVoided()); }
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldSaveAVisitThoughChangedByAndDateCreatedAreNotSetForVisitAttributeExplictly() { executeDataSet(VISITS_ATTRIBUTES_XML); Visit visit = new Visit(new Patient(2), new VisitType(3), new Date()); VisitAttribute visitAttribute = createVisitAttributeWithoutCreatorAndDateCreated(); visit.setAttribute(visitAttribute); visit = visitService.saveVisit(visit); assertNotNull(visit.getId()); }
/** * @see ExistingVisitAssignmentHandler#beforeCreateEncounter(Encounter) */ @Test public void beforeCreateEncounter_shouldNotAssignVisitWhichStoppedBeforeEncounterDate() { Encounter encounter = Context.getEncounterService().getEncounter(1); Assert.assertNull(encounter.getVisit()); //set the visit stop date to that before the encounter date Visit visit = Context.getVisitService().getVisit(1); Calendar calendar = Calendar.getInstance(); calendar.setTime(visit.getStartDatetime()); calendar.set(Calendar.YEAR, 2004); visit.setStopDatetime(calendar.getTime()); Context.getVisitService().saveVisit(visit); new ExistingVisitAssignmentHandler().beforeCreateEncounter(encounter); Assert.assertNull(encounter.getVisit()); } }
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldVoidAnAttributeIfMaxOccursIs1AndSameAttributeTypeAlreadyExists() { executeDataSet(VISITS_ATTRIBUTES_XML); Visit visit = new Visit(new Patient(2), new VisitType(3), new Date()); visit.setAttribute(createVisitAttribute(new Date())); visit.setAttribute(createVisitAttribute(new Date(System.currentTimeMillis() - 1000000))); assertEquals(1, visit.getAttributes().size()); visit = visitService.saveVisit(visit); assertNotNull(visit.getId()); visit.setAttribute(createVisitAttribute("second visit")); assertEquals(2, visit.getAttributes().size()); VisitAttribute firstAttribute = (VisitAttribute) visit.getAttributes().toArray()[0]; assertTrue(firstAttribute.getVoided()); }
/** * @see VisitService#purgeVisit(Visit) */ @Test(expected = APIException.class) public void purgeVisit_shouldFailIfTheVisitHasEncountersAssociatedToIt() { Visit visit = visitService.getVisit(1); Encounter e = Context.getEncounterService().getEncounter(3); visit.addEncounter(e); visitService.saveVisit(visit); //sanity check assertTrue(Context.getEncounterService().getEncountersByVisit(visit, false).size() > 0); visitService.purgeVisit(visit); }
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldAddANewVisitToTheDatabase() { Integer originalSize = visitService.getAllVisits().size(); Visit visit = new Visit(new Patient(2), new VisitType(1), new Date()); visit = visitService.saveVisit(visit); assertNotNull(visit.getId()); assertNotNull(visit.getUuid()); assertNotNull(visit.getCreator()); assertNotNull(visit.getDateCreated()); assertEquals(originalSize + 1, visitService.getAllVisits().size()); }
/** * @see DelegatingCrudResource#save(java.lang.Object) */ @Override public Visit save(Visit visit) { return Context.getVisitService().saveVisit(visit); }
/** * @see VisitService#saveVisit(Visit) */ @Test(expected = TransientObjectException.class) public void saveVisit_shouldNotPersistNewEncounter() { Visit visit = visitService.getVisit(1); Encounter encounter = new Encounter(); encounter.setEncounterDatetime(new Date()); encounter.setEncounterType(Context.getEncounterService().getEncounterType(1)); encounter.setPatient(visit.getPatient()); encounter.setLocation(visit.getLocation()); visit.addEncounter(encounter); visitService.saveVisit(visit); Context.flushSession(); }
visit.addEncounter(encounter); visitService.saveVisit(visit);
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldUpdateAnExistingVisitInTheDatabase() { Visit visit = visitService.getVisit(2); assertNull(visit.getLocation());//this is the field we are editing assertNull(visit.getChangedBy()); assertNull(visit.getDateChanged()); visit.setLocation(Context.getLocationService().getLocation(1)); visit = visitService.saveVisit(visit); Context.flushSession(); assertNotNull(visit.getChangedBy()); assertNotNull(visit.getDateChanged()); assertEquals(Integer.valueOf(1), visit.getLocation().getLocationId()); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.DelegatingCrudResource#delete(java.lang.Object, * java.lang.String, org.openmrs.module.webservices.rest.web.RequestContext) */ @Override protected void delete(VisitAttribute delegate, String reason, RequestContext context) throws ResponseException { delegate.setVoided(true); delegate.setVoidReason(reason); Context.getVisitService().saveVisit(delegate.getVisit()); }
@Test public void shouldRemoveAnEncounterFromAnExistingVisitOnEdit() throws Exception { final String encounterId = "6519d653-393b-4118-9c83-a3715b82d4ac"; Visit visit = service.getVisitByUuid(RestTestConstants1_9.VISIT_UUID); //add an encounter to be removed for testing purposes visit.getEncounters().add(Context.getEncounterService().getEncounterByUuid(encounterId)); service.saveVisit(visit); Assert.assertEquals(1, visit.getEncounters().size()); String json = "{\"encounters\": [] }"; handle(newPostRequest(getURI() + "/" + getUuid(), json)); Visit updated = service.getVisitByUuid(RestTestConstants1_9.VISIT_UUID); Assert.assertEquals(0, updated.getEncounters().size()); }