Search in sources :

Example 1 with CompositeScore

use of org.eyeseetea.malariacare.data.database.model.CompositeScore in project pictureapp by EyeSeeTea.

the class ConvertFromSDKVisitor method visit.

@Override
public void visit(DataValueExtended sdkDataValueExtended) {
    Survey survey = (Survey) appMapObjects.get(sdkDataValueExtended.getEvent());
    String questionUID = sdkDataValueExtended.getDataElement();
    //Data value is a value from compositeScore -> ignore
    if (appMapObjects.get(questionUID) instanceof CompositeScore) {
        return;
    }
    //Phone metadata -> ignore
    if (PreferencesState.getInstance().getContext().getString(R.string.control_data_element_phone_metadata).equals(questionUID)) {
        return;
    }
    //Datavalue is a value from a question
    Question question = Question.findByUID(questionUID);
    if (question == null) {
        Log.e(TAG, "Question not found with dataelement uid " + questionUID);
    }
    Value value = new Value();
    value.setQuestion(question);
    value.setSurvey(survey);
    Option option = sdkDataValueExtended.findOptionByQuestion(question);
    value.setOption(option);
    //No option -> text question (straight value)
    if (option == null) {
        value.setValue(sdkDataValueExtended.getValue());
    } else {
        //Option -> extract value from code
        value.setValue(sdkDataValueExtended.getDataValue().getValue());
    }
    values.add(value);
}
Also used : CompositeScore(org.eyeseetea.malariacare.data.database.model.CompositeScore) Survey(org.eyeseetea.malariacare.data.database.model.Survey) Value(org.eyeseetea.malariacare.data.database.model.Value) Question(org.eyeseetea.malariacare.data.database.model.Question) Option(org.eyeseetea.malariacare.data.database.model.Option)

Example 2 with CompositeScore

use of org.eyeseetea.malariacare.data.database.model.CompositeScore in project pictureapp by EyeSeeTea.

the class SurveyService method prepareSurveyInfo.

/**
     * Prepares required data to show a survey completely (tabs and composite scores).
     */
private void prepareSurveyInfo() {
    Log.d(TAG, "prepareSurveyInfo (Thread:" + Thread.currentThread().getId() + ")");
    //Get composite scores for current program & register them (scores)
    List<CompositeScore> compositeScores = new Select().from(CompositeScore.class).queryList();
    ScoreRegister.registerCompositeScores(compositeScores);
    //Get tabs for current program & register them (scores)
    List<Tab> tabs = new Select().from(Tab.class).queryList();
    ScoreRegister.registerTabScores(tabs);
    //Since intents does NOT admit NON serializable as values we use Session instead
    Session.putServiceValue(PREPARE_SURVEY_ACTION_COMPOSITE_SCORES, compositeScores);
    Session.putServiceValue(PREPARE_SURVEY_ACTION_TABS, tabs);
    //Returning result to anyone listening
    Intent resultIntent = new Intent(PREPARE_SURVEY_ACTION);
    LocalBroadcastManager.getInstance(this).sendBroadcast(resultIntent);
}
Also used : CompositeScore(org.eyeseetea.malariacare.data.database.model.CompositeScore) Tab(org.eyeseetea.malariacare.data.database.model.Tab) Select(com.raizlabs.android.dbflow.sql.language.Select) Intent(android.content.Intent)

Example 3 with CompositeScore

use of org.eyeseetea.malariacare.data.database.model.CompositeScore in project pictureapp by EyeSeeTea.

the class PushClient method prepareCompositeScores.

private JSONArray prepareCompositeScores(JSONArray values) throws Exception {
    //Cleans score
    ScoreRegister.clear();
    //Prepare scores info
    List<CompositeScore> compositeScoreList = ScoreRegister.loadCompositeScores(survey);
    //1 CompositeScore -> 1 dataValue
    for (CompositeScore compositeScore : compositeScoreList) {
        values.put(prepareValue(compositeScore));
    }
    PhoneMetaData phoneMetaData = Session.getPhoneMetaData();
    values.put(prepareDataElementValue((PreferencesState.getInstance().getContext().getString(R.string.control_data_element_phone_metadata)), phoneMetaData.getPhone_metaData()));
    if (PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_capture) != null && !PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_capture).equals("")) {
        values.put(prepareDataElementValue(PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_capture), EventExtended.format(survey.getCompletionDate(), EventExtended.AMERICAN_DATE_FORMAT)));
    }
    if (PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_sent) != null && !PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_sent).equals("")) {
        values.put(prepareDataElementValue(PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_sent), EventExtended.format(new Date(), EventExtended.AMERICAN_DATE_FORMAT)));
    }
    return values;
}
Also used : CompositeScore(org.eyeseetea.malariacare.data.database.model.CompositeScore) PhoneMetaData(org.eyeseetea.malariacare.phonemetadata.PhoneMetaData) Date(java.util.Date)

Example 4 with CompositeScore

use of org.eyeseetea.malariacare.data.database.model.CompositeScore in project pictureapp by EyeSeeTea.

the class ScoreRegister method registerCompositeScores.

/**
     * Resets compositescores and initializes a new set of them
     */
public static void registerCompositeScores(List<CompositeScore> compositeScores) {
    compositeScoreMap.clear();
    for (CompositeScore compositeScore : compositeScores) {
        Log.i(TAG, "Register composite score: " + compositeScore.getHierarchical_code());
        compositeScoreMap.put(compositeScore, new CompositeNumDenRecord());
    }
}
Also used : CompositeScore(org.eyeseetea.malariacare.data.database.model.CompositeScore)

Aggregations

CompositeScore (org.eyeseetea.malariacare.data.database.model.CompositeScore)4 Intent (android.content.Intent)1 Select (com.raizlabs.android.dbflow.sql.language.Select)1 Date (java.util.Date)1 Option (org.eyeseetea.malariacare.data.database.model.Option)1 Question (org.eyeseetea.malariacare.data.database.model.Question)1 Survey (org.eyeseetea.malariacare.data.database.model.Survey)1 Tab (org.eyeseetea.malariacare.data.database.model.Tab)1 Value (org.eyeseetea.malariacare.data.database.model.Value)1 PhoneMetaData (org.eyeseetea.malariacare.phonemetadata.PhoneMetaData)1