Student Performance (Questions, Rubrics, Notes, Activity Feedback)
Description:
This database stores all student responses to items within Clinical Mind AI activities. Each record corresponds to a single response submitted by a student to a specific question, rubric criterion, or other assessment item within an activity.
All activities share the same structure, but depending on the type of item and whether feedback is enabled, some fields may be empty. For example, open-ended questions include student answers and correct answers, while rubric-based evaluations include performance levels and criteria. In activities where feedback is not activated, student responses are still recorded but have no corresponding correct answers or scores.
Activities in which students take the patient’s medical history through conversation have their dialogue data stored separately in the Conversation Data report.
The database is in long format, meaning each row represents one response within a student attempt, and multiple rows may belong to the same attempt if the activity includes several items or sections.
Variables:
attemptId — Unique identifier for a student’s attempt within a specific Clinical Mind AI activity. Use this as the canonical join key to combine Student Performance with Conversation Data and other response reports for the same attempt.
courseClinicalActivityId — Identifier of the Clinical Case Activity to which this row belongs.
sectionId — Identifier of the section where the response was generated. Empty for Notes evaluated by rubric, since Notes live outside sections. Join to Clinical Case Activities for section metadata.
itemId — Identifier of the item within the section. May be empty for activity-level Notes evaluated by rubric. Join to Clinical Case Activities for item metadata.
activityName — Name of the activity as displayed to students (often the simulated patient’s name).
activityType — Format of the activity (e.g., Individual, OSCE).
achievedScore — Numeric score awarded on this row, when applicable. For rubric rows, this is the points mapped from the criterion’s levelAchieved. May be empty if feedback is off or manual review is pending.
maxScore — Maximum possible score for this row. For rubric rows, this is the criterion’s maximum points. For a question, the item-level maximum equals the sum of maxima across all attached rubrics/criteria; the question itself is not duplicated across rubrics.
courseName — Name of the course in which the activity was assigned.
country — Country of the institution associated with the activity.
institution — Name of the institution in which this performance occurred.
question — Text of the question shown to the student (when applicable). Empty on rubric-only rows and typically empty for questionType MEDICAL_HISTORY or NOTES.
studentAnswer — The student’s submitted answer. For open-ended items, stored as plain text; for choice items, may store selected option text or a structured representation depending on export. For Notes, the student’s note narrative appears here.
correctAnswer — Reference/expected answer for questions when feedback is active. Empty for rubric-based rows and when feedback is disabled.
questionType — Item type (e.g., OPEN_ENDED, MULTIPLE_CHOICE, TEXT, MEDICAL_HISTORY, NOTES). Determines which fields are populated for the row.
rubricId — Identifier of the rubric used to evaluate this response (when applicable). Join to the Rubrics database for rubric structure, criteria, levels, and point mappings.
rubricTitle — Display name of the rubric used for assessment.
criteria — The specific rubric criterion evaluated on this row (e.g., Gather Key HPI Features).
levelAchieved — Numeric level achieved by the student for this criterion (e.g., 2 out of 3). Level descriptors and point mappings are defined in the Rubrics database.
maxLevel — Maximum level possible for this rubric criterion.
responseBy — Display name of the user who submitted the response (typically the student).
responseById — Unique user identifier of the responder. Join to the Users database to obtain user details.
responseByRole — Role of the responder within the system (e.g., STUDENT) (Historical alpha version of the platform could log instructor attempts).
options — List of all available options for the item when applicable (typically for MCQ).
questionPosition — Position of the question within its section (integer, 1-based).
sectionPosition — Position of the section within the activity (integer, 1-based).
attemptNo — Ordinal attempt number for the same student and activity (e.g., 1 for the first attempt). Not a join key; use attemptId for joins (easier and consistent across reports, including Conversation Data).
performedAt — Timestamp (full datetime string with timezone) indicating when the response was submitted. Use with attemptId for sequencing and timing analyses.