private void setPreferredPatientAddress(Patient patient) { PersonAddress preferredAddress = null; PersonAddress possiblePreferredAddress = patient.getPersonAddress(); if (possiblePreferredAddress != null && possiblePreferredAddress.getPreferred() && !possiblePreferredAddress.getVoided()) { preferredAddress = possiblePreferredAddress; } for (PersonAddress address : patient.getAddresses()) { if (preferredAddress == null && !address.getVoided()) { address.setPreferred(true); preferredAddress = address; continue; } if (!address.equals(preferredAddress)) { address.setPreferred(false); } } }
/** * @see PatientService#mergePatients(Patient,Patient) */ @Test public void mergePatients_shouldOnlyMarkAddressesOfPreferredPatientAsPreferred() throws Exception { Patient preferred = patientService.getPatient(7); Patient notPreferred = patientService.getPatient(8); // since the test data has no preferred addresses, we need to mark addresses to preferred to set up the test preferred.getPersonAddress().setPreferred(true); notPreferred.getPersonAddress().setPreferred(true); patientService.savePatient(preferred); patientService.savePatient(notPreferred); patientService.mergePatients(preferred, notPreferred); Assert.assertThat(preferred.getAddresses().size(), is(2)); // make sure only the address from the preferred patient is marked as preferred for (PersonAddress pa : preferred.getAddresses()) { if (pa.getCityVillage().equals("Jabali")) { Assert.assertFalse(pa.getPreferred()); } } }
public PatientEditor editAddress(PersonAddress newAddress) { if (patient.getPersonAddress() == null) { patient.addAddress(newAddress); return this; } PersonAddress oldAddress = patient.getPersonAddress(); if (!oldAddress.equalsContent(newAddress)) { oldAddress.setVoided(true); oldAddress.setVoidReason("Address edited"); patient.addAddress(newAddress); } return this; } }
createWidgets(context, addressWidget, null, existingPatient != null ? existingPatient.getPersonAddress() : null);
if (context.getMode() == Mode.EDIT) { if (!personAddress.isPreferred()) { PersonAddress currentPreferredAddress = context.getExistingPatient().getPersonAddress(); currentPreferredAddress.setPreferred(false); currentPreferredAddress.setVoided(true);
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertPatient(); PersonAddress address = results.getPatient().getPersonAddress(); Assert.assertEquals("410 w 10th St.", address.getAddress1()); Assert.assertEquals("Indianapolis", address.getCityVillage()); Assert.assertEquals("Indiana", address.getStateProvince()); Assert.assertEquals("46202", address.getPostalCode()); results.assertNoEncounterCreated(); }
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertPatient(); PersonAddress address = results.getPatient().getPersonAddress(); Assert.assertEquals("410 w 10th St.", address.getAddress1()); Assert.assertEquals("Indianapolis", address.getCityVillage()); Assert.assertEquals("Indiana", address.getStateProvince()); Assert.assertEquals("46202", address.getPostalCode()); results.assertNoEncounterCreated(); } }.run();
@Override public void testEditedResults(SubmissionResults results) { results.assertNoErrors(); results.assertPatient(); PersonAddress address = results.getPatient().getPersonAddress(); Assert.assertEquals("273 Beaver Dam Rd.", address.getAddress1()); Assert.assertEquals("Scituate", address.getCityVillage()); Assert.assertEquals("MA", address.getStateProvince()); Assert.assertEquals("02066", address.getPostalCode()); results.assertNoEncounterCreated(); }
@Override public PersonAddress getValue(FormEntryContext context, HttpServletRequest request) { PersonAddress returnPersonAddress = new PersonAddress(); returnPersonAddress.setAddress1(getWidgetValue("address1", context, request)); returnPersonAddress.setAddress2(getWidgetValue("address2", context, request)); returnPersonAddress.setCityVillage(getWidgetValue("cityVillage", context, request)); returnPersonAddress.setStateProvince(getWidgetValue("stateProvince", context, request)); returnPersonAddress.setPostalCode(getWidgetValue("postalCode", context, request)); returnPersonAddress.setCountry(getWidgetValue("country", context, request)); returnPersonAddress.setLatitude(getWidgetValue("latitude", context, request)); returnPersonAddress.setLongitude(getWidgetValue("longitude", context, request)); returnPersonAddress.setCountyDistrict(getWidgetValue("countyDistrict", context, request)); returnPersonAddress.setAddress3(getWidgetValue("neighborhoodCell", context, request)); returnPersonAddress.setAddress4(getWidgetValue("townshipDivision", context, request)); returnPersonAddress.setAddress5(getWidgetValue("subregion", context, request)); returnPersonAddress.setAddress6(getWidgetValue("region", context, request)); if (context.getMode() == Mode.EDIT) { PersonAddress preferedAddress = context.getExistingPatient().getPersonAddress(); if (preferedAddress != null && returnPersonAddress.equalsContent(preferedAddress)) { returnPersonAddress = preferedAddress; } } return returnPersonAddress; }