/** * @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); }
Visit nextVisit = dao.getNextVisit(null, visitTypesToStop, maximumStartDate); while (nextVisit != null) { nextVisit.setStopDatetime(stopDate); dao.saveVisit(nextVisit); if (counter++ > 50) {
/** * @see VisitValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldRejectAVisitIfStopDateTimeFallsIntoAnotherVisitOfTheSamePatient() { Calendar calendar = Calendar.getInstance(); calendar.set(2014, Calendar.JANUARY, 2); Visit visit = makeVisit(42); visit.setStartDatetime(calendar.getTime()); calendar.set(2014, Calendar.JANUARY, 8); visit.setStopDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("stopDatetime")); }
/** * @see VisitValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldRejectAVisitIfItContainsAnotherVisitOfTheSamePatient() { Calendar calendar = Calendar.getInstance(); calendar.set(2014, Calendar.JANUARY, 2); Visit visit = makeVisit(42); visit.setStartDatetime(calendar.getTime()); calendar.set(2014, Calendar.JANUARY, 12); visit.setStopDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("stopDatetime")); }
/** * @see VisitValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfTheEndDatetimeIsBeforeTheStartDatetime() { Visit visit = new Visit(); Calendar c = Calendar.getInstance(); visit.setStartDatetime(c.getTime()); c.set(2010, 3, 15);//set to an older date visit.setStopDatetime(c.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertEquals(true, errors.hasFieldErrors("stopDatetime")); }
/** * @see VisitValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldAcceptAVisitIfItContainsAnotherVoidedVisitOfTheSamePatient() { Calendar calendar = Calendar.getInstance(); calendar.set(2014, Calendar.FEBRUARY, 2); Visit visit = makeVisit(42); visit.setStartDatetime(calendar.getTime()); calendar.set(2014, Calendar.FEBRUARY, 12); visit.setStopDatetime(calendar.getTime()); assertTrue(patientHasVoidedVisit(visit.getPatient(), DATE_TIME_2014_02_05_00_00_00_0, DATE_TIME_2014_02_11_00_00_00_0)); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertFalse(errors.hasFieldErrors("stopDatetime")); }
/** * @see VisitValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldAcceptAVisitIfStopDateTimeFallsIntoAnotherVoidedVisitOfTheSamePatient() { Calendar calendar = Calendar.getInstance(); calendar.set(2014, Calendar.FEBRUARY, 2); Visit visit = makeVisit(42); visit.setStartDatetime(calendar.getTime()); calendar.set(2014, Calendar.FEBRUARY, 8); visit.setStopDatetime(calendar.getTime()); assertTrue(patientHasVoidedVisit(visit.getPatient(), DATE_TIME_2014_02_05_00_00_00_0, DATE_TIME_2014_02_11_00_00_00_0)); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertFalse(errors.hasFieldErrors("stopDatetime")); }
visit.setStopDatetime(OpenmrsUtil.getLastMomentOfDay(encounter.getEncounterDatetime()));
/** * @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 EncounterValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfEncounterDateTimeIsAfterVisitStopDateTime() { Encounter encounter = Context.getEncounterService().getEncounter(3); Visit visit = Context.getVisitService().getVisit(1); visit.setPatient(encounter.getPatient()); encounter.setVisit(visit); //Set encounter dateTime to after the visit stopDateTime. visit.setStopDatetime(new Date()); Date date = new Date(visit.getStopDatetime().getTime() + 1); encounter.setEncounterDatetime(date); errors = new BindException(encounter, "encounter"); encounterValidator.validate(encounter, errors); Assert.assertEquals(true, errors.hasFieldErrors("encounterDatetime")); }
/** * @see VisitValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfTheStopDatetimeIsBeforeAnyEncounter() { Visit visit = Context.getVisitService().getVisit(1); Encounter encounter = Context.getEncounterService().getEncounter(3); visit.setPatient(encounter.getPatient()); encounter.setVisit(visit); encounter.setEncounterDatetime(visit.getStartDatetime()); Context.getEncounterService().saveEncounter(encounter); //Set visit stop date to before the encounter date. Date date = new Date(encounter.getEncounterDatetime().getTime() - 1); visit.setStopDatetime(date); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertEquals(true, errors.hasFieldErrors("stopDatetime")); }