Changeset 5183 for openmrs/branches/data_synchronization_bidirectional/src/api/org/openmrs/api/impl/PatientServiceImpl.java
- Timestamp:
- 08/06/08 17:17:55 (5 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs/branches/data_synchronization_bidirectional/src/api/org/openmrs/api/impl/PatientServiceImpl.java
r4969 r5183 163 163 164 164 /** 165 * @deprecated replaced by {@link #getPatients(String, String, List, boolean)} 165 166 * @see org.openmrs.api.PatientService#getPatients(java.lang.String, java.lang.String, java.util.List) 166 167 */ … … 168 169 List<PatientIdentifierType> identifierTypes) 169 170 throws APIException { 171 return getPatients(name, identifier, identifierTypes, false); 172 } 173 174 /** 175 * @see org.openmrs.api.PatientService#getPatients(java.lang.String, java.lang.String, java.util.List, boolean) 176 */ 177 public List<Patient> getPatients(String name, String identifier, 178 List<PatientIdentifierType> identifierTypes, boolean matchIdentifierExactly) 179 throws APIException { 170 180 171 181 if (identifierTypes == null) 172 182 identifierTypes = Collections.emptyList(); 173 183 174 return dao.getPatients(name, identifier, identifierTypes );184 return dao.getPatients(name, identifier, identifierTypes, matchIdentifierExactly); 175 185 } 176 186 … … 214 224 // TODO: check patient has at least one "sufficient" identifier 215 225 216 // check this patient for duplicate identifiers 217 if (identifiersUsed.contains(pi.getIdentifier() )) {226 // check this patient for duplicate identifiers+identifierType 227 if (identifiersUsed.contains(pi.getIdentifier() + " id type #: " + pi.getIdentifierType().getPatientIdentifierTypeId())) { 218 228 patient.removeIdentifier(pi); 219 229 throw new DuplicateIdentifierException("This patient has two identical identifiers of type " … … 225 235 pi); 226 236 } 227 228 else229 identifiersUsed.add(pi.getIdentifier());237 else { 238 identifiersUsed.add(pi.getIdentifier() + " id type #: " + pi.getIdentifierType().getPatientIdentifierTypeId()); 239 } 230 240 } 231 241 … … 326 336 * @param pi PatientIdentifier 327 337 * @return true/false whether or not this PatientIdentifier is in use 328 * @deprecated use getPatientByIdentifier(String) instead338 * @deprecated use {@link #getPatientsByIdentifier(String, boolean)}yIdentifier(String) instead 329 339 */ 330 340 private Patient identifierInUse(PatientIdentifier pi) { … … 345 355 List<PatientIdentifierType> types = new Vector<PatientIdentifierType>(); 346 356 types.add(type); 347 List<Patient> patients = getPatients(null, identifier, types );357 List<Patient> patients = getPatients(null, identifier, types, /* exact name+identifier search */ true); 348 358 349 359 // ignore this patient (loop until no changes made) … … 357 367 358 368 /** 359 * @deprecated replaced by @deprecated replaced by {@link #getPatients(String, String, List , String)}369 * @deprecated replaced by @deprecated replaced by {@link #getPatients(String, String, List)} 360 370 * @see org.openmrs.api.PatientService#getPatientsByIdentifier(java.lang.String, boolean) 361 371 */ … … 370 380 371 381 /** 372 * @deprecated replaced by @deprecated replaced by{@link #getPatients(String, String, List, String)}382 * @deprecated replaced by {@link #getPatients(String, String, List, String)} 373 383 * @see org.openmrs.api.PatientService#getPatientsByIdentifierPattern(java.lang.String, boolean) 374 384 */