Exercise prescription for obesity reference Acsm guidelines recent edition
"exercise prescription" AND "obesity" AND "ACSM"
ACSM guidelines exercise prescription obesity 2022 2023 2024 FITT principle
"exercise" AND "obesity" AND "weight loss"
https://www.chp.gov.hk/archive/epp/files/DoctorsHanbook_ch10…
ACSM 11th edition exercise prescription overweight obesity FITT-VP recommendations 2022
PMID: 39724371
https://dokumen.pub/acsms-guidelines-for-exercise-testing-an…
| FITT Component | Recommendation |
|---|---|
| Frequency | ≥5 days/week (to maximize total caloric expenditure) |
| Intensity | Moderate (40-59% HRR or VO₂R; RPE 12-13/20) initially; progress to vigorous (60-89% HRR) as tolerated |
| Time (Duration) | Initially 30 min/day; progress toward 150-250 min/week for health benefits; >250 min/week for clinically significant weight loss |
| Type | Large muscle group, rhythmic aerobic activity: walking (especially for deconditioned/very obese), cycling, swimming, water aerobics |
| Volume | ≥2,000 kcal/week energy expenditure from PA to prevent weight regain |
| Progression | Gradual increase - begin with 10-20 min every other day in week 1-2; increase by no more than 10% per week |
| Weekly Volume | Goal |
|---|---|
| 150 min/week moderate | Minimum health benefits |
| 150-250 min/week | Some weight loss (modest, ~2-3 kg) |
| >250-300 min/week | Clinically significant weight loss (~5-7.5 kg) |
| 200-300 min/week | Prevention of weight regain after loss |
| 60-90 min/day | Maintenance after significant prior weight loss (NWCR data) |
| Component | Recommendation |
|---|---|
| Frequency | 2-3 days/week (non-consecutive) |
| Intensity | Moderate: 60-70% 1RM; beginners may start at 40-50% 1RM |
| Time | 2-4 sets of 8-12 repetitions per exercise |
| Type | Major muscle groups (8-10 exercises); machines preferred initially for safety; progress to free weights |
| Component | Recommendation |
|---|---|
| Frequency | ≥2-3 days/week (daily preferred) |
| Intensity | Mild discomfort at end-range |
| Time | Hold static stretches 10-30 sec; 2-4 reps per muscle group |
| Type | Static, dynamic stretching; yoga may be beneficial |
| Aerobic | Resistance | Flexibility | |
|---|---|---|---|
| F | ≥5 days/week | 2-3 days/week | ≥2-3 days/week |
| I | Moderate → Vigorous | 60-70% 1RM | Mild stretch |
| T | 30-60 min/session | 2-4 sets × 8-12 reps | 10-30 s hold |
| T | Walk, cycle, swim | Multi-joint machines/free wt | Static/dynamic |
| V | >250 min/week for weight loss | - | - |
| P | +10%/week gradually | - | - |
Generate a patient handout template for implementing this FITT prescription
ls -la /tmp/workspace/ 2>/dev/null || echo "workspace empty or missing"
mkdir -p /tmp/workspace/obesity-handout && python3 << 'EOF' from docx import Document from docx.shared import Pt, Inches, RGBColor, Cm from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.enum.table import WD_TABLE_ALIGNMENT, WD_ALIGN_VERTICAL from docx.oxml.ns import qn from docx.oxml import OxmlElement import copy doc = Document() # ── Page margins ────────────────────────────────────────────────────────────── section = doc.sections[0] section.top_margin = Cm(1.8) section.bottom_margin = Cm(1.8) section.left_margin = Cm(2.0) section.right_margin = Cm(2.0) # ── Default body font ───────────────────────────────────────────────────────── normal = doc.styles["Normal"] normal.font.name = "Calibri" normal.font.size = Pt(10.5) # ── Helper: shade a table row/cell ──────────────────────────────────────────── def shade_cell(cell, hex_color): tc = cell._tc tcPr = tc.get_or_add_tcPr() shd = OxmlElement("w:shd") shd.set(qn("w:val"), "clear") shd.set(qn("w:color"), "auto") shd.set(qn("w:fill"), hex_color) tcPr.append(shd) def set_cell_border(cell, **kwargs): """kwargs: top, bottom, left, right -> (size, color) tuples""" tc = cell._tc tcPr = tc.get_or_add_tcPr() tcBorders = OxmlElement("w:tcBorders") for side, (sz, color) in kwargs.items(): el = OxmlElement(f"w:{side}") el.set(qn("w:val"), "single") el.set(qn("w:sz"), str(sz)) el.set(qn("w:space"), "0") el.set(qn("w:color"), color) tcBorders.append(el) tcPr.append(tcBorders) def add_run_bold(para, text, size=None, color=None): run = para.add_run(text) run.bold = True if size: run.font.size = Pt(size) if color: run.font.color.rgb = RGBColor.from_string(color) return run def add_run_plain(para, text, size=None, italic=False): run = para.add_run(text) if size: run.font.size = Pt(size) if italic: run.italic = True return run # ══════════════════════════════════════════════════════════════════════════════ # HEADER BANNER # ══════════════════════════════════════════════════════════════════════════════ banner_tbl = doc.add_table(rows=1, cols=1) banner_tbl.alignment = WD_TABLE_ALIGNMENT.CENTER cell = banner_tbl.cell(0, 0) shade_cell(cell, "1A5276") # dark navy cell.width = Inches(6.5) p = cell.paragraphs[0] p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.paragraph_format.space_before = Pt(6) p.paragraph_format.space_after = Pt(6) r = p.add_run("YOUR EXERCISE PLAN FOR WEIGHT MANAGEMENT") r.bold = True r.font.size = Pt(15) r.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) sub_p = cell.add_paragraph() sub_p.alignment = WD_ALIGN_PARAGRAPH.CENTER sub_p.paragraph_format.space_after = Pt(6) sr = sub_p.add_run("Based on ACSM Guidelines for Exercise Testing and Prescription, 11th Edition") sr.font.size = Pt(9) sr.font.color.rgb = RGBColor(0xBD, 0xD7, 0xEE) sr.italic = True doc.add_paragraph() # spacer # ── Patient / Clinician info block ──────────────────────────────────────────── info_tbl = doc.add_table(rows=2, cols=4) info_tbl.style = "Table Grid" labels = ["Patient Name:", "Date:", "Clinician:", "Review Date:"] for i, lbl in enumerate(labels): cell = info_tbl.cell(0, i) shade_cell(cell, "EBF5FB") p = cell.paragraphs[0] p.paragraph_format.space_before = Pt(3) p.paragraph_format.space_after = Pt(3) add_run_bold(p, lbl, size=9) for i in range(4): cell = info_tbl.cell(1, i) p = cell.paragraphs[0] p.paragraph_format.space_before = Pt(10) p.paragraph_format.space_after = Pt(3) add_run_plain(p, "_______________________", size=9) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # SECTION HELPER # ══════════════════════════════════════════════════════════════════════════════ def section_heading(title, hex_color="1F618D"): p = doc.add_paragraph() p.paragraph_format.space_before = Pt(8) p.paragraph_format.space_after = Pt(3) r = p.add_run(f" {title} ") r.bold = True r.font.size = Pt(11.5) r.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) # background highlight via XML shading on the run's rPr rPr = r._r.get_or_add_rPr() highlight = OxmlElement("w:highlight") highlight.set(qn("w:val"), "darkBlue") # use character shading instead shd = OxmlElement("w:shd") shd.set(qn("w:val"), "clear") shd.set(qn("w:color"), "auto") shd.set(qn("w:fill"), hex_color) rPr.append(shd) return p def bullet(text, bold_prefix=None, indent=0): p = doc.add_paragraph(style="List Bullet") p.paragraph_format.left_indent = Inches(0.2 + indent * 0.25) p.paragraph_format.space_after = Pt(2) p.paragraph_format.space_before = Pt(1) if bold_prefix: rb = p.add_run(bold_prefix) rb.bold = True rb.font.size = Pt(10.5) add_run_plain(p, text, size=10.5) else: add_run_plain(p, text, size=10.5) # ══════════════════════════════════════════════════════════════════════════════ # 1. YOUR EXERCISE GOALS # ══════════════════════════════════════════════════════════════════════════════ section_heading("1. YOUR EXERCISE GOALS", "1A5276") goals_tbl = doc.add_table(rows=1, cols=3) goals_tbl.style = "Table Grid" goals_tbl.alignment = WD_TABLE_ALIGNMENT.CENTER goal_data = [ ("Short-Term\n(Weeks 1-4)", "Build to 30 min/day, 5 days/week of moderate activity"), ("Mid-Term\n(Weeks 5-12)", "Progress to 150-250 min/week; add 2x/week strength training"), ("Long-Term\n(>3 months)", "Reach >250 min/week; target clinically significant weight loss"), ] goal_colors = ["D6EAF8", "D1F2EB", "FEF9E7"] for i, (title, desc) in enumerate(goal_data): c = goals_tbl.cell(0, i) shade_cell(c, goal_colors[i]) p = c.paragraphs[0] p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.paragraph_format.space_before = Pt(4) add_run_bold(p, title, size=9.5, color="1A5276") p2 = c.add_paragraph() p2.paragraph_format.space_after = Pt(4) add_run_plain(p2, desc, size=9) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 2. FITT-VP AEROBIC EXERCISE TABLE # ══════════════════════════════════════════════════════════════════════════════ section_heading("2. AEROBIC EXERCISE (Cardio) — FITT-VP Prescription", "1F618D") note_p = doc.add_paragraph() note_p.paragraph_format.space_after = Pt(4) add_run_plain(note_p, "Aerobic exercise is your primary tool for burning calories and improving heart health.", size=10, italic=True) ae_tbl = doc.add_table(rows=7, cols=3) ae_tbl.style = "Table Grid" ae_tbl.alignment = WD_TABLE_ALIGNMENT.CENTER ae_headers = ["FITT Component", "Prescription", "What This Means For You"] ae_rows = [ ("F Frequency", "≥ 5 days per week", "Aim for most days of the week. Short sessions still count!"), ("I Intensity", "Moderate (start) → Vigorous (progress)\nModerate = you can talk but not sing\nVigorous = you can only say a few words at a time", "Use the 'talk test':\n• Moderate: brisk walk, easy cycling\n• Vigorous: jogging, fast cycling\nStart moderate for 4-12 weeks before adding vigorous effort"), ("T Time", "Start: 30 min/day\nGoal for weight loss: 50-60 min/day\n(can split into 10-min bouts)", "You do NOT have to exercise all at once.\n3 x 10-minute walks = 30 minutes!\nWork toward 250+ min/week for meaningful weight loss"), ("T Type", "• Walking (best starting choice)\n• Cycling (stationary or outdoor)\n• Swimming / water aerobics\n• Elliptical trainer", "Choose activities you enjoy — consistency matters most.\nLow-impact options (cycling, swimming) are ideal if joints are painful"), ("V Volume", "Energy goal: ~2,000 kcal/week\n• 150 min/week = health benefits\n• 250-300 min/week = significant weight loss", "A 30-min brisk walk burns ~150-200 kcal.\nCombining exercise with a 500 kcal/day dietary reduction targets ~1 lb/week loss"), ("P Progression", "Increase duration by ~10% per week\nDo not increase frequency, intensity, AND duration at the same time", "Be patient — gradual progression prevents injury.\nWeeks 1-2: 10-20 min every other day\nWeek 3+: add 5 min every 1-2 weeks"), ] # Header row for j, h in enumerate(ae_headers): c = ae_tbl.cell(0, j) shade_cell(c, "1F618D") p = c.paragraphs[0] p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.paragraph_format.space_before = Pt(3) p.paragraph_format.space_after = Pt(3) r = p.add_run(h) r.bold = True r.font.size = Pt(10) r.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) row_colors = ["EBF5FB", "D6EAF8", "EBF5FB", "D6EAF8", "EBF5FB", "D6EAF8"] for i, (comp, presc, meaning) in enumerate(ae_rows): row = ae_tbl.rows[i+1] shade_cell(row.cells[0], row_colors[i]) shade_cell(row.cells[1], "FDFEFE") shade_cell(row.cells[2], "F0FFF4" if i % 2 == 0 else "FAFAFA") p0 = row.cells[0].paragraphs[0] p0.paragraph_format.space_before = Pt(3) p0.paragraph_format.space_after = Pt(3) r0 = p0.add_run(comp) r0.bold = True r0.font.size = Pt(10) r0.font.color.rgb = RGBColor(0x1A, 0x52, 0x76) p1 = row.cells[1].paragraphs[0] p1.paragraph_format.space_before = Pt(3) p1.paragraph_format.space_after = Pt(3) add_run_plain(p1, presc, size=9.5) p2 = row.cells[2].paragraphs[0] p2.paragraph_format.space_before = Pt(3) p2.paragraph_format.space_after = Pt(3) add_run_plain(p2, meaning, size=9.5) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 3. RESISTANCE (STRENGTH) TRAINING # ══════════════════════════════════════════════════════════════════════════════ section_heading("3. RESISTANCE (STRENGTH) TRAINING", "117A65") st_note = doc.add_paragraph() st_note.paragraph_format.space_after = Pt(3) add_run_plain(st_note, "Strength training preserves muscle mass during weight loss and improves metabolic health.", size=10, italic=True) st_tbl = doc.add_table(rows=5, cols=3) st_tbl.style = "Table Grid" st_headers = ["Component", "Prescription", "Practical Tip"] st_rows = [ ("Frequency", "2-3 days/week\n(non-consecutive days)", "e.g., Monday, Wednesday, Friday"), ("Intensity", "Moderate: 60-70% of maximum effort\nBeginners: Start lighter (40-50%)", "You should be able to complete all reps but feel tired by the last 2-3"), ("Time / Sets", "2-4 sets of 8-12 repetitions\nper exercise\nRest 60-90 sec between sets", "Start with 2 sets; increase to 3-4 sets after 4 weeks"), ("Type / Exercises", "8-10 exercises covering all major\nmuscle groups:\nLegs, back, chest, shoulders, arms, core", "Machines are safer for beginners.\nExamples: leg press, chest press, lat pulldown, seated row, shoulder press, plank"), ] for j, h in enumerate(st_headers): c = st_tbl.cell(0, j) shade_cell(c, "117A65") p = c.paragraphs[0] p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.paragraph_format.space_before = Pt(3) p.paragraph_format.space_after = Pt(3) r = p.add_run(h) r.bold = True; r.font.size = Pt(10) r.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) for i, (comp, presc, tip) in enumerate(st_rows): row = st_tbl.rows[i+1] col_colors = ["D5F5E3", "FDFEFE", "EAFAF1"] for ci, hc in enumerate(col_colors): shade_cell(row.cells[ci], hc if i % 2 == 0 else "F9FEFE") p0 = row.cells[0].paragraphs[0] p0.paragraph_format.space_before = Pt(3) r0 = p0.add_run(comp) r0.bold = True; r0.font.size = Pt(10) r0.font.color.rgb = RGBColor(0x11, 0x7A, 0x65) for ci, txt in [(1, presc), (2, tip)]: p = row.cells[ci].paragraphs[0] p.paragraph_format.space_before = Pt(3) p.paragraph_format.space_after = Pt(3) add_run_plain(p, txt, size=9.5) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 4. WEEKLY EXERCISE LOG (fillable template) # ══════════════════════════════════════════════════════════════════════════════ section_heading("4. WEEKLY EXERCISE LOG (Fill in each day)", "6E2F7A") log_p = doc.add_paragraph() log_p.paragraph_format.space_after = Pt(4) add_run_plain(log_p, "Track your sessions below. Bring this to your next appointment.", size=10, italic=True) days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "WEEKLY TOTAL"] log_tbl = doc.add_table(rows=len(days)+1, cols=5) log_tbl.style = "Table Grid" log_headers = ["Day", "Activity / Type", "Duration (min)", "Intensity\n(Easy/Moderate/Hard)", "How Did You Feel?"] for j, h in enumerate(log_headers): c = log_tbl.cell(0, j) shade_cell(c, "6E2F7A") p = c.paragraphs[0] p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.paragraph_format.space_before = Pt(3) p.paragraph_format.space_after = Pt(3) r = p.add_run(h) r.bold = True; r.font.size = Pt(9.5) r.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) for i, day in enumerate(days): row = log_tbl.rows[i+1] is_total = (day == "WEEKLY TOTAL") bg = "F5EEF8" if i % 2 == 0 else "FDFEFE" if is_total: bg = "EBF5FB" shade_cell(row.cells[0], bg) p = row.cells[0].paragraphs[0] p.paragraph_format.space_before = Pt(3) p.paragraph_format.space_after = Pt(3) r = p.add_run(day) r.bold = is_total; r.font.size = Pt(9.5) if is_total: r.font.color.rgb = RGBColor(0x1A, 0x52, 0x76) for ci in range(1, 5): shade_cell(row.cells[ci], bg) p2 = row.cells[ci].paragraphs[0] p2.paragraph_format.space_before = Pt(12) p2.paragraph_format.space_after = Pt(3) if is_total and ci == 2: add_run_bold(p2, "_______ min", size=9.5, color="1A5276") else: add_run_plain(p2, "", size=9.5) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 5. WEEKLY VOLUME TARGETS (colour-coded progress bar style) # ══════════════════════════════════════════════════════════════════════════════ section_heading("5. HOW MUCH IS ENOUGH? Weekly Volume Quick Reference", "7D6608") vol_tbl = doc.add_table(rows=1, cols=4) vol_tbl.style = "Table Grid" vol_data = [ ("< 150 min/week", "Sedentary baseline\nSome health benefit begins", "E74C3C", "FDEDEC"), ("150-250 min/week", "Minimum for health.\nModest weight loss (1-3 kg)", "E67E22", "FEF9E7"), ("250-300 min/week", "TARGET for significant\nweight loss (5-7 kg)", "27AE60", "EAFAF1"), (">300 min/week\n+ diet change", "Maximum benefit.\nWeight maintenance after loss", "1A5276", "EBF5FB"), ] for i, (label, desc, hdr_col, bg_col) in enumerate(vol_data): c = vol_tbl.cell(0, i) shade_cell(c, bg_col) p = c.paragraphs[0] p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.paragraph_format.space_before = Pt(4) r = p.add_run(label) r.bold = True; r.font.size = Pt(9.5) r.font.color.rgb = RGBColor.from_string(hdr_col) p2 = c.add_paragraph() p2.alignment = WD_ALIGN_PARAGRAPH.CENTER p2.paragraph_format.space_after = Pt(4) add_run_plain(p2, desc, size=9) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 6. INTENSITY GUIDE (RPE scale simplified) # ══════════════════════════════════════════════════════════════════════════════ section_heading("6. HOW HARD SHOULD I EXERCISE? (Rate of Perceived Exertion)", "1F618D") rpe_tbl = doc.add_table(rows=1, cols=5) rpe_tbl.style = "Table Grid" rpe_data = [ ("1-4\nVery Easy", "Sitting, slow walking\nNo effort", "ABEBC6", "You can sing"), ("5-6\nModerate\n(TARGET start)", "Brisk walking\nEasy cycling", "F9E79F", "You can talk\nbut not sing"), ("7-8\nVigorous\n(TARGET progress)", "Jogging, fast cycling\nAerobic classes", "FAD7A0", "Short sentences\nonly"), ("9\nVery Hard", "Running, fast swimming\nHIIT intervals", "F1948A", "Cannot speak\ncomfortably"), ("10\nMaximal", "All-out sprint\n(not for obesity Rx)", "E74C3C", "Cannot speak"), ] for i, (level, eg, color, talk) in enumerate(rpe_data): c = rpe_tbl.cell(0, i) shade_cell(c, color) p = c.paragraphs[0] p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.paragraph_format.space_before = Pt(4) r = p.add_run(level) r.bold = True; r.font.size = Pt(9) p2 = c.add_paragraph(); p2.alignment = WD_ALIGN_PARAGRAPH.CENTER add_run_plain(p2, eg, size=8.5) p3 = c.add_paragraph(); p3.alignment = WD_ALIGN_PARAGRAPH.CENTER p3.paragraph_format.space_after = Pt(4) add_run_plain(p3, f"Talk test: {talk}", size=8, italic=True) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 7. SAFETY & WHEN TO STOP # ══════════════════════════════════════════════════════════════════════════════ section_heading("7. SAFETY: STOP EXERCISING AND SEEK HELP IF YOU EXPERIENCE...", "922B21") warn_tbl = doc.add_table(rows=2, cols=3) warn_tbl.style = "Table Grid" warnings = [ ("Chest pain or pressure", "Severe shortness of breath", "Dizziness or fainting"), ("Irregular heartbeat / palpitations", "Severe joint or muscle pain", "Nausea or vomiting during exercise"), ] for ri, row_data in enumerate(warnings): for ci, text in enumerate(row_data): c = warn_tbl.cell(ri, ci) shade_cell(c, "FDEDEC" if ri == 0 else "FEF9E7") p = c.paragraphs[0] p.paragraph_format.space_before = Pt(3) p.paragraph_format.space_after = Pt(3) r = p.add_run("⚠ " + text) r.font.size = Pt(9.5) if ri == 0: r.bold = True doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 8. HELPFUL TIPS # ══════════════════════════════════════════════════════════════════════════════ section_heading("8. TIPS FOR SUCCESS", "1A5276") tips = [ ("Start low, go slow.", " Even 10 minutes counts. You will build up gradually over weeks."), ("Exercise is NOT optional when managing weight.", " Diet + exercise together are far more effective than either alone."), ("Choose activities you enjoy.", " You are more likely to stick with something you find fun or social."), ("Break sessions up.", " Three 10-minute walks equal 30 minutes of exercise — same benefit."), ("Reduce sitting time.", " Stand up and move for 2-3 minutes every 30 minutes at work or home."), ("Bring a friend or join a class.", " Social support dramatically improves exercise adherence."), ("Set small weekly goals.", " Focus on consistency, not perfection."), ("BMI > 35 or joint pain?", " Start with non-weight-bearing exercise: swimming, water aerobics, seated cycling."), ] for bold_t, plain_t in tips: bullet("", bold_prefix=bold_t + plain_t) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # FOOTER NOTE # ══════════════════════════════════════════════════════════════════════════════ footer_tbl = doc.add_table(rows=1, cols=1) footer_tbl.alignment = WD_TABLE_ALIGNMENT.CENTER fc = footer_tbl.cell(0, 0) shade_cell(fc, "EBF5FB") fp = fc.paragraphs[0] fp.alignment = WD_ALIGN_PARAGRAPH.CENTER fp.paragraph_format.space_before = Pt(4) fp.paragraph_format.space_after = Pt(4) fr = fp.add_run( "Reference: ACSM's Guidelines for Exercise Testing and Prescription, 11th Ed. (Liguori, 2022) | " "This handout is a clinical guide — always consult your healthcare provider before starting a new exercise programme." ) fr.font.size = Pt(7.5) fr.italic = True fr.font.color.rgb = RGBColor(0x5D, 0x6D, 0x7E) # ══════════════════════════════════════════════════════════════════════════════ # SAVE # ══════════════════════════════════════════════════════════════════════════════ out_path = "/tmp/workspace/obesity-handout/ACSM_FITT_Obesity_Patient_Handout.docx" doc.save(out_path) print(f"Saved: {out_path}") EOF
python3 -c " from docx import Document doc = Document('/tmp/workspace/obesity-handout/ACSM_FITT_Obesity_Patient_Handout.docx') print('Paragraphs:', len(doc.paragraphs)) print('Tables:', len(doc.tables)) for i, t in enumerate(doc.tables): print(f' Table {i}: {len(t.rows)} rows x {len(t.columns)} cols') print('File OK') "
ACSM FITT Obesity Patient Handout
Word Document · DOCX
| Section | Contents |
|---|---|
| Header banner | Title + ACSM 11th Ed. reference |
| Patient info block | Fillable fields: name, date, clinician, review date |
| 1. Exercise Goals | 3-column colour table: short / mid / long-term milestones |
| 2. Aerobic FITT-VP Table | All 6 components (F/I/T/T/V/P) with prescription + plain-language explanation |
| 3. Resistance Training Table | Frequency, intensity, sets/reps, exercise examples |
| 4. Weekly Exercise Log | 7-day fillable table with weekly total field - print and fill in by hand or digitally |
| 5. Weekly Volume Reference | Traffic-light colour bar: <150 / 150-250 / 250-300 / >300 min/week |
| 6. RPE Intensity Guide | Simplified Borg scale with talk-test cues, colour-coded by effort level |
| 7. Safety / Stop Signs | Red-highlighted warning symptoms requiring immediate cessation |
| 8. Tips for Success | 8 practical adherence strategies including guidance for BMI >35 and joint pain |
Diet plan for obesity