Topic: 3D Interactive Model of Kshara Sutra Therapy with Clinical Correlation Title "Interactive 3D Kshara Sutra Model: Anatomy of the Anal Canal and Clinical Correlation of Bhagandara (Fistula-in-Ano)" Aim To develop a book-style, layered 3D model demonstrating the anatomy of the anal canal, the fistulous tract, and the application of Kshara Sutra therapy for the management of Bhagandara (Fistula-in-Ano). Objectives To understand the anatomy of the anal canal and perianal region. To demonstrate the formation and course of a fistulous tract. To explain the preparation and application of Kshara Sutra. To illustrate the mechanism of cutting, curetting, and healing produced by Kshara Sutra. To correlate Ayurvedic principles with modern surgical management of fistula-in-ano. Concept of the Model The model will open like a book, with each page representing one anatomical layer. As each layer is lifted, the deeper structures become visible. The final layer will demonstrate the fistulous tract with Kshara Sutra placed through it. Layer 1 – Skin Perianal skin Gluteal folds External opening of fistula Layer 2 – Superficial Fascia Superficial fascia Ischioanal fat Superficial blood vessels Layer 3 – Muscular Layer External anal sphincter Internal anal sphincter Levator ani muscle Layer 4 – Anal Canal Anal canal Dentate line Anal columns Internal opening of fistula Layer 5 – Fistulous Tract Primary fistulous tract Secondary tract (if present) Abscess cavity Kshara Sutra placed through the tract Materials Required Foam sheets (different colours) EVA foam Cardboard/MDF base Transparent plastic sheet Flexible coloured pipes or IV tubing (blood vessels) Cotton thread coated as Kshara Sutra Clay or modelling putty Velcro or magnets Hinges (for book opening) Acrylic colours Labels Special Features 1. Layer-by-Layer Book Design Each anatomical layer can be lifted separately to visualize deeper structures. 2. Interactive Kshara Sutra Demonstration A removable Kshara Sutra thread will pass through the fistulous tract, allowing demonstration of its placement and weekly replacement. 3. Fistula Demonstration Use coloured silicone tubes or flexible pipes to represent the fistulous tract. Demonstrate: Low anal fistula High anal fistula Internal opening External opening Course of the fistulous tract 4. Healing Mechanism Demonstration Provide a removable flap to demonstrate: Placement of Kshara Sutra Cutting through unhealthy tissue Simultaneous healing by fibrosis Preservation of anal sphincters Clinical Correlation Bhagandara (Fistula-in-Ano) Perianal abscess Recurrent fistula Kshara Sutra therapy Fistulectomy and Fistulotomy (comparison) Importance of sphincter preservation Educational Advantages Easy visualization of anal canal anatomy. Interactive understanding of Kshara Sutra therapy. Better understanding of Ayurvedic parasurgical procedures. Correlates anatomy with clinical cases. Suitable for undergraduate Ayurveda (Shalya Tantra) demonstrations and exhibitions. Expected Outcome The completed project will function as a reusable educational model that enables students to understand the anatomy of the anal canal, appreciate the formation of fistulous tracts, and recognize the scientific principles and clinical application of Kshara Sutra therapy in the management of Bhagandara. Through an engaging, hands-on learning experience, the model will enhance understanding of both Ayurvedic and modern surgical concepts. Prompt:- follow this pattern as my topic is *Kshara Sutra Changing* and make it into doc form, follow the write method of the making the data
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"
mkdir -p /tmp/workspace/kshara-sutra-project && echo "directory ready"
~/kshara-sutra-project/build_doc.py
from docx import Document
from docx.shared import Pt, Inches, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
doc = Document()
# ── Page setup (A4) ──────────────────────────────────────────────────────────
section = doc.sections[0]
section.page_width = Inches(8.27)
section.page_height = Inches(11.69)
section.top_margin = section.bottom_margin = Inches(1)
section.left_margin = section.right_margin = Inches(1.1)
# ── Style helpers ────────────────────────────────────────────────────────────
normal = doc.styles["Normal"]
normal.font.name = "Times New Roman"
normal.font.size = Pt(12)
h1 = doc.styles["Heading 1"]
h1.font.name = "Times New Roman"; h1.font.size = Pt(16)
h1.font.bold = True; h1.font.color.rgb = RGBColor(0x00, 0x00, 0x00)
h2 = doc.styles["Heading 2"]
h2.font.name = "Times New Roman"; h2.font.size = Pt(14)
h2.font.bold = True; h2.font.color.rgb = RGBColor(0x00, 0x00, 0x00)
h3 = doc.styles["Heading 3"]
h3.font.name = "Times New Roman"; h3.font.size = Pt(12)
h3.font.bold = True; h3.font.color.rgb = RGBColor(0x00, 0x00, 0x00)
def centered_para(text, bold=False, size=12, space_before=0, space_after=6):
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
p.paragraph_format.space_before = Pt(space_before)
p.paragraph_format.space_after = Pt(space_after)
run = p.add_run(text)
run.bold = bold
run.font.name = "Times New Roman"
run.font.size = Pt(size)
return p
def body_para(text, bold=False, italic=False, size=12, space_after=4):
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY
p.paragraph_format.space_after = Pt(space_after)
run = p.add_run(text)
run.bold = bold
run.italic = italic
run.font.name = "Times New Roman"
run.font.size = Pt(size)
return p
def add_bullet(text, level=1, size=12):
style_name = "List Bullet" if level == 1 else f"List Bullet {level}"
p = doc.add_paragraph(style=style_name)
p.paragraph_format.space_after = Pt(3)
run = p.add_run(text)
run.font.name = "Times New Roman"
run.font.size = Pt(size)
return p
def add_numbered(text, level=1, size=12):
style_name = "List Number" if level == 1 else f"List Number {level}"
p = doc.add_paragraph(style=style_name)
p.paragraph_format.space_after = Pt(3)
run = p.add_run(text)
run.font.name = "Times New Roman"
run.font.size = Pt(size)
return p
def section_heading(text, level=1):
h = doc.add_heading(text, level=level)
h.alignment = WD_ALIGN_PARAGRAPH.LEFT
h.paragraph_format.space_before = Pt(10)
h.paragraph_format.space_after = Pt(4)
for run in h.runs:
run.font.name = "Times New Roman"
return h
def add_horizontal_rule():
p = doc.add_paragraph()
p.paragraph_format.space_before = Pt(2)
p.paragraph_format.space_after = Pt(2)
pPr = p._p.get_or_add_pPr()
pBdr = OxmlElement("w:pBdr")
bottom = OxmlElement("w:bottom")
bottom.set(qn("w:val"), "single")
bottom.set(qn("w:sz"), "6")
bottom.set(qn("w:space"), "1")
bottom.set(qn("w:color"), "000000")
pBdr.append(bottom)
pPr.append(pBdr)
# ════════════════════════════════════════════════════════════════════════════
# TITLE PAGE
# ════════════════════════════════════════════════════════════════════════════
centered_para("3D INTERACTIVE MODEL OF KSHARA SUTRA THERAPY", bold=True, size=16, space_before=24, space_after=6)
centered_para("WITH CLINICAL CORRELATION", bold=True, size=16, space_after=20)
add_horizontal_rule()
centered_para("Topic", bold=True, size=13, space_before=14, space_after=4)
centered_para("3D Interactive Model of Kshara Sutra Changing", bold=False, size=13, space_after=20)
add_horizontal_rule()
centered_para(
"\"Interactive 3D Kshara Sutra Model: Procedure of Kshara Sutra Changing\n"
"in the Management of Bhagandara (Fistula-in-Ano)\"",
bold=True, size=14, space_before=10, space_after=20
)
add_horizontal_rule()
centered_para("Subject: Shalya Tantra", bold=False, size=12, space_before=10, space_after=4)
centered_para("Department of Shalya Tantra", bold=False, size=12, space_after=4)
centered_para("Ayurveda College", bold=False, size=12, space_after=40)
centered_para("Academic Year: 2025–26", bold=False, size=12, space_after=0)
doc.add_page_break()
# ════════════════════════════════════════════════════════════════════════════
# SECTION 1 – AIM
# ════════════════════════════════════════════════════════════════════════════
section_heading("Aim", level=1)
body_para(
"To develop a book-style, layered 3D interactive model demonstrating the step-by-step "
"procedure of Kshara Sutra changing (weekly thread replacement) in the management of "
"Bhagandara (Fistula-in-Ano), correlating Ayurvedic parasurgical principles with modern "
"anorectal surgical practice."
)
# ════════════════════════════════════════════════════════════════════════════
# SECTION 2 – OBJECTIVES
# ════════════════════════════════════════════════════════════════════════════
section_heading("Objectives", level=1)
add_numbered("To understand the anatomy of the anal canal and perianal region relevant to Kshara Sutra changing.")
add_numbered("To demonstrate the position of the existing Kshara Sutra within the fistulous tract before changing.")
add_numbered("To explain the step-by-step technique of removing the old Kshara Sutra and replacing it with a fresh one.")
add_numbered("To illustrate the gradual cutting (Chhedikarma), curetting (Lekhana), and simultaneous healing (Ropana) produced after each weekly change.")
add_numbered("To demonstrate the assessment of the unit cutting rate and the expected duration of treatment.")
add_numbered("To correlate the Ayurvedic principle of Kshara Sutra with modern concepts of slow-cutting seton therapy.")
# ════════════════════════════════════════════════════════════════════════════
# SECTION 3 – CONCEPT OF THE MODEL
# ════════════════════════════════════════════════════════════════════════════
section_heading("Concept of the Model", level=1)
body_para(
"The model opens like a book, with each page representing one anatomical or procedural layer. "
"As each layer is lifted, deeper structures and successive stages of the Kshara Sutra changing "
"procedure become visible. The final layer demonstrates the fresh Kshara Sutra placed and tied "
"in position after removal of the old thread, simulating one complete weekly session."
)
# ── Layers ──
section_heading("Layer 1 – Perianal Surface (Procedural Starting Point)", level=2)
add_bullet("Perianal skin and gluteal folds")
add_bullet("External opening of the fistula with surrounding induration")
add_bullet("Previously tied Kshara Sutra visible externally (protruding loop)")
add_bullet("Artery forceps / probe depicted for initial identification")
section_heading("Layer 2 – Superficial Fascia and Ischioanal Space", level=2)
add_bullet("Superficial fascia")
add_bullet("Ischioanal fat pad")
add_bullet("Superficial perianal blood vessels")
add_bullet("Tract wall showing previous cutting and early fibrosis")
section_heading("Layer 3 – Muscular Layer", level=2)
add_bullet("External anal sphincter (EAS)")
add_bullet("Internal anal sphincter (IAS)")
add_bullet("Levator ani muscle")
add_bullet("Degree of sphincter involvement by the fistulous tract (intersphincteric / transsphincteric)")
section_heading("Layer 4 – Anal Canal with Internal Opening", level=2)
add_bullet("Anal canal")
add_bullet("Dentate line and anal columns")
add_bullet("Internal opening of the fistula at the dentate line")
add_bullet("Old Kshara Sutra looped through the full tract, tied externally")
section_heading("Layer 5 – Kshara Sutra Changing Procedure", level=2)
add_bullet("Step 1: Old Kshara Sutra identified, cut, and removed using a probe / Enema syringe flush if needed")
add_bullet("Step 2: Measurement of residual tract length before insertion of new thread")
add_bullet("Step 3: Fresh Kshara Sutra threaded onto a malleable probe")
add_bullet("Step 4: Probe introduced through the external opening, guided along the tract, and retrieved through the internal opening")
add_bullet("Step 5: New Kshara Sutra pulled through and tied without tension (Laghu-Granthana / loose-tie principle)")
add_bullet("Step 6: Dressing applied; next change scheduled after 7 days")
add_bullet("Demonstrated change in tract wall – cutting edge advanced, healed fibrotic band trailing")
# ════════════════════════════════════════════════════════════════════════════
# SECTION 4 – MATERIALS REQUIRED
# ════════════════════════════════════════════════════════════════════════════
section_heading("Materials Required", level=1)
# Table of materials
table = doc.add_table(rows=1, cols=3)
table.style = "Table Grid"
from docx.enum.table import WD_TABLE_ALIGNMENT
table.alignment = WD_TABLE_ALIGNMENT.CENTER
hdr_cells = table.rows[0].cells
for cell, text in zip(hdr_cells, ["S. No.", "Material", "Purpose / Representation"]):
cell.text = text
for run in cell.paragraphs[0].runs:
run.bold = True
run.font.name = "Times New Roman"
run.font.size = Pt(11)
materials = [
("1", "Foam sheets (multi-colour)", "Different anatomical layers (skin, fat, muscle, mucosa)"),
("2", "EVA foam", "Soft, flexible layer for sphincter muscles"),
("3", "Cardboard / MDF base", "Rigid base and book-spine hinge"),
("4", "Transparent plastic sheet", "Anal canal mucosa and tract wall visibility"),
("5", "Flexible coloured pipes / IV tubing", "Blood vessels and fistulous tract"),
("6", "Cotton thread coated with turmeric + lime paste", "Old Kshara Sutra in situ"),
("7", "Fresh cotton thread with black coating", "New Kshara Sutra to be inserted"),
("8", "Malleable silver / aluminium wire", "Probe used for threading Kshara Sutra"),
("9", "Clay / modelling putty", "Tract wall induration, abscess cavity"),
("10", "Velcro / magnets", "Layer attachment for book-opening design"),
("11", "Hinges (book-style)", "Layer-by-layer opening mechanism"),
("12", "Acrylic colours", "Colour coding of anatomy and healing stages"),
("13", "Labels and colour-coded tags", "Identification of structures and steps"),
("14", "Small forceps / probe (real or model)", "Demonstration of procedural instruments"),
]
for row_data in materials:
row = table.add_row().cells
for cell, text in zip(row, row_data):
cell.text = text
for run in cell.paragraphs[0].runs:
run.font.name = "Times New Roman"
run.font.size = Pt(11)
doc.add_paragraph() # spacing after table
# ════════════════════════════════════════════════════════════════════════════
# SECTION 5 – SPECIAL FEATURES
# ════════════════════════════════════════════════════════════════════════════
section_heading("Special Features", level=1)
section_heading("1. Layer-by-Layer Book Design", level=2)
body_para(
"Each anatomical or procedural layer can be individually lifted, revealing progressively "
"deeper structures and the next stage of the Kshara Sutra changing procedure."
)
section_heading("2. Dual-Thread Interactive Design", level=2)
add_bullet("Old Kshara Sutra (colour-coded: yellow-brown, representing the medicated thread after one week of action) is removable from the tract slot.")
add_bullet("New Kshara Sutra (colour-coded: black-green) can be re-inserted through the tract slot using the model probe, simulating the actual clinical procedure.")
add_bullet("The tie / knot can be re-enacted by students to understand Laghu-Granthana (loose tying technique).")
section_heading("3. Tract Wall Cutting & Healing Demonstration", level=2)
add_bullet("A removable flap on the tract wall shows: Week 0 (intact tract), Week 1 (shallow groove cut by Kshara), Week 2–3 (deepening cut with lateral fibrosis), Week 4+ (near-complete division with fibrotic bridge formation).")
add_bullet("The advancing cutting edge and the trailing healed margin are colour differentiated.")
section_heading("4. Unit Cutting Rate Scale", level=2)
add_bullet("A calibrated ruler strip on the model indicates the unit cutting rate (UCR): approximately 0.5–1 cm per week depending on the composition of the Kshara Sutra.")
add_bullet("Students can calculate approximate total duration of therapy = tract length (cm) ÷ UCR (cm/week).")
section_heading("5. Sphincter Preservation Indicator", level=2)
add_bullet("Sphincter muscle layers are marked with a colour-coded safety indicator that remains intact throughout all changing stages, visually demonstrating the sphincter-preserving nature of Kshara Sutra compared to conventional fistulotomy.")
section_heading("6. Fistula Type Toggle", level=2)
add_bullet("The model accommodates two interchangeable tract inserts: (a) Intersphincteric fistula tract and (b) Transsphincteric fistula tract.")
add_bullet("Students can swap inserts to understand how sphincter involvement affects the Kshara Sutra changing technique and duration.")
# ════════════════════════════════════════════════════════════════════════════
# SECTION 6 – STEP-BY-STEP PROCEDURE DEMONSTRATED BY THE MODEL
# ════════════════════════════════════════════════════════════════════════════
section_heading("Step-by-Step Kshara Sutra Changing Procedure Demonstrated by the Model", level=1)
steps = [
("Step 1 – Patient Preparation",
["Patient positioned in lithotomy position (demonstrated by posture indicator on base)",
"Perianal area cleaned with antiseptic solution",
"External opening and protruding Kshara Sutra thread identified"]),
("Step 2 – Identification of Old Kshara Sutra",
["Old Kshara Sutra thread identified at the external opening",
"Artery forceps applied to the protruding end",
"Gentle traction applied to confirm the thread is mobile within the tract"]),
("Step 3 – Removal of Old Kshara Sutra",
["Old Kshara Sutra cut close to the knot",
"Thread pulled out through the external opening in a smooth, continuous motion",
"Residual tract length measured with a probe (recorded for UCR calculation)"]),
("Step 4 – Tract Assessment",
["Malleable probe gently introduced to assess tract integrity, direction, and depth",
"Discharge noted: minimal serous discharge indicates healthy granulation; purulent discharge suggests secondary infection"]),
("Step 5 – Preparation of New Kshara Sutra",
["Fresh Kshara Sutra (prepared by coating surgical thread with Apamarga Kshara, Haridra, and Snuhi latex – 21 coatings)",
"Thread attached to the eye of the malleable probe",
"Thread end folded and looped for secure attachment"]),
("Step 6 – Insertion of New Kshara Sutra",
["Probe introduced through the external opening",
"Guided along the fistulous tract following its established course",
"Probe tip retrieved through the internal opening at the dentate line using index finger guidance"]),
("Step 7 – Threading and Tying",
["New Kshara Sutra pulled through the entire tract",
"Both ends of the thread brought together externally",
"Thread tied using the Laghu-Granthana technique (loose tie – neither too tight nor too slack)",
"Excess thread trimmed; thread end tucked or taped to prevent dislodgement"]),
("Step 8 – Post-Change Dressing and Instructions",
["Sitz bath advised (warm water with Triphala Kwatha or saline)",
"Dietary advice: avoid constipation-causing foods; increase fibre and fluid intake",
"Anupana: Triphala Churna at bedtime",
"Next Kshara Sutra change scheduled after 7 days"]),
]
for title, bullets in steps:
section_heading(title, level=2)
for b in bullets:
add_bullet(b)
# ════════════════════════════════════════════════════════════════════════════
# SECTION 7 – CLINICAL CORRELATION
# ════════════════════════════════════════════════════════════════════════════
section_heading("Clinical Correlation", level=1)
# Sub-table for comparison
section_heading("Kshara Sutra Therapy vs. Conventional Surgical Methods", level=2)
comp_table = doc.add_table(rows=1, cols=4)
comp_table.style = "Table Grid"
comp_table.alignment = WD_TABLE_ALIGNMENT.CENTER
hdr = comp_table.rows[0].cells
for cell, text in zip(hdr, ["Parameter", "Kshara Sutra", "Fistulotomy", "Fistulectomy"]):
cell.text = text
for run in cell.paragraphs[0].runs:
run.bold = True
run.font.name = "Times New Roman"
run.font.size = Pt(10)
comparison_rows = [
("Anaesthesia required", "No / Local", "Spinal / GA", "Spinal / GA"),
("OPD / IPD", "OPD procedure", "IPD", "IPD"),
("Sphincter preservation", "Complete", "Partial risk", "Partial risk"),
("Recurrence rate", "Low (< 5%)", "Low to moderate", "Moderate"),
("Duration of treatment", "6–8 weeks avg.", "1–2 weeks healing", "2–3 weeks healing"),
("Simultaneous healing", "Yes (active)", "Post-op healing", "Post-op healing"),
("Blood loss", "Negligible", "Moderate", "Significant"),
("Cost-effectiveness", "High", "Moderate", "Low"),
("Ayurvedic principle", "Kshara + Sutra = chemical + mechanical", "Not applicable", "Not applicable"),
]
for row_data in comparison_rows:
row = comp_table.add_row().cells
for cell, text in zip(row, row_data):
cell.text = text
for run in cell.paragraphs[0].runs:
run.font.name = "Times New Roman"
run.font.size = Pt(10)
doc.add_paragraph()
section_heading("Bhagandara – Ayurvedic Classification Correlated with Modern Types", level=2)
add_bullet("Shataponaka Bhagandara → Intersphincteric fistula-in-ano")
add_bullet("Ushtragreeva Bhagandara → Horseshoe / High transsphincteric fistula")
add_bullet("Parisravi Bhagandara → Multiple external openings / complex fistula")
add_bullet("Shambukavarta Bhagandara → Spiral / circumferential fistula")
add_bullet("Unmargi Bhagandara → Fistula with unusual / aberrant course")
section_heading("Indications and Contraindications for Kshara Sutra Changing", level=2)
body_para("Indications:", bold=True)
add_bullet("Low anal fistula (intersphincteric, low transsphincteric)")
add_bullet("High anal fistula (suprasphincteric) – where fistulotomy risks sphincter damage")
add_bullet("Recurrent fistula after previous surgery")
add_bullet("Patients unfit for spinal / general anaesthesia")
add_bullet("Patients preferring Ayurvedic / minimally invasive management")
body_para("Contraindications:", bold=True)
add_bullet("Active perianal sepsis with large abscess (requires drainage first)")
add_bullet("Crohn's disease-associated fistula (relative)")
add_bullet("Malignant fistula")
add_bullet("Immunocompromised patients with uncontrolled comorbidities")
section_heading("Ayurvedic Pharmacological Properties of Kshara Sutra Components", level=2)
add_bullet("Snuhi (Euphorbia neriifolia) latex – Chedana (cutting), Lekhana (scraping), Pachana (digestive)")
add_bullet("Apamarga Kshara (Achyranthes aspera ash) – Kshara karma: chemical cauterisation, antimicrobial, wound-cleansing")
add_bullet("Haridra (Curcuma longa) – Shodhana (purifying), anti-inflammatory, antimicrobial (curcumin)")
add_bullet("Together: simultaneous cutting, wound-cleansing, and healing – the Tridosha-balancing action in wound management")
# ════════════════════════════════════════════════════════════════════════════
# SECTION 8 – EDUCATIONAL ADVANTAGES
# ════════════════════════════════════════════════════════════════════════════
section_heading("Educational Advantages", level=1)
add_numbered("Easy, hands-on visualization of the Kshara Sutra changing procedure without the need for a patient or clinical setting.")
add_numbered("Interactive understanding of the anatomical landmarks relevant to safe thread changing.")
add_numbered("Demonstrates the distinction between old (spent) and new Kshara Sutra – their appearance, pharmacological coating, and thread condition after one week.")
add_numbered("The cutting rate scale helps students calculate treatment duration for a given fistula tract.")
add_numbered("The sphincter safety indicator reinforces the key advantage of Kshara Sutra over conventional fistulotomy.")
add_numbered("Suitable for undergraduate Ayurveda (Shalya Tantra) demonstrations, clinical skill labs, conferences, and exhibitions.")
add_numbered("Promotes integration of Ayurvedic parasurgical knowledge with evidence-based modern surgical correlation.")
# ════════════════════════════════════════════════════════════════════════════
# SECTION 9 – EXPECTED OUTCOME
# ════════════════════════════════════════════════════════════════════════════
section_heading("Expected Outcome", level=1)
body_para(
"The completed 3D interactive model will function as a reusable educational tool that enables "
"students of Shalya Tantra to confidently understand and demonstrate the Kshara Sutra changing "
"procedure. By physically simulating each step – from removal of the spent thread to insertion "
"and tying of the fresh Kshara Sutra – the model bridges the gap between theoretical knowledge "
"and practical clinical skill. Students will be able to appreciate the progressive healing "
"mechanism, understand the unit cutting rate concept, and recognize the sphincter-preserving "
"superiority of Kshara Sutra therapy over conventional surgical options. The model will also "
"serve as an effective exhibit at academic events and seminars, showcasing the scientific "
"rationale of Ayurvedic parasurgery in contemporary anorectal care."
)
# ════════════════════════════════════════════════════════════════════════════
# SECTION 10 – REFERENCES
# ════════════════════════════════════════════════════════════════════════════
section_heading("References", level=1)
refs = [
"Sushruta Samhita – Nidanasthana, Chapter 4 (Bhagandara Nidana); Chikitsasthana, Chapter 17 (Bhagandara Chikitsa). Edited by Vaidya Jadavaji Trikamji Acharya. Chaukhamba Sanskrit Pratishthan, Varanasi.",
"Acharya YT (Ed.). Sushruta Samhita with Nibandhasangraha commentary of Dalhana. Chaukhamba Sanskrit Pratishthan, Varanasi; 2014.",
"Singh K, Sharma JD, Gupta V. Kshara Sutra therapy in fistula-in-ano: A clinical study. Journal of Research in Ayurveda and Siddha. 1993;14(3-4):109-117.",
"Deshpande PJ, Sharma KR. Treatment of fistula-in-ano by a new technique. Review and follow-up of 200 cases. Am J Proctol. 1976;27(2):41-7.",
"Aggarwal SK, Kumar S, Pitalia AK. Kshara Sutra treatment of fistula-in-ano – a prospective study. J Indian Med Assoc. 1999;97(9):361-363.",
"Indian Council of Medical Research (ICMR). Multicentric study on Kshara Sutra treatment for fistula-in-ano. New Delhi: ICMR; 1996.",
"Williams NS, Bulstrode CJK, O'Connell PR (Eds.). Bailey & Love's Short Practice of Surgery. 26th edition. CRC Press; 2013. Chapter on Anus and Anal Canal.",
"Corman ML. Colon and Rectal Surgery. 5th edition. Lippincott Williams & Wilkins; 2005.",
"Parks AG, Gordon PH, Hardcastle JD. A classification of fistula-in-ano. Br J Surg. 1976;63(1):1-12.",
"Raveenthiran V. Knowledge of Sushruta on Fistula-in-Ano (Bhagandara). Indian J Surg. 2011;73(2):97-101.",
]
for i, ref in enumerate(refs, 1):
p = doc.add_paragraph(style="List Number")
p.paragraph_format.space_after = Pt(4)
run = p.add_run(ref)
run.font.name = "Times New Roman"
run.font.size = Pt(11)
# ════════════════════════════════════════════════════════════════════════════
# SAVE
# ════════════════════════════════════════════════════════════════════════════
output_path = "/tmp/workspace/kshara-sutra-project/Kshara_Sutra_Changing_3D_Model.docx"
doc.save(output_path)
print(f"Document saved: {output_path}")
cd /tmp/workspace/kshara-sutra-project && python3 build_doc.py
python3 -c " from docx import Document doc = Document('/tmp/workspace/kshara-sutra-project/Kshara_Sutra_Changing_3D_Model.docx') headings = [p.text for p in doc.paragraphs if p.style.name.startswith('Heading')] print('Headings found:', len(headings)) for h in headings: print(' -', h) print() print('Total paragraphs:', len(doc.paragraphs)) tables = doc.tables print('Tables:', len(tables)) for i, t in enumerate(tables): print(f' Table {i+1}: {len(t.rows)} rows x {len(t.columns)} cols') "
Kshara Sutra Changing 3D Model
Word Document · DOCX
| Layer | What it shows |
|---|---|
| Layer 1 | Perianal surface - external opening, old thread protruding |
| Layer 2 | Superficial fascia, ischioanal fat, early fibrosis in tract wall |
| Layer 3 | EAS, IAS, Levator ani, sphincter involvement |
| Layer 4 | Anal canal, dentate line, internal opening, old Kshara Sutra in situ |
| Layer 5 | All 6 steps of the Kshara Sutra changing procedure |
Uhmm so you have done great work but there's some changes, now got to first this link https://youtu.be/OrtoOWrlkh0?si=75SAXtVFHwZxSO9x. And then follow the formate of the PDF I'm attaching, the topic is same *Kshara Sutra Changing* and let make it in the doc form
Kshara Sutra changing procedure fistula-in-ano weekly thread replacement technique
python3 -c " import pdfplumber with pdfplumber.open('/tmp/workspace/attachments/5eb2a961-6f96-4ce5-b8d2-3fdbb9aecf7f/Marma Model.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() print(f'--- PAGE {i+1} ---') print(text) print() "
~/kshara-sutra-project/build_ksc_doc.py
from docx import Document
from docx.shared import Pt, Inches, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
doc = Document()
# ── Page setup (A4) ──────────────────────────────────────────────────────────
section = doc.sections[0]
section.page_width = Inches(8.27)
section.page_height = Inches(11.69)
section.top_margin = Inches(1)
section.bottom_margin = Inches(1)
section.left_margin = Inches(1.1)
section.right_margin = Inches(1.1)
# ── Global styles ─────────────────────────────────────────────────────────────
normal = doc.styles["Normal"]
normal.font.name = "Times New Roman"
normal.font.size = Pt(12)
for lvl, sz in [(1, 14), (2, 13), (3, 12)]:
h = doc.styles[f"Heading {lvl}"]
h.font.name = "Times New Roman"
h.font.size = Pt(sz)
h.font.bold = True
h.font.color.rgb = RGBColor(0, 0, 0)
h.paragraph_format.space_before = Pt(10)
h.paragraph_format.space_after = Pt(4)
# ── Helper functions ──────────────────────────────────────────────────────────
def cpara(text, bold=False, size=12, before=0, after=6, italic=False):
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
p.paragraph_format.space_before = Pt(before)
p.paragraph_format.space_after = Pt(after)
r = p.add_run(text)
r.bold = bold
r.italic = italic
r.font.name = "Times New Roman"
r.font.size = Pt(size)
return p
def jpara(text, bold=False, italic=False, size=12, after=5):
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY
p.paragraph_format.space_after = Pt(after)
r = p.add_run(text)
r.bold = bold
r.italic = italic
r.font.name = "Times New Roman"
r.font.size = Pt(size)
return p
def bullet(text, level=1, bold=False, size=12):
style = "List Bullet" if level == 1 else f"List Bullet {level}"
p = doc.add_paragraph(style=style)
p.paragraph_format.space_after = Pt(3)
r = p.add_run(text)
r.bold = bold
r.font.name = "Times New Roman"
r.font.size = Pt(size)
return p
def star_bullet(text, size=12):
"""Mimics ★ bullet from PDF (using unicode star)"""
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.LEFT
p.paragraph_format.space_after = Pt(3)
p.paragraph_format.left_indent = Inches(0.25)
r = p.add_run(f"\u2605 {text}")
r.font.name = "Times New Roman"
r.font.size = Pt(size)
return p
def arrow_bullet(text, size=12):
"""Mimics ➔ bullet from PDF"""
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.LEFT
p.paragraph_format.space_after = Pt(3)
p.paragraph_format.left_indent = Inches(0.25)
r = p.add_run(f"\u2794 {text}")
r.font.name = "Times New Roman"
r.font.size = Pt(size)
return p
def diamond_bullet(text, size=12):
"""Mimics ❖ bullet from PDF"""
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.LEFT
p.paragraph_format.space_after = Pt(3)
p.paragraph_format.left_indent = Inches(0.25)
r = p.add_run(f"\u2756 {text}")
r.font.name = "Times New Roman"
r.font.size = Pt(size)
return p
def circle_bullet(text, bold_prefix=None, size=12):
"""Mimics ● bullet from PDF"""
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.LEFT
p.paragraph_format.space_after = Pt(3)
p.paragraph_format.left_indent = Inches(0.3)
if bold_prefix:
rb = p.add_run(f"\u25cf {bold_prefix}")
rb.bold = True
rb.font.name = "Times New Roman"
rb.font.size = Pt(size)
r2 = p.add_run(text)
r2.font.name = "Times New Roman"
r2.font.size = Pt(size)
else:
r = p.add_run(f"\u25cf {text}")
r.font.name = "Times New Roman"
r.font.size = Pt(size)
return p
def heading(text, level=1):
h = doc.add_heading(text, level=level)
h.alignment = WD_ALIGN_PARAGRAPH.LEFT
for run in h.runs:
run.font.name = "Times New Roman"
return h
def hr():
p = doc.add_paragraph()
p.paragraph_format.space_before = Pt(2)
p.paragraph_format.space_after = Pt(2)
pPr = p._p.get_or_add_pPr()
pBdr = OxmlElement("w:pBdr")
bot = OxmlElement("w:bottom")
bot.set(qn("w:val"), "single")
bot.set(qn("w:sz"), "6")
bot.set(qn("w:space"), "1")
bot.set(qn("w:color"), "000000")
pBdr.append(bot)
pPr.append(pBdr)
def spacer(pts=6):
p = doc.add_paragraph()
p.paragraph_format.space_after = Pt(pts)
# ═══════════════════════════════════════════════════════════════════════════════
# HEADER BLOCK (mirrors "SUMANDEEP AYURVED MEDICAL COLLEGE AND HOSPITAL")
# ═══════════════════════════════════════════════════════════════════════════════
cpara("SUMANDEEP AYURVED MEDICAL COLLEGE AND HOSPITAL",
bold=True, size=14, before=0, after=2)
hr()
cpara("KSHARA SUTRA CHANGING", bold=True, size=15, before=6, after=2)
cpara("Model Making of Kshara Sutra Changing – Procedural Demonstration Model",
bold=False, size=12, before=0, after=6)
hr()
spacer(4)
# Roll numbers / department block (matching PDF style)
def info_line(label, value):
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
p.paragraph_format.space_after = Pt(2)
rb = p.add_run(f"{label}: ")
rb.bold = True
rb.font.name = "Times New Roman"
rb.font.size = Pt(12)
rv = p.add_run(value)
rv.font.name = "Times New Roman"
rv.font.size = Pt(12)
info_line("Roll No.", "[To be filled by students]")
info_line("Department", "Shalya Tantra")
info_line("Course", "Bachelor of Ayurvedic Medicine and Surgery (BAMS)")
spacer(8)
hr()
# ═══════════════════════════════════════════════════════════════════════════════
# INTRODUCTION
# ═══════════════════════════════════════════════════════════════════════════════
heading("Introduction", level=1)
jpara(
"Kshara Sutra is a time-tested Ayurvedic parasurgical procedure described in the "
"Sushruta Samhita for the management of Bhagandara (Fistula-in-Ano), Arsha (Haemorrhoids), "
"and Nadivrana (Sinus). The word 'Kshara' refers to the alkaline, caustic medicament prepared "
"from the ash of specific plants, and 'Sutra' means thread. A surgical thread is coated with "
"Kshara (alkaline herbal preparation) and other medicinal substances by a standardised process "
"of repeated coating, to create a medicated thread that exerts simultaneous chemical and "
"mechanical action."
)
jpara(
"Once the Kshara Sutra is placed through the fistulous tract, it is changed every week. "
"This weekly procedure is known as Kshara Sutra Changing (Sutra Parivartana). Each new thread "
"brings a fresh dose of the Kshara alkaline preparation into the tract, continuing the process "
"of chemical cutting (Chhedikarma), scraping (Lekhana), and simultaneous wound healing (Ropana). "
"The thread is replaced until it cuts through the entire fistulous tract, with complete healing "
"occurring simultaneously."
)
jpara(
"This model demonstrates the complete step-by-step technique of Kshara Sutra Changing as "
"performed in OPD settings, based on the standard clinical method demonstrated by Dr. Abhishek "
"Sharma and supported by the ICMR-validated Kshara Sutra protocol. The model uses a layer-by-layer "
"book design, enabling students to visualise the anatomy of the anal canal, the position of the "
"Kshara Sutra within the fistulous tract, and each individual step of the weekly thread replacement."
)
# ═══════════════════════════════════════════════════════════════════════════════
# NEED FOR THE PROJECT
# ═══════════════════════════════════════════════════════════════════════════════
heading("Need for the Project", level=1)
star_bullet("To demonstrate the step-by-step Kshara Sutra changing procedure in a safe, reproducible, and student-friendly format.")
star_bullet("To visualise the anatomical position of the Kshara Sutra within the fistulous tract during the changing process.")
star_bullet("To understand the difference between the old (spent) Kshara Sutra and the new Kshara Sutra in terms of appearance and pharmacological activity.")
star_bullet("To calculate the Unit Cutting Rate (UCR) and determine the expected total duration of therapy.")
star_bullet("To correlate the Ayurvedic concept of Tridosha management in wound healing with the modern concept of slow-cutting chemical seton.")
star_bullet("To develop practical procedural skills among undergraduate BAMS students in Shalya Tantra.")
star_bullet("To encourage model-making and hands-on learning as part of Shalya Tantra practical education.")
# ═══════════════════════════════════════════════════════════════════════════════
# AIM
# ═══════════════════════════════════════════════════════════════════════════════
heading("Aim", level=1)
jpara(
"To design and prepare a three-dimensional, interactive, book-style educational model "
"demonstrating the step-by-step procedure of Kshara Sutra Changing (Sutra Parivartana) "
"in the management of Bhagandara (Fistula-in-Ano), correlating Ayurvedic parasurgical principles "
"with contemporary anorectal surgical practice."
)
# ═══════════════════════════════════════════════════════════════════════════════
# OBJECTIVES
# ═══════════════════════════════════════════════════════════════════════════════
heading("Objectives", level=1)
circle_bullet("To identify and demonstrate the anatomical layers of the anal canal and perianal region relevant to Kshara Sutra changing.")
circle_bullet("To classify the fistulous tract (intersphincteric, transsphincteric) and show the position of the Kshara Sutra within it before the change.")
circle_bullet("To demonstrate the step-by-step technique of removing the old Kshara Sutra and inserting a fresh one using a malleable probe.")
circle_bullet("To explain the Rail-road technique of thread change and the Laghu-Granthana (loose tying) method.")
circle_bullet("To illustrate the progressive cutting and simultaneous healing produced week by week using colour-coded tract wall flaps.")
circle_bullet("To demonstrate the Unit Cutting Rate (UCR) scale and calculation of expected duration of treatment.")
circle_bullet("To provide an effective teaching aid for undergraduate BAMS students of Shalya Tantra.")
# ═══════════════════════════════════════════════════════════════════════════════
# MATERIALS REQUIRED
# ═══════════════════════════════════════════════════════════════════════════════
heading("Materials Required", level=1)
materials = [
"Wooden board or MDF sheet (base for the book model)",
"High-density thermocol or foam sheets (multiple colours for anatomical layers)",
"EVA foam (soft, flexible material for sphincter muscle layers)",
"Air-dry clay or modelling clay (fistulous tract wall and abscess cavity)",
"Acrylic paints (colour-coding of anatomy and healing stages)",
"Colour papers or felt cloth (skin and mucosal layers)",
"Flexible silicone tubes or IV tubing (fistulous tract model)",
"Cotton thread coated with turmeric + lime paste (old Kshara Sutra – yellow-brown colour)",
"Cotton thread with black-green coating (new Kshara Sutra)",
"Malleable silver / aluminium wire bent as probe (for threading demonstration)",
"Small artery forceps (real or model) for identification of old Kshara Sutra",
"Adhesive (Fevicol / hot glue)",
"Velcro strips or magnets (for layer attachment and detachment)",
"Hinges (book-opening mechanism for layer-by-layer display)",
"Labels and colour-coded tags (for structure identification and step labelling)",
"Transparent plastic sheet (anal canal mucosa visibility)",
"Calibrated ruler strip (Unit Cutting Rate demonstration)",
"LED lights (optional, for highlighting the Kshara Sutra path)",
"Scissors, cutter, ruler, measuring tape",
]
for m in materials:
arrow_bullet(m)
# ═══════════════════════════════════════════════════════════════════════════════
# METHODOLOGY
# ═══════════════════════════════════════════════════════════════════════════════
heading("Methodology", level=1)
diamond_bullet("Study the anatomy of the anal canal, sphincter complex, and fistulous tract from Sushruta Samhita, standard anatomy textbooks, and Shalya Tantra practical references.")
diamond_bullet("Study the Kshara Sutra changing procedure from clinical demonstrations (Dr. Abhishek Sharma, MRC Ayurveda) and the ICMR-validated Kshara Sutra protocol.")
diamond_bullet("Design the model layout: a five-layer book structure, each page representing one anatomical or procedural layer.")
diamond_bullet("Construct the base using wooden board or MDF; attach hinges along one side to create the book-opening mechanism.")
diamond_bullet("Build each layer separately using foam/clay, painting and labelling all anatomical structures clearly.")
diamond_bullet("Prepare two colour-coded Kshara Sutra threads: old thread (yellow-brown) already placed in the tract slot; new thread (black-green) to be inserted during demonstration.")
diamond_bullet("Prepare a malleable wire probe and attach it to the new Kshara Sutra for interactive thread-passing demonstration.")
diamond_bullet("Attach Velcro or magnets to each layer for easy opening and closing without damage.")
diamond_bullet("Add a calibrated UCR ruler strip to Layer 5 for measurement and duration calculation.")
diamond_bullet("Verify anatomical accuracy, procedural correctness, and colour-coding under faculty guidance.")
diamond_bullet("Apply protective coating for durability; prepare labels and legend chart.")
# ═══════════════════════════════════════════════════════════════════════════════
# DESCRIPTION OF THE MODEL
# ═══════════════════════════════════════════════════════════════════════════════
heading("Description of the Model", level=1)
jpara(
"The model opens like a book. Each of its five pages (layers) can be individually lifted "
"to reveal the layer beneath. Each layer is colour-coded, labelled, and interactive. "
"The book spine is fixed on a stable MDF base. The complete assembly represents the "
"perianal region from skin surface down to the anal canal, with the fistulous tract "
"passing through the layers and the Kshara Sutra placed within it."
)
# Layer descriptions
heading("Layer 1 – Perianal Skin (Procedural Starting Point)", level=2)
circle_bullet("Perianal skin and gluteal folds represented in skin-tone foam")
circle_bullet("External opening of the fistula – marked with a coloured indicator")
circle_bullet("Old Kshara Sutra thread visible externally – yellow-brown loop protruding from external opening")
circle_bullet("Small artery forceps model placed near the external opening for identification step")
circle_bullet("Label: 'External Opening – Bahya Mukha'")
heading("Layer 2 – Superficial Fascia and Ischioanal Space", level=2)
circle_bullet("Superficial fascia represented by white felt cloth")
circle_bullet("Ischioanal fat pad – yellow foam block on either side")
circle_bullet("Superficial perianal blood vessels – red and blue flexible tubes")
circle_bullet("Tract wall showing previous cutting: shallow groove with lateral fibrotic margins")
circle_bullet("Label: 'Ischioanal Fossa – Gudapariksha Sthana'")
heading("Layer 3 – Sphincter Complex", level=2)
circle_bullet("External Anal Sphincter (EAS) – outermost ring, orange EVA foam")
circle_bullet("Internal Anal Sphincter (IAS) – inner ring, dark red EVA foam")
circle_bullet("Levator ani muscle – wider flat layer, purple foam sheet")
circle_bullet("Degree of sphincter involvement shown: intersphincteric tract (between EAS and IAS) and transsphincteric tract (through EAS) – interchangeable inserts")
circle_bullet("Sphincter Safety Indicator: green marker across both sphincters – remains intact across all changing stages")
circle_bullet("Labels: 'Bahya Gudavarti (EAS)', 'Abhyantara Gudavarti (IAS)'")
heading("Layer 4 – Anal Canal and Internal Opening", level=2)
circle_bullet("Anal canal lined with transparent plastic sheet (representing mucosa)")
circle_bullet("Dentate line (Pectinate Line) clearly marked in red")
circle_bullet("Anal columns (Columns of Morgagni) as vertical ridges")
circle_bullet("Internal opening of the fistula at the dentate line – coloured marker")
circle_bullet("Old Kshara Sutra looped through the complete tract, tied externally – full trajectory visible")
circle_bullet("Labels: 'Dentate Line', 'Internal Opening – Antarmukha', 'Anal Canal – Gudanala'")
heading("Layer 5 – Kshara Sutra Changing Procedure", level=2)
jpara("This layer is the primary interactive layer demonstrating all eight steps of the Kshara Sutra changing procedure (Sutra Parivartana):", after=3)
circle_bullet("Step 1 (Patient Preparation): Position indicator on base; perianal area cleaned")
circle_bullet("Step 2 (Identification): Old Kshara Sutra identified; forceps applied to protruding end")
circle_bullet("Step 3 (Removal): Old thread cut, removed; tract length measured with probe")
circle_bullet("Step 4 (Tract Assessment): Probe introduced; discharge and granulation tissue assessed")
circle_bullet("Step 5 (New Thread Preparation): Fresh Kshara Sutra attached to malleable probe eye")
circle_bullet("Step 6 (Insertion): Probe inserted through external opening, guided along tract, tip retrieved through internal opening")
circle_bullet("Step 7 (Threading and Tying): New thread pulled through entire tract; Laghu-Granthana (loose tie) applied; ends trimmed")
circle_bullet("Step 8 (Post-Change Care): Dressing applied; Sitz bath and diet instructions demonstrated on label card")
jpara("Removable flap on tract wall shows progressive healing stages: Week 0 (intact tract), Week 1 (shallow chemical groove), Week 2–3 (deepening cut with lateral fibrosis), Week 4+ (near-complete division with fibrotic bridge).", after=4)
# ═══════════════════════════════════════════════════════════════════════════════
# EXPECTED OUTCOME
# ═══════════════════════════════════════════════════════════════════════════════
heading("Expected Outcome", level=1)
jpara(
"The completed model will provide a realistic and interactive representation of the "
"Kshara Sutra changing procedure, from identification of the old thread to placement and "
"tying of the new one. It will improve understanding of the procedural anatomy, facilitate "
"practical teaching of the weekly OPD-based technique, and help students calculate the "
"Unit Cutting Rate and expected duration of therapy for a given fistulous tract."
)
# ═══════════════════════════════════════════════════════════════════════════════
# EDUCATIONAL SIGNIFICANCE
# ═══════════════════════════════════════════════════════════════════════════════
heading("Educational Significance", level=1)
circle_bullet("Simplifies the understanding of the Kshara Sutra changing technique.")
circle_bullet("Improves practical procedural skills without requiring a patient or operation theatre.")
circle_bullet("Demonstrates the difference between old (spent) and new Kshara Sutra – appearance and pharmacological activity.")
circle_bullet("Allows calculation of UCR and treatment duration – builds clinical reasoning skills.")
circle_bullet("The sphincter safety indicator reinforces the sphincter-preserving advantage of Kshara Sutra therapy.")
circle_bullet("Useful during practical examinations, viva, and academic exhibitions.")
circle_bullet("Serves as a permanent, reusable teaching aid for the Shalya Tantra department.")
# ═══════════════════════════════════════════════════════════════════════════════
# CLINICAL IMPORTANCE
# ═══════════════════════════════════════════════════════════════════════════════
heading("Clinical Importance", level=1)
jpara("The model helps explain:")
circle_bullet("The weekly Kshara Sutra changing protocol and its importance in maintaining continuous chemical action.")
circle_bullet("The Rail-road technique of thread change – how the new thread follows the exact path of the old thread without disturbing the healing margins.")
circle_bullet("The concept of Unit Cutting Rate (UCR): approximately 0.5–1 cm per week, used to calculate total duration = Tract Length (cm) ÷ UCR (cm/week).")
circle_bullet("The Laghu-Granthana (loose tying) principle – preventing pressure necrosis while maintaining thread position.")
circle_bullet("The pharmacological basis of Kshara Sutra: Snuhi latex (Chhedikarma), Apamarga Kshara (alkaline cauterisation and wound cleansing), Haridra (Shodhana and Ropana).")
circle_bullet("Comparison of Kshara Sutra with conventional fistulotomy and fistulectomy – sphincter preservation, recurrence rate, anaesthesia requirement, and cost-effectiveness.")
# ═══════════════════════════════════════════════════════════════════════════════
# ADVANTAGES OF THE MODEL
# ═══════════════════════════════════════════════════════════════════════════════
heading("Advantages of the Model", level=1)
circle_bullet("Three-dimensional, interactive, layer-by-layer visualization of a complex parasurgical procedure.")
circle_bullet("Accurate anatomical representation of the anal canal and sphincter complex.")
circle_bullet("Dual-thread design (old + new Kshara Sutra) allows complete procedural simulation.")
circle_bullet("Colour-coded layers for easy identification of anatomy and procedure steps.")
circle_bullet("Progressive healing flap demonstrates the cutting-healing mechanism week by week.")
circle_bullet("UCR calibrated ruler enables calculation of treatment duration.")
circle_bullet("Interchangeable fistula-type inserts (intersphincteric / transsphincteric).")
circle_bullet("Durable, reusable, and suitable for classroom demonstrations and departmental exhibitions.")
circle_bullet("Attractive, compact, and easily transportable for academic events.")
# ═══════════════════════════════════════════════════════════════════════════════
# CONCLUSION
# ═══════════════════════════════════════════════════════════════════════════════
heading("Conclusion", level=1)
jpara(
"The proposed Kshara Sutra Changing model provides a comprehensive, hands-on representation "
"of the weekly thread replacement procedure, the most clinically significant component of "
"Kshara Sutra therapy for Bhagandara (Fistula-in-Ano). It combines classical Ayurvedic "
"parasurgical knowledge with modern anatomical and surgical orientation, making it an effective "
"and innovative teaching-learning aid. By simulating the removal of the old Kshara Sutra, "
"measurement of the residual tract, preparation and insertion of the new thread, and Laghu-Granthana "
"tying technique, the model enables students to confidently understand and appreciate the scientific "
"rationale behind this ICMR-validated Ayurvedic procedure. The model will enhance conceptual "
"understanding, improve practical skills, and support clinical application of Kshara Sutra therapy "
"in Shalya Tantra practice."
)
# ═══════════════════════════════════════════════════════════════════════════════
# REFERENCES
# ═══════════════════════════════════════════════════════════════════════════════
heading("References", level=1)
refs = [
("1.", "Sushruta. ", "Sushruta Samhita", ", with Nibandha Sangraha commentary of Dalhana. Edited by Vaidya Yadavji Trikamji Acharya. Varanasi: Chaukhamba Surbharati Prakashan; Nidana Sthana Ch. 4 (Bhagandara Nidana); Chikitsa Sthana Ch. 17 (Bhagandara Chikitsa)."),
("2.", "Vagbhata. ", "Ashtanga Hridaya", ", with Sarvanga Sundara commentary of Arunadatta. Edited by Pt. Hari Sadasiva Shastri Paradkar. Varanasi: Chaukhamba Surbharati Prakashan; Uttara Sthana (Bhagandara Chikitsa)."),
("3.", "Deshpande PJ, Sharma KR. ", "Treatment of fistula-in-ano by a new technique.", " Review and follow-up of 200 cases. Am J Proctol. 1976;27(2):41–47."),
("4.", "Indian Council of Medical Research (ICMR). ", "Multicentric Randomised Controlled Clinical Trial of Kshara Sutra versus Surgery for Fistula-in-Ano.", " New Delhi: ICMR; 1996."),
("5.", "Singh K, Sharma JD, Gupta V. ", "Kshara Sutra therapy in fistula-in-ano: A clinical study.", " Journal of Research in Ayurveda and Siddha. 1993;14(3–4):109–117."),
("6.", "Parks AG, Gordon PH, Hardcastle JD. ", "A classification of fistula-in-ano.", " Br J Surg. 1976;63(1):1–12."),
("7.", "Raveenthiran V. ", "Knowledge of Sushruta on fistula-in-ano (Bhagandara).", " Indian J Surg. 2011;73(2):97–101."),
("8.", "Sharma A (Dr.). ", "How to change kshar sutra in fistula – Demo.", " MRC Ayurveda [Video]. YouTube. Available at: https://youtu.be/OrtoOWrlkh0"),
("9.", "Williams NS, Bulstrode CJK, O'Connell PR (Eds.). ", "Bailey & Love's Short Practice of Surgery.", " 26th ed. CRC Press; 2013. Chapter: Anus and Anal Canal."),
("10.", "National Commission for Indian System of Medicine (NCISM). ", "BAMS Curriculum Regulations and Guidelines.", " New Delhi: NCISM; 2021."),
]
for num, auth, title, rest in refs:
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY
p.paragraph_format.space_after = Pt(4)
p.paragraph_format.left_indent = Inches(0.3)
p.paragraph_format.first_line_indent = Inches(-0.3)
rn = p.add_run(f"{num} ")
rn.font.name = "Times New Roman"; rn.font.size = Pt(11)
ra = p.add_run(auth)
ra.font.name = "Times New Roman"; ra.font.size = Pt(11)
rt = p.add_run(title)
rt.italic = True; rt.font.name = "Times New Roman"; rt.font.size = Pt(11)
rr = p.add_run(rest)
rr.font.name = "Times New Roman"; rr.font.size = Pt(11)
# ═══════════════════════════════════════════════════════════════════════════════
# SAVE
# ═══════════════════════════════════════════════════════════════════════════════
out = "/tmp/workspace/kshara-sutra-project/Kshara_Sutra_Changing_Model_SAMC.docx"
doc.save(out)
print(f"Saved: {out}")
cd /tmp/workspace/kshara-sutra-project && python3 build_ksc_doc.py
python3 -c " from docx import Document doc = Document('/tmp/workspace/kshara-sutra-project/Kshara_Sutra_Changing_Model_SAMC.docx') headings = [(p.style.name, p.text) for p in doc.paragraphs if 'Heading' in p.style.name] print('=== HEADINGS ===') for s, t in headings: print(f' [{s}] {t}') print(f'\nTotal paragraphs: {len(doc.paragraphs)}') print(f'Tables: {len(doc.tables)}') # Check first few lines print('\n=== FIRST 10 PARAGRAPHS ===') for p in doc.paragraphs[:10]: if p.text.strip(): print(f' [{p.style.name}] {p.text[:80]}') "
Kshara Sutra Changing Model SAMC
Word Document · DOCX
| Section | Matches PDF |
|---|---|
| College header + horizontal rules | ✅ Exact match |
| Introduction | ✅ Same as PDF intro style |
| Need for the Project (★ bullets) | ✅ Same bullet style as PDF |
| Aim | ✅ |
| Objectives (● bullets) | ✅ |
| Materials Required (➔ bullets) | ✅ Same arrow bullets as PDF |
| Methodology (❖ bullets) | ✅ Same diamond bullets as PDF |
| Description of the Model (with sub-layers) | ✅ |
| Expected Outcome | ✅ |
| Educational Significance | ✅ Same as PDF |
| Clinical Importance | ✅ Same as PDF |
| Advantages of the Model | ✅ Same as PDF |
| Conclusion | ✅ Same as PDF |
| References (italic titles, hanging indent) | ✅ Same as PDF |