public function add_score_processing(ImsQtiWriter $response_processing, $question)
 {
     $response_id = $this->response_id($question);
     $score_id = $this->score_id($question);
     return $response_processing->add_standard_response_map_response($response_id, $score_id);
 }
 protected function add_score_processing(ImsQtiWriter $response_processing, $question)
 {
     return $response_processing->add_standard_response_map_response();
 }
 protected function add_overall_feedback_processing(ImsQtiWriter $processing, $question)
 {
     $processing->add_standard_response_map_response(ImsQtiWriter::RESPONSE, self::PARTIAL_SCORE);
     $result = $processing->add_responseCondition();
     $if = $result->add_responseIf();
     $lte = $if->add_lte();
     $lte->add_variable(self::PARTIAL_SCORE);
     $lte->add_baseValue(ImsQtiWriter::BASETYPE_FLOAT, 0);
     $if->add_setOutcomeValue(self::OVERALL_FEEDBACK)->add_baseValue(ImsQtiWriter::BASETYPE_IDENTIFIER, self::FEEDBACK_INCORRECT);
     $elseif = $result->add_responseElseIf();
     $gte = $elseif->add_gte();
     $gte->add_variable(self::PARTIAL_SCORE);
     $gte->add_baseValue(ImsQtiWriter::BASETYPE_FLOAT, $question->defaultgrade);
     $elseif->add_setOutcomeValue(self::OVERALL_FEEDBACK)->add_baseValue(ImsQtiWriter::BASETYPE_IDENTIFIER, self::FEEDBACK_CORRECT);
     $else = $result->add_responseElse();
     $else->add_setOutcomeValue(self::OVERALL_FEEDBACK)->add_baseValue(ImsQtiWriter::BASETYPE_IDENTIFIER, self::FEEDBACK_PARTIALY_CORRECT);
     return $result;
 }