private void setPreferredPatientName(Patient patient) { PersonName preferredName = null; PersonName possiblePreferredName = patient.getPersonName(); if (possiblePreferredName != null && possiblePreferredName.getPreferred() && !possiblePreferredName.getVoided()) { preferredName = possiblePreferredName; } for (PersonName name : patient.getNames()) { if (preferredName == null && !name.getVoided()) { name.setPreferred(true); preferredName = name; continue; } if (!name.equals(preferredName)) { name.setPreferred(false); } } }
private void setPreferredPersonName(Person person) { PersonName preferredName = null; PersonName possiblePreferredName = person.getPersonName(); if (possiblePreferredName != null && possiblePreferredName.getPreferred() && !possiblePreferredName.getVoided()) { preferredName = possiblePreferredName; } for (PersonName name : person.getNames()) { if (preferredName == null && !name.getVoided()) { name.setPreferred(true); preferredName = name; continue; } if (!name.equals(preferredName)) { name.setPreferred(false); } } }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.DelegatingResourceHandler#save(java.lang.Object) */ @Override public PersonName save(PersonName newName) { // make sure that the name has actually been added to the person boolean needToAdd = true; for (PersonName pn : newName.getPerson().getNames()) { if (pn.equals(newName)) { needToAdd = false; break; } } if (needToAdd) newName.getPerson().addName(newName); Context.getPersonService().savePerson(newName.getPerson()); return newName; }
/** * 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); }