Acoustic Reflexes
Design, run, and score acoustic reflex threshold (ART) testing — ipsilateral and contralateral, by frequency, present, elevated, or absent.
The Acoustic Reflexes element simulates acoustic reflex threshold (ART) testing. For each ear it can present two conditions — ipsilateral (probe and stimulus in the same ear) and contralateral (stimulus in the opposite ear) — across a set of frequencies. The instructor designs the true reflex picture: the threshold (in dB HL) at each frequency, and whether the reflex is Normal, Elevated, or Absent. During a submission the learner raises the stimulus level, runs each presentation, watches the waveform deflect, and records the reflex threshold (and, when asked, classifies it) for every condition and frequency.
Like every Theta element, it follows the same lifecycle: Design → Settings → Testing → Scoring → Report. If you've read another element page, this one will feel familiar.
Design
The Design tab is where you set the reflex values the learner must discover. The four conditions are laid out in two cards — Right ear (red) and Left ear (blue) — each holding an Ipsilateral and a Contralateral block.
Choosing a case: template vs fixed
Whether the element is a template or uses fixed values is decided on the element card (not on this tab). A badge at the top of the Design tab tells you which mode you're in:
| Mode | What it means |
|---|---|
| Fixed values | The exact thresholds you type are used for every submission. |
| Template | Each submission draws a fresh random threshold within the category (Normal / Elevated) you set per cell. Absent stays absent. If you seeded the case with a quick-fill pattern, the badge names it. |
Categories drive templates
In template mode you don't type exact dB values. Instead you set a classification category for each cell, and Theta randomizes a threshold inside that category's range on each submission. The thresholds on the Design tab are one sample draw; Shuffle shows another. Switch to Fixed on the element card if you need exact thresholds.
Quick-fill from a pattern
The quickest way to a starting design: a panel at the top of the Design tab seeds all four conditions at once from a common clinical pattern. Pick a Pattern and an Affected ear (Right, Left, or Bilateral), then Apply pattern:
The patterns follow the physiology, so they're right under either naming convention (see What Right / Left means). With the default probe-ear naming, a right-ear pattern marks these boxes:
| Pattern | Abnormal boxes (right ear affected) | Why |
|---|---|---|
| Within Normal Limits | none | — |
| Sensorineural Hearing Loss | Right Ipsi, Left Contra — at 2 kHz and above, some elevated, some absent, some still normal | The affected cochlea is the one stimulated. Low frequencies stay normal, as reflexes do with milder loss. |
| Retrocochlear | Right Ipsi, Left Contra — elevated or absent at every frequency | Same boxes as SNHL, but out of proportion to the hearing. |
| Facial Nerve Pathology | Right Ipsi, Right Contra — absent | The affected stapedius is the one recording, whichever ear is stimulated. |
| Conductive (Mild) | Right Ipsi, Right Contra, Left Contra — elevated | Any test that stimulates or records in the affected ear. |
| Conductive (Severe) | Right Ipsi, Right Contra, Left Contra — absent | As mild, but no reflex at all. |
Under the stimulus-ear naming the same case simply reads differently: the Left-ear Contralateral box above becomes Right contralateral (the stimulus is in the right ear), so a right SNHL or retrocochlear pattern shows as Right ipsi + Right contra — the way the AudiologyOnline article draws it — and a right facial-nerve pattern as Right ipsi + Left contra.
A left-ear pattern mirrors these; bilateral applies both. The two boxes that stimulate the same ear (Right Ipsi and Left Contra for a right-ear SNHL) get the same call at each frequency.
Applying replaces whatever the four blocks held — including enabling any you had removed. Edit any individual value afterwards, or Remove a condition you don't want.
Enabling conditions
A condition you don't want to test stays as a dashed "not tested" block — click Enable to add it. Only enabled conditions appear in the submission. Each enabled block has quick actions in its header:
- All Normal — sets every frequency to Normal at a representative threshold.
- All Absent — marks every frequency as no reflex (threshold cleared).
- Remove — turns the condition off again.
At least one condition must be enabled. With all four removed, an amber No conditions enabled note appears and saving is switched off — both the element's Save Changes and the lesson's Save lesson — until you enable a condition or apply a pattern.
Setting reflex values
For each frequency you set two things:
- Threshold (dB HL) — in Fixed mode, type the exact reflex threshold (step 5).
Leave it blank (shown as
ABS) for no reflex. In Template mode the threshold is read-only: it shows a sample value drawn from the category, with the category's range beneath it. - Classification — choose Normal, Elevated, or Absent. This is both the template category and the category that gets scored.
Fixed mode: threshold and classification are independent, so they can disagree. If a typed threshold falls in a different category than the one you selected (for example, a 110 dB threshold tagged "Normal"), the cell is flagged with an amber warning. You can keep the override — the warning is informational.
Template mode: the category is the only thing you set. Changing it redraws that cell's sample threshold inside the new category's range, and Shuffle (in the purple template banner) redraws every cell at once — exactly what each submission does — so you can check the template produces what you expect. A threshold carried over from Fixed mode that its category would never draw is shown in amber until you shuffle.
Thresholds stay inside the testable range
The learner can only present levels between the min and max test levels from Settings, so a threshold outside that range would be impossible to find. A value you type outside it is flagged in amber and snaps back into range when you leave the field.
If you remove every condition, a warning appears: learners would open the element to an empty console with nothing to do.
Waveform preview
Expand Waveform preview under any condition and pick a frequency from the row of chips to see the overlaid traces that the learner will encounter at a spread of levels around that frequency's threshold. Levels are colored by loudness, and a ✓ marks the lowest level that elicits a reflex (the measured threshold). This is a quick sanity check that the case behaves the way you intend.
Settings
The Settings tab holds the case-wide configuration that isn't part of any one condition's values.
What Right / Left means
Clinics differ on how an ART condition is named, so each element picks one:
| Setting | "Right" / "Left" is… | Ipsi / contra says… | "Right contralateral" means |
|---|---|---|---|
| Right/Left = probe ear (default) | where the reflex is recorded (the probe) | where the stimulus is | probe right, stimulus left |
| Right/Left = stimulus ear | the ear stimulated | where the reflex is recorded | stimulus right, probe left |
It only changes the labels — on the Design and Scoring tabs, the learner's console, the results screen, the report and attempt replay. Ipsilateral reads the same either way; a contralateral condition swaps which ear it's named after. Nothing you've designed or a learner has recorded changes when you switch, and the quick-fill patterns stay correct. Your organization can set the default for new elements in its element presets.
Tested frequencies
Toggle which frequencies are presented. Available frequencies are 500 Hz, 1 kHz, 2 kHz, and 4 kHz; all four are on by default. At least one frequency must stay enabled. Adding or removing a frequency re-aligns the threshold and classification values you've already set.
Threshold boundaries
These dB values define how a saved threshold maps to a classification, plus the testable level range:
| Field | Default | Meaning |
|---|---|---|
| Normal limits min | 75 dB HL | Where a template starts drawing Normal thresholds — it draws from here up to 5 dB below the Elevated cutoff. Template-only: grading still reads anything below the Elevated cutoff as Normal. |
| Elevated ≥ | 100 dB HL | At or above this, the reflex reads as Elevated. |
| Absent ≥ | 120 dB HL | At or above this, the reflex reads as Absent. |
| Start level | 70 dB HL | Level the console opens at. |
| Min test level | 55 dB HL | Lowest level the console allows. |
| Max test level | 115 dB HL | Highest level the console allows. Read-only — always 5 dB below the Absent cutoff, so "Absent" means no reflex by the loudest level the learner can present. |
A How a threshold reads box under the fields spells out which levels grade as what, and updates as you edit. Every level the console can present lands in exactly one line. At the defaults:
- Normal — 55–95 dB HL (below the Elevated cutoff)
- Elevated — 100–115 dB HL (from the Elevated cutoff, below the Absent cutoff)
- Absent — no reflex by 115 dB HL (the max test level)
On a template element the box adds the ranges a template draws thresholds from — Normal 75–95 and Elevated 100–115 at the defaults. Raise Normal limits min (say, to 80) to keep template Normals higher.
Both cutoffs are inclusive (≥), so a threshold exactly at one takes the higher category. The values have to stay in order (min below max, Normal limits min between the min and the Elevated cutoff, the Elevated cutoff below the Absent cutoff, and the start level inside the range); moving the Absent cutoff moves the max with it. If an edit breaks that, an amber note lists what's wrong and the value snaps back into a legal range when you leave the field.
Testing
In a submission the learner works one condition at a time. The console is pinned to the bottom of the screen, with a large waveform plot above it, headed with the condition's name — Right Ipsilateral, Left Contralateral — and the frequency. The heading deliberately doesn't say which ear holds the probe and which the stimulus, so that can be part of what a lesson tests.
The console
The console is split into four sections, in the order you use them:
- Condition — pick the Ear (Right / Left) and the Mode (Ipsi / Contra). Only configured conditions are selectable.
- Stimulus — the Frequency dropdown (a ✓ marks frequencies that are already complete) and the level: − and + step it by 5 dB HL within the element's min/max test levels, with the current level between them.
- Run — presents the stimulus at that frequency and level.
- Record — Save and No response for the threshold, the clipboard with everything recorded so far, and — when the lesson asks for it — a Choose classification dropdown. When only the classification is collected, the dropdown takes the threshold buttons' place.
The four sit side by side on a desktop, two by two on a tablet, and as short stacked rows on a phone, so the plot keeps most of the screen.
Run sound
With sound on (the default — switch it off with Play tones in the gear menu; the choice is remembered per browser), each Run plays what the equipment would. A steady, softer 226 Hz probe tone plays for 4 seconds in the probe ear. Two seconds in comes a 1-second string of ten short pulses at the test frequency in the stimulated ear — the same ear for ipsilateral, the opposite ear for contralateral. The pulses get a little louder at higher presentation levels (always comfortable), and the reflex trace draws while they play. So a right ipsilateral 500 Hz run is all in the right ear. With probe-ear naming, a right contralateral run has the probe tone on the right and the pulses on the left.
Recording a result
For each condition and frequency the workflow is:
- Set the level and press Run. The waveform draws on — a deflection means a reflex was elicited at that level; a flat trace means none. The live trace is red for the right ear and blue for the left, and the previous couple of runs stay on screen (in gray) for comparison against the dashed rest line. In practice mode, Show threshold criterion in the gear menu adds an amber line marking the deflection that counts as a reflex. It starts off, and once switched on it's remembered in that browser. (Show true results isn't remembered — it starts off on every element, so a peek while practicing can never carry into an exam.)
- Lower or raise the level and run again until you find the lowest level that elicits a reflex — that's the threshold.
- Record the threshold: press Save to record the current level, or No response if there's no reflex even at the maximum level (leaving the frequency blank is not the same answer). It's recorded the moment you press it.
- When the lesson asks for it, record the classification — a separate answer, chosen from the Classification dropdown: Normal, Elevated, Absent, or Could not test (CNT). Choosing one never changes the threshold, and saving a threshold never changes the classification. No classification is suggested — judging the reflex against the norms is the thing being tested. (In an exam the threshold-criterion line can't be switched on either.)
A status banner under the plot shows what's recorded at the current frequency — Threshold: 95 dB HL · Classification: Normal — turning green when everything required is recorded and amber while something is still missing, with a Clear link to reset that frequency. The console never changes frequency on its own — only the Frequency dropdown does — so you can save a threshold, change the level and Update it, or switch a classification you picked by mistake, as often as you like.
Keyboard shortcuts
↑/↓ change level, ←/→ change frequency, Space runs, and E switches ears. Enter saves the threshold once the condition has been run — on a classify-only condition it does nothing, since there's no threshold to save. The same list is in the console's gear menu. See Keyboard shortcuts for every console.
What's collected
The lesson's scoring settings decide what the learner is asked to record per condition:
- If only the threshold is scored or reported, the Classification dropdown is hidden — the learner saves a level, or presses No response.
- If only the classification is scored or reported, the Save button is hidden — the learner just labels the reflex.
- If neither is configured for a condition, the threshold is collected as a fallback measurement.
The clipboard button in the console opens what's been recorded, as two tables: Thresholds (a level, or NR for no response) and Classification — each listing only the conditions that collect it. Tap a row to jump to that condition. Outside exam mode, Show true results in the gear menu adds the answer key (the same two tables, in amber) below the plot and in the clipboard; in exam mode the answer key is never shown. Every Run / Save / No response / Classify / Clear action is written to the submission's action trail, so the attempt shows up in Action Analysis and counts toward the elapsed time on the report.
Scoring
Scoring compares the learner's recorded values against the designed values. The Scoring & Report tab gives an ear × condition grid plus a global tolerance.
Threshold tolerance
A single number input — 0, 5 or 10 dB (default 0, an exact match) — applied to every condition. A saved threshold counts as correct when it lands within this range of the true threshold. A lesson saved earlier with ±15 dB keeps grading at ±15 until its Scoring tab is next saved, which brings it down to 10.
Per-condition scoring
For each of the four conditions you first toggle whether it's enabled (counts at all). A condition the design doesn't test is shown unchecked and locked, with a note to enable it on the Design tab — so an ipsilateral-only case never scores contralateral. Enable that condition on the Design tab and its scoring comes on by default; you can then set its fields to Off or Report only here if you want it presented but not scored. When enabled, two fields each get a tri-state control:
| Field | What's compared |
|---|---|
| Threshold | The learner's saved level vs. the true threshold, within the tolerance above. |
| Classification | The learner's label (Normal / Elevated / Absent) vs. the designed classification. |
Each field can be set to Score, Report only, or Off:
- Score — counts toward the submission score.
- Report only — shown in the report for reference but not scored. See Report-only fields for how this tri-state behaves across elements.
- Off — not collected, not scored, not shown.
A Sync Ears checkbox (on by default) mirrors any change you make to one ear onto the other, so symmetric cases are quick to set up.
Every frequency the element tests (the Settings tab's frequency list) is scored for each condition that counts. To leave a frequency out of the score, leave it out of the test.
Older attempts keep their grade
Until Theta began scoring every tested frequency, a lesson could leave frequencies out of a condition's score — on the Design tab, and later on the Scoring tab. An attempt started before that change keeps the frequencies it was graded on, so its score doesn't change when its results, report or submissions list are opened, or when it is re-scored. Every attempt started since scores every tested frequency.
A lesson that still stores such a list says so on its Scoring tab: an amber note names each condition (as the lesson names its ears) and the frequencies it used to leave out. To leave one out of the score now, remove it from the test on the Settings tab — which removes it from every condition.
What counts as an answer
A frequency the learner never touched is not an answer, even when the designed reflex is Absent — it's scored incorrect rather than credited for a blank cell. The threshold and the classification are separate answers, so for a designed Absent the threshold point needs No response and the classification point needs Absent. Could not test (CNT) is a declined measurement, so it never scores correct on either field. (Attempts made before the two were separated, where choosing Absent also cleared the level, still count that Absent as the no-response answer.)
Older attempts re-grade
Scores are computed when a submission is opened, not frozen at submit time. Any past attempt that left absent frequencies blank will now show a lower ART score than it did before.
Report
In the generated PDF, the ART element renders per ear. Each ear shows its Ipsilateral and Contralateral sections as a table with one row per tested frequency and four columns:
| Column | Shows |
|---|---|
| Freq | The frequency in Hz. |
| Expected | The designed reflex — the threshold in dB, or NR when no reflex was designed, then its classification code (e.g. 95 dB · WNL, NR · ABS). |
| Submitted | What the learner recorded — their level or NR (No response), then their classification code if they chose one, or — if they never answered. |
| Result | OK when every scored field on that frequency is correct, X when any is wrong, — for report-only, blank for a frequency that isn't scored (only on an older attempt that left it out — see above). |
So the report always shows both sides: what the reflexes were and what the learner recorded. The scoring table further down breaks the same data out field by field (threshold and classification separately) if you need the detail.
Conditions that weren't configured show No data, and an ear with nothing tested shows No ART data. A condition switched off on the Scoring & Report tab is left out entirely, and an element with nothing scored or reported doesn't appear on the report at all.
The same design-vs-recorded comparison is available in-app without generating a PDF: open the scoring summary, where the ART row has a Show breakdown link and a View data tab.
Only what you scored or reported
A field appears in the report only when it's set to Score or Report only on the Scoring & Report tab. Anything left Off won't show up — double-check the Scoring & Report tab if an expected row is missing.
