コード例 #1
0
ファイル: MiniMpi.java プロジェクト: sirrinki/CONNECT-Legacy
  public void Delete(Patient patient, String homeCommunityId) {
    log.info(
        "Attemping to Delete identifiers for community: "
            + homeCommunityId
            + " for patient: "
            + patient.getName().getFirstName()
            + " "
            + patient.getName().getLastName());
    Patients existingPatients = Search(patient, true, true);
    int patIdx = 0;
    int idIdx = 0;

    if (existingPatients.size() > 1) {
      log.info("ERROR: Multiple instances of the patient were found");
    } else if (existingPatients.size() == 1) {
      log.info("Found 1 entry in MPI for the patient");
      for (Patient tmpPatient : getPatients()) {
        if (existingPatients.get(0) == tmpPatient) {
          log.info("Found a match in index " + patIdx);

          for (Identifier id : getPatients().get(patIdx).getIdentifiers()) {
            if (homeCommunityId.contentEquals(id.getOrganizationId())) {
              log.info("Found a match for identifiers in index" + idIdx);
              Identifier result = getPatients().get(patIdx).getIdentifiers().remove(idIdx);
              break;
            }
            idIdx++;
          }
          break;
        }
        patIdx++;
      }
    } else {
      // System.out.println("ERROR: Patient not found in MPI");
      log.info("ERROR: Patient not found in MPI");
    }

    SaveData();
  }
コード例 #2
0
ファイル: MiniMpi.java プロジェクト: sirrinki/CONNECT-Legacy
  public Patient AddUpdate(Patient newPatient) {
    Patient resultPatient = null;
    ValidateNewPatient(newPatient);

    Patients existingPatients = Search(newPatient, true, true);

    if (existingPatients.size() == 2) {
      // throw exception
    } else if (existingPatients.size() == 1) {
      resultPatient = existingPatients.get(0);
      resultPatient.getIdentifiers().add(newPatient.getIdentifiers());
      resultPatient.setName(newPatient.getName());
      resultPatient.setGender(newPatient.getGender());
      resultPatient.setOptedIn(newPatient.isOptedIn());
    } else {
      getPatients().add(newPatient);
      resultPatient = newPatient;
    }

    SaveData();

    return resultPatient;
  }