/** * Will add this PatientIdentifier if the patient doesn't contain it already * * @param patientIdentifier * @should not fail with null identifiers list * @should add identifier to current list * @should not add identifier that is in list already */ public void addIdentifier(PatientIdentifier patientIdentifier) { if (patientIdentifier != null) { patientIdentifier.setPatient(this); // make sure the set doesn't already contain an identifier with the same // identifier, identifierType for (PatientIdentifier currentId : getActiveIdentifiers()) { if (currentId.equalsContent(patientIdentifier)) { // fail silently if someone tries to add a duplicate return; } } } getIdentifiers().add(patientIdentifier); }
public void checkPatientIdentifiers(Patient patient) throws PatientIdentifierException { if (!patient.getVoided() && patient.getActiveIdentifiers().isEmpty()) { throw new InsufficientIdentifiersException("At least one nonvoided Patient Identifier is required");
.getActiveIdentifiers(); for (PatientIdentifier pi : identifiers) { if (pi.getPreferred()) {
/** * @see PatientService#getPatientIdentifier(Integer patientId) */ @Test public void voidPatientIdentifier_shouldVoidGivenPatientIdentifierWithGivenReason() throws Exception { Patient patient = patientService.getPatientIdentifier(3).getPatient(); int oldActiveIdentifierSize = patient.getActiveIdentifiers().size(); PatientIdentifier patientIdentifierToVoid = patientService.getPatientIdentifier(3); PatientIdentifier voidedIdentifier = patientService.voidPatientIdentifier(patientIdentifierToVoid, "Testing"); // was the void reason set Assert.assertEquals("Testing", voidedIdentifier.getVoidReason()); // patient's active identifiers must have reduced by 1 if the identifier // was successfully voided Assert.assertEquals(oldActiveIdentifierSize - 1, patient.getActiveIdentifiers().size()); }
private void mergeIdentifiers(Patient preferred, Patient notPreferred, PersonMergeLogData mergedData) { for (PatientIdentifier pi : notPreferred.getActiveIdentifiers()) { PatientIdentifier tmpIdentifier = new PatientIdentifier(); tmpIdentifier.setIdentifier(pi.getIdentifier());
p.getActiveIdentifiers().size() == 2); assertTrue("Preferred identifier should be first in the list", p.getActiveIdentifiers().get(0) == pa2); assertTrue("Non-preferred identifier should be last in the list", p.getActiveIdentifiers().get(1) == pa1);
@PropertyGetter("identifiers") public static Set<PatientIdentifier> getIdentifiers(Patient instance) { return new LinkedHashSet<PatientIdentifier>(instance.getActiveIdentifiers()); }
/** * Regression test for TRUNK-3118 */ @Test public void addIdentifier_shouldAddNewIdentifierForExistingVoidedIdentifier() { Patient p = new Patient(); PatientIdentifier pa1 = new PatientIdentifier(); PatientIdentifierType identifierType = new PatientIdentifierType(1); Location location = new Location(1); pa1.setIdentifier("theid"); pa1.setIdentifierType(identifierType); pa1.setLocation(location); pa1.setVoided(true); p.addIdentifier(pa1); PatientIdentifier pa2 = new PatientIdentifier(); pa2.setIdentifier("theid"); pa2.setIdentifierType(identifierType); pa1.setLocation(location); pa2.setVoided(false); // this should not fail p.addIdentifier(pa2); // make sure we still have it in there assertTrue("The second identifier has not been added as a new identifier", p.getActiveIdentifiers().contains(pa2)); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.DelegatingSubResource#doGetAll(java.lang.Object, * org.openmrs.module.webservices.rest.web.RequestContext) */ @Override public NeedsPaging<PatientIdentifier> doGetAll(Patient parent, RequestContext context) throws ResponseException { List<PatientIdentifier> patientIdentifiers; if (context.getIncludeAll()) { patientIdentifiers = new ArrayList<PatientIdentifier>(parent.getIdentifiers()); } else { patientIdentifiers = parent.getActiveIdentifiers(); } return new NeedsPaging<PatientIdentifier>(patientIdentifiers, context); }
@Override public long getAllCount() { return service.getPatientByUuid(RestTestConstants1_8.PATIENT_UUID).getActiveIdentifiers().size(); }
for (PatientIdentifier id : patient.getActiveIdentifiers()) { String idType = id.getIdentifierType().getName(); List<String> list = identifiers.get(idType);
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.DelegatingResourceHandler#save(java.lang.Object) */ @Override public PatientIdentifier save(PatientIdentifier delegate) { if (delegate.isPreferred()) { for (PatientIdentifier pI : delegate.getPatient().getActiveIdentifiers()) { if (!pI.equals(delegate)) { pI.setPreferred(false); } } } boolean needToAdd = true; for (PatientIdentifier pi : delegate.getPatient().getActiveIdentifiers()) { if (pi.equals(delegate)) { needToAdd = false; break; } } if (needToAdd) { delegate.getPatient().addIdentifier(delegate); } service().savePatientIdentifier(delegate); return delegate; }
private MRSObservation createMRSObservation(Obs obs, Object value) { final OpenMRSObservation mrsObservation = new OpenMRSObservation(Integer.toString(obs.getId()), obs.getObsDatetime(), obs.getConcept().getName().getName(), value); if (obs.getPatient() != null) { List<PatientIdentifier> patientIdentifiers = obs.getPatient().getActiveIdentifiers(); if (patientIdentifiers != null) { for (PatientIdentifier patientId : patientIdentifiers) { if (IdentifierType.IDENTIFIER_MOTECH_ID.getName().equals(patientId.getIdentifierType().getName())) { mrsObservation.setPatientId(patientId.getIdentifier()); } } } } if (obs.hasGroupMembers()) { for (Obs observation : obs.getGroupMembers()) { mrsObservation.addDependantObservation(convertOpenMRSToMRSObservation(observation)); } } eventRelay.sendEventMessage(new MotechEvent(EventKeys.CREATED_NEW_OBSERVATION_SUBJECT, EventHelper.observationParameters(mrsObservation))); return mrsObservation; }