Android Open Source - clinicalguide Answer Validator From Project Back to project page clinicalguide .
License The source code is released under:
Apache License
If you think the Android project clinicalguide 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.get.oxicam.clinicalguide.xml.data;
/ * w w w . j a v a 2 s . c o m * /
import java.util.ArrayList;
import java.util.HashMap;
import org.get.oxicam.clinicalguide.db.Database;
import org.get.oxicam.clinicalguide.xml.CGParser;
import android.content.Context;
public class AnswerValidator {
public static Treatment getTreatment(Context context, Symptom symptom, HashMap<String, Answer> answers, CGParser parser, long patientID) {
for (Option option : symptom.options) {
if (option.answer == null) {
return parser.getTreatment(option.nextId);
}
AbstractAnswer answer = option.answer;
if (answer instanceof SimpleAnswer) {
String questionId = ((SimpleAnswer) answer).questionId;
Answer actualAnswer = answers.get(questionId);
if (((SimpleAnswer) answer).isSameAnswer(actualAnswer)) {
return parser.getTreatment(option.nextId);
}
}
else {
if (fulfillsCombinedAnswer(context, (CombinedAnswer) answer, answers, patientID)) {
return parser.getTreatment(option.nextId);
}
}
}
return null;
}
private static boolean fulfillsCombinedAnswer(Context context, CombinedAnswer cAnswer, HashMap<String, Answer> answers, long patientID) {
boolean fulfilled = false;
for (HashMap<String, Object> answerCombination : cAnswer.answers) {
String type = (String) answerCombination.get("type" );
if (type.equals("choice" )) {
fulfilled = false;
}
else {
fulfilled = true;
}
for (AbstractAnswer aAnswer: (ArrayList<AbstractAnswer>)answerCombination.get("answers" )) {
if (aAnswer instanceof SimpleAnswer) {
SimpleAnswer sAnswer = (SimpleAnswer) aAnswer;
if (sAnswer.questionId.equals("birthdate" )) {
Database db = new Database(context);
float age = db.getPatientAge(patientID);
if (type.equals("choice" )) {
fulfilled |= sAnswer.checkAge(age);
}
else {
fulfilled &= sAnswer.checkAge(age);
}
}
else {
Answer actualAnswer = answers.get(sAnswer.questionId);
if (type.equals("choice" )) {
fulfilled |= (((SimpleAnswer) aAnswer).isSameAnswer(actualAnswer));
}
else {
fulfilled &= (((SimpleAnswer) aAnswer).isSameAnswer(actualAnswer));
}
}
}
else {
if (type.equals("choice" )) {
fulfilled |= fulfillsCombinedAnswer(context, (CombinedAnswer) aAnswer, answers, patientID);
}
else {
fulfilled &= fulfillsCombinedAnswer(context, (CombinedAnswer) aAnswer, answers, patientID);
}
}
}
}
return fulfilled;
}
}
Java Source Code List .PatientDetailsDataSource.java org.get.oxicam.clinicalguide.ClinicalGuideActivity.java org.get.oxicam.clinicalguide.FileUtils.java org.get.oxicam.clinicalguide.LoginActivity.java org.get.oxicam.clinicalguide.db.DatabaseHelper.java org.get.oxicam.clinicalguide.db.Database.java org.get.oxicam.clinicalguide.db.FollowupDataSource.java org.get.oxicam.clinicalguide.db.FollowupDetails.java org.get.oxicam.clinicalguide.db.FollowupSQLHelper.java org.get.oxicam.clinicalguide.db.HistoryDetailsDataSource.java org.get.oxicam.clinicalguide.db.HistoryDetailsSQLHelper.java org.get.oxicam.clinicalguide.db.HistoryDetails.java org.get.oxicam.clinicalguide.db.PatientDetailsSQLHelper.java org.get.oxicam.clinicalguide.db.PatientDetails.java org.get.oxicam.clinicalguide.db.RegistrationValidator.java org.get.oxicam.clinicalguide.db.Validator.java org.get.oxicam.clinicalguide.encryption.Encryption.java org.get.oxicam.clinicalguide.ui.AnswersReviewFragment.java org.get.oxicam.clinicalguide.ui.AssessmentDetailFragment.java org.get.oxicam.clinicalguide.ui.ClassificationFragment.java org.get.oxicam.clinicalguide.ui.ClassificationListItem.java org.get.oxicam.clinicalguide.ui.DatePickerFragment.java org.get.oxicam.clinicalguide.ui.ExportFragment.java org.get.oxicam.clinicalguide.ui.ExportscreenListItem.java org.get.oxicam.clinicalguide.ui.FollowUpFragment.java org.get.oxicam.clinicalguide.ui.FormScreenFragment.java org.get.oxicam.clinicalguide.ui.HomescreenFragment.java org.get.oxicam.clinicalguide.ui.HomescreenListItem.java org.get.oxicam.clinicalguide.ui.ListItemOnClickListener.java org.get.oxicam.clinicalguide.ui.MainSymptomFragment.java org.get.oxicam.clinicalguide.ui.MainSymptomListItem.java org.get.oxicam.clinicalguide.ui.NumberTickerValueChangeListener.java org.get.oxicam.clinicalguide.ui.NumberTicker.java org.get.oxicam.clinicalguide.ui.PatientDetailsFragment.java org.get.oxicam.clinicalguide.ui.PatientHistoryFragment.java org.get.oxicam.clinicalguide.ui.PatientsFragment.java org.get.oxicam.clinicalguide.ui.QuestionListItem.java org.get.oxicam.clinicalguide.ui.QuestionnaireFragment.java org.get.oxicam.clinicalguide.ui.StatScreenFragment.java org.get.oxicam.clinicalguide.ui.SummaryScreenFragment.java org.get.oxicam.clinicalguide.ui.TextViewCustomFont.java org.get.oxicam.clinicalguide.ui.TreatmentConfirmationDialog.java org.get.oxicam.clinicalguide.ui.TreatmentFragment.java org.get.oxicam.clinicalguide.ui.TreatmentListItem.java org.get.oxicam.clinicalguide.ui.ViewDetailScreenFragment.java org.get.oxicam.clinicalguide.xml.CGFormParser.java org.get.oxicam.clinicalguide.xml.CGParser.java org.get.oxicam.clinicalguide.xml.CGStatsParser.java org.get.oxicam.clinicalguide.xml.DateHelper.java org.get.oxicam.clinicalguide.xml.FormGenerator.java org.get.oxicam.clinicalguide.xml.ParserHelper.java org.get.oxicam.clinicalguide.xml.StatsGenerator.java org.get.oxicam.clinicalguide.xml.XMLHandler.java org.get.oxicam.clinicalguide.xml.data.AbstractAnswer.java org.get.oxicam.clinicalguide.xml.data.Annotation.java org.get.oxicam.clinicalguide.xml.data.AnswerValidator.java org.get.oxicam.clinicalguide.xml.data.Answer.java org.get.oxicam.clinicalguide.xml.data.Assessment.java org.get.oxicam.clinicalguide.xml.data.CombinedAnswer.java org.get.oxicam.clinicalguide.xml.data.FollowUp.java org.get.oxicam.clinicalguide.xml.data.FormQuery.java org.get.oxicam.clinicalguide.xml.data.Info.java org.get.oxicam.clinicalguide.xml.data.Option.java org.get.oxicam.clinicalguide.xml.data.PatientAttribute.java org.get.oxicam.clinicalguide.xml.data.Question.java org.get.oxicam.clinicalguide.xml.data.Questionnaire.java org.get.oxicam.clinicalguide.xml.data.SimpleAnswer.java org.get.oxicam.clinicalguide.xml.data.Symptom.java org.get.oxicam.clinicalguide.xml.data.TreatmentAction.java org.get.oxicam.clinicalguide.xml.data.Treatment.java org.get.oxicam.clinicalguide.xml.data.User.java org.get.oxicam.clinicalguide.xml.forms.FormCell.java org.get.oxicam.clinicalguide.xml.forms.FormColumn.java org.get.oxicam.clinicalguide.xml.forms.FormDuration.java org.get.oxicam.clinicalguide.xml.forms.Form.java org.get.oxicam.clinicalguide.xml.query.QueryHelper.java org.get.oxicam.clinicalguide.xml.query.QueryResultCell.java org.get.oxicam.clinicalguide.xml.query.QueryResultRow.java org.get.oxicam.clinicalguide.xml.query.QueryResultTable.java org.get.oxicam.clinicalguide.xml.stats.AbstractStatsQuestion.java org.get.oxicam.clinicalguide.xml.stats.StatsAnswerHolder.java org.get.oxicam.clinicalguide.xml.stats.StatsColumnCompare.java org.get.oxicam.clinicalguide.xml.stats.StatsComparatorOperator.java org.get.oxicam.clinicalguide.xml.stats.StatsCompareConstraint.java org.get.oxicam.clinicalguide.xml.stats.StatsConstraint.java org.get.oxicam.clinicalguide.xml.stats.StatsQuestionAverage.java org.get.oxicam.clinicalguide.xml.stats.StatsQuestionCount.java org.get.oxicam.clinicalguide.xml.stats.StatsQuestionExtrema.java org.get.oxicam.clinicalguide.xml.stats.StatsQuestionFactory.java org.get.oxicam.clinicalguide.xml.stats.StatsQuestionList.java org.get.oxicam.clinicalguide.xml.stats.StatsQuestionPercentage.java org.get.oxicam.clinicalguide.xml.stats.StatsQuestionRatio.java org.get.oxicam.clinicalguide.xml.stats.StatsSubject.java org.get.oxicam.clinicalguide.xml.stats.StatsTimespan.java org.get.oxicam.clinicalguide.xml.stats.Stats.java