Changes

New page: {{TOCright}} ==Question Support API== http://git.sugarlabs.org/projects/question-support-api ===Data Model=== A potential data model: (It was built for a corporate medical department's me...
{{TOCright}}
==Question Support API==
http://git.sugarlabs.org/projects/question-support-api

===Data Model===
A potential data model: (It was built for a corporate medical department's medical records. I've already renamed Clinic and Provider to School and Teacher.)
[[Image:QuestionERDiagram.PNG|left]]
Authorship and history attributes for Questions could be provided through a new Person ID field in Questionnaire and recursive links.
: The Moodle [http://docs.moodle.org/en/Development:Question_database_structure Question database structure].
====Table Dictionary====
{{Definition_table
|Questionnaire |A collection of questions that might be used in a Survey, Quiz, Exam, etc.
|Question | A problem seeking an answer
|Answer | A potential solution to the problem
|AnswerType | The class of answer suitable for the problem or question
|Survey | An event instance of collecting Answers to Questions or problems
|Response | An event instance of the Student providing an answer to a question on a Survey or Quiz, etc
|School | An organization
|Person | An individual, such as a Teacher, Student, etc.
}}
====Questionnaire====
{{Definition_table
|ID | primary key
|Title | Short name for questionnaire
|Category | Classifier ID, the ID of a Questionnaire class or category of Questionnaire
|Notes | Description, Image link, rich format data
|StartDate | Effective date for this instance of the Questionnaire
|EndDate | Expiry date of this instance
}}

====Question====
{{Definition_table
|ID | primary key
|Questionnaire | ID of parent questionnaire
|Sequence | number to order question among questions on questionnaire
|Question | text problem statement
|AnswerType | ID of the suitable answer type
|Jump | conditional number to redirect survey question sequence
|Notes | Description, images, rich format data
|StartDate | Effective date of this question instance
|EndDate | Expiry date of this instance
}}
====Answer====
{{Definition_table
|ID | primary key
|Question_ID| ID of parent question
|Sequence | number to order answer among answer choices for question
|Answer | text of solution or answer
|Notes | Description, images, rich format data
|StartDate | Effective date of this answer instance
|EndDate | Expiry date of this instance
}}
====AnswerType====
{{Definition_table
|ID | primary key
|AnswerType | text for the class of answer. Example, text, numeric, multiple choice, tabular, yes/no, etc.
|Category | ID for class of answer type
}}
====Survey====
{{Definition_table
|ID | primary key
|BaseID | ID of parent Survey. Used to identify families of Surveys, such as version
|School | ID of the School or organization sponsoring this Survey instance
|Teacher | ID of Person extending this instance of the survey or quiz
|Student | ID of the Person taking this instance of the survey or quiz
|Notes | Description, images, rich format data for this instance of the survey or quiz
|DateTime | DateTime that this Survey instance was taken
|ReviewDate | Date that this Survey instance was reviewed by the Teacher
|ChangeDate | Date that this instance of the Survey was changed (reasons are provided in the Response record).
}}
====Response====
{{Definition_table
|ID | primary key
|Answer_ID | ID of selected answer (when one of a choice)
|Question_ID| ID of the Question instance for this Response instance
|Survey_ID | ID of the parent Survey or Quiz instance for this Response
|Response| text of Response
|ResponseValue| numerical Response
|Notes | Description, images, rich format data for this Response
|ChangeDate | DateTime that this instance of the Survey was changed, ''i.e.,'' initial response, update by Student, override by Teacher, etc.
|ChangePerson | ID of Person who changed this Response instance, ''i.e.,'' Student, Teacher
|ChangeReason | text reason this Response instance was changed, ''i.e.,'' initial response, update by Student, override reason
}}

====School====
{{Definition_table
|ID | primary key
|School | School or organizational name
}}
====Person====
{{Definition_table
|ID | primary key
|Last Name | Family name for Person
|First Name | Primary name for Person
}}