@Test public void validate_shouldPassValidationIfVisitDateAfterBirthDate() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(1974, 4, 8); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(false); visit.setPatient(patient); calendar.set(1974, 4, 9); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, not(hasFieldErrors("startDatetime"))); }
@Test public void validate_shouldPassValidationIfVisitDateOnEstimatedBirthDatesGracePeriod() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(2000, 7, 25); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(true); calendar.set(2010, 7, 25); patient.setDeathDate(calendar.getTime()); visit.setPatient(patient); calendar.set(1995, 7, 25); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, not(hasFieldErrors("startDatetime"))); }
@Test public void validate_shouldPassValidationIfVisitDateOnEstimatedBirthDatesMinimumOneYearGracePeriod() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(2000, 7, 25); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(true); calendar.set(2000, 8, 25); patient.setDeathDate(calendar.getTime()); visit.setPatient(patient); calendar.set(1999, 7, 25); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, not(hasFieldErrors("startDatetime"))); }
@Test public void validate_shouldPassValidationIfVisitDateOnBirthDate() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(1974, 4, 8); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(false); visit.setPatient(patient); calendar.set(1974, 4, 8); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, not(hasFieldErrors("startDatetime"))); }
@Test public void validate_shouldFailValidationIfVisitDateBeforeEstimatedBirthDatesMinimumOneYearGracePeriod() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(2000, 7, 25); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(true); calendar.set(2000, 8, 25); patient.setDeathDate(calendar.getTime()); visit.setPatient(patient); calendar.set(1999, 7, 24); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, hasFieldErrors("startDatetime", "Visit.startDateCannotFallBeforeTheBirthDateOfTheSamePatient")); } }
@Test public void validate_shouldFailValidationIfVisitDateBeforeEstimatedBirthDatesGracePeriod() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(2000, 7, 25); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(true); calendar.set(2010, 7, 25); patient.setDeathDate(calendar.getTime()); visit.setPatient(patient); calendar.set(1995, 7, 24); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, hasFieldErrors("startDatetime", "Visit.startDateCannotFallBeforeTheBirthDateOfTheSamePatient")); }
@Test public void validate_shouldFailValidationIfVisitDateBeforeBirthDate() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(1974, 4, 8); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(false); visit.setPatient(patient); calendar.set(1974, 4, 7); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, hasFieldErrors("startDatetime", "Visit.startDateCannotFallBeforeTheBirthDateOfTheSamePatient")); }
private void mergeDateOfBirth(Patient preferred, Patient notPreferred, PersonMergeLogData mergedData) { mergedData.setPriorDateOfBirth(preferred.getBirthdate()); mergedData.setPriorDateOfBirthEstimated(preferred.getBirthdateEstimated()); if (preferred.getBirthdate() == null || (preferred.getBirthdateEstimated() && !notPreferred.getBirthdateEstimated())) { preferred.setBirthdate(notPreferred.getBirthdate()); preferred.setBirthdateEstimated(notPreferred.getBirthdateEstimated()); } }
/** * @see PatientService#mergePatients(Patient,Patient) */ @Test public void mergePatients_shouldAuditPriorDateOfBirthEstimated() throws Exception { //retrieve preferred patient and set a date of birth GregorianCalendar cDate = new GregorianCalendar(); cDate.setTime(new Date()); Patient preferred = patientService.getPatient(999); preferred.setBirthdate(cDate.getTime()); preferred.setBirthdateEstimated(true); preferred.addName(new PersonName("givenName", "middleName", "familyName")); patientService.savePatient(preferred); Patient notPreferred = patientService.getPatient(7); voidOrders(Collections.singleton(notPreferred)); PersonMergeLog audit = mergeAndRetrieveAudit(preferred, notPreferred); Assert.assertTrue("prior estimated date of birth was not audited", audit.getPersonMergeLogData() .isPriorDateOfBirthEstimated()); }
patient.setBirthdateEstimated(true);
patient.addAddress(pAddress); patient.setBirthdate(new Date()); patient.setBirthdateEstimated(true); patient.setDeathDate(new Date()); patient.setCauseOfDeath(new Concept(1));
patient.setBirthdateEstimated(true); patient.setDeathDate(new Date()); patient.setCauseOfDeath(new Concept());
patient.setBirthdateEstimated(true); patient.setBirthdate(new Date()); patient.setBirthdateEstimated(true); patient.setDeathDate(new Date()); patient.setCauseOfDeath(new Concept());
if (preferred.getBirthdate() == null || (preferred.getBirthdateEstimated() && !notPreferred.getBirthdateEstimated())) { preferred.setBirthdate(notPreferred.getBirthdate()); preferred.setBirthdateEstimated(notPreferred.getBirthdateEstimated());
public Patient buildOpenMrsPatient(MRSPatient patient, PatientIdentifierType patientIdentifierType, Location location, List<PersonAttributeType> allPersonAttributeTypes) { final Patient openMRSPatient = new Patient(createPersonWithNames(patient)); openMRSPatient.addIdentifier(new PatientIdentifier(patient.getMotechId(), patientIdentifierType, location)); openMRSPatient.setGender(patient.getPerson().getGender()); openMRSPatient.setBirthdate(patient.getPerson().getDateOfBirth().toDate()); openMRSPatient.setBirthdateEstimated(patient.getPerson().getBirthDateEstimated()); openMRSPatient.setDead(patient.getPerson().isDead()); if (patient.getPerson().getDeathDate() != null) { openMRSPatient.setDeathDate(patient.getPerson().getDeathDate().toDate()); } setPatientAddress(openMRSPatient, patient.getPerson().getAddress()); setPersonAttributes(patient, openMRSPatient, allPersonAttributeTypes); return openMRSPatient; }
PersonHelper.updatePersonName(openMrsPatient, person); openMrsPatient.setBirthdate(person.getDateOfBirth().toDate()); openMrsPatient.setBirthdateEstimated(person.getBirthDateEstimated()); openMrsPatient.setGender(person.getGender());