Android Open Source - sana Patient Validator






From Project

Back to project page sana.

License

The source code is released under:

Copyright (c) 2010, Moca All rights reserved. The source code for Moca is licensed under the BSD license as follows: Redistribution and use in source and binary forms, with or without modification, ...

If you think the Android project sana listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.moca.db;
/*w  w w . j  a v a2s . c  o  m*/
import java.util.Calendar;
import java.util.List;

import org.moca.procedure.Procedure;
import org.moca.procedure.ProcedureElement;
import org.moca.procedure.ValidationError;

import android.util.Log;

public class PatientValidator {
  
  private static final String TAG = PatientValidator.class.toString();

  public static boolean validate(Procedure p, PatientInfo pi) throws ValidationError {
    boolean result = true;
    
    //patient authentication checks for existing patients
    if (p.current().hasSpecialElement()) {
      if (!validateSpecialElements(p, pi)) {
        return false;
      } 
    }

    return result;
  }

  public static void populateSpecialElements(Procedure p, PatientInfo pi) {
    if (pi == null || !pi.isConfirmed() || !p.current().hasSpecialElement()) {
      return;
    }
    
    List<ProcedureElement> specialElements = p.current().getSpecialElements();
    
    for (ProcedureElement element : specialElements) {
      String id = element.getId();
      if (pi != null) {
        element.setAnswer(pi.getAnswerForId(id));
      }
    }
  }
  
  private static boolean validateSpecialElements(Procedure p, PatientInfo pi) throws ValidationError {
    List<ProcedureElement> specialElements = p.current().getSpecialElements();

    if (pi == null)
      pi = new PatientInfo();
    
    for (ProcedureElement el : specialElements) {
      String element_id = el.getId();
      String element_answer = el.getAnswer().trim().toLowerCase();
  
      if (element_id.equals("patientId")) {
        
      } else if (element_id.equals("patientFirstName")) {
  
      } else if (element_id.equals("patientLastName")) {
        
      } else if (element_id.equals("patientGender")) {
        
      } else if (element_id.equals("patientBirthdateMonth")) {
        String year = p.current().getElementValue("patientBirthdateYear");
        try {
          int yearValue = Integer.parseInt(year);
          int currentYear = Calendar.getInstance().get(Calendar.YEAR);
          Log.i(TAG, "Validating year: " + yearValue + " against " + currentYear);
          if (yearValue > currentYear || yearValue < currentYear-120) {
            throw new ValidationError("The year entered is not valid (in the future or too far in the past). Please try again.");
          }
        } catch (Exception e) {
          throw new ValidationError("The year entered is not a number. Please enter a number.");
        }
      }
    }
    return true;
  }

}




Java Source Code List

.Moca.java
org.moca.Constants.java
org.moca.ImagePreviewDialog.java
org.moca.ScalingImageAdapter.java
org.moca.SelectableImageView.java
org.moca.activity.NotificationList.java
org.moca.activity.NotificationViewer.java
org.moca.activity.PatientInfoDialog.java
org.moca.activity.ProcedureRunner.java
org.moca.activity.ProceduresList.java
org.moca.activity.SavedProcedureList.java
org.moca.activity.Settings.java
org.moca.db.EncounterDAO.java
org.moca.db.EventDAO.java
org.moca.db.EventProvider.java
org.moca.db.Event.java
org.moca.db.ImageProvider.java
org.moca.db.MocaDB.java
org.moca.db.NotificationMessage.java
org.moca.db.NotificationProvider.java
org.moca.db.PatientInfo.java
org.moca.db.PatientProvider.java
org.moca.db.PatientValidator.java
org.moca.db.ProcedureDAO.java
org.moca.db.ProcedureProvider.java
org.moca.db.SavedProcedureProvider.java
org.moca.db.SoundProvider.java
org.moca.media.AudioPlayer.java
org.moca.net.MDSCode.java
org.moca.net.MDSInterface.java
org.moca.net.MDSNotification.java
org.moca.net.MDSResult.java
org.moca.net.SMSReceive.java
org.moca.procedure.BinaryUploadElement.java
org.moca.procedure.DateElement.java
org.moca.procedure.GpsElement.java
org.moca.procedure.MultiSelectElement.java
org.moca.procedure.PatientIdElement.java
org.moca.procedure.PictureElement.java
org.moca.procedure.ProcedureElement.java
org.moca.procedure.ProcedurePage.java
org.moca.procedure.ProcedureParseException.java
org.moca.procedure.Procedure.java
org.moca.procedure.RadioElement.java
org.moca.procedure.SelectElement.java
org.moca.procedure.SoundElement.java
org.moca.procedure.TextElement.java
org.moca.procedure.TextEntryElement.java
org.moca.procedure.ValidationError.java
org.moca.procedure.branching.Criteria.java
org.moca.procedure.branching.Criterion.java
org.moca.procedure.branching.LogicAnd.java
org.moca.procedure.branching.LogicBase.java
org.moca.procedure.branching.LogicNot.java
org.moca.procedure.branching.LogicOr.java
org.moca.service.BackgroundUploader.java
org.moca.service.QueueManager.java
org.moca.service.ServiceConnector.java
org.moca.service.ServiceListener.java
org.moca.task.CheckCredentialsTask.java
org.moca.task.ImageProcessingTaskRequest.java
org.moca.task.ImageProcessingTask.java
org.moca.task.MDSSyncTask.java
org.moca.task.PatientLookupListener.java
org.moca.task.PatientLookupTask.java
org.moca.task.ResetDatabaseTask.java
org.moca.task.ValidationListener.java
org.moca.util.MocaUtil.java
org.moca.util.UserDatabase.java