Back to Topics

Building Question Banks

A comprehensive guide to utilizing the Blitztrials Smart Parser. Write your exams naturally in plain text and let our engine convert them into interactive, clinical-grade assessments.

What is the Smart Parser capable of?

Before diving into the formatting tutorial, it's important to understand the full power of the Blitztrials engine. This isn't just a standard quiz builder. By using simple text commands, you can engineer highly complex, dynamic, and secure clinical evaluations without writing a single line of real code.

Custom Scoring Matrices

Go beyond simple "Correct=1, Incorrect=0". Build psychological tests (like PHQ-9 or GAD-7) by assigning specific, weighted point values to every individual answer option.

Clinical Sliders & Dates

Collect subjective data effortlessly by generating Visual Analog Scales (sliders) where the selected value becomes the score, or spawn native calendar pickers for procedural dates.

Granular Rule Targeting

Don't settle for all-or-nothing rules. You can apply negative marking penalties, pin randomized questions, or allow blank answers for specific questions only (e.g., making demographics optional but keeping diagnostics mandatory).

Dynamic Secret Injection

Running a randomized trial? Inject secure Ticket placeholders into your text. The engine will automatically swap them out with unique patient lab values or case files specifically assigned to that participant's ID.


Part 1: Bank Settings & Configuration

Before writing your questions, utilize the settings toggles in the UI to customize the testing environment rules.

Allow Blank/Incomplete Answers

By default, the platform strictly requires an answer for every single question before allowing a user to submit. Checking this toggle unlocks flexibility:

  • Apply to All Questions: The entire test becomes completely optional. The user can skip any and all questions.
  • Specific Questions Only: This is highly recommended for clinical trials. You can type specific labels (e.g., 1a, 2, 4) to make demographic or survey questions optional, while keeping the core diagnostic questions strictly mandatory.
Randomize Question Order

Turning this on shuffles the order of questions for each participant to prevent cheating.

  • Randomization Strategy: Selecting "By Question Set" ensures that questions sharing a specific scenario (like Q1a and Q1b) will shuffle their placement in the overall test, but will always stay grouped together so the clinical context makes sense.
  • Pin Specific Questions: Use this to lock certain questions (like demographic or ID fields) at the very beginning of the test so they don't get mixed into the random shuffle.
Enable Negative Marking

Apply a point penalty for incorrect answers to discourage guessing.

  • Points Deducted Per Error: Define the exact penalty (e.g., deducting -1.0 point for a wrong answer).
  • Apply Penalty To & Target Labels: You can apply the penalty bank-wide, or restrict it to "Specific Questions Only" by typing their exact labels (e.g., 1a, 1b, 3).
  • Auto-Add "Opt-Out" Option: Checking this automatically appends a "Skip" or "Prefer not to guess" option to your targeted questions that awards 0 points instead of applying the penalty.
Multiple Questions Per Page

This setting dictates how the assessment is visually broken up for the user.

  • Page Grouping Layout: Setting this to "All questions on 1 page" means participants will scroll vertically through the entire exam on a single screen. Alternatively, grouping them into pages forces the user to click "Next" to navigate between individual questions or clinical scenarios.

Leveraging the Blitztrials AI Assistant

Don't want to manually type out every colon, pipe, and arrow? Built directly into the platform is our specialized AI engine, powered by Google Gemini, designed to do the heavy lifting for you.

How It Works (1 Token per request)

You can easily track your remaining tokens via the Credits Left badge in the purple AI panel. Top-ups can be purchased instantly via the store dashboard if you run out.

Option A: Generate Content From Scratch

If you need to brainstorm new material, type a descriptive prompt into the AI text area (e.g., "Generate a 10-question evaluation on basic life support guidelines") and click Generate Content. The AI will write the questions and format them perfectly into the correct syntax inside your editor box automatically.

Option B: Auto-Format Messy Documents & PDFs

If you already have your questions written out in a separate Word Doc, Notepad file, or PDF, do not waste time rewriting them!

  1. Copy your raw, unformatted questions straight out of your document.
  2. Paste them directly into the large "Paste your raw text here..." main editor box.
  3. Click the link in the assistant panel that says ✨ Auto-Format it to syntax.

The engine will automatically sweep through your raw text, clean up any formatting glitches, add the mandatory colons (e.g., changing Q1. to Q1:), align the options, and output verified, parser-ready syntax instantly.


Part 2: Basic Question Formatting

The Golden Rule of Formatting

The parser looks for very specific triggers to know when a question starts and ends. You MUST use a colon directly after the question label (e.g., Q1: or Q1a:). Avoid spaces or periods (like `Q1.` or `Q1 `) or the system will treat it as normal paragraph text.

