What is BERA , what are the indications to use it , what are the principle behind it , what are different method of recording and interpretation of BERA, what are the clinical use of BERA , its clinical implications . Its limitations. In short everything , from anirban biswas text book
Create a quick-reference PDF on BERA for exam revision
~/
"auditory brainstem response"
auditory brainstem response clinical interpretation practice guidance
https://www.thebsa.org.uk/wp-content/uploads/2022/09/ABR-pos…
mkdir -p "/tmp/workspace/bera-quick-reference/src" "/tmp/workspace/bera-quick-reference/output" && python - <<'PY' from reportlab.lib.pagesizes import A4 from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak, KeepTogether from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_CENTER from reportlab.lib.units import mm from reportlab.pdfbase.pdfmetrics import stringWidth out='/tmp/workspace/bera-quick-reference/output/BERA_Quick_Reference_Exam_Revision.pdf' navy=colors.HexColor('#12304A'); blue=colors.HexColor('#176B87'); teal=colors.HexColor('#22A39F'); pale=colors.HexColor('#EAF4F5'); light=colors.HexColor('#F5F8FA'); red=colors.HexColor('#A52A2A'); grey=colors.HexColor('#495057') styles=getSampleStyleSheet() styles.add(ParagraphStyle(name='TitleX',parent=styles['Title'],fontName='Helvetica-Bold',fontSize=24,leading=28,textColor=navy,alignment=TA_CENTER,spaceAfter=6)) styles.add(ParagraphStyle(name='SubX',parent=styles['Normal'],fontName='Helvetica',fontSize=9.5,leading=13,textColor=grey,alignment=TA_CENTER,spaceAfter=12)) styles.add(ParagraphStyle(name='H1X',parent=styles['Heading1'],fontName='Helvetica-Bold',fontSize=14,leading=17,textColor=colors.white,backColor=navy,borderPadding=6,spaceBefore=8,spaceAfter=7)) styles.add(ParagraphStyle(name='H2X',parent=styles['Heading2'],fontName='Helvetica-Bold',fontSize=10.5,leading=13,textColor=blue,spaceBefore=6,spaceAfter=3)) styles.add(ParagraphStyle(name='BodyX',parent=styles['BodyText'],fontName='Helvetica',fontSize=8.6,leading=11.4,textColor=colors.HexColor('#1F2933'),spaceAfter=3)) styles.add(ParagraphStyle(name='SmallX',parent=styles['BodyText'],fontName='Helvetica',fontSize=7.3,leading=9.2,textColor=grey,spaceAfter=2)) styles.add(ParagraphStyle(name='BoxX',parent=styles['BodyText'],fontName='Helvetica-Bold',fontSize=9,leading=12,textColor=navy,backColor=colors.HexColor('#E4F2F0'),borderColor=teal,borderWidth=.6,borderPadding=6,spaceBefore=4,spaceAfter=7)) styles.add(ParagraphStyle(name='WarnX',parent=styles['BodyText'],fontName='Helvetica-Bold',fontSize=8.2,leading=10.4,textColor=colors.HexColor('#702020'),backColor=colors.HexColor('#FCEEEE'),borderColor=colors.HexColor('#D46A6A'),borderWidth=.6,borderPadding=6,spaceBefore=4,spaceAfter=7)) def P(txt, sty='BodyX'): return Paragraph(txt, styles[sty]) def bullets(items): return [P('• '+i) for i in items] def table(rows,widths,header=True,fs=7.8): dat=[[P(str(c), 'SmallX' if not (header and r==0) else 'BodyX') for c in row] for r,row in enumerate(rows)] t=Table(dat,colWidths=widths,repeatRows=1 if header else 0,hAlign='LEFT') ts=[('VALIGN',(0,0),(-1,-1),'TOP'),('GRID',(0,0),(-1,-1),.35,colors.HexColor('#BFCED6')),('LEFTPADDING',(0,0),(-1,-1),4),('RIGHTPADDING',(0,0),(-1,-1),4),('TOPPADDING',(0,0),(-1,-1),3),('BOTTOMPADDING',(0,0),(-1,-1),3)] if header: ts += [('BACKGROUND',(0,0),(-1,0),navy),('TEXTCOLOR',(0,0),(-1,0),colors.white)] for r in range(1 if header else 0,len(rows)): if r%2: ts.append(('BACKGROUND',(0,r),(-1,r),light)) t.setStyle(TableStyle(ts)); return t def footer(canvas,doc): canvas.saveState(); canvas.setStrokeColor(colors.HexColor('#C7D3D8')); canvas.line(15*mm,12*mm,195*mm,12*mm) canvas.setFont('Helvetica',7.2); canvas.setFillColor(grey) canvas.drawString(15*mm,7.5*mm,'BERA / ABR quick-reference | Exam revision | Verify local laboratory norms') canvas.drawRightString(195*mm,7.5*mm,f'Page {doc.page}') canvas.restoreState() doc=SimpleDocTemplate(out,pagesize=A4,rightMargin=15*mm,leftMargin=15*mm,topMargin=13*mm,bottomMargin=17*mm) story=[] story += [P('BERA / ABR', 'TitleX'), P('Brainstem Evoked Response Audiometry | high-yield exam quick reference', 'SubX')] story.append(P('<b>Definition:</b> BERA, also termed auditory brainstem response (ABR) or brainstem auditory evoked potential, is a <b>surface-recorded, averaged far-field response</b> to sound. It assesses synchronous activity from the distal auditory nerve through early brainstem auditory pathways, in the first <b><10 ms</b>.', 'BoxX')) story += [P('1. Principle and generators','H1X'), P('<b>Acoustic click/tone burst</b> → synchronized firing of auditory nerve fibres → tiny scalp electrical potentials. Repeated stimuli are time-locked and <b>averaged</b>: response remains consistent while random EEG/muscle noise cancels. A minimum of three electrodes is used: active/non-inverting, reference/inverting, and ground.', 'BodyX')] story += [P('The waves: know I, III and V','H2X')] story.append(table([ ['Wave','Usual major generator / meaning'], ['I','Distal cochlear (VIII) nerve'],['II','Proximal cochlear nerve'],['III','Cochlear nucleus / ventral acoustic stria'],['IV','Ascending pathways involving cochlear nucleus and superior olivary complex'],['V','Predominantly lateral lemniscus / rostral brainstem pathways; most robust wave and used for threshold estimation'],['VI-VII','Later/variable brainstem activity; less consistently used clinically'] ],[25*mm,155*mm])) story.append(P('<b>Exam caveat:</b> wave generators are distributed pathways, not single anatomical points. State “predominant generator” rather than an absolute source.', 'WarnX')) story += [P('2. Indications and clinical uses','H1X')] story.append(table([ ['Use','When BERA is helpful'], ['Objective hearing assessment','Infants, young children, unconscious/uncooperative patients, developmental delay, suspected non-organic hearing loss, and medicolegal documentation.'], ['Threshold estimation','Estimate hearing sensitivity when behavioural audiometry is unavailable or unreliable. Tone-pip / tone-burst ABR gives more frequency-specific information than click ABR.'], ['Retrocochlear / brainstem evaluation','Asymmetric SNHL, suspected VIII nerve or brainstem pathway dysfunction, and selected vestibular schwannoma work-up. MRI is now the definitive anatomical test when indicated.'], ['Auditory neuropathy spectrum disorder','Disproportionately abnormal/absent ABR with preserved cochlear outer-hair-cell responses (OAEs and/or cochlear microphonic) supports the diagnosis.'], ['Intraoperative monitoring','Monitor cochlear nerve/auditory pathway at risk, especially posterior fossa and cerebellopontine-angle surgery.'], ['Neurological assessment','Supports evidence of auditory pathway/brainstem dysfunction; never interpret in isolation.'] ],[45*mm,135*mm])) story += [P('3. Recording: practical method','H1X')] story.append(table([ ['Item','High-yield points'], ['Preparation','Otoscopy and audiological assessment first; quiet sleep or natural sleep preferred in infants. Reduce movement and electrical interference.'], ['Electrodes','Typical: Fz/high forehead or Cz = non-inverting; ipsilateral mastoid/earlobe (A1/A2) = reference; low forehead = ground. Two-channel montage may emphasize wave I ipsilaterally and IV-V separation contralaterally.'], ['Stimulus','<b>Click:</b> broad-frequency, chiefly high-frequency cochlear region; useful for neural integrity. <b>Tone pip/burst:</b> frequency-specific threshold estimate. Alternate polarity can reduce stimulus artefact/cochlear microphonic effects.'], ['Acquisition','Monaural stimulus via insert earphone; contralateral masking if required. Average about <b>1000-3000 sweeps</b>; record replicate waveforms to prove reproducibility.'], ['Filtering','Common band-pass approximately 100 to 1000-3000 Hz. Excess high-pass filtering can reduce wave-V amplitude.'], ['Bone conduction','Used with air-conduction ABR when conductive component is suspected; masking and artefact control are important.'] ],[40*mm,140*mm])) story += [P('4. Interpretation','H1X')] story.append(P('<b>Confirm before measuring:</b> reproducible waveform, correct stimulus timing/polarity, acceptable electrode impedance/noise, and appropriate intensity. Identify waves I, III and V, then interpret together with otoscopy, tympanometry, OAEs and behavioural results.', 'BoxX')) story.append(table([ ['Measure','What it means / abnormality'], ['Absolute latency','Time from stimulus to a wave. Delayed by conductive loss and also by cochlear/neural disease; do not localize from an isolated delay.'], ['Interpeak latency (IPL)','Neural conduction time: I-III, III-V, I-V. Prolongation suggests dysfunction between corresponding generators and is less affected by conductive delay than absolute latencies.'], ['Interaural difference','Compare wave-V latency (and wave I if present) across ears. Asymmetry can indicate retrocochlear dysfunction, after considering asymmetric hearing loss.'], ['Amplitude/morphology','Reduced, poorly formed or absent waves may reflect reduced neural synchrony, low stimulus level, technical noise, hearing loss, or neural pathology.'], ['Threshold ABR','Lowest level at which a replicable wave V is present. It estimates, rather than directly equals, behavioural threshold; use correction factors and local protocol.'] ],[45*mm,135*mm])) story.append(P('Typical adult click neurodiagnostic reference limits reported in one ENT text: wave V <6.2 ms; I-III <2.5 ms; III-V <2.4 ms; I-V <4.4 ms; interaural wave-V difference <0.5 ms. <b>Use laboratory-, stimulus-, transducer-, intensity-, age- and rate-specific norms.</b>', 'WarnX')) story += [PageBreak(), P('5. Pattern recognition for exams','H1X')] story.append(table([ ['Pattern','Likely interpretation'], ['All absolute latencies delayed; IPLs normal','Conductive hearing loss is likely. Sound reaching cochlea is delayed/attenuated; neural conduction once activated remains relatively normal.'], ['Wave V threshold elevated, morphology/latencies appropriate for level','Cochlear hearing loss / elevated auditory threshold. Confirm frequency-specific pattern with tone-pip ABR and other audiology.'], ['Prolonged I-III, III-V or I-V IPL; marked interaural wave-V delay','Consider retrocochlear or brainstem pathway lesion. Correlate clinically and image as appropriate.'], ['Wave I absent/poor with later waves present','May be technical, severe peripheral loss, or anatomic/recording issue. Recheck montage/intensity and use complementary tests.'], ['ABR absent or grossly dys-synchronous, OAEs/cochlear microphonic present','Suggests auditory neuropathy spectrum disorder.'], ['Progressive intraoperative wave-V latency prolongation or amplitude loss','Potential cochlear nerve/auditory pathway compromise. Alert surgical team according to institutional monitoring criteria.'] ],[55*mm,125*mm])) story += [P('6. Limitations and pitfalls','H1X')] story += bullets([ '<b>Not a stand-alone audiogram:</b> click ABR has limited frequency specificity and predominantly samples higher-frequency cochlear regions.', '<b>Threshold estimate, not behavioural hearing:</b> eHL corrections and local protocols are required; auditory perception/speech ability cannot be inferred from ABR alone.', '<b>Middle-ear disease:</b> can elevate thresholds and delay absolute latencies, mimicking or masking other findings.', '<b>Age and maturation:</b> infant latencies differ from adult values. Use age-appropriate normative data.', '<b>Technical/physiological confounders:</b> electrode noise, poor impedance, electrical interference, movement, low body temperature, stimulus rate, transducer calibration, and inadequate masking.', '<b>Sedation/anaesthesia:</b> ABR is relatively resistant compared with cortical auditory potentials, but protocol and drug effects still matter, especially in children.', '<b>Lesion detection:</b> a normal ABR does not exclude a small lesion. MRI has higher anatomical sensitivity for vestibular schwannoma and other CPA pathology.', '<b>Interpret in context:</b> combine with history, otology examination, pure-tone/behavioural tests, tympanometry, OAEs, acoustic reflexes and imaging where needed.' ]) story += [P('7. Last-minute viva checklist','H1X')] story.append(P('<b>Define</b> → objective averaged far-field auditory brainstem potential. <b>Principle</b> → synchrony + averaging. <b>Key waves</b> → I, III, V. <b>Stimuli</b> → click and tone pip. <b>Measures</b> → absolute latency, IPL, interaural difference, waveform, threshold. <b>Core uses</b> → paediatric/objective hearing, retrocochlear work-up, ANSD, monitoring. <b>Main limitation</b> → not frequency-complete and cannot replace full audiology/MRI where indicated.', 'BoxX')) story += [P('Source note','H1X'), P('Prepared as an original concise revision aid using standard ENT/audiology material. Core content checked against <i>K. J. Lee’s Essential Otolaryngology</i>, the ABR sections of <i>Cummings Otolaryngology</i>, and <i>Scott-Brown’s Otorhinolaryngology</i>. This is not a reproduction of Anirban Biswas’ text. Normal values and protocols vary by laboratory.', 'SmallX')] doc.build(story,onFirstPage=footer,onLaterPages=footer) print(out) PY python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/bera-quick-reference/output/BERA_Quick_Reference_Exam_Revision.pdf' r=PdfReader(p) print('pages',len(r.pages),'bytes',__import__('os').path.getsize(p)) for i,page in enumerate(r.pages): t=page.extract_text() or '' print(i+1,len(t),t[:80].replace('\n',' | ')) PY
python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/bera-quick-reference/output/BERA_Quick_Reference_Exam_Revision.pdf' r=PdfReader(p) for i,pg in enumerate(r.pages): print('\n--- PAGE',i+1,'---\n') print((pg.extract_text() or '')[:6000]) PY
python - <<'PY' p='/tmp/workspace/bera-quick-reference/src/create_bera_pdf.py' # The initial generator was intentionally executed inline; write a reproducible compact version by adapting the prior PDF in-place is not possible. # Regenerate from the saved source script below. PY # Create a compact revision of the existing script by copying source from shell history is unavailable; use python to create new minimal two-page generator. python - <<'PY' from reportlab.lib.pagesizes import A4 from reportlab.platypus import SimpleDocTemplate, Paragraph, Table, TableStyle, PageBreak from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_CENTER from reportlab.lib.units import mm p='/tmp/workspace/bera-quick-reference/output/BERA_Quick_Reference_Exam_Revision.pdf' navy=colors.HexColor('#12304A');blue=colors.HexColor('#176B87');teal=colors.HexColor('#22A39F');light=colors.HexColor('#F5F8FA');grey=colors.HexColor('#495057') s=getSampleStyleSheet() s.add(ParagraphStyle('T',parent=s['Title'],fontName='Helvetica-Bold',fontSize=22,leading=24,textColor=navy,alignment=TA_CENTER,spaceAfter=3)) s.add(ParagraphStyle('S',parent=s['Normal'],fontSize=8.5,leading=10,textColor=grey,alignment=TA_CENTER,spaceAfter=6)) s.add(ParagraphStyle('H',parent=s['Heading1'],fontName='Helvetica-Bold',fontSize=11.5,leading=13,textColor=colors.white,backColor=navy,borderPadding=4,spaceBefore=4,spaceAfter=4)) s.add(ParagraphStyle('h',parent=s['Heading2'],fontName='Helvetica-Bold',fontSize=9.2,leading=10.5,textColor=blue,spaceBefore=3,spaceAfter=2)) s.add(ParagraphStyle('B',parent=s['BodyText'],fontName='Helvetica',fontSize=7.5,leading=9.2,textColor=colors.HexColor('#1F2933'),spaceAfter=2)) s.add(ParagraphStyle('b',parent=s['BodyText'],fontName='Helvetica',fontSize=6.7,leading=8.05,textColor=colors.HexColor('#1F2933'),spaceAfter=1)) s.add(ParagraphStyle('box',parent=s['BodyText'],fontName='Helvetica-Bold',fontSize=7.6,leading=9.3,textColor=navy,backColor=colors.HexColor('#E4F2F0'),borderColor=teal,borderWidth=.5,borderPadding=4,spaceAfter=4)) s.add(ParagraphStyle('warn',parent=s['BodyText'],fontName='Helvetica-Bold',fontSize=6.9,leading=8.2,textColor=colors.HexColor('#702020'),backColor=colors.HexColor('#FCEEEE'),borderColor=colors.HexColor('#D46A6A'),borderWidth=.5,borderPadding=4,spaceAfter=4)) def P(t,style='B'):return Paragraph(t,s[style]) def T(rows,widths): d=[[P(str(x),'B' if r==0 else 'b') for x in row] for r,row in enumerate(rows)] t=Table(d,colWidths=widths,repeatRows=1,hAlign='LEFT');st=[('VALIGN',(0,0),(-1,-1),'TOP'),('GRID',(0,0),(-1,-1),.25,colors.HexColor('#BFCED6')),('LEFTPADDING',(0,0),(-1,-1),3),('RIGHTPADDING',(0,0),(-1,-1),3),('TOPPADDING',(0,0),(-1,-1),2),('BOTTOMPADDING',(0,0),(-1,-1),2),('BACKGROUND',(0,0),(-1,0),navy),('TEXTCOLOR',(0,0),(-1,0),colors.white)] for r in range(1,len(rows)): if r%2:st.append(('BACKGROUND',(0,r),(-1,r),light)) t.setStyle(TableStyle(st));return t def foot(c,d): c.saveState();c.setStrokeColor(colors.HexColor('#C7D3D8'));c.line(15*mm,10*mm,195*mm,10*mm);c.setFont('Helvetica',6.4);c.setFillColor(grey);c.drawString(15*mm,6.2*mm,'BERA / ABR quick-reference | Exam revision | Verify local laboratory norms');c.drawRightString(195*mm,6.2*mm,'Page %s'%d.page);c.restoreState() st=[] st+=[P('BERA / ABR','T'),P('Brainstem Evoked Response Audiometry | high-yield exam quick reference','S')] st+=[P('<b>Definition:</b> BERA, also called auditory brainstem response (ABR), is a <b>surface-recorded, averaged far-field response</b> to sound. It assesses synchronous activity from the distal auditory nerve through early brainstem pathways in <b><10 ms</b>.','box')] st+=[P('1. Principle and generators','H'),P('<b>Click/tone burst</b> → synchronized auditory-nerve firing → tiny scalp potentials. Stimuli are time-locked and <b>averaged</b>: reproducible response is enhanced while random EEG/muscle noise cancels. Use active/non-inverting, reference/inverting, and ground electrodes.','B'),P('The waves: know I, III and V','h'),T([['Wave','Usual major generator / meaning'],['I','Distal cochlear (VIII) nerve'],['II','Proximal cochlear nerve'],['III','Cochlear nucleus / ventral acoustic stria'],['IV','Ascending pathways involving cochlear nucleus and superior olivary complex'],['V','Predominantly lateral lemniscus / rostral brainstem pathways; most robust wave and used for threshold estimation'],['VI-VII','Later/variable brainstem activity; less consistently used clinically']],[25*mm,155*mm]),P('<b>Exam caveat:</b> waves reflect distributed pathways. Say “predominant generator”, not an absolute source.','warn')] st+=[P('2. Indications and clinical uses','H'),T([['Use','When BERA is helpful'],['Objective hearing assessment','Infants, young children, unconscious/uncooperative patients, developmental delay, suspected non-organic hearing loss, and medicolegal documentation.'],['Threshold estimation','Estimate hearing sensitivity when behavioural audiometry is unavailable. Tone-pip/tone-burst ABR is more frequency-specific than click ABR.'],['Retrocochlear/brainstem evaluation','Asymmetric SNHL, suspected VIII nerve/brainstem pathway dysfunction and selected vestibular schwannoma work-up. MRI is definitive anatomical testing when indicated.'],['Auditory neuropathy spectrum disorder','Abnormal/absent ABR with preserved OAEs and/or cochlear microphonic supports diagnosis.'],['Intraoperative monitoring','Cochlear nerve/auditory pathway at risk, especially posterior fossa and cerebellopontine-angle surgery.'],['Neurological assessment','Supports auditory pathway/brainstem dysfunction; never interpret alone.']],[45*mm,135*mm])] st+=[P('3. Recording: practical method','H'),T([['Item','High-yield points'],['Preparation','Otoscopy and audiological assessment first; quiet/natural sleep when possible. Minimize movement and electrical interference.'],['Electrodes','Fz/high forehead or Cz = non-inverting; ipsilateral mastoid/earlobe A1/A2 = reference; low forehead = ground. Two channels may emphasize wave I and IV-V separation.'],['Stimulus','<b>Click:</b> broad-frequency, high-frequency biased. <b>Tone pip/burst:</b> frequency-specific threshold estimate. Alternating polarity reduces artefact/cochlear microphonic effects.'],['Acquisition','Monaural insert earphone; contralateral masking if required. Average about <b>1000-3000 sweeps</b>; replicate every condition.'],['Filtering','Often 100 to 1000-3000 Hz. Too-high high-pass filtering can reduce wave V.'],['Bone conduction','Use with air-conduction ABR if conductive component suspected; consider masking/artefact.']],[40*mm,140*mm])] st+=[P('4. Interpretation','H'),P('<b>First validate:</b> replicable waveform, correct timing/polarity, acceptable impedance/noise, adequate intensity. Identify I, III, V; interpret with otoscopy, tympanometry, OAEs and behavioural tests.','box'),T([['Measure','Meaning / abnormality'],['Absolute latency','Stimulus-to-wave time. Delayed by conductive loss and cochlear/neural disease: do not localize from isolated delay.'],['Interpeak latency (IPL)','Neural conduction time: I-III, III-V, I-V. Prolongation suggests pathway dysfunction and is less affected by conductive delay.'],['Interaural difference','Compare wave-V latency (and wave I if present). Asymmetry can indicate retrocochlear dysfunction after accounting for asymmetric hearing loss.'],['Amplitude/morphology','Reduced/absent waves can reflect low level, noise, hearing loss, poor synchrony or neural pathology.'],['Threshold ABR','Lowest level with reproducible wave V. An estimate, not identical to behavioural threshold; correction factors/local protocol required.']],[45*mm,135*mm]),P('Typical adult click neurodiagnostic limits in one ENT text: V <6.2 ms; I-III <2.5; III-V <2.4; I-V <4.4; interaural V difference <0.5 ms. <b>Always use laboratory, stimulus, transducer, intensity, rate and age-specific norms.</b>','warn')] st += [PageBreak(),P('5. Pattern recognition for exams','H'),T([['Pattern','Likely interpretation'],['All absolute latencies delayed; IPLs normal','Conductive loss likely: delayed/attenuated sound reaching cochlea, but relatively preserved neural conduction.'],['Wave-V threshold elevated; morphology/latencies appropriate for level','Cochlear hearing loss/elevated threshold. Confirm frequency pattern with tone-pip ABR and other audiology.'],['Prolonged I-III, III-V or I-V IPL; large interaural wave-V delay','Consider retrocochlear or brainstem lesion. Correlate clinically and image as appropriate.'],['Wave I absent/poor with later waves present','Technical issue, severe peripheral loss or anatomy may contribute. Recheck montage/intensity and complementary tests.'],['ABR absent/dyssynchronous with OAEs/cochlear microphonic present','Suggests auditory neuropathy spectrum disorder.'],['Intraoperative wave-V latency prolongation or amplitude loss','Possible cochlear nerve/auditory pathway compromise. Alert according to institutional protocol.']],[55*mm,125*mm]),P('6. Limitations and pitfalls','H')] for x in ['<b>Not a stand-alone audiogram:</b> click ABR is not frequency-complete and predominantly samples higher-frequency cochlear regions.','<b>Threshold estimate, not behavioural hearing:</b> eHL corrections/local protocols required; speech perception cannot be inferred.','<b>Middle-ear disease:</b> elevates thresholds and delays absolute latencies, potentially masking other findings.','<b>Age/maturation:</b> infants have different latencies. Use age-specific normative data.','<b>Confounders:</b> electrode noise/impedance, electrical interference, movement, temperature, rate, calibration and masking.','<b>Sedation/anaesthesia:</b> ABR is relatively resistant versus cortical potentials, but protocol/drug effects matter.','<b>Lesion detection:</b> normal ABR does not exclude a small lesion; MRI offers superior anatomical sensitivity.','<b>Context:</b> combine history, examination, PTA/behavioural tests, tympanometry, OAEs, reflexes and imaging.']: st.append(P('• '+x,'B')) st += [P('7. Last-minute viva checklist','H'),P('<b>Define</b> → objective averaged far-field auditory brainstem potential. <b>Principle</b> → synchrony + averaging. <b>Key waves</b> → I, III, V. <b>Stimuli</b> → click/tone pip. <b>Measures</b> → absolute latency, IPL, interaural difference, morphology, threshold. <b>Uses</b> → paediatric/objective hearing, retrocochlear work-up, ANSD, monitoring. <b>Limitation</b> → not frequency-complete; cannot replace full audiology/MRI where needed.','box'),P('Source note: original concise revision aid. Core content checked against <i>K. J. Lee’s Essential Otolaryngology</i>, <i>Cummings Otolaryngology</i>, and <i>Scott-Brown’s Otorhinolaryngology</i>. It is not a reproduction of Anirban Biswas’ text.','b')] SimpleDocTemplate(p,pagesize=A4,rightMargin=15*mm,leftMargin=15*mm,topMargin=10*mm,bottomMargin=14*mm).build(st,onFirstPage=foot,onLaterPages=foot) print('done') PY python - <<'PY' from pypdf import PdfReader import os p='/tmp/workspace/bera-quick-reference/output/BERA_Quick_Reference_Exam_Revision.pdf';r=PdfReader(p);print('pages',len(r.pages),'bytes',os.path.getsize(p));[print(i+1,len(x.extract_text() or '')) for i,x in enumerate(r.pages)] PY
BERA Quick Reference Exam Revision
PDF Document · PDF