EQ (Care Module)
Emotional Quotient assessment — template, student list, and scored result nested on Student
EQ
The EQ (แบบประเมินความฉลาดทางอารมณ์) is a 52-item emotional intelligence questionnaire. Unlike SDQ, EQ is student-only — there is no teacher or parent respondent.
All queries require authentication and are school-scoped. The EQ surface is read-only — this API exposes template, student list, and scored result queries. Answers are captured through the care application.
Scoring
The 52 questions roll up into 9 sub-dimensions grouped into the classic Thai EQ triad of ดี (GOOD), เก่ง (SMART), and สุข (HAPPY).
| Group | Dimension | NORMAL range | Thai name |
|---|---|---|---|
| GOOD (ดี) | SELF_CONTROL | 13 – 18 | ควบคุมตนเอง |
| GOOD (ดี) | EMPATHY | 16 – 21 | เห็นใจผู้อื่น |
| GOOD (ดี) | RESPONSIBILITY | 17 – 23 | รับผิดชอบ |
| SMART (เก่ง) | MOTIVATION | 15 – 21 | มีแรงจูงใจ |
| SMART (เก่ง) | DECISION_MAKING | 14 – 20 | ตัดสินใจและแก้ปัญหา |
| SMART (เก่ง) | RELATIONSHIP | 15 – 20 | สัมพันธภาพ |
| HAPPY (สุข) | SELF_ESTEEM | 9 – 14 | ภูมิใจตนเอง |
| HAPPY (สุข) | LIFE_SATISFACTION | 16 – 22 | พอใจชีวิต |
| HAPPY (สุข) | INNER_PEACE | 15 – 22 | สุขสงบทางใจ |
For every dimension:
| Score | Level | Thai |
|---|---|---|
< normalMin | LOW | ต่ำกว่าเกณฑ์ |
normalMin ≤ score ≤ normalMax | NORMAL | เกณฑ์ปกติ |
> normalMax | HIGH | สูงกว่าปกติ |
| no answers | NOT_ASSESSED | ยังไม่ประเมิน |
Get EQ Template
Returns the template row and all 52 questions in order with their answer choices. Cached 60 minutes in-process.
query {
eqTemplate {
id
name
questions {
id
orderNumber
questionText
answers {
id
answerText
answerPoint
}
}
}
}List Students with Completion Status
query {
eqStudents(classroomId: 42, status: "progress", limit: 50) {
studentId
code
title
firstname
lastname
classroomName
orderNumber
answered
done
}
}Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
academicYearId | Int | active year | Scope results to a specific academic year |
semesterId | Int | — | Scope to a single semester (overrides academicYearId) |
classroomId | Int | — | Filter to one classroom |
status | String | all | completed | progress | not_started | all |
limit | Int | 50 | Maximum number of rows |
offset | Int | 0 | Number of rows to skip |
Get Scored Result (nested on Student)
Use the top-level student(id) query (school-scoped) and select the eq field. If semesterId is omitted, the active semester for the caller school is used. Duplicate answers for the same question are deduped automatically.
query {
student(id: 12345) {
id
fullName
eq {
totalScore
totalAnswered
dimensions {
name
nameText # e.g. "ควบคุมตนเอง"
group # GOOD | SMART | HAPPY
groupText # "ดี" | "เก่ง" | "สุข"
score
answeredCount
level # LOW | NORMAL | HIGH | NOT_ASSESSED
levelText # "ต่ำกว่าเกณฑ์" | "เกณฑ์ปกติ" | "สูงกว่าปกติ" | "ยังไม่ประเมิน"
}
answers {
questionId
orderNumber
questionText
answerText
answerPoint
}
}
}
}Student.eq
| Argument | Type | Description |
|---|---|---|
semesterId | Int | Optional. Defaults to the active semester for the caller school. |
Returns EqResult — a wrapper containing the nine dimension scores, a total, and the deduped raw answers.
EqResult
| Field | Type | Description |
|---|---|---|
dimensions | [EqDimension!]! | All 9 sub-dimensions in stable canonical order |
totalScore | Float | Sum of every dimension score |
totalAnswered | Int | Count of answered questions across every dimension |
answers | [EqAnswer!]! | Raw answers ordered by orderNumber (deduped by question) |
EqDimension
| Field | Type | Description |
|---|---|---|
name | EqDimensionName | Enum — e.g. SELF_CONTROL, INNER_PEACE |
nameText | String | Thai name (e.g. ควบคุมตนเอง) |
group | EqGroup | GOOD | SMART | HAPPY |
groupText | String | "ดี" / "เก่ง" / "สุข" |
score | Float | Raw summed score for this dimension |
answeredCount | Int | Number of answered questions in this dimension |
level | EqLevel | LOW | NORMAL | HIGH | NOT_ASSESSED |
levelText | String | Thai label for the level |
EqAnswer
| Field | Type | Description |
|---|---|---|
questionId | Int | Question identifier |
orderNumber | Int | 1-based position in the template |
questionText | String | Thai question text |
answerId | Int | Chosen answer identifier |
answerText | String | Thai answer text |
answerPoint | Float | Raw score for the chosen answer |
Errors
| Code | Cause |
|---|---|
UNAUTHENTICATED | No valid JWT or API key |
FORBIDDEN | JWT has no schoolId |
NOT_FOUND | Student not found in your school, EQ template missing, or no active semester when semesterId is omitted |