Skip to content

Exam

The Exam module provides adaptive / generated multiple-choice tests with a final score.

Practice mode

Exam results reflect training, not an official clinic certification.

Access

Setting Value
URL http://localhost:8001/exam
Flag MEDICAL_ASSISTANT_ENABLED=true
Roles student, resident, and other LEARNING_ROLES

Test list

  1. Open /exam.
  2. Choose a language (en / ru) — seed tests are filtered by language.
  3. Optionally filter by category and difficulty.
  4. Open a test and answer every question.

Seed tests EN + RU

Like cases, built-in tests are created idempotently in both languages. Custom tests always appear; seed tests from the other language are hidden.

Taking an exam

  1. For each question select the option index (0-based).
  2. Submit the full answer list in one request / finish action.
  3. Review the score (0–100), correct count, and per-question explanations.

Correct indexes and explanations are not returned by GET until you submit.

Generate a test

Field Description
category Subject / category (required)
difficulty Difficulty level
num_questions 1–20 (default 5)
language en or ru
persist Save to the database

Generated tests appear in the catalog and count toward progress after submission (module: exam).

After submit, a progress row stores:

  • score — percent correct;
  • time_spent — optional seconds;
  • extra_datatest_id and correct count.

See the summary at /progress.

Tips

  • Pick the language before you start — switching languages changes the seed set.
  • Do not leave questions blank: missing answers count as wrong.
  • After review, return to the tutor with questions on weak topics.

Typical walkthrough

  1. Open http://localhost:8001/exam.
  2. Choose a language and open a seed test.
  3. Select answers (0-based indexes) and submit.
  4. Review details with explanations.
  5. Revisit weak topics in the tutor and cases.

Errors

Symptom Cause
404 Invalid test_id
503 Assistant disabled
Low score despite “right” picks Option indexes are 0-based
No RU seed tests Language filter, or first GET /api/exam not run yet