Skip to content

Clinical cases

The Cases module walks you through stepwise clinical scenarios: history, workup, diagnosis, and management.

Educational content

Cases are for learning. Do not treat answers as prescriptions without checking local protocols.

Access

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

Case list

On /cases you see the case catalog:

  1. Pick a language (en / ru) — seed cases are filtered to that language.
  2. Optionally narrow by specialty and difficulty (via API / UI filters when available).
  3. Open a case card.

Seed cases EN + RU

On first API access the app idempotently inserts built-in educational cases in English and Russian. Custom (generated) cases appear for both languages; seed cases from the other language are hidden by the title filter.

Working a case

  1. Read the description, specialty, and difficulty.
  2. Complete steps in order: question → options → submit.
  3. After each step you get correct/incorrect feedback, the expected answer, and an explanation.
  4. Step scores are written to progress (module: cases).

Correct answers are hidden when you view a case until you submit a step — that preserves the learning effect.

Generate a new case

When generation is available:

Field Description
specialty Specialty (required)
difficulty e.g. beginner / intermediate / advanced
language en or ru
topic Optional topic
persist Save to the database (true by default)

Generated cases appear in the list and are available to other learners in the same tenant (shared learning data).

Practical tips

  • Complete steps in sequence — step index starts at 0.
  • Record time per step (time_spent in seconds) if you want total time on the progress dashboard.
  • Compare EN and RU wording when preparing for bilingual exams.

Typical walkthrough

  1. Open http://localhost:8001/cases.
  2. Choose UI language / language filter.
  3. Open a seed case and answer step 0.
  4. Read the explanation and continue to the next step.
  5. On /progress, check the cases module.

Errors and access

Symptom What to check
Empty list Language filter; seed is created on first GET
503 MEDICAL_ASSISTANT_ENABLED
403 / role denied Role must be in LEARNING_ROLES
Bad step step_index out of range → correct: false