private static void setFirstNameAsPreferred(List<PersonName> personNames) { boolean hasPreferred = false; for (PersonName name : personNames) { if (name.isPreferred()) { if (!hasPreferred) { hasPreferred = true; } else { name.setPreferred(false); } } } if (!hasPreferred) { personNames.iterator().next().setPreferred(true); } }
private static PersonName getFirstName(Set<PersonName> names) { List<PersonName> personNames = filter(having(on(PersonName.class).isPreferred(), is(false)), names); if (CollectionUtils.isEmpty(personNames)) { personNames = filter(having(on(PersonName.class).isPreferred(), is(true)), names); } return (!personNames.isEmpty()) ? personNames.get(0) : null; }
private PersonName getPreferredName() { for (PersonName name : patient.getNames()) { if (!name.isVoided() && name.isPreferred()) { return name; } } return null; }
public PatientEditor editName(PersonName editedName) { Set<PersonName> personNames = patient.getNames(); if (personNames.isEmpty()) { patient.addName(editedName); return this; } for (PersonName currentName : personNames) { if (currentName.isVoided()) continue; if (currentName.isPreferred()) continue; if (editedName.isPreferred()) return editPreferredName(editedName); updateName(editedName, currentName); } return this; }
personName.setFamilyName(lastName); if (personName.isPreferred()) { if (preferredName != null) { if (!preferredName.trim().equals(""))
/** * Sets the preferred name for a person. If no name exists new name is set as preferred. * * @param instance * @param name * @throws ResourceDoesNotSupportOperationException */ @PropertySetter("preferredName") public static void setPreferredName(Person instance, PersonName name) throws ResourceDoesNotSupportOperationException { if (name.getId() == null) { throw new ResourceDoesNotSupportOperationException("Only an existing name can be marked as preferred!"); } // switching which name is preferred for (PersonName existing : instance.getNames()) { if (existing.isPreferred() && !existing.equals(name)) existing.setPreferred(false); } name.setPreferred(true); instance.addName(name); }
@Test public void shouldSetThePreferredNameAndUnmarkTheOldOne() throws Exception { executeDataSet("PersonControllerTest-otherPersonData.xml"); Person person = service.getPersonByUuid(getUuid()); PersonName preferredName = service.getPersonNameByUuid("399e3a7b-6482-487d-94ce-c07bb3ca3cc7"); PersonName notPreferredName = service.getPersonNameByUuid("499e3a7b-6482-487d-94ce-c07bb3ca3cc8"); assertTrue(preferredName.isPreferred()); assertFalse(notPreferredName.isPreferred()); assertFalse(notPreferredName.isVoided()); //sanity check that the names belong to the person assertEquals(person, preferredName.getPerson()); assertEquals(person, notPreferredName.getPerson()); handle(newPostRequest(getURI() + "/" + getUuid(), "{ \"preferredName\":\"" + notPreferredName.getUuid() + "\" }")); assertEquals(notPreferredName, person.getPersonName()); assertTrue(notPreferredName.isPreferred()); assertFalse(preferredName.isPreferred()); }
if (!name.isPreferred()) { PersonName currentPreferredName = context.getExistingPatient().getPersonName(); if (currentPreferredName != null){
public static void updatePersonName(Person openMrsPerson, MRSPerson person) { if (StringUtils.isNotEmpty(person.getPreferredName())) { if (openMrsPerson.getNames().size() == 2) { for (PersonName name : openMrsPerson.getNames()) { if (name.isPreferred()) { name.setGivenName(person.getPreferredName()); } else { name.setGivenName(person.getFirstName()); } name.setMiddleName(person.getMiddleName()); name.setFamilyName(person.getLastName()); } } else { PersonName personName = openMrsPerson.getPersonName(); personName.setGivenName(person.getFirstName()); personName.setMiddleName(person.getMiddleName()); personName.setFamilyName(person.getLastName()); PersonName preferredName = new PersonName(person.getPreferredName(), person.getMiddleName(), person.getLastName()); preferredName.setPreferred(true); openMrsPerson.addName(preferredName); } } else { PersonName personName = openMrsPerson.getPersonName(); personName.setGivenName(person.getFirstName()); personName.setMiddleName(person.getMiddleName()); personName.setFamilyName(person.getLastName()); } } }
if (!name.isPreferred() && name.getGivenName() != null) { webServicePatient.setFirstName(name.getGivenName()); break;