Analysis the previous year questions based on diseases of pulp and periapical tissues in neet mds exam and make the pdf of the 25 questions that are likely to be asked this year
NEET MDS previous year questions diseases of pulp periapical tissues endodontics
NEET MDS endodontics pulp periapical repeated questions classification reversible irreversible pulpitis
https://decisionsindentistry.com/article/universal-classific…
NEET MDS 2024 2025 endodontics pulp periapical questions answers pdf important topics
https://mdsprep.com/blog/the-most-important-topics-for-neet-…
mkdir -p /home/daytona/workspace/neet-mds-endodontics && python3 << 'EOF' from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import inch, cm from reportlab.lib.colors import HexColor, white, black from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, PageBreak from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY from reportlab.platypus import KeepTogether output_path = "/home/daytona/workspace/neet-mds-endodontics/NEET_MDS_Pulp_Periapical_25Q.pdf" doc = SimpleDocTemplate( output_path, pagesize=A4, rightMargin=1.8*cm, leftMargin=1.8*cm, topMargin=2*cm, bottomMargin=2*cm ) # Colors DARK_BLUE = HexColor("#1a3c5e") MID_BLUE = HexColor("#2563a8") ACCENT = HexColor("#e84444") LIGHT_BLUE_BG = HexColor("#e8f0fb") CORRECT_GREEN = HexColor("#1a7a3a") CORRECT_BG = HexColor("#e6f4ea") HIGHLIGHT_YELLOW = HexColor("#fff8e1") DIVIDER = HexColor("#c8d8ea") LIGHT_GRAY = HexColor("#f5f5f5") styles = getSampleStyleSheet() # Custom styles title_style = ParagraphStyle( 'CustomTitle', parent=styles['Normal'], fontSize=20, fontName='Helvetica-Bold', textColor=white, alignment=TA_CENTER, spaceAfter=4, spaceBefore=4 ) subtitle_style = ParagraphStyle( 'SubTitle', parent=styles['Normal'], fontSize=11, fontName='Helvetica', textColor=HexColor("#cce0ff"), alignment=TA_CENTER, spaceAfter=2 ) q_num_style = ParagraphStyle( 'QNum', parent=styles['Normal'], fontSize=11, fontName='Helvetica-Bold', textColor=white ) q_text_style = ParagraphStyle( 'QText', parent=styles['Normal'], fontSize=11, fontName='Helvetica-Bold', textColor=DARK_BLUE, spaceAfter=6, leading=16 ) option_style = ParagraphStyle( 'Option', parent=styles['Normal'], fontSize=10.5, fontName='Helvetica', textColor=HexColor("#333333"), spaceBefore=2, spaceAfter=2, leftIndent=10, leading=14 ) correct_style = ParagraphStyle( 'Correct', parent=styles['Normal'], fontSize=10.5, fontName='Helvetica-Bold', textColor=CORRECT_GREEN, spaceBefore=2, spaceAfter=2, leftIndent=10, leading=14 ) answer_label = ParagraphStyle( 'AnsLabel', parent=styles['Normal'], fontSize=10, fontName='Helvetica-Bold', textColor=CORRECT_GREEN, spaceBefore=6 ) explanation_style = ParagraphStyle( 'Exp', parent=styles['Normal'], fontSize=10, fontName='Helvetica', textColor=HexColor("#444444"), leading=15, spaceAfter=2, borderPad=4 ) tag_style = ParagraphStyle( 'Tag', parent=styles['Normal'], fontSize=8.5, fontName='Helvetica-Oblique', textColor=HexColor("#666666"), spaceBefore=4 ) section_header_style = ParagraphStyle( 'SectionHeader', parent=styles['Normal'], fontSize=13, fontName='Helvetica-Bold', textColor=white, alignment=TA_CENTER, spaceBefore=8, spaceAfter=4 ) questions = [ { "num": 1, "topic": "Classification of Pulpal Disease", "q": "According to the AAE (American Association of Endodontists) classification, which of the following is NOT a recognized pulpal diagnostic category?", "options": [ ("A", "Normal pulp"), ("B", "Reversible pulpitis"), ("C", "Symptomatic irreversible pulpitis"), ("D", "Chronic hyperplastic pulpitis"), ], "answer": "D", "correct_text": "D. Chronic hyperplastic pulpitis", "explanation": "The AAE 2013 classification recognizes: Normal pulp, Reversible pulpitis, Symptomatic irreversible pulpitis, Asymptomatic irreversible pulpitis, Pulp necrosis, Previously treated, and Previously initiated therapy. 'Chronic hyperplastic pulpitis' (pulp polyp) is an older descriptive term, not part of the current AAE diagnostic system. NEET MDS frequently tests knowledge of the current AAE classification.", "tag": "Repeated concept | AAE Classification 2013" }, { "num": 2, "topic": "Reversible vs Irreversible Pulpitis", "q": "A patient complains of sharp pain on cold stimulus that subsides within 5 seconds. No spontaneous pain. Radiograph shows no periapical changes. The most likely diagnosis is:", "options": [ ("A", "Symptomatic irreversible pulpitis"), ("B", "Reversible pulpitis"), ("C", "Asymptomatic apical periodontitis"), ("D", "Pulp necrosis"), ], "answer": "B", "correct_text": "B. Reversible pulpitis", "explanation": "Reversible pulpitis: pain to stimulus (especially cold), pain subsides quickly (within seconds) after stimulus removal, no spontaneous pain, no periapical radiographic changes. The key differentiator from irreversible pulpitis is the DURATION of lingering pain - irreversible pulpitis shows lingering pain >30 seconds after stimulus removal.", "tag": "High yield | Clinical diagnosis" }, { "num": 3, "topic": "Symptomatic Irreversible Pulpitis", "q": "All of the following are features of symptomatic irreversible pulpitis EXCEPT:", "options": [ ("A", "Lingering pain >30 seconds after cold stimulus"), ("B", "Spontaneous unprovoked pain"), ("C", "Pain aggravated by lying down"), ("D", "No response to electric pulp test"), ], "answer": "D", "correct_text": "D. No response to electric pulp test", "explanation": "In symptomatic irreversible pulpitis, the pulp is VITAL (inflamed), so the tooth still responds to Electric Pulp Test (EPT) - usually within normal limits or hyperresponsive. 'No response to EPT' indicates pulp necrosis. Features of symptomatic irreversible pulpitis: lingering pain (>30s), spontaneous pain, pain worse at night/lying down, referred pain, OTC analgesics ineffective.", "tag": "Repeated | EXCEPT-type question" }, { "num": 4, "topic": "Pulp Polyp", "q": "Pulp polyp (chronic hyperplastic pulpitis) is most commonly seen in:", "options": [ ("A", "Elderly patients with small carious cavities"), ("B", "Young patients with large open carious lesions"), ("C", "Adults with multiple root canals"), ("D", "Patients with periapical abscess"), ], "answer": "B", "correct_text": "B. Young patients with large open carious lesions", "explanation": "Pulp polyp occurs in young patients because: (1) young pulp has a rich blood supply and high cellular vitality, (2) large open carious exposure allows granulation tissue to proliferate outward, (3) the tissue is resistant to infection. It is painless, reddish-pink polypoid outgrowth of granulation tissue. Histologically shows epithelial covering (from desquamated oral epithelial cells).", "tag": "Classic question | Oral Pathology overlap" }, { "num": 5, "topic": "Internal Root Resorption", "q": "A radiograph shows a round, oval, well-defined radiolucency within the root canal of an upper central incisor. The most likely diagnosis is:", "options": [ ("A", "External cervical resorption"), ("B", "Internal root resorption"), ("C", "Lateral periodontal cyst"), ("D", "Periapical granuloma"), ], "answer": "B", "correct_text": "B. Internal root resorption", "explanation": "Internal root resorption (pink tooth of Mummery): radiographically shows a round/oval symmetrical enlargement of the root canal space - the canal contour is lost and a 'ballooning' is seen. Key radiographic feature: the lesion moves WITH the tooth on eccentric radiographs (unlike external resorption). The pulp tissue is vital in the apical portion. Treatment: immediate root canal therapy to stop the resorptive process.", "tag": "Radiographic diagnosis | High yield" }, { "num": 6, "topic": "Periapical Granuloma", "q": "The most common periapical lesion encountered in clinical practice is:", "options": [ ("A", "Periapical cyst"), ("B", "Periapical abscess"), ("C", "Periapical granuloma"), ("D", "Condensing osteitis"), ], "answer": "C", "correct_text": "C. Periapical granuloma", "explanation": "Periapical granuloma is the most common periapical lesion (approximately 70% of all periapical lesions). It consists of granulation tissue surrounded by fibrous connective tissue capsule, containing macrophages, plasma cells, lymphocytes, and new capillary loops. Radiographically: well-defined round/ovoid radiolucency at the apex. It is NOT a true granuloma (no epithelioid cells or giant cells in the classical sense).", "tag": "Most common | Frequently repeated" }, { "num": 7, "topic": "Periapical Cyst vs Granuloma", "q": "Which of the following is the definitive method to differentiate periapical cyst from periapical granuloma?", "options": [ ("A", "Radiographic size (>1.5 cm = cyst)"), ("B", "Histopathological examination"), ("C", "Response to percussion"), ("D", "Electric pulp test response"), ], "answer": "B", "correct_text": "B. Histopathological examination", "explanation": "Histopathological examination is the ONLY definitive method to differentiate periapical cyst from granuloma. The cyst contains an epithelial-lined cavity (from Malassez rests) filled with fluid/semi-fluid. Neither size, nor radiographic appearance, nor clinical signs can reliably differentiate them. Periapical cysts are the second most common periapical lesion (~15-20%). Malassez rests (remnants of Hertwig's root sheath) are the source of epithelium.", "tag": "Gold standard diagnosis | Frequently asked" }, { "num": 8, "topic": "Acute Apical Abscess", "q": "A patient presents with a non-vital tooth, severe throbbing pain, swelling, elevated temperature, and the tooth is extremely tender to touch. The most appropriate IMMEDIATE treatment is:", "options": [ ("A", "Antibiotic therapy for 7 days then review"), ("B", "Incision and drainage if fluctuant + pulp space drainage"), ("C", "Extraction only"), ("D", "Occlusal reduction alone"), ], "answer": "B", "correct_text": "B. Incision and drainage if fluctuant + pulp space drainage", "explanation": "Acute apical abscess management: (1) Establish drainage through the tooth (open access), (2) Incision and drainage (I&D) if there is a fluctuant swelling. Antibiotics are ADJUNCTIVE only - they do not replace surgical drainage. Antibiotics should be prescribed only when there are systemic signs (fever >38.5°C, trismus, lymphadenopathy, cellulitis). The key principle: 'If there is pus, let it out.'", "tag": "Emergency management | High yield" }, { "num": 9, "topic": "Phoenix Abscess", "q": "Phoenix abscess is defined as:", "options": [ ("A", "Acute exacerbation of a chronic periapical lesion"), ("B", "Abscess following trauma to a vital tooth"), ("C", "Periapical abscess in immunocompromised patients"), ("D", "Recurrent abscess after root canal treatment"), ], "answer": "A", "correct_text": "A. Acute exacerbation of a chronic periapical lesion", "explanation": "Phoenix abscess (acute exacerbation of chronic periapical periodontitis) occurs when a previously chronic asymptomatic lesion (granuloma) suddenly becomes acutely inflamed, often triggered by systemic illness, stress, or during endodontic treatment ('flare-up'). Clinically: acute pain, swelling, pus - but radiographically shows a pre-existing periapical radiolucency. Also called 'recrudescent abscess.'", "tag": "Definition question | Frequently asked" }, { "num": 10, "topic": "Condensing Osteitis", "q": "Condensing osteitis (focal sclerosing osteomyelitis) is characterized by:", "options": [ ("A", "Radiolucency at the apex of a vital tooth"), ("B", "Radioopacity at the apex of a tooth with pulpal disease"), ("C", "Moth-eaten radiolucency indicating bone destruction"), ("D", "Well-defined corticated radiolucency with thick walls"), ], "answer": "B", "correct_text": "B. Radioopacity at the apex of a tooth with pulpal disease", "explanation": "Condensing osteitis is a periapical inflammatory response where bone INCREASES in density (rather than being destroyed), producing a periapical RADIOPACITY. It represents a low-grade chronic inflammatory stimulus. Most commonly seen at apex of lower first molars. It is the only periapical lesion that is radiopaque (not radiolucent). Often asymptomatic; may resolve after root canal treatment.", "tag": "Radiolucent vs Radiopaque | Classic contrast question" }, { "num": 11, "topic": "Vitality Tests", "q": "Which pulp sensibility test is considered the most reliable for determining pulpal vitality?", "options": [ ("A", "Electric pulp test (EPT)"), ("B", "Cold test (Endo-Ice)"), ("C", "Laser Doppler flowmetry"), ("D", "Heat test"), ], "answer": "C", "correct_text": "C. Laser Doppler flowmetry", "explanation": "Laser Doppler flowmetry measures actual blood flow (TRUE vitality = pulpal circulation), making it the most reliable indicator of pulp vitality. EPT and cold/heat tests assess pulp SENSITIVITY (nerve function), not vitality. A recently traumatized tooth may show no response to EPT despite being vital (due to neural shock), but would show blood flow on Doppler. However, EPT and cold tests remain the most commonly used clinically due to practicality.", "tag": "True vitality test | Important distinction" }, { "num": 12, "topic": "Electric Pulp Test", "q": "Electric Pulp Test (EPT) gives FALSE NEGATIVE results in all of the following EXCEPT:", "options": [ ("A", "Recently traumatized teeth"), ("B", "Teeth with calcified canals"), ("C", "Irreversible pulpitis with vital pulp"), ("D", "Recently erupted immature teeth"), ], "answer": "C", "correct_text": "C. Irreversible pulpitis with vital pulp", "explanation": "EPT false negatives (no response despite vital pulp): recently traumatized teeth (neural shock), calcified canals (blocks current), recently erupted immature teeth (incomplete innervation), patients on heavy medications, and recently administered local anesthetic. In irreversible pulpitis, the pulp is VITAL and inflamed, so EPT typically gives a POSITIVE (hyperresponsive) response - NOT a false negative.", "tag": "EXCEPT type | High yield" }, { "num": 13, "topic": "Pulp Stones / Denticles", "q": "True denticles (true pulp stones) are characterized by:", "options": [ ("A", "Dystrophic calcification of necrotic tissue"), ("B", "Discrete calcified masses containing dentinal tubules"), ("C", "Diffuse calcifications along blood vessels"), ("D", "Calcification of inflammatory exudate"), ], "answer": "B", "correct_text": "B. Discrete calcified masses containing dentinal tubules", "explanation": "True denticles (true pulp stones) = contain dentinal tubules (resemble dentin). False denticles = calcified masses WITHOUT dentinal tubules. Diffuse calcifications = linear/irregular calcifications along collagen fibers and blood vessels, common in aging. True denticles are rare (<2%); false denticles are more common. Pulp stones are most common in the coronal pulp and may cause difficulty in canal location.", "tag": "Pulp histology | Classification question" }, { "num": 14, "topic": "Periapical Cyst", "q": "The epithelial lining of a periapical (radicular) cyst is derived from:", "options": [ ("A", "Oral mucosal epithelium"), ("B", "Respiratory epithelium of maxillary sinus"), ("C", "Cell rests of Malassez"), ("D", "Reduced enamel epithelium"), ], "answer": "C", "correct_text": "C. Cell rests of Malassez", "explanation": "Periapical (radicular) cyst epithelium arises from cell rests of Malassez (CRM) - remnants of Hertwig's epithelial root sheath that persist in the periodontal ligament. Inflammatory mediators from necrotic pulp stimulate these rests to proliferate and form a cyst. The cyst has a non-keratinized stratified squamous epithelial lining. Cholesterol clefts (from cell membrane breakdown) are a characteristic histological finding.", "tag": "Origin of epithelium | Classic question" }, { "num": 15, "topic": "Periapical Abscess Spread", "q": "In acute dentoalveolar abscess of the maxillary central incisor, the most common direction of spread is:", "options": [ ("A", "Palatal (through palatal cortex)"), ("B", "Labial (through thin labial cortex)"), ("C", "Into the nasal floor"), ("D", "Into the maxillary sinus"), ], "answer": "B", "correct_text": "B. Labial (through thin labial cortex)", "explanation": "The labial cortical plate overlying the upper anterior teeth is thin, so pus tracks labially/facially (buccal/vestibular space) most commonly. For upper posteriors, buccal spread is most common ABOVE the buccinator attachment, pointing above the maxillary vestibule. For upper molars, pus may track into the maxillary sinus or palate (palatal roots). The direction is determined by: root apex location relative to muscle attachments and cortical plate thickness.", "tag": "Spread of infection | Surgical anatomy" }, { "num": 16, "topic": "Chronic Apical Periodontitis", "q": "A sinus tract (parulis) associated with a non-vital tooth most accurately indicates:", "options": [ ("A", "Acute apical abscess"), ("B", "Chronic apical abscess with draining sinus"), ("C", "Periapical granuloma without infection"), ("D", "Symptomatic irreversible pulpitis"), ], "answer": "B", "correct_text": "B. Chronic apical abscess with draining sinus", "explanation": "A parulis (sinus tract opening / gum boil) indicates that chronic suppurative apical periodontitis (chronic apical abscess) has established a drainage pathway to the oral mucosa. The patient is typically ASYMPTOMATIC because pus drains freely. Gutta percha cone can be inserted into the sinus tract to trace its origin radiographically. The tooth must be treated endodontically; the sinus tract usually resolves after successful root canal treatment.", "tag": "Sinus tract | Pathognomonic sign" }, { "num": 17, "topic": "Symptomatic vs Asymptomatic Apical Periodontitis", "q": "A tooth shows a periapical radiolucency on X-ray. The patient reports no pain. The tooth does not respond to thermal or electric pulp tests. The most appropriate diagnosis is:", "options": [ ("A", "Symptomatic apical periodontitis"), ("B", "Asymptomatic apical periodontitis"), ("C", "Normal apical tissue"), ("D", "Reversible pulpitis"), ], "answer": "B", "correct_text": "B. Asymptomatic apical periodontitis", "explanation": "Asymptomatic apical periodontitis (chronic periapical periodontitis): non-vital tooth (no response to pulp tests) + periapical radiolucency + NO symptoms (no pain to percussion, no swelling). This is in contrast to symptomatic apical periodontitis, which shows pain to biting/percussion. Radiographic evidence of osseous breakdown (PDL widening or periapical radiolucency) is a hallmark finding.", "tag": "AAE Periapical Diagnosis | High yield" }, { "num": 18, "topic": "Widening of PDL Space", "q": "Widening of the periodontal ligament space at the apex is the EARLIEST radiographic sign of:", "options": [ ("A", "Periapical granuloma"), ("B", "Periapical abscess"), ("C", "Apical periodontitis"), ("D", "Condensing osteitis"), ], "answer": "C", "correct_text": "C. Apical periodontitis", "explanation": "Widening of the PDL space (loss of lamina dura continuity) at the apex is the EARLIEST radiographic sign in periapical disease / apical periodontitis, before frank bone destruction is visible. It indicates early inflammatory changes in the periodontal ligament. Approximately 30-50% of bone mineral must be lost before a periapical radiolucency becomes visible on conventional periapical radiographs.", "tag": "Earliest radiographic sign | Frequently asked" }, { "num": 19, "topic": "Pulpal Blood Supply", "q": "The primary blood supply to the dental pulp enters through the:", "options": [ ("A", "Lateral accessory canals"), ("B", "Apical foramen"), ("C", "Dentinal tubules"), ("D", "Predentinal surface"), ], "answer": "B", "correct_text": "B. Apical foramen", "explanation": "The primary neurovascular supply to the dental pulp enters through the apical foramen. Arterioles, venules, and nerve fibers (myelinated A-delta and unmyelinated C fibers) all enter via the apical foramen. Lateral accessory canals provide additional (secondary) blood supply and may be clinically significant as sites of lateral periodontitis if pulp is necrotic. This anatomy explains why apical constriction/patency is important in root canal treatment.", "tag": "Pulp anatomy | Basic concept" }, { "num": 20, "topic": "Odontalgia / Referred Pain", "q": "Which of the following best explains why periapical abscess pain is difficult to localize?", "options": [ ("A", "A-delta fibers mediate diffuse, poorly localized pain"), ("B", "C fibers carry sharp, well-localized pain"), ("C", "A-delta fibers carry sharp sharp pain while C fibers carry poorly localized, throbbing pain"), ("D", "Both A-delta and C fibers respond only to cold stimuli"), ], "answer": "C", "correct_text": "C. A-delta fibers carry sharp pain while C fibers carry poorly localized, throbbing pain", "explanation": "Pulpal pain involves two fiber types: A-delta (myelinated) = sharp, short, well-localized pain in response to thermal stimuli (early pulpitis). C fibers (unmyelinated) = dull, throbbing, poorly localized, spontaneous pain associated with irreversible pulpitis and periapical inflammation. This explains why patients with irreversible pulpitis often cannot identify the offending tooth. C fibers are resistant to hypoxia and continue firing even in necrotic pulp.", "tag": "Nerve fiber types | Pain mechanism" }, { "num": 21, "topic": "Apical Foramen and Constriction", "q": "The apical constriction (minor diameter) of the root canal is located approximately:", "options": [ ("A", "At the radiographic apex"), ("B", "0.5-1.0 mm short of the radiographic apex"), ("C", "2-3 mm from the cementoenamel junction"), ("D", "At the cementodentinal junction"), ], "answer": "B", "correct_text": "B. 0.5-1.0 mm short of the radiographic apex", "explanation": "The apical constriction (minor foramen / cementodentinal junction area) is the narrowest point of the root canal and is the ideal endpoint for root canal preparation and obturation. It is located approximately 0.5-1.0 mm short of the radiographic apex (anatomical apex). The working length is determined to this point. Preparation beyond the constriction irritates periapical tissues and reduces success.", "tag": "Working length | Critical anatomy" }, { "num": 22, "topic": "Immunology of Periapical Disease", "q": "The principal inflammatory mediator responsible for bone resorption in periapical lesions is:", "options": [ ("A", "Substance P"), ("B", "RANKL (Receptor Activator of NF-kB Ligand)"), ("C", "Histamine"), ("D", "Bradykinin"), ], "answer": "B", "correct_text": "B. RANKL (Receptor Activator of NF-kB Ligand)", "explanation": "RANKL is produced by T lymphocytes, fibroblasts, and osteoblasts in periapical inflammatory lesions. RANKL binds to its receptor RANK on osteoclast precursors, inducing their differentiation and activation, leading to bone resorption (periapical radiolucency formation). Osteoprotegerin (OPG) acts as a decoy receptor, inhibiting RANKL. The RANKL/OPG ratio determines the extent of bone resorption in periapical lesions.", "tag": "Molecular pathology | Modern concept" }, { "num": 23, "topic": "Periapical Cemento-Osseous Dysplasia", "q": "A 45-year-old African-American woman shows bilateral periapical radiolucencies on the mandibular anterior teeth. All teeth respond NORMALLY to vitality tests. The most likely diagnosis is:", "options": [ ("A", "Periapical granuloma"), ("B", "Periapical cemento-osseous dysplasia"), ("C", "Periapical cyst"), ("D", "Apical periodontitis"), ], "answer": "B", "correct_text": "B. Periapical cemento-osseous dysplasia", "explanation": "Periapical cemento-osseous dysplasia (PCOD): classic presentation in middle-aged African-American women, anterior mandible, VITAL PULPS (key differentiating feature from true periapical pathology), incidental finding on radiograph. Early stage: radiolucent; mature stage: mixed radiolucent-radiopaque; late stage: radiopaque. NO treatment required. Biopsy and root canal treatment are CONTRAINDICATED as they may cause infection.", "tag": "Non-odontogenic periapical lesion | Classic vignette" }, { "num": 24, "topic": "Trauma-Related Pulp Changes", "q": "Following luxation injury to a permanent tooth, which of the following pulp responses is characterized by progressive obliteration of the canal space over months to years?", "options": [ ("A", "Pulp necrosis"), ("B", "Pulp canal obliteration (calcific metamorphosis)"), ("C", "Internal inflammatory root resorption"), ("D", "External root resorption"), ], "answer": "B", "correct_text": "B. Pulp canal obliteration (calcific metamorphosis)", "explanation": "Pulp canal obliteration (PCO / calcific metamorphosis) follows trauma (especially luxation injuries). The pulp responds by depositing hard tissue rapidly, obliterating the canal over months-years. Radiographically: progressive narrowing then complete obliteration of the canal space; crown may have a yellowish discoloration. The pulp is usually vital. RCT is difficult due to canal obliteration. Not all obliterated canals need treatment unless periapical pathology develops.", "tag": "Trauma | NEET MDS traumatology overlap" }, { "num": 25, "topic": "Symptomatic Apical Periodontitis - Diagnosis", "q": "A tooth shows NO periapical radiolucency on X-ray but the patient has severe pain on biting and tenderness to percussion. Pulp is non-responsive. The most appropriate diagnosis is:", "options": [ ("A", "Reversible pulpitis"), ("B", "Acute symptomatic apical periodontitis (early phase)"), ("C", "Condensing osteitis"), ("D", "Normal periapical tissue"), ], "answer": "B", "correct_text": "B. Acute symptomatic apical periodontitis (early phase)", "explanation": "Symptomatic apical periodontitis CAN exist without radiographic changes in the early phase - bone destruction may take 2-6 weeks before it is visible on radiographs (30-50% bone loss needed). The hallmark is PAIN TO PERCUSSION/BITING + non-vital tooth. This represents inflammation spreading from the pulp into the periapical tissues. CBCT may show early changes not visible on periapical X-ray. This is an important clinical scenario tested frequently in NEET MDS.", "tag": "High yield | Radiograph negative but symptomatic" }, ] story = [] # ---- COVER PAGE ---- cover_bg_data = [[Paragraph( '<font color="white" size="22"><b>NEET MDS 2026</b></font><br/>' '<font color="#cce0ff" size="13">Diseases of Pulp & Periapical Tissues</font><br/>' '<font color="#ffeeaa" size="11">25 High-Yield Predicted Questions with Answers & Explanations</font>', ParagraphStyle('c', fontName='Helvetica-Bold', fontSize=22, alignment=TA_CENTER, leading=30))]] cover_table = Table(cover_bg_data, colWidths=[17*cm]) cover_table.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), DARK_BLUE), ('ALIGN', (0,0), (-1,-1), 'CENTER'), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('TOPPADDING', (0,0), (-1,-1), 40), ('BOTTOMPADDING', (0,0), (-1,-1), 40), ('LEFTPADDING', (0,0), (-1,-1), 20), ('RIGHTPADDING', (0,0), (-1,-1), 20), ('ROUNDEDCORNERS', [8,8,8,8]), ])) story.append(cover_table) story.append(Spacer(1, 14)) # Stats row stats_data = [ [ Paragraph('<b><font size="18" color="#1a3c5e">25</font></b><br/><font size="9" color="#555">Questions</font>', ParagraphStyle('s', alignment=TA_CENTER)), Paragraph('<b><font size="18" color="#1a3c5e">9+</font></b><br/><font size="9" color="#555">Sub-topics</font>', ParagraphStyle('s', alignment=TA_CENTER)), Paragraph('<b><font size="18" color="#1a3c5e">AAE</font></b><br/><font size="9" color="#555">2013 Standard</font>', ParagraphStyle('s', alignment=TA_CENTER)), Paragraph('<b><font size="18" color="#1a3c5e">✓</font></b><br/><font size="9" color="#555">Explained</font>', ParagraphStyle('s', alignment=TA_CENTER)), ] ] stats_table = Table(stats_data, colWidths=[4.25*cm]*4) stats_table.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), LIGHT_BLUE_BG), ('ALIGN', (0,0), (-1,-1), 'CENTER'), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('TOPPADDING', (0,0), (-1,-1), 10), ('BOTTOMPADDING', (0,0), (-1,-1), 10), ('LINEAFTER', (0,0), (2,0), 0.5, DIVIDER), ('ROUNDEDCORNERS', [6,6,6,6]), ])) story.append(stats_table) story.append(Spacer(1, 10)) disclaimer_style = ParagraphStyle('disc', fontName='Helvetica-Oblique', fontSize=8.5, textColor=HexColor("#777777"), alignment=TA_CENTER) story.append(Paragraph("Based on analysis of NEET MDS previous year question patterns (Endodontics: Diseases of Pulp & Periradicular Tissues = #1 topic with ~9 questions). Compiled July 2026.", disclaimer_style)) story.append(Spacer(1, 8)) story.append(HRFlowable(width="100%", thickness=1, color=DIVIDER)) story.append(Spacer(1, 8)) # ---- SECTIONS ---- sections = [ ("SECTION A: Pulpal Classification & Diagnosis", [1,2,3,11,12]), ("SECTION B: Periapical Lesions & Pathology", [6,7,9,10,14]), ("SECTION C: Clinical Scenarios & Management", [4,5,8,15,16]), ("SECTION D: Radiology & Special Topics", [17,18,23,24,25]), ("SECTION E: Anatomy, Pathophysiology & Advanced", [13,19,20,21,22]), ] q_dict = {q['num']: q for q in questions} for sec_title, q_nums in sections: # Section header sec_data = [[Paragraph(sec_title, ParagraphStyle('sh', fontName='Helvetica-Bold', fontSize=12, textColor=white, alignment=TA_CENTER))]] sec_table = Table(sec_data, colWidths=[17*cm]) sec_table.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), MID_BLUE), ('TOPPADDING', (0,0), (-1,-1), 8), ('BOTTOMPADDING', (0,0), (-1,-1), 8), ('ROUNDEDCORNERS', [4,4,4,4]), ])) story.append(sec_table) story.append(Spacer(1, 8)) for qn in q_nums: q = q_dict[qn] elements = [] # Question header bar q_header_data = [[ Paragraph(f'Q{q["num"]}', ParagraphStyle('qh', fontName='Helvetica-Bold', fontSize=11, textColor=white)), Paragraph(q['topic'], ParagraphStyle('qt', fontName='Helvetica-Bold', fontSize=9.5, textColor=HexColor("#d0e8ff"), alignment=TA_LEFT)), ]] q_header = Table(q_header_data, colWidths=[1.5*cm, 15.5*cm]) q_header.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), DARK_BLUE), ('ALIGN', (0,0), (0,0), 'CENTER'), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('TOPPADDING', (0,0), (-1,-1), 7), ('BOTTOMPADDING', (0,0), (-1,-1), 7), ('LEFTPADDING', (0,0), (0,0), 8), ('LEFTPADDING', (1,0), (1,0), 6), ('ROUNDEDCORNERS', [4,4,0,0]), ])) elements.append(q_header) # Question body q_body_data = [[Paragraph(q['q'], q_text_style)]] q_body = Table(q_body_data, colWidths=[17*cm]) q_body.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), LIGHT_BLUE_BG), ('TOPPADDING', (0,0), (-1,-1), 8), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ('LEFTPADDING', (0,0), (-1,-1), 10), ('RIGHTPADDING', (0,0), (-1,-1), 10), ])) elements.append(q_body) # Options options_elems = [] for letter, text in q['options']: is_correct = (letter == q['answer']) if is_correct: opt_text = f'<b>{letter}. {text}</b>' opt_style = correct_style bg = CORRECT_BG border_color = CORRECT_GREEN else: opt_text = f'{letter}. {text}' opt_style = option_style bg = white border_color = DIVIDER opt_data = [[Paragraph(opt_text, opt_style)]] opt_table = Table(opt_data, colWidths=[17*cm]) opt_table.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), bg), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ('LEFTPADDING', (0,0), (-1,-1), 12), ('RIGHTPADDING', (0,0), (-1,-1), 10), ('LINEBELOW', (0,0), (-1,-1), 0.3, DIVIDER), ])) options_elems.append(opt_table) for oe in options_elems: elements.append(oe) # Answer + Explanation exp_data = [ [Paragraph(f'✓ Answer: {q["correct_text"]}', ParagraphStyle('al', fontName='Helvetica-Bold', fontSize=10, textColor=CORRECT_GREEN))], [Paragraph(f'<b>Explanation:</b> {q["explanation"]}', explanation_style)], [Paragraph(f'🏷 {q["tag"]}', tag_style)], ] exp_table = Table(exp_data, colWidths=[17*cm]) exp_table.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), HIGHLIGHT_YELLOW), ('TOPPADDING', (0,0), (-1,-1), 5), ('BOTTOMPADDING', (0,0), (-1,-1), 5), ('LEFTPADDING', (0,0), (-1,-1), 10), ('RIGHTPADDING', (0,0), (-1,-1), 10), ('LINEBELOW', (0,-1), (-1,-1), 0.5, HexColor("#e0cc88")), ('ROUNDEDCORNERS', [0,0,4,4]), ])) elements.append(exp_table) elements.append(Spacer(1, 12)) story.append(KeepTogether(elements)) story.append(Spacer(1, 6)) # Footer note story.append(HRFlowable(width="100%", thickness=1, color=DIVIDER)) story.append(Spacer(1, 6)) footer_style = ParagraphStyle('foot', fontName='Helvetica-Oblique', fontSize=8.5, textColor=HexColor("#888888"), alignment=TA_CENTER) story.append(Paragraph("Orris AI · NEET MDS Endodontics 2026 · Diseases of Pulp & Periapical Tissues · 25 Predicted High-Yield Questions", footer_style)) story.append(Paragraph("Note: Questions are based on trend analysis of previous NEET MDS papers. Always verify with updated official guidelines (AAE, Grossman's Endodontics, Cohen's Pathways).", footer_style)) doc.build(story) print(f"PDF created: {output_path}") EOF
NEET MDS Pulp Periapical 25Q
PDF Document · PDF
| Section | Questions | Topics Covered |
|---|---|---|
| A | Q1-Q3, Q11-Q12 | AAE Classification, Reversible vs Irreversible Pulpitis, EPT |
| B | Q6-Q7, Q9-Q10, Q14 | Periapical granuloma, Cyst, Phoenix abscess, Condensing osteitis |
| C | Q4-Q5, Q8, Q15-Q16 | Pulp polyp, Internal resorption, Abscess management, Sinus tract |
| D | Q17-Q18, Q23-Q25 | Asymptomatic AP, PDL widening, PCOD, Trauma, Radiograph-negative SAP |
| E | Q13, Q19-Q22 | Pulp stones, Blood supply, Nerve fibers, Working length, RANKL |
Create pdf of only questions Just questions
python3 << 'EOF' from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm from reportlab.lib.colors import HexColor, white from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable from reportlab.lib.enums import TA_CENTER, TA_LEFT from reportlab.platypus import KeepTogether output_path = "/home/daytona/workspace/neet-mds-endodontics/NEET_MDS_Pulp_Periapical_Questions_Only.pdf" doc = SimpleDocTemplate( output_path, pagesize=A4, rightMargin=1.8*cm, leftMargin=1.8*cm, topMargin=2*cm, bottomMargin=2*cm ) DARK_BLUE = HexColor("#1a3c5e") MID_BLUE = HexColor("#2563a8") LIGHT_BLUE_BG = HexColor("#e8f0fb") DIVIDER = HexColor("#c8d8ea") q_text_style = ParagraphStyle( 'QText', fontSize=10.5, fontName='Helvetica-Bold', textColor=DARK_BLUE, spaceAfter=5, leading=15 ) option_style = ParagraphStyle( 'Option', fontSize=10.5, fontName='Helvetica', textColor=HexColor("#333333"), spaceBefore=2, spaceAfter=2, leftIndent=10, leading=14 ) questions = [ { "num": 1, "topic": "Classification of Pulpal Disease", "q": "According to the AAE (American Association of Endodontists) classification, which of the following is NOT a recognized pulpal diagnostic category?", "options": [("A", "Normal pulp"), ("B", "Reversible pulpitis"), ("C", "Symptomatic irreversible pulpitis"), ("D", "Chronic hyperplastic pulpitis")], }, { "num": 2, "topic": "Reversible vs Irreversible Pulpitis", "q": "A patient complains of sharp pain on cold stimulus that subsides within 5 seconds. No spontaneous pain. Radiograph shows no periapical changes. The most likely diagnosis is:", "options": [("A", "Symptomatic irreversible pulpitis"), ("B", "Reversible pulpitis"), ("C", "Asymptomatic apical periodontitis"), ("D", "Pulp necrosis")], }, { "num": 3, "topic": "Symptomatic Irreversible Pulpitis", "q": "All of the following are features of symptomatic irreversible pulpitis EXCEPT:", "options": [("A", "Lingering pain >30 seconds after cold stimulus"), ("B", "Spontaneous unprovoked pain"), ("C", "Pain aggravated by lying down"), ("D", "No response to electric pulp test")], }, { "num": 4, "topic": "Pulp Polyp", "q": "Pulp polyp (chronic hyperplastic pulpitis) is most commonly seen in:", "options": [("A", "Elderly patients with small carious cavities"), ("B", "Young patients with large open carious lesions"), ("C", "Adults with multiple root canals"), ("D", "Patients with periapical abscess")], }, { "num": 5, "topic": "Internal Root Resorption", "q": "A radiograph shows a round, oval, well-defined radiolucency within the root canal of an upper central incisor. The most likely diagnosis is:", "options": [("A", "External cervical resorption"), ("B", "Internal root resorption"), ("C", "Lateral periodontal cyst"), ("D", "Periapical granuloma")], }, { "num": 6, "topic": "Periapical Granuloma", "q": "The most common periapical lesion encountered in clinical practice is:", "options": [("A", "Periapical cyst"), ("B", "Periapical abscess"), ("C", "Periapical granuloma"), ("D", "Condensing osteitis")], }, { "num": 7, "topic": "Periapical Cyst vs Granuloma", "q": "Which of the following is the definitive method to differentiate periapical cyst from periapical granuloma?", "options": [("A", "Radiographic size (>1.5 cm = cyst)"), ("B", "Histopathological examination"), ("C", "Response to percussion"), ("D", "Electric pulp test response")], }, { "num": 8, "topic": "Acute Apical Abscess", "q": "A patient presents with a non-vital tooth, severe throbbing pain, swelling, elevated temperature, and the tooth is extremely tender to touch. The most appropriate IMMEDIATE treatment is:", "options": [("A", "Antibiotic therapy for 7 days then review"), ("B", "Incision and drainage if fluctuant + pulp space drainage"), ("C", "Extraction only"), ("D", "Occlusal reduction alone")], }, { "num": 9, "topic": "Phoenix Abscess", "q": "Phoenix abscess is defined as:", "options": [("A", "Acute exacerbation of a chronic periapical lesion"), ("B", "Abscess following trauma to a vital tooth"), ("C", "Periapical abscess in immunocompromised patients"), ("D", "Recurrent abscess after root canal treatment")], }, { "num": 10, "topic": "Condensing Osteitis", "q": "Condensing osteitis (focal sclerosing osteomyelitis) is characterized by:", "options": [("A", "Radiolucency at the apex of a vital tooth"), ("B", "Radioopacity at the apex of a tooth with pulpal disease"), ("C", "Moth-eaten radiolucency indicating bone destruction"), ("D", "Well-defined corticated radiolucency with thick walls")], }, { "num": 11, "topic": "Vitality Tests", "q": "Which pulp sensibility test is considered the most reliable for determining pulpal vitality?", "options": [("A", "Electric pulp test (EPT)"), ("B", "Cold test (Endo-Ice)"), ("C", "Laser Doppler flowmetry"), ("D", "Heat test")], }, { "num": 12, "topic": "Electric Pulp Test", "q": "Electric Pulp Test (EPT) gives FALSE NEGATIVE results in all of the following EXCEPT:", "options": [("A", "Recently traumatized teeth"), ("B", "Teeth with calcified canals"), ("C", "Irreversible pulpitis with vital pulp"), ("D", "Recently erupted immature teeth")], }, { "num": 13, "topic": "Pulp Stones / Denticles", "q": "True denticles (true pulp stones) are characterized by:", "options": [("A", "Dystrophic calcification of necrotic tissue"), ("B", "Discrete calcified masses containing dentinal tubules"), ("C", "Diffuse calcifications along blood vessels"), ("D", "Calcification of inflammatory exudate")], }, { "num": 14, "topic": "Periapical Cyst", "q": "The epithelial lining of a periapical (radicular) cyst is derived from:", "options": [("A", "Oral mucosal epithelium"), ("B", "Respiratory epithelium of maxillary sinus"), ("C", "Cell rests of Malassez"), ("D", "Reduced enamel epithelium")], }, { "num": 15, "topic": "Periapical Abscess Spread", "q": "In acute dentoalveolar abscess of the maxillary central incisor, the most common direction of spread is:", "options": [("A", "Palatal (through palatal cortex)"), ("B", "Labial (through thin labial cortex)"), ("C", "Into the nasal floor"), ("D", "Into the maxillary sinus")], }, { "num": 16, "topic": "Chronic Apical Periodontitis", "q": "A sinus tract (parulis) associated with a non-vital tooth most accurately indicates:", "options": [("A", "Acute apical abscess"), ("B", "Chronic apical abscess with draining sinus"), ("C", "Periapical granuloma without infection"), ("D", "Symptomatic irreversible pulpitis")], }, { "num": 17, "topic": "Asymptomatic Apical Periodontitis", "q": "A tooth shows a periapical radiolucency on X-ray. The patient reports no pain. The tooth does not respond to thermal or electric pulp tests. The most appropriate diagnosis is:", "options": [("A", "Symptomatic apical periodontitis"), ("B", "Asymptomatic apical periodontitis"), ("C", "Normal apical tissue"), ("D", "Reversible pulpitis")], }, { "num": 18, "topic": "Widening of PDL Space", "q": "Widening of the periodontal ligament space at the apex is the EARLIEST radiographic sign of:", "options": [("A", "Periapical granuloma"), ("B", "Periapical abscess"), ("C", "Apical periodontitis"), ("D", "Condensing osteitis")], }, { "num": 19, "topic": "Pulpal Blood Supply", "q": "The primary blood supply to the dental pulp enters through the:", "options": [("A", "Lateral accessory canals"), ("B", "Apical foramen"), ("C", "Dentinal tubules"), ("D", "Predentinal surface")], }, { "num": 20, "topic": "Pain Fibres", "q": "Which of the following best explains why periapical abscess pain is difficult to localize?", "options": [("A", "A-delta fibers mediate diffuse, poorly localized pain"), ("B", "C fibers carry sharp, well-localized pain"), ("C", "A-delta fibers carry sharp pain while C fibers carry poorly localized, throbbing pain"), ("D", "Both A-delta and C fibers respond only to cold stimuli")], }, { "num": 21, "topic": "Apical Foramen & Constriction", "q": "The apical constriction (minor diameter) of the root canal is located approximately:", "options": [("A", "At the radiographic apex"), ("B", "0.5-1.0 mm short of the radiographic apex"), ("C", "2-3 mm from the cementoenamel junction"), ("D", "At the cementodentinal junction")], }, { "num": 22, "topic": "Immunology of Periapical Disease", "q": "The principal inflammatory mediator responsible for bone resorption in periapical lesions is:", "options": [("A", "Substance P"), ("B", "RANKL (Receptor Activator of NF-kB Ligand)"), ("C", "Histamine"), ("D", "Bradykinin")], }, { "num": 23, "topic": "Periapical Cemento-Osseous Dysplasia", "q": "A 45-year-old African-American woman shows bilateral periapical radiolucencies on the mandibular anterior teeth. All teeth respond NORMALLY to vitality tests. The most likely diagnosis is:", "options": [("A", "Periapical granuloma"), ("B", "Periapical cemento-osseous dysplasia"), ("C", "Periapical cyst"), ("D", "Apical periodontitis")], }, { "num": 24, "topic": "Trauma-Related Pulp Changes", "q": "Following luxation injury to a permanent tooth, which of the following pulp responses is characterized by progressive obliteration of the canal space over months to years?", "options": [("A", "Pulp necrosis"), ("B", "Pulp canal obliteration (calcific metamorphosis)"), ("C", "Internal inflammatory root resorption"), ("D", "External root resorption")], }, { "num": 25, "topic": "Symptomatic Apical Periodontitis", "q": "A tooth shows NO periapical radiolucency on X-ray but the patient has severe pain on biting and tenderness to percussion. Pulp is non-responsive. The most appropriate diagnosis is:", "options": [("A", "Reversible pulpitis"), ("B", "Acute symptomatic apical periodontitis (early phase)"), ("C", "Condensing osteitis"), ("D", "Normal periapical tissue")], }, ] story = [] # Cover header cover_data = [[Paragraph( '<font size="20"><b>NEET MDS 2026</b></font><br/>' '<font size="12" color="#cce0ff">Diseases of Pulp & Periapical Tissues</font><br/>' '<font size="10" color="#ffeeaa">25 High-Yield Questions — Question Paper</font>', ParagraphStyle('ch', fontName='Helvetica-Bold', alignment=TA_CENTER, leading=26))]] cover_table = Table(cover_data, colWidths=[17*cm]) cover_table.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), DARK_BLUE), ('ALIGN', (0,0), (-1,-1), 'CENTER'), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('TOPPADDING', (0,0), (-1,-1), 22), ('BOTTOMPADDING', (0,0), (-1,-1), 22), ('ROUNDEDCORNERS', [8,8,8,8]), ])) story.append(cover_table) story.append(Spacer(1, 14)) story.append(HRFlowable(width="100%", thickness=1, color=DIVIDER)) story.append(Spacer(1, 8)) instr_style = ParagraphStyle('instr', fontName='Helvetica', fontSize=9, textColor=HexColor("#555555"), alignment=TA_CENTER) story.append(Paragraph("Instructions: Each question has ONE best answer. Attempt all 25 questions. Answers booklet available separately.", instr_style)) story.append(Spacer(1, 10)) for q in questions: elements = [] # Q header q_header_data = [[ Paragraph(f'Q{q["num"]}', ParagraphStyle('qh', fontName='Helvetica-Bold', fontSize=11, textColor=white)), Paragraph(q['topic'], ParagraphStyle('qt', fontName='Helvetica', fontSize=9, textColor=HexColor("#cce0ff"), alignment=TA_LEFT)), ]] q_header = Table(q_header_data, colWidths=[1.5*cm, 15.5*cm]) q_header.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), DARK_BLUE), ('ALIGN', (0,0), (0,0), 'CENTER'), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('TOPPADDING', (0,0), (-1,-1), 6), ('BOTTOMPADDING', (0,0), (-1,-1), 6), ('LEFTPADDING', (0,0), (0,0), 8), ('LEFTPADDING', (1,0), (1,0), 6), ('ROUNDEDCORNERS', [4,4,0,0]), ])) elements.append(q_header) # Question text q_body_data = [[Paragraph(q['q'], q_text_style)]] q_body = Table(q_body_data, colWidths=[17*cm]) q_body.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), LIGHT_BLUE_BG), ('TOPPADDING', (0,0), (-1,-1), 8), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ('LEFTPADDING', (0,0), (-1,-1), 10), ('RIGHTPADDING', (0,0), (-1,-1), 10), ])) elements.append(q_body) # Options for letter, text in q['options']: opt_data = [[Paragraph(f'{letter}. {text}', option_style)]] opt_table = Table(opt_data, colWidths=[17*cm]) opt_table.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), white), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ('LEFTPADDING', (0,0), (-1,-1), 14), ('RIGHTPADDING', (0,0), (-1,-1), 10), ('LINEBELOW', (0,0), (-1,-1), 0.3, DIVIDER), ])) elements.append(opt_table) # Answer blank line ans_data = [[Paragraph('My Answer: _______', ParagraphStyle('ab', fontName='Helvetica', fontSize=9, textColor=HexColor("#888888")))]] ans_table = Table(ans_data, colWidths=[17*cm]) ans_table.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), HexColor("#fafafa")), ('TOPPADDING', (0,0), (-1,-1), 5), ('BOTTOMPADDING', (0,0), (-1,-1), 5), ('LEFTPADDING', (0,0), (-1,-1), 14), ('ROUNDEDCORNERS', [0,0,4,4]), ])) elements.append(ans_table) elements.append(Spacer(1, 10)) story.append(KeepTogether(elements)) # Footer story.append(HRFlowable(width="100%", thickness=1, color=DIVIDER)) story.append(Spacer(1, 4)) foot_style = ParagraphStyle('foot', fontName='Helvetica-Oblique', fontSize=8, textColor=HexColor("#999999"), alignment=TA_CENTER) story.append(Paragraph("Orris AI · NEET MDS 2026 · Endodontics: Diseases of Pulp & Periapical Tissues · Question Paper Only", foot_style)) doc.build(story) print("Done:", output_path) EOF
NEET MDS Pulp Periapical Questions Only
PDF Document · PDF