Survey and Observation - New Question Types
QuML spec enhancement to introduce new question types such as -
Text Question
Slider Question
Date Question
and also enhance the existing Question types -
Single Select MCQ Question
Multi Select MCQ Question
Question Metadata
Single Choice Interaction
// body property
<div class='question-body'>
<div class='mcq-title'>
<p>Question 1</p>
</div>
<div data-choice-interaction='response1' class='mcq-vertical'>
</div>
</div>
{
"body": {
"<language>": "question body in the specified language"
},
"responseDeclaration": {
"response1": {
"maxScore": 1,
"cardinality": "single",
"type": "integer",
"mapping": [
{
"response": 0,
"outcomes": {
"FEEDBACK": "feedback1"
}
},
{
"response": 1,
"outcomes": {
"FEEDBACK": "feedback2"
}
},
{
"response": 2,
"outcomes": {
"FEEDBACK": "feedback3"
}
}
]
}
},
"interactionTypes": [
"choice"
],
"hints": {
"<language>": ["hints in the specified language"],
},
"instructions": {
"<language>": "instructions in the specified language"
},
"interactions": {
"response1": {
"type": "choice",
"validation": {
"required": "Yes/No"
},
"options": [
{
"label": {
"<language>": ["option in the specified language"],
"<language>": ["option in the specified language"]
},
"hints": {
"<language>": ["hints in the specified language"],
},
"value": 0
},
{
"label": {
"<language>": ["option in the specified language"],
"<language>": ["option in the specified language"]
},
"hints": {
"<language>": ["hints in the specified language"],
},
"value": 1
}
]
}
},
"solution": [],
"editorState": [],
"media": [],
"showEvidence": "Yes/No",
"evidence": {
"required": "Yes/No",
"mimeType":["image/png", "audio/mp3", "video/mp4", "video/webm"],
"minCount": 1,
"maxCount": 1,
"sizeLimit": "20480",
"caption": "Yes/No"
},
"showRemarks": "Yes/No"
"remarks": {
"maxLength": "",
"required": "Yes/No"
},
"canBeNotApplicable": "Yes/No"
}
Hints and Tip will also have translations?
Multi Choice Interaction
// Body property
<div class='question-body'>
<div class='mcq-title'>
<p>Question 1</p>
</div>
<div multiple data-choice-interaction='response1' class='mcq-vertical'>
</div>
</div>
Text Interaction
Slider
Date
Will MCQ be a new type for Survey and Observation - for which a “correct answer” is not mandatory? Both single and multi select?
Multi-level dependency of questions -
Q1 depends on Q2 and Q2 depends Q3
-Q1
--Q2
---Q3Q3 depends on Q1 and Q2 together
Will all the dependent questions be of same sections?
Dependent Questions - [Finalised design doc]
Pre-conditions and Branching:
Branch rules are evaluated after response and outcome processing on the current item, and before the next item is determined.
Preconditions are evaluated before an item is presented to the candidate
What is the relation of the sub question to the question set?
Preconditions and branch rules may be used together. Thus, the processing flow after a candidate has ended an attempt and is moving to the next item is:
perform response and outcome processing for the completed item.
evaluate branch rules for the completed item, and go to the target if any branch rules evaluate to "true";
if the next item is the target of a branch rule, evaluate preconditions on the target item.
skip to the next item after the target if any precondition evaluates to “false”.
Repeat this step on that item until an item is reached where all preconditions are satisfied;
Dependent Questions:
The logic to make Questions dependent on each other lies only within the context of a Section or QuestionSet. We will abstract the definition of the rules out at the Section level, so that the Section will determine the order in which the Questions will be displayed or not.
Finalised design for Dependent questions - https://project-sunbird.atlassian.net/wiki/spaces/SingleSource/pages/2960850971