Basic formatting covers standard multiple choice, checkboxes, text fields, and structural layouts. Every question must end with an Answer: declaration.

1. Standard Multiple Choice (Single Answer)

Use standard lettering for your options. The Answer: line dictates the single correct choice. This awards 1 point for a correct answer.

Q1: Which of the following is a symptom of hypoglycemia? A) Flushed skin B) Tachycardia C) Bradycardia D) Hyperventilation Answer: B
2. Multiple Select (Checkboxes)

If a question has more than one correct answer, separate the correct letters with commas. The system will automatically render this as checkboxes instead of radio buttons.

Q2: Select all the vital signs typically monitored during triage: A) Blood Pressure B) Hair length C) Heart Rate D) Eye color Answer: A, C
3. Unscored Survey / Demographic Questions

Sometimes you need to ask a question where there is no "correct" answer (like gender, job title, or opinions). Use survey for single-choice or multi-survey for checkboxes. These award 0 points.

Q3: What is your primary clinical role? A) Registered Nurse B) Attending Physician C) Resident D) Medical Student Answer: survey
4. Free Text & Calendar Dates

To collect qualitative data or specific dates, bypass the A/B/C options entirely. These award 0 points.

Q4: Please briefly describe your reasoning for the previous diagnosis. Answer: text Q5: What was the date of the patient's last surgical operation? Answer: date
5. Clinical Scenarios (Grouping Questions)

If you have a block of text (like a patient history) that applies to several questions, type it above the questions. Use letter suffixes (e.g., Q6a:, Q6b:) so the parser knows they belong together. If you turn on pagination later, Q6a and Q6b will stay on the same page as the scenario.

Scenario: A 45-year-old male presents to the ER with crushing chest pain radiating to the left arm. BP is 160/95, HR is 110. Q6a: What is the most appropriate immediate diagnostic test? A) Chest X-Ray B) 12-Lead ECG C) CT Angiogram Answer: B Q6b: Which medication should be administered first while waiting for results? A) Aspirin B) Ibuprofen C) Acetaminophen Answer: A

Part 3: Advanced Question Formatting

Advanced formatting unlocks custom scoring algorithms, visual analog scales (sliders), and dynamic variables for complex clinical trials.

6. Custom Scoring Matrices (Weighted Answers)

Standard MCQs award 1 point. If you are building a psychological assessment (like PHQ-9 or GAD-7), you need to assign specific point values to every single option. Use the equals sign = and separate options with a pipe |.

Q7: Over the last 2 weeks, how often have you been bothered by feeling down, depressed, or hopeless? A) Not at all B) Several days C) More than half the days D) Nearly every day Answer: A=0 | B=1 | C=2 | D=3
7. Interactive Sliders (Visual Analog Scales)

Generate clinical sliders by defining the parameters separated by pipes: Type | Min Value | Max Value | Left Label | Right Label.

# SCORED SLIDER: The number the user selects BECOMES their point score. Q8: Rate your current pain level from 0 to 10: Answer: scale | 0 | 10 | No Pain | Worst Pain Imaginable # UNSCORED SLIDER: Collects the number as data, but awards 0 points. Q9: How confident are you in performing this procedure? Answer: survey-scale | 1 | 5 | Not Confident | Highly Confident
8. Sub-Totals & Smart Routing Targets

If your assessment tracks multiple clinical metrics at once (e.g., Anxiety vs. Depression), you must tell the parser which "bucket" the points belong in. Use the => symbol at the very end of your Answer line to define a Sub-Total ID.

Q10: I feel tense or wound up: A) Most of the time B) A lot of the time C) From time to time Answer: A=3 | B=2 | C=1 => ANXIETY-SCORE Q11: I feel as if I am slowed down: A) Nearly all the time B) Very often C) Sometimes Answer: A=3 | B=2 | C=1 => DEPRESSION-SCORE

Why do this? When you build your Deployment Link later, you can write rules like: If ANXIETY-SCORE > 10 => GO_TO_BANK_2.

9. Dynamic Variables & Ticket Secrets

If you are utilizing the Secure Subject Tickets module, you can inject unique data directly into the question text. This is highly useful for generating randomized patient lab values or case files for students, preventing them from sharing answers.

Use the syntax {{Secret 1}}, {{Secret 2}}, etc. The platform will automatically swap out those placeholders with the secure data assigned to the participant's specific Ticket ID.

Q12: Review the chart for Patient ID {{Secret 1}}. Based on their potassium level of {{Secret 2}} mEq/L, what is the immediate next step in management? A) Administer IV Calcium Gluconate B) Administer Oral Potassium C) Routine monitoring Answer: A