Act as a world-class educator and teach me this chapter [chapter name] from absolute basics to complete mastery. First give me a simple overview of the chapter, then break it into small sections and explain each concept in easy language with examples. Connect all topics together and create a final summary that helps me revise the entire chapter quickly before exams.β
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_40__MUSCULOSKELETAL_CARE_MODALITIES.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') # Extract first 5 pages to understand structure for i, page in enumerate(pdf.pages[:5]): text = page.extract_text() if text: print(f'--- PAGE {i+1} ---') print(text[:2000]) "
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_40__MUSCULOSKELETAL_CARE_MODALITIES.pdf') as pdf: for i, page in enumerate(pdf.pages[5:]): text = page.extract_text() if text: print(f'--- PAGE {i+6} ---') print(text) "
"Watch for neurovascular compromise before it becomes permanent damage."
| Term | What It Means | Simple Analogy |
|---|---|---|
| External Fixation | Pins go INTO the bone, connected to a frame OUTSIDE the body | Like scaffolding on a building - the scaffold is outside but anchored to the structure |
| Internal Fixation | Screws, plates, rods surgically placed INSIDE the body | Like a metal skeleton inside a broken sculpture |
| Traction | A controlled pulling force to line up bones | Like pulling on a bent straw from both ends to straighten it |
Easy way to remember: Think of a cast like a "body brace" for a bone - it holds everything in place so the body can do its repair work.
Example scenario: A patient with a leg cast calls the nurse and says "my toes feel numb and I can't move them well." This is a MEDICAL EMERGENCY - it could be compartment syndrome.
| P | Stands For | What to Assess |
|---|---|---|
| Pain | Pain | Pain out of proportion to injury? Pain with passive stretch? |
| Paresthesia | Abnormal Sensation | Tingling, numbness distal to cast |
| Pallor | Paleness | Unusual paleness - reduced blood flow |
| Paralysis | Loss of Movement | Can't move fingers/toes? |
| Pulselessness | No Pulse | Absent distal pulse - LATE and CRITICAL sign |
| Poikilothermia | Temperature Change | Limb cooler than the opposite side |
Memory trick: "6 P's - Pain, Paresthesia, Pallor, Paralysis, Pulselessness, Poikilothermia." If you only remember one thing, remember that pain out of proportion + pain with passive stretch = call the doctor NOW.
Exam tip: If a question says "the patient's traction weight is resting on the floor" - the correct nursing action is to reposition the weights so they hang freely.
| Type | How Applied | Advantages | Risks |
|---|---|---|---|
| Skin Traction | Through skin via boots, straps, bandages | Noninvasive | Skin breakdown, nerve compression |
| Skeletal Traction | Pins/wires directly into bone | Stronger, more precise | Pin site infection, osteomyelitis, pain |
Visual: Imagine a scaffolding tower bolted to the outside of a building. The metal pins go through the skin into the bone, and a rigid external frame connects them all together.
Comparison summary: Hip replacement = dislocation prevention is the distinct priority. Knee replacement = pain control + early mobility + VTE prevention.
| Nursing Diagnosis | Key Nursing Actions |
|---|---|
| Acute Pain | Pharmacologic + nonpharmacologic measures; evaluate response |
| Impaired Physical Mobility | Prevent complications; promote safe movement; coordinate rehab |
| Risk for Peripheral Neurovascular Dysfunction | Frequent neurovascular checks; rapid escalation for any changes |
| Risk for Infection | Incision care; aseptic technique; patient teaching; especially critical with fixation devices |
| Risk for VTE | Prevention: exercises, compression devices, anticoagulant therapy if ordered |
FRACTURE / JOINT PROBLEM
β
How do we stabilize it?
β β β
CAST/SPLINT TRACTION EXTERNAL FIXATION β JOINT REPLACEMENT
β β β β
ALL require the SAME core nursing priorities:
1. Neurovascular checks (6 P's)
2. Prevent skin breakdown
3. Prevent VTE
4. Prevent infection
5. Pain management
6. Patient education
| Modality | #1 Specific Risk | #1 Nursing Priority |
|---|---|---|
| Cast/Splint | Compartment syndrome | Neurovascular checks (6 P's) |
| Body cast | Cast syndrome (SMA) | GI monitoring + skin protection |
| Skin traction | Skin breakdown | Skin checks under straps |
| Skeletal traction | Pin site infection | Pin care + neurovascular checks |
| External fixation | Pin site infection | Pin site care |
| Total hip arthroplasty | Hip dislocation | Abduction + movement precautions |
| Total knee arthroplasty | VTE | Early mobility + anticoagulation |
Explain compartment syndrome
"compartment syndrome" AND "acute" AND "management"

Compartment syndrome = pressure rising inside a fascial compartment to a level that cuts off blood flow to muscles and nerves inside it.
Injury/Swelling β Pressure rises in closed compartment
β
Capillary perfusion is blocked
β
Muscle and nerve ischemia (no oxygen)
β
Cellular damage, more edema released
β
Even higher pressure (vicious cycle)
β
Irreversible necrosis (within 6-8 hours if untreated)
Important pitfall: Compartment syndrome can occur even in open fractures (where bone pierces skin). Many clinicians assume an open wound "releases" the pressure - this is wrong. Always maintain a high index of suspicion regardless.
| Sign | What It Looks Like | Why It Happens |
|---|---|---|
| Pain out of proportion | Pain far worse than the injury should cause | Ischemic nerve fibers |
| Pain with passive stretch | Moving the toes/fingers passively causes severe pain | Stretches ischemic muscle |
| Paresthesia | Tingling, numbness | Nerve ischemia starting |
| Sign | Meaning |
|---|---|
| Pallor | Reduced arterial supply |
| Paralysis | Motor nerve death |
| Pulselessness | EXTREMELY late - major vessel compressed |
Critical teaching point from Bailey and Love's Surgery: "Paralysis, numbness and pallor are late signs and pulselessness is an extremely late sign." By the time the pulse is gone, permanent damage is nearly certain. You must act on the early signs - pain + paresthesia.
What NOT to rely on: Elevated CPK (creatine kinase) and myoglobin in the urine are late markers of muscle destruction, not early diagnostic tools. Do not wait for these to rise before acting.
Timing matters enormously: Fasciotomy within 6-8 hours of onset = good chance of full recovery. After that, irreversible muscle and nerve death accelerates rapidly. Delay = limb loss and possible mortality.
| Complication | Mechanism |
|---|---|
| Volkmann's Ischemic Contracture | Forearm muscles die, replaced by fibrotic scar tissue, leaving a permanently flexed/claw hand |
| Rhabdomyolysis | Dead muscle releases myoglobin into bloodstream |
| Acute Tubular Necrosis / Renal Failure | Myoglobin is toxic to kidney tubules |
| Permanent nerve damage | Paralysis, chronic numbness |
| Limb loss (amputation) | Muscle gangrene when left untreated |
| Death | From systemic effects of massive tissue necrosis |
| Priority | What to Do |
|---|---|
| Assess frequently | Every 1-2 hours post-op or post-injury in high-risk patients |
| Pain is your best early warning | Escalating pain, especially with passive stretch = emergency |
| Don't be falsely reassured by a present pulse | Pulselessness is a VERY late sign - act before this |
| Open fractures are NOT protected | Maintain high suspicion even when skin is broken |
| High-risk window | Prolonged ischemia > 6 hours before repair is the highest-risk scenario |
| Post-fasciotomy care | Wound left open; watch for fluid/electrolyte imbalances, monitor renal function, check urine color for myoglobinuria |
COMPARTMENT SYNDROME IN 60 SECONDS
WHAT: Pressure in fascial compartment β cuts off perfusion β ischemia β necrosis
CAUSES: Fracture (70%), crush, tight cast, reperfusion injury, burns
DIAGNOSIS: CLINICAL - pain out of proportion + pain with passive stretch
Confirm with compartment pressure β₯30 mmHg or ΞP β€30 mmHg
EARLY β LATE signs:
Pain β Paresthesia β Pallor β Paralysis β Pulselessness (act EARLY)
TREATMENT:
Immediate β split cast, remove dressings, notify doctor
Definitive β FASCIOTOMY (leave wound open)
COMPLICATIONS if missed:
Volkmann's contracture, rhabdomyolysis, renal failure, limb loss, death
NURSING RULE: Pain out of proportion = call immediately, do not wait
Act as a world-class educator and teach me this chapter from absolute basics to complete mastery. First give me a simple overview of the chapter, then break it into small sections and explain each concept in easy language with examples. Connect all topics together and create a final summary that helps me revise the entire chapter quickly before exams.β
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_41__MANAGEMENT_OF_PATIENTS_WITH_MUSCULOSKELETAL_DISORDERS.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- PAGE {i+1} ---') print(text) print() "
| Bucket | What It Covers |
|---|---|
| 1. Low Back Pain | Most common musculoskeletal complaint - causes, management, nursing care |
| 2. Upper Extremity Disorders | Problems of the hand, wrist, shoulder |
| 3. Foot Problems | Common foot conditions requiring nursing care |
| 4. Metabolic Bone Disease | Osteoporosis (the big one) and related disorders |
| 5. Nursing Process | How to apply nursing care to all of the above |
"Assess neurovascular status, manage pain, promote safe mobility, prevent complications, and educate the patient."
| Term | Definition | Memory Hook |
|---|---|---|
| Bursitis | Inflammation of a bursa (fluid-filled friction-reducing sac) | "Bursa = cushion; -itis = inflamed" |
| Tendonitis | Inflammation of a tendon | "Tendon on fire from overuse" |
| Contracture | Abnormal shortening of muscle or fibrosis of a joint | "The joint got stuck in a contracted position" |
| Radiculopathy | Disease of a spinal nerve root β pain and extreme touch sensitivity | "Radix = root; the root is sick" |
| Sciatica | Inflammation of the sciatic nerve β pain along thigh and leg | Named after the sciatic nerve it affects |
| Osteopenia | Low bone mineral density (precursor to osteoporosis) | "Osteo = bone; penia = poverty" |
| Osteoporosis | Degenerative bone disease - reduced mass, deteriorated matrix, diminished strength | "Porous bone - full of holes" |
| Sequestrum | Dead bone inside an abscess cavity (seen in osteomyelitis) | "Sequestered = isolated; dead bone is isolated" |
| Involucrum | New bone that grows AROUND a sequestrum | "Involucrum = envelope; new bone envelopes the dead bone" |
Example: A nurse who lifts patients incorrectly for years develops lumbar disc degeneration. The disc bulges and presses on the sciatic nerve, causing radiating pain down the leg (sciatica).
| Treatment | Goal |
|---|---|
| NSAIDs (ibuprofen, naproxen) | Reduce pain AND inflammation |
| Acetaminophen | Reduce pain only (NOT anti-inflammatory) |
| Muscle relaxants | Short-term, for acute muscle spasm |
| Physical therapy | Restore function and prevent recurrence |
| Heat or cold therapy | Symptom relief |
| Early mobilization | Encouraged - prolonged bed rest is AVOIDED |
Important NSAID mechanism: NSAIDs work by blocking prostaglandin formation via COX-1 and COX-2 inhibition. COX-2 selective agents (like celecoxib) inhibit only COX-2, sparing the GI-protective effects of COX-1.
Analogy: Like gravel getting into a hinge - the joint can't move smoothly because there's debris inside.
Repetitive overhead motion
β
Tendon/bursa irritation and inflammation
β
Pain, limited range of motion, muscle spasm, edema
β
If untreated β disuse atrophy β partial/complete ROTATOR CUFF TEAR
Visual: Imagine the palm fascia slowly shrinking like a drying leather strap, pulling the ring and little fingers permanently toward the palm.
| Priority | Action |
|---|---|
| #1 Neurovascular monitoring | Check color, temp, capillary refill, sensation, movement of fingers frequently |
| #2 Pain management | Analgesics + elevate hand above heart level |
| #3 Edema control | Elevate above heart especially first 24-48 hours; gentle finger movement if permitted |
| #4 Immobilization protection | Maintain splint/cast integrity; ensure not too tight |
| #5 Wound care | Monitor for bleeding, drainage, infection signs (redness, warmth, swelling, fever) |
| #6 Rehab | Early controlled motion as prescribed; OT/PT collaboration |
| Condition | What It Is | Key Feature |
|---|---|---|
| Callus | Thickened skin from friction/pressure | On weight-bearing areas; protective but can become painful |
| Corn | Small thickened skin over bony prominence | Has a central core that presses on tissue - painful |
| Hallux Valgus | Lateral deviation of great toe + bunion | "Bunion" = enlarged first metatarsal head; pain, difficulty with shoes |
| Hammer Toe | PIP joint flexion deformity (claw-like) | Usually 2nd-4th toe; from muscle imbalance or ill-fitting shoes |
| Ingrown Toenail | Nail edge grows into surrounding tissue | Great toe most common; can become infected |
| Morton Neuroma | Thickened nerve tissue between 3rd & 4th toes | "Walking on a pebble" sensation; burning, numbness, tingling |
| Pes Cavus | Abnormally HIGH arch | Uneven weight distribution β pain, instability, calluses |
| Pes Planus | Flat foot (LOW/absent arch) | Sole touches ground entirely; foot fatigue, altered gait |
| Plantar Fasciitis | Inflammation of plantar fascia (heel to forefoot) | Sharp heel pain first thing in the morning - classic symptom |
Memory trick for arches: "Cavus = Cave = high arch." "Planus = Plane = flat."
| Priority | Foot-Specific Actions |
|---|---|
| Neurovascular monitoring | Assess color, temp, capillary refill, sensation, toe movement, pulses |
| Pain + Edema | Elevate foot above heart level; cold therapy if prescribed |
| Weight bearing | Reinforce non-weight-bearing or limited weight-bearing restrictions |
| Ambulation safety | Teach correct use of crutches/walker; fall prevention measures |
| Wound care | Especially important in diabetic patients (impaired healing) |
Normal: Resorption = Formation β Stable bone density
Osteoporosis: Resorption > Formation β Bone mass DECREASES
| Strategy | Why It Helps |
|---|---|
| Adequate calcium + vitamin D | Supports bone mineralization |
| Weight-bearing exercise | Stimulates bone formation, slows resorption |
| Muscle-strengthening exercise | Improves stability, reduces falls |
| Avoid smoking | Smoking accelerates bone loss |
| Limit alcohol | Alcohol accelerates bone loss |
| Fall prevention | Reduces fracture events |
| Early risk identification | Start prevention before fractures occur |
| Diagnosis | Interventions |
|---|---|
| Acute pain | Administer prescribed analgesics; supportive positioning; comfort measures |
| Impaired mobility | Encourage safe movement; gradual activity; physical therapy |
| Risk for falls | Safety measures; home safety education |
| Nutrition | Dietary teaching: calcium-rich foods, vitamin D |
| Risk for injury | Medication adherence; fall prevention |
| Disorder | Key Feature |
|---|---|
| Osteomalacia | Soft bones due to vitamin D deficiency - bone matrix forms but doesn't mineralize |
| Paget Disease | Excessive disorganized bone remodeling β thick, weak, deformed bones |
| Septic (Infectious) Arthritis | Joint infection - requires urgent treatment to prevent joint destruction |
| Osteomyelitis | Bone infection; involves sequestrum (dead bone) and involucrum (new bone around it) |
| Bone Tumors | Primary (starts in bone) or metastatic (spreads from elsewhere); nursing focuses on pain and monitoring |
MUSCULOSKELETAL DISORDERS
β
βββββββ΄βββββββββββββββββββββββββββββββ
β β
STRUCTURAL METABOLIC
(Mechanical/Overuse) (Bone Disease)
β β
Low Back Pain Osteoporosis
Upper Extremity Disorders Osteomalacia
Foot Problems Paget Disease
Bone Infections/Tumors
β β
ββββββββββββββββ¬ββββββββββββββββββββββ
β
SAME NURSING PRIORITIES APPLY:
1. Neurovascular assessment
2. Pain management
3. Fall/injury prevention
4. Patient education
5. Promote mobility and independence
| Condition | Key Defining Feature | Primary Nursing Action |
|---|---|---|
| Low back pain | Pain worse with movement; may radiate (sciatica) | Teach body mechanics; avoid bed rest |
| Bursitis | Inflamed bursa β pain at joint | Rest, NSAIDs, ice |
| Tendonitis | Inflamed tendon from overuse | Rest, NSAIDs, rehab |
| Carpal tunnel | Median nerve compression; night pain | Wrist splint; avoid repetitive motion |
| Dupuytren | Ring + little finger fixed in flexion | Post-op neurovascular checks |
| Hallux valgus | Great toe deviates laterally (bunion) | Proper footwear; post-op weight-bearing restrictions |
| Plantar fasciitis | Heel pain first steps in AM | Stretching, supportive footwear |
| Morton neuroma | "Pebble" sensation 3rd-4th toes | Wider shoes, orthotics, possible injection |
| Osteoporosis | Porous bone β fractures; DEXA for diagnosis | Calcium + Vit D; fall prevention; exercise |
| Osteomyelitis | Bone infection with sequestrum/involucrum | IV antibiotics; wound care; neuro checks |
βAct as a world-class educator and teach me this chapter from absolute basics to complete mastery. First give me a simple overview of the chapter, then break it into small sections and explain each concept in easy language with examples. Connect all topics together and create a final summary that helps me revise the entire chapter quickly before exams.β
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_41__MANAGEMENT_OF_PATIENTS_WITH_MUSCULOSKELETAL_DISORDERS_PART_2.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- PAGE {i+1} ---') print(text) print() "
| Section | Topic | Core Problem |
|---|---|---|
| 1 | Osteomalacia | Bones form but don't harden - vitamin D deficiency |
| 2 | Paget Disease | Bones remodel too fast and become disorganized, enlarged, and brittle |
| 3 | Musculoskeletal Infections (Osteomyelitis + Septic Arthritis) | Bacteria invade bone or joints - causes destruction and necrosis |
| 4 | Bone Tumors | Abnormal cell growth weakens bone - primary or spread from elsewhere |
"Manage pain, prevent complications (especially fractures and functional loss), control infection when present, and educate the patient on long-term adherence."
Key distinction to know for exams:
- Osteoporosis = bone mass is LOST (scaffold itself is reduced)
- Osteomalacia = bone mass is present but NOT MINERALIZED (scaffold exists but stays soft)
Warning: Bone pain and weakness in older adults is often dismissed as "just aging" - this delays diagnosis. Always consider osteomalacia.
| Test | What It Shows |
|---|---|
| Serum vitamin D | LOW |
| Serum calcium | Low or normal |
| Serum phosphate | LOW |
| X-ray | Decreased bone density, characteristic demineralization changes |
| Clinical picture | Bone pain + muscle weakness + lab findings together = diagnosis |
Good news: With adequate treatment, bone pain and weakness usually improve and fracture risk decreases.
Analogy: Imagine a construction crew demolishing and rebuilding a wall simultaneously, working frantically and without any blueprint. The wall gets rebuilt quickly but it's thick, misshapen, full of structural flaws, and will crack under stress.
| Phase | What Happens | Key Player |
|---|---|---|
| 1. Osteolytic Phase | Excessive bone DESTRUCTION | Overactive osteoclasts eat bone rapidly |
| 2. Mixed Phase | Simultaneous destruction AND rebuilding | Both osteoclasts and osteoblasts working at once |
| 3. Osteoblastic (Sclerotic) Phase | New bone FORMS but it's disorganized, enlarged, and weak | Osteoblasts lay down chaotic bone |
| Symptom | Cause |
|---|---|
| Bone pain (deep, aching, persistent) | Most common symptom; caused by bone remodeling and nerve compression |
| Bowing of long bones | Structural weakness from disorganized bone |
| Enlarging skull (increasing hat size) | Skull bones grow abnormally |
| Hearing loss | Skull changes compress auditory nerve |
| Headaches + Radicular pain | Nerve compression by enlarged, deformed bone |
| Warmth over affected bones | Bone is highly vascular - extra blood flow = warm skin |
| Pathologic fractures | Brittle bone breaks under normal stress |
| Secondary osteoarthritis | Deformed bones stress adjacent joints |
Many patients are asymptomatic early - disease is often found incidentally during testing for another condition.
| Treatment | Purpose |
|---|---|
| Bisphosphonates (first-line) | Inhibit osteoclastic activity β slow down the runaway bone destruction β normalize bone turnover |
| Calcitonin (selected cases) | Alternative to bisphosphonates - inhibits osteoclasts |
| Analgesics | Pain control |
| Orthopedic surgery | For fractures, severe deformities, or joint degeneration |
| Route | Example |
|---|---|
| Hematogenous spread | Bacteria from a distant infection (UTI, skin infection) travel through the bloodstream to bone |
| Direct invasion | Open fracture, surgery, or penetrating trauma drives bacteria directly into bone |
| Contiguous spread | Nearby soft tissue infection (diabetic foot ulcer) slowly spreads into underlying bone |
Bacteria enter bone
β
Inflammatory response triggered
β
Intramedullary pressure rises
β
Blood flow to bone is reduced
β
Bone ischemia and necrosis occur
β
Dead bone separates β SEQUESTRUM forms
β
Body attempts repair β new bone grows around dead bone β INVOLUCRUM forms
β
Infection becomes chronic if sequestrum persists
(dead bone is like a "hiding place" for bacteria - antibiotics can't reach it)
Why is chronic osteomyelitis so hard to treat? Because the sequestrum (dead bone) acts as a reservoir for bacteria that antibiotics cannot penetrate. Surgical removal is often necessary.
| Test | Purpose |
|---|---|
| WBC + inflammatory markers | Elevated (confirms infection/inflammation) |
| Blood cultures | Identify the causative organism |
| Bone biopsy + culture | DEFINITIVE diagnosis |
| X-ray | Shows bone destruction (but delayed - may be normal early) |
| MRI/CT | Better for early infection and extent of involvement |
| Treatment | Details |
|---|---|
| Long-term IV antibiotics | Mainstay of treatment; guided by culture and sensitivity |
| Surgical debridement | Remove necrotic bone and tissue |
| Abscess drainage | Drain any pus collections |
| Sequestrum removal | Remove the dead bone (essential in chronic cases) |
| Immobilization | Reduces pain and promotes healing |
| Nutritional support | Adequate protein/calories are essential for tissue repair |
| Problem | Actions |
|---|---|
| Infection control | Administer antibiotics on schedule; monitor therapeutic effects and side effects |
| Pain | Analgesics; position affected limb comfortably |
| Mobility | Encourage appropriate activity while protecting the area |
| Wound care | Dressing changes with strict aseptic technique |
| Education | Complete the full antibiotic course; wound care at home; signs of recurrence |
Why is it an emergency? Bacteria inside a joint space rapidly destroy cartilage. Cartilage has NO blood supply and CANNOT regenerate. Once destroyed, the joint is permanently damaged.
Nursing alert: Older adults, immunocompromised patients, and patients with pre-existing joint disease may have less obvious fever - do not be falsely reassured by a low-grade or absent fever.
| Treatment | Purpose |
|---|---|
| Immediate IV antibiotics | Start NOW - do not wait for cultures to begin treatment |
| Joint drainage | Remove infected synovial fluid - essential to stop destruction |
| Needle aspiration | Simple, bedside drainage |
| Arthroscopic drainage | More thorough visualization and washout |
| Surgical drainage | For severe or complicated cases |
| Short-term immobilization | Reduce pain during acute phase |
| Gradual rehabilitation | Begin range-of-motion once infection is controlled - prevent stiffness |
| Priority | Actions |
|---|---|
| Treat as medical emergency | Report suspected septic arthritis IMMEDIATELY |
| Pain management | Analgesics; position joint for comfort |
| Infection control | IV antibiotics exactly as prescribed; aseptic technique during aspiration |
| Joint protection | Immobilize during acute phase |
| Recovery mobility | Gradual, prescribed ROM exercises with PT collaboration |
| Monitoring | Temperature; joint pain, swelling, mobility; lab results |
| Education | Complete antibiotic course; early signs of recurrence; follow-up importance |
BONE TUMORS
β
βββ PRIMARY (originate in bone)
β βββ Benign (non-cancerous)
β βββ Malignant (cancerous)
β βββ Osteosarcoma
β βββ Chondrosarcoma
β βββ Ewing Sarcoma
β
βββ METASTATIC (spread to bone from elsewhere) β MORE COMMON
βββ Source: Breast, Prostate, Lung, Kidney, Thyroid
| Tumor | Origin | Who Gets It | Key Feature |
|---|---|---|---|
| Osteosarcoma | Bone-forming cells | Children and adolescents (most common age group) | Most common primary malignant bone tumor |
| Chondrosarcoma | Cartilage-forming cells | Adults | Slower growing than osteosarcoma |
| Ewing Sarcoma | Uncertain origin | Children and young adults | Highly aggressive |
Tumor cells grow in bone
β
Normal bone remodeling disrupted
β
Bone structure weakened
β
Blood supply interfered with
β
Malignant tumors may:
β’ Destroy bone (osteolytic activity)
β’ Cause PATHOLOGIC FRACTURES (fracture from minimal or no trauma)
β’ Invade surrounding tissue
β’ Metastasize further
| Symptom | Details |
|---|---|
| Pain (most common) | Deep, aching, persistent; worse at night or with activity |
| Swelling/palpable mass | Over the affected bone |
| Pathologic fractures | Fracture with minimal or no trauma - classic |
| Decreased ROM / functional impairment | Tumor interferes with joint or movement |
| Fatigue, weight loss, anemia | Systemic effects (especially metastatic disease) |
| Neurologic deficits | If tumor compresses nerve or spinal cord |
| Test | Purpose |
|---|---|
| X-ray | Identifies bone destruction, lesions, deformities (first-line imaging) |
| Advanced imaging (CT/MRI) | Defines tumor size, location, soft tissue involvement |
| Bone biopsy | DEFINITIVE diagnosis - determines tumor type and malignancy |
| Lab work | May show anemia; specific tumor markers depending on type |
| History | History of known malignancy = strong suggestion of metastatic disease |
| Modality | When Used |
|---|---|
| Surgery - limb-sparing | Preferred when feasible - removes tumor while saving the limb |
| Amputation | Required in advanced disease when limb cannot be saved |
| Radiation therapy | Tumor control, pain relief, inoperable tumors |
| Chemotherapy | Primarily for osteosarcoma and Ewing sarcoma (given pre- and post-surgery) |
| Palliative management | Advanced/metastatic disease - focus on pain relief, mobility, quality of life |
BONE/JOINT DISEASE MECHANISMS
β
βββββββββΌβββββββββββββββββββ
β β β
METABOLIC INFECTION TUMORS
β β β
Soft/weak Necrosis & Destruction &
bones destruction pathologic fractures
β β β
βββββββββ΄βββββββββββββββββββ
β
SAME NURSING PRIORITIES:
1. Pain management
2. Protect bone from fracture
3. Prevent/control infection
4. Promote mobility safely
5. Psychosocial support
6. Patient education + adherence
| Link | Connection |
|---|---|
| Osteomalacia β Osteoporosis | Both weaken bone and increase fracture risk; different mechanisms |
| Osteomyelitis β Paget | Both involve abnormal bone remodeling; Paget is non-infectious |
| Osteomyelitis β Septic arthritis | Both are bone/joint infections; both emergencies; both require IV antibiotics + drainage/debridement |
| Septic arthritis β Bone tumors | Both cause pain, swelling, limited motion; tumor pain is persistent and worse at night |
| All conditions | Pathologic fracture risk is a common thread - always protect the bone |
| Disease | Key Pathology | Key Lab | Key Treatment |
|---|---|---|---|
| Osteomalacia | Unmineralized osteoid | Low vitamin D, low phosphate | Vitamin D + calcium supplementation |
| Paget disease | Disorganized bone remodeling | High ALP | Bisphosphonates |
| Osteomyelitis | Bone infection + necrosis (sequestrum) | High WBC; bone biopsy = definitive | Long-term IV antibiotics + surgery |
| Septic arthritis | Joint infection β cartilage destruction | Purulent synovial fluid | Emergency: IV antibiotics + joint drainage |
| Bone tumors | Abnormal cell growth destroying bone | Bone biopsy = definitive | Surgery Β± radiation Β± chemotherapy |
MUSCULOSKELETAL DISORDERS
β
ββββββ΄βββββββββββββββββββββ
MECHANICAL DISEASE-BASED
β β
Low back pain ββββββ΄βββββββββββββββββββββββββ
Upper extremity β β β
Foot problems METABOLIC INFECTION TUMOR
β β β
Osteoporosis Osteomyelitis Primary tumors
Osteomalacia Septic arthritis Metastatic
Paget disease
ALL REQUIRE: Pain control | Mobility support | Fall prevention | Patient education
Act as a world-class educator and teach me this chapter from absolute basics to complete mastery. First give me a simple overview of the chapter, then break it into small sections and explain each concept in easy language with examples. Also, synthesis additional information from other sources pertinent to this chapter that are important for me to know as a nurse. Connect all topics together and create a final summary that helps me revise the entire chapter quickly before exams.
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_42__MANAGEMENT_OF_PATIENTS_WITH_MUSCULOSKELETAL_TRAUMA_.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- PAGE {i+1} ---') print(text) print() "
Generate a quick reference PDF on compartment syndrome recognition and emergency response
ls -la /home/daytona/workspace/ && mkdir -p /home/daytona/workspace/compartment-syndrome-qr
~/compartment-syndrome-qr/generate_pdf.py
from reportlab.lib.pagesizes import letter
from reportlab.lib import colors
from reportlab.lib.units import inch
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import PageTemplate, Frame
from reportlab.lib.colors import HexColor
OUTPUT = "/home/daytona/workspace/compartment-syndrome-qr/Compartment_Syndrome_Quick_Reference.pdf"
# ββ Colour palette ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
RED = HexColor("#C0392B")
RED_LITE = HexColor("#FADBD8")
ORANGE = HexColor("#E67E22")
ORG_LITE = HexColor("#FDEBD0")
NAVY = HexColor("#1A3A5C")
NAVY_LT = HexColor("#D6E4F0")
GREEN = HexColor("#1E8449")
GRN_LITE = HexColor("#D5F5E3")
GRAY = HexColor("#F2F3F4")
DARK_GRY = HexColor("#5D6D7E")
WHITE = colors.white
BLACK = colors.black
YELLOW = HexColor("#F9E79F")
YEL_BRD = HexColor("#D4AC0D")
doc = SimpleDocTemplate(
OUTPUT,
pagesize=letter,
rightMargin=0.55 * inch,
leftMargin=0.55 * inch,
topMargin=0.5 * inch,
bottomMargin=0.5 * inch,
)
W = letter[0] - 1.1 * inch # usable width
# ββ Styles ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
base = getSampleStyleSheet()
def S(name, **kw):
s = ParagraphStyle(name, **kw)
return s
TITLE = S("TITLE",
fontName="Helvetica-Bold", fontSize=22, textColor=WHITE,
alignment=TA_CENTER, spaceAfter=2, leading=26)
SUBTITLE = S("SUBTITLE",
fontName="Helvetica", fontSize=11, textColor=HexColor("#AED6F1"),
alignment=TA_CENTER, spaceAfter=4, leading=14)
SEC_HDR = S("SEC_HDR",
fontName="Helvetica-Bold", fontSize=11, textColor=WHITE,
alignment=TA_LEFT, leading=14)
BODY = S("BODY",
fontName="Helvetica", fontSize=9.5, textColor=BLACK,
leading=13, spaceAfter=3)
BODY_B = S("BODY_B",
fontName="Helvetica-Bold", fontSize=9.5, textColor=BLACK,
leading=13, spaceAfter=3)
SMALL = S("SMALL",
fontName="Helvetica", fontSize=8.5, textColor=DARK_GRY,
leading=12, spaceAfter=2)
SMALL_B = S("SMALL_B",
fontName="Helvetica-Bold", fontSize=8.5, textColor=BLACK,
leading=12, spaceAfter=2)
ALERT = S("ALERT",
fontName="Helvetica-Bold", fontSize=10.5, textColor=RED,
alignment=TA_CENTER, leading=14)
FOOTER = S("FOOTER",
fontName="Helvetica-Oblique", fontSize=7.5, textColor=DARK_GRY,
alignment=TA_CENTER)
CENTERED = S("CENTERED",
fontName="Helvetica", fontSize=9, textColor=BLACK,
alignment=TA_CENTER, leading=12)
CENTERED_B = S("CENTERED_B",
fontName="Helvetica-Bold", fontSize=9, textColor=BLACK,
alignment=TA_CENTER, leading=12)
# ββ Helper: coloured section header bar ββββββββββββββββββββββββββββββββββββββ
def section_header(text, bg=NAVY, icon=""):
label = f"{icon} {text}" if icon else text
t = Table([[Paragraph(label, SEC_HDR)]], colWidths=[W])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("ROWPADDING", (0,0), (-1,-1), 6),
("BOX", (0,0), (-1,-1), 0, bg),
]))
return t
def spacer(h=5):
return Spacer(1, h)
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story = []
# ββ TITLE BANNER ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
banner = Table(
[[Paragraph("COMPARTMENT SYNDROME", TITLE)],
[Paragraph("Quick Reference Guide | Recognition & Emergency Response", SUBTITLE)]],
colWidths=[W]
)
banner.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), NAVY),
("ROWPADDING", (0,0), (-1,-1), 8),
("TOPPADDING", (0,0), (-1,0), 12),
("BOTTOMPADDING",(0,1),(-1,1), 12),
]))
story += [banner, spacer(8)]
# ββ DEFINITION ROW βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
def_data = [[
Paragraph(
"<b>DEFINITION:</b> A condition in which rising pressure within a closed fascial compartment "
"reduces capillary perfusion below the level needed for tissue viability, causing ischaemia "
"and β if untreated β irreversible muscle and nerve necrosis.",
S("DEF", fontName="Helvetica", fontSize=9.5, textColor=NAVY,
leading=14, alignment=TA_JUSTIFY)),
]]
def_tbl = Table(def_data, colWidths=[W])
def_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), NAVY_LT),
("ROWPADDING", (0,0), (-1,-1), 8),
("BOX", (0,0), (-1,-1), 1.5, NAVY),
("LEFTPADDING", (0,0), (-1,-1), 10),
("RIGHTPADDING",(0,0), (-1,-1), 10),
]))
story += [def_tbl, spacer(8)]
# ββ TWO-COLUMN SECTION: CAUSES + COMMON SITES ββββββββββββββββββββββββββββββββ
story.append(section_header("CAUSES & COMMON SITES", NAVY))
story.append(spacer(4))
causes = [
["CAUSES (most common first)", "COMMON ANATOMIC SITES"],
[Paragraph("β’ Fractures β 70% of cases (esp. tibia, forearm)\n"
"β’ Crush injuries / soft tissue contusions β 23%\n"
"β’ Tight casts or circumferential dressings\n"
"β’ Burns (circumferential third-degree)\n"
"β’ Reperfusion after arterial ischaemia\n"
"β’ Bleeding disorders / anticoagulation\n"
"β’ IV fluid extravasation under pressure", SMALL),
Paragraph("β’ Leg (4 compartments: anterior, lateral,\n"
" deep posterior, superficial posterior)\n"
"β’ Forearm (volar / dorsal)\n"
"β’ Hand and foot\n"
"β’ Thigh and upper arm\n"
"β’ Buttock\n\n"
"<i>Open fractures do NOT protect against\n"
"compartment syndrome β stay vigilant.</i>", SMALL)],
]
causes_tbl = Table(causes, colWidths=[W*0.5, W*0.5])
causes_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), DARK_GRY),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ALIGN", (0,0), (-1,0), "CENTER"),
("ROWPADDING", (0,0), (-1,-1), 6),
("GRID", (0,0), (-1,-1), 0.5, HexColor("#BDC3C7")),
("VALIGN", (0,1), (-1,-1), "TOP"),
("BACKGROUND", (0,1), (-1,-1), GRAY),
]))
story += [causes_tbl, spacer(8)]
# ββ 6 P's RECOGNITION TABLE βββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("RECOGNITION: THE 6 P's", RED))
story.append(spacer(4))
ps_data = [
["P", "SIGN", "DETAILS", "TIMING"],
["Pain", "Pain out of proportion",
"Far worse than injury alone should cause.\nPain with PASSIVE STRETCH of muscles in the\ncompartment β EARLIEST & MOST RELIABLE sign.",
Paragraph("<b><font color='#C0392B'>EARLY</font></b>", CENTERED_B)],
["Paresthesia", "Tingling / Numbness",
"Nerve ischaemia begins. Tingling or numbness\ndistal to the compartment (fingers / toes).",
Paragraph("<b><font color='#C0392B'>EARLY</font></b>", CENTERED_B)],
["Pressure", "Tense / Firm swelling",
"Compartment feels woody or tense on palpation.\nBeyond normal post-injury swelling.",
Paragraph("<b><font color='#E67E22'>EARLYβMID</font></b>", CENTERED_B)],
["Pallor", "Skin paleness",
"Arterial supply being compromised.\nCompare with unaffected limb.",
Paragraph("<b><font color='#E67E22'>MIDβLATE</font></b>", CENTERED_B)],
["Paralysis", "Loss of motor function",
"Motor nerve and muscle ischaemia. Patient\ncannot move digits distal to the compartment.",
Paragraph("<b><font color='#922B21'>LATE</font></b>", CENTERED_B)],
["Pulselessness","Absent distal pulse",
"EXTREMELY LATE sign. Tissue is already dying.\nNEVER wait for this before acting.",
Paragraph("<b><font color='#922B21'>VERY LATE</font></b>", CENTERED_B)],
]
ps_tbl = Table(ps_data, colWidths=[W*0.13, W*0.18, W*0.49, W*0.20])
ps_tbl.setStyle(TableStyle([
# Header row
("BACKGROUND", (0,0), (-1,0), RED),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ALIGN", (0,0), (-1,0), "CENTER"),
# Body
("FONTNAME", (0,1), (1,-1), "Helvetica-Bold"),
("FONTSIZE", (0,1), (-1,-1), 9),
("ROWPADDING", (0,0), (-1,-1), 5),
("GRID", (0,0), (-1,-1), 0.5, HexColor("#BDC3C7")),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
# Alternating rows
("BACKGROUND", (0,1), (-1,1), RED_LITE),
("BACKGROUND", (0,2), (-1,2), WHITE),
("BACKGROUND", (0,3), (-1,3), RED_LITE),
("BACKGROUND", (0,4), (-1,4), WHITE),
("BACKGROUND", (0,5), (-1,5), RED_LITE),
("BACKGROUND", (0,6), (-1,6), WHITE),
# Highlight pain row
("LEFTPADDING", (0,0), (-1,-1), 6),
("RIGHTPADDING", (0,0), (-1,-1), 4),
]))
story += [ps_tbl, spacer(4)]
# Pain-stretch callout
callout = Table([[
Paragraph(
"KEY: Pain with PASSIVE STRETCH is the earliest and most actionable sign. "
"Passively extend the fingers/toes β if this triggers severe pain in the compartment, act immediately. "
"Do NOT wait for pulselessness.",
S("COut", fontName="Helvetica-BoldOblique", fontSize=9, textColor=RED,
leading=13, alignment=TA_LEFT))
]], colWidths=[W])
callout.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), RED_LITE),
("BOX", (0,0),(-1,-1), 1.5, RED),
("ROWPADDING", (0,0),(-1,-1), 7),
("LEFTPADDING", (0,0),(-1,-1), 10),
]))
story += [callout, spacer(8)]
# ββ PRESSURE THRESHOLDS βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("COMPARTMENT PRESSURE THRESHOLDS (when measured)", ORANGE))
story.append(spacer(4))
thresh_data = [
["THRESHOLD", "VALUE", "ACTION"],
["Absolute compartment pressure",
"β₯ 30 mmHg",
"Fasciotomy indicated"],
["Delta pressure (Diastolic BP β Compartment Pressure)",
"β€ 30 mmHg",
"Fasciotomy indicated"],
["High clinical suspicion",
"Any pressure",
"Fasciotomy may still be indicated"],
]
thresh_tbl = Table(thresh_data, colWidths=[W*0.42, W*0.25, W*0.33])
thresh_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), ORANGE),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 9),
("ALIGN", (1,0), (1,-1), "CENTER"),
("ALIGN", (2,0), (2,-1), "CENTER"),
("ROWPADDING", (0,0), (-1,-1), 6),
("GRID", (0,0), (-1,-1), 0.5, HexColor("#BDC3C7")),
("BACKGROUND", (0,1), (-1,1), ORG_LITE),
("BACKGROUND", (0,2), (-1,2), WHITE),
("BACKGROUND", (0,3), (-1,3), ORG_LITE),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("FONTNAME", (1,1), (1,-1), "Helvetica-Bold"),
("TEXTCOLOR", (2,1), (2,2), GREEN),
("FONTNAME", (2,1), (2,-1), "Helvetica-Bold"),
("LEFTPADDING", (0,0), (-1,-1), 7),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]))
story += [thresh_tbl, spacer(4)]
note = Paragraph(
"<i>Note: Pressure measurement is used when diagnosis is uncertain or patient cannot communicate "
"(sedated, head injury). Clinical diagnosis takes priority β do not delay treatment waiting for a measurement.</i>",
SMALL)
story += [note, spacer(8)]
# ββ EMERGENCY RESPONSE β STEP-BY-STEP ββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("EMERGENCY RESPONSE β NURSING ACTIONS (IN ORDER)", RED))
story.append(spacer(4))
steps = [
("STEP 1", "NOTIFY PROVIDER IMMEDIATELY",
"Do not wait. Compartment syndrome is a time-critical emergency. Call the provider and "
"document time of notification. Prepare for urgent intervention.",
RED, RED_LITE),
("STEP 2", "REMOVE ALL CONSTRICTIVE ITEMS",
"Bivalve / split the cast down to skin β this alone can significantly reduce pressure. "
"Remove circumferential dressings, bandages, splints, and any external compressive devices "
"to skin level. Do NOT merely loosen β remove completely.",
ORANGE, ORG_LITE),
("STEP 3", "POSITION THE LIMB AT HEART LEVEL",
"Elevate to heart level only (not above). Raising above heart reduces arterial inflow and "
"worsens ischaemia. Lowering below heart increases venous pressure and worsens oedema. "
"Heart level = optimal perfusion gradient.",
HexColor("#1A5276"), NAVY_LT),
("STEP 4", "ADMINISTER OXYGEN AS ORDERED",
"Supplemental oxygen maximises oxygen delivery to ischaemic tissue while awaiting "
"definitive treatment. Establish IV access if not already present.",
GREEN, GRN_LITE),
("STEP 5", "PREPARE FOR FASCIOTOMY",
"Fasciotomy (surgical release of fascia) is the only definitive treatment. "
"Obtain consent if possible. Prepare OR notification. Window: within 6β8 hours of onset "
"for best outcomes. Wounds are left OPEN post-fasciotomy.",
HexColor("#6C3483"), HexColor("#E8DAEF")),
("STEP 6", "MONITOR CONTINUOUSLY",
"Repeat neurovascular checks (6 P's) every 15β30 minutes until resolved or surgeon arrives. "
"Document all findings with timestamps. Monitor vitals, urine output (watch for myoglobinuria "
"β dark urine = rhabdomyolysis), and fluid balance.",
DARK_GRY, GRAY),
]
for code, title, desc, bg, lite in steps:
row = Table(
[[Paragraph(code, S(f"C{code}", fontName="Helvetica-Bold", fontSize=8,
textColor=WHITE, alignment=TA_CENTER, leading=11)),
Paragraph(f"<b>{title}</b><br/>{desc}",
S(f"D{code}", fontName="Helvetica", fontSize=9,
leading=13, textColor=BLACK))]],
colWidths=[W*0.11, W*0.89]
)
row.setStyle(TableStyle([
("BACKGROUND", (0,0),(0,0), bg),
("BACKGROUND", (1,0),(1,0), lite),
("VALIGN", (0,0),(-1,-1), "MIDDLE"),
("ROWPADDING", (0,0),(-1,-1), 6),
("LEFTPADDING", (0,0),(0,0), 4),
("RIGHTPADDING",(0,0),(0,0), 4),
("LEFTPADDING", (1,0),(1,0), 8),
("BOX", (0,0),(-1,-1), 0.5, HexColor("#BDC3C7")),
]))
story += [row, spacer(3)]
story.append(spacer(6))
# ββ POST-FASCIOTOMY NURSING CARE ββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("POST-FASCIOTOMY NURSING CARE", GREEN))
story.append(spacer(4))
post_data = [
["ASSESSMENT", "WOUND CARE", "SYSTEMIC MONITORING"],
[Paragraph("β’ Neurovascular checks q1β2h\n"
"β’ Compare with unaffected limb\n"
"β’ Monitor for pain relief (improvement\n"
" confirms decompression)\n"
"β’ Assess for residual deficits\n"
"β’ Monitor skin graft take if applicable", SMALL),
Paragraph("β’ Wounds left OPEN β do not close early\n"
"β’ Vacuum-assisted closure (VAC) device\n"
" applied to manage oedema\n"
"β’ Delayed primary closure in 3β5 days\n"
" when swelling resolves\n"
"β’ Aseptic dressing technique always\n"
"β’ Monitor for wound infection", SMALL),
Paragraph("β’ Urine output: target >100 mL/hr\n"
" (rhabdomyolysis risk)\n"
"β’ Monitor urine colour (dark = myoglobin)\n"
"β’ IV fluids β aggressive if rhabdo present\n"
"β’ Urine alkalinisation with bicarbonate\n"
" may be ordered (severe tissue damage)\n"
"β’ Monitor CPK, BMP, renal function\n"
"β’ K+ levels β released from necrotic cells", SMALL)],
]
post_tbl = Table(post_data, colWidths=[W/3, W/3, W/3])
post_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), GREEN),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ALIGN", (0,0), (-1,0), "CENTER"),
("ROWPADDING", (0,0), (-1,-1), 6),
("GRID", (0,0), (-1,-1), 0.5, HexColor("#BDC3C7")),
("VALIGN", (0,1), (-1,-1), "TOP"),
("BACKGROUND", (0,1), (-1,1), GRN_LITE),
("LEFTPADDING", (0,0), (-1,-1), 7),
]))
story += [post_tbl, spacer(8)]
# ββ COMPLICATIONS IF UNTREATED ββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("CONSEQUENCES OF DELAYED / MISSED DIAGNOSIS", RED))
story.append(spacer(4))
comp_items = [
("Volkmann's Ischaemic Contracture",
"Forearm muscles replaced by fibrotic scar tissue β permanent claw-hand deformity"),
("Rhabdomyolysis",
"Dead muscle releases myoglobin into bloodstream β toxic to kidneys"),
("Acute Kidney Injury / Renal Failure",
"Myoglobin precipitates in tubules β acute tubular necrosis"),
("Permanent Nerve Damage",
"Chronic numbness, paralysis, neuropathic pain in distribution of affected nerves"),
("Limb Loss (Amputation)",
"Gangrenous muscle cannot be saved if fasciotomy is too late"),
("Death",
"From systemic effects of massive rhabdomyolysis, sepsis, and multi-organ failure"),
]
comp_data = [["COMPLICATION", "MECHANISM / OUTCOME"]]
for c, m in comp_items:
comp_data.append([Paragraph(f"<b>{c}</b>", SMALL_B), Paragraph(m, SMALL)])
comp_tbl = Table(comp_data, colWidths=[W*0.38, W*0.62])
comp_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), RED),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ALIGN", (0,0), (-1,0), "CENTER"),
("ROWPADDING", (0,0), (-1,-1), 5),
("GRID", (0,0), (-1,-1), 0.5, HexColor("#BDC3C7")),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
("BACKGROUND", (0,1), (-1,1), RED_LITE),
("BACKGROUND", (0,2), (-1,2), WHITE),
("BACKGROUND", (0,3), (-1,3), RED_LITE),
("BACKGROUND", (0,4), (-1,4), WHITE),
("BACKGROUND", (0,5), (-1,5), RED_LITE),
("BACKGROUND", (0,6), (-1,6), WHITE),
("LEFTPADDING", (0,0), (-1,-1), 7),
]))
story += [comp_tbl, spacer(8)]
# ββ SPECIAL POPULATIONS βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("SPECIAL POPULATIONS & CLINICAL PEARLS", NAVY))
story.append(spacer(4))
pearls = [
("Altered / Unconscious Patients",
"Cannot verbalise pain. Use compartment pressure measurement as primary tool. "
"Maintain high clinical suspicion in any patient with significant extremity injury who "
"cannot communicate."),
("Paediatric Patients",
"Supracondylar humerus fractures carry highest risk in children. "
"Children may not localise pain well β agitation, crying disproportionate to injury, "
"and refusal to move a limb are important indicators."),
("Open Fractures",
"Do NOT assume an open wound decompresses the compartment. "
"Compartment syndrome occurs in open fractures. Vigilance is mandatory."),
("Post-Operative Patients",
"Tight wound closure, haematoma formation, and positional pressure (e.g., lithotomy) "
"can all cause compartment syndrome in the post-op setting."),
("Cast / Splint Patients",
"Bivalve or remove cast completely (not just loosen) at FIRST sign of concern. "
"Teach all cast patients the 6 P's and to report changes immediately."),
]
pearl_rows = [["POPULATION / SITUATION", "CLINICAL PEARL"]]
for pop, pearl in pearls:
pearl_rows.append([Paragraph(f"<b>{pop}</b>", SMALL_B), Paragraph(pearl, SMALL)])
pearl_tbl = Table(pearl_rows, colWidths=[W*0.30, W*0.70])
pearl_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), NAVY),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ALIGN", (0,0), (-1,0), "CENTER"),
("ROWPADDING", (0,0), (-1,-1), 5),
("GRID", (0,0), (-1,-1), 0.5, HexColor("#BDC3C7")),
("VALIGN", (0,0), (-1,-1), "TOP"),
("BACKGROUND", (0,1), (-1,1), NAVY_LT),
("BACKGROUND", (0,2), (-1,2), WHITE),
("BACKGROUND", (0,3), (-1,3), NAVY_LT),
("BACKGROUND", (0,4), (-1,4), WHITE),
("BACKGROUND", (0,5), (-1,5), NAVY_LT),
("LEFTPADDING", (0,0), (-1,-1), 7),
]))
story += [pearl_tbl, spacer(8)]
# ββ QUICK MEMORY AID ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
mem_data = [[
Paragraph(
'<b>MEMORY AID β 6 P\'s:</b> <font color="#C0392B"><b>P</b></font>ain out of proportion '
'→ <font color="#C0392B"><b>P</b></font>aresthesia '
'→ <font color="#C0392B"><b>P</b></font>ressure (tense) '
'→ <font color="#C0392B"><b>P</b></font>allor '
'→ <font color="#C0392B"><b>P</b></font>aralysis '
'→ <font color="#C0392B"><b>P</b></font>ulselessness (act BEFORE this)',
S("MEM", fontName="Helvetica", fontSize=9.5, textColor=NAVY,
leading=14, alignment=TA_CENTER))
]]
mem_tbl = Table(mem_data, colWidths=[W])
mem_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), YELLOW),
("BOX", (0,0),(-1,-1), 2, YEL_BRD),
("ROWPADDING", (0,0),(-1,-1), 9),
("LEFTPADDING", (0,0),(-1,-1), 12),
("RIGHTPADDING",(0,0),(-1,-1), 12),
]))
story += [mem_tbl, spacer(6)]
# ββ FOOTER ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(HRFlowable(width=W, thickness=0.5, color=DARK_GRY))
story.append(spacer(3))
story.append(Paragraph(
"Quick Reference | Compartment Syndrome Recognition & Emergency Response | "
"MS III Medical-Surgical Nursing | Unit 9 β Musculoskeletal Function | "
"Sources: Bailey & Love's Surgery 28e, Campbell's Operative Orthopaedics 15e, "
"Rosen's Emergency Medicine, Goldman-Cecil Medicine",
FOOTER))
# ββ Build βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
doc.build(story)
print("PDF generated:", OUTPUT)
cd /home/daytona/workspace/compartment-syndrome-qr && python3 generate_pdf.py
ls -lh /home/daytona/workspace/compartment-syndrome-qr/
Compartment Syndrome Quick Reference
PDF Document Β· PDF
| Section | Content |
|---|---|
| Definition | Concise clinical definition in a highlighted banner |
| Causes & Common Sites | Side-by-side table - fractures (70%), crush injuries, tight casts, burns, reperfusion; all 6 anatomic compartment regions |
| 6 P's Recognition Table | All six signs with descriptions, colour-coded EARLY / MID / LATE timing - Pain and Paresthesia highlighted as earliest, Pulselessness flagged as extremely late |
| Pain with Passive Stretch callout | Red alert box emphasising this is the most actionable early sign |
| Pressure Thresholds | β₯30 mmHg absolute OR delta pressure β€30 mmHg β fasciotomy |
| Emergency Response | 6 colour-coded step-by-step nursing actions in order (notify β remove cast β position at heart level β O2 β prepare fasciotomy β continuous monitoring) |
| Post-Fasciotomy Care | 3-column table: neurovascular assessment, wound care (VAC, leave open), systemic monitoring (rhabdomyolysis, urine output, CPK) |
| Consequences if Missed | Volkmann's contracture through death - in order of progression |
| Special Populations | Unconscious patients, paediatric, open fractures, post-op, cast patients |
| Memory Aid | Yellow banner with the 6 P's in sequence |
Create a visual flowchart PDF for fracture classification and immediate management
ls /home/daytona/workspace/ && mkdir -p /home/daytona/workspace/fracture-flowchart
~/fracture-flowchart/generate_flowchart.py
"""
Fracture Classification & Immediate Management β Visual Flowchart PDF
Uses ReportLab canvas (low-level) for precise positioned drawing.
Layout: A4 landscape for maximum width; all elements drawn with absolute coords.
"""
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib.units import cm, mm
from reportlab.lib.colors import HexColor, white, black
from reportlab.pdfgen import canvas
import math
OUTPUT = "/home/daytona/workspace/fracture-flowchart/Fracture_Classification_Management_Flowchart.pdf"
PW, PH = landscape(A4) # 841.89 x 595.28 pt
M = 0.45 * cm # margin
# ββ Palette ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
NAVY = HexColor("#1A3A5C")
NAVY_LT = HexColor("#D6E4F0")
SKY = HexColor("#2E86C1")
SKY_LT = HexColor("#AED6F1")
RED = HexColor("#C0392B")
RED_LT = HexColor("#FADBD8")
ORANGE = HexColor("#D35400")
ORG_LT = HexColor("#FAE5D3")
GREEN = HexColor("#1E8449")
GRN_LT = HexColor("#D5F5E3")
PURPLE = HexColor("#6C3483")
PUR_LT = HexColor("#E8DAEF")
TEAL = HexColor("#148F77")
TEA_LT = HexColor("#D1F2EB")
GOLD = HexColor("#B7950B")
GOLD_LT = HexColor("#FCF3CF")
GRAY_D = HexColor("#5D6D7E")
GRAY_L = HexColor("#F2F3F4")
BORDER = HexColor("#BDC3C7")
c = canvas.Canvas(OUTPUT, pagesize=landscape(A4))
c.setTitle("Fracture Classification & Immediate Management Flowchart")
# ββ Utility helpers ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
def rect_fill(x, y, w, h, fill, stroke=None, radius=4):
c.saveState()
c.setFillColor(fill)
if stroke:
c.setStrokeColor(stroke)
c.setLineWidth(1.2)
else:
c.setStrokeColor(fill)
c.setLineWidth(0)
c.roundRect(x, y, w, h, radius, fill=1, stroke=1 if stroke else 0)
c.restoreState()
def text_center(x, y, w, txt, font="Helvetica", size=8, color=black, leading=10):
c.saveState()
c.setFillColor(color)
c.setFont(font, size)
lines = txt.split("\n")
total_h = len(lines) * leading
start_y = y + total_h / 2 - leading * 0.3
for i, line in enumerate(lines):
c.drawCentredString(x + w / 2, start_y - i * leading, line)
c.restoreState()
def text_left(x, y, txt, font="Helvetica", size=8, color=black, leading=10):
c.saveState()
c.setFillColor(color)
c.setFont(font, size)
lines = txt.split("\n")
for i, line in enumerate(lines):
c.drawString(x, y - i * leading, line)
c.restoreState()
def arrow_down(x, y, length=14, color=GRAY_D, width=1.5):
c.saveState()
c.setStrokeColor(color)
c.setFillColor(color)
c.setLineWidth(width)
c.line(x, y, x, y - length + 5)
# arrowhead
p = c.beginPath()
p.moveTo(x, y - length)
p.lineTo(x - 4, y - length + 6)
p.lineTo(x + 4, y - length + 6)
p.close()
c.drawPath(p, fill=1, stroke=0)
c.restoreState()
def arrow_right(x, y, length=14, color=GRAY_D, width=1.5):
c.saveState()
c.setStrokeColor(color)
c.setFillColor(color)
c.setLineWidth(width)
c.line(x, y, x + length - 5, y)
p = c.beginPath()
p.moveTo(x + length, y)
p.lineTo(x + length - 6, y + 4)
p.lineTo(x + length - 6, y - 4)
p.close()
c.drawPath(p, fill=1, stroke=0)
c.restoreState()
def arrow_left(x, y, length=14, color=GRAY_D, width=1.5):
c.saveState()
c.setStrokeColor(color)
c.setFillColor(color)
c.setLineWidth(width)
c.line(x, y, x - length + 5, y)
p = c.beginPath()
p.moveTo(x - length, y)
p.lineTo(x - length + 6, y + 4)
p.lineTo(x - length + 6, y - 4)
p.close()
c.drawPath(p, fill=1, stroke=0)
c.restoreState()
def diamond(cx, cy, hw, hh, fill, stroke):
"""Draw a diamond centred at cx,cy with half-widths hw, hh."""
c.saveState()
c.setFillColor(fill)
c.setStrokeColor(stroke)
c.setLineWidth(1.2)
p = c.beginPath()
p.moveTo(cx, cy + hh)
p.lineTo(cx + hw, cy)
p.lineTo(cx, cy - hh)
p.lineTo(cx - hw, cy)
p.close()
c.drawPath(p, fill=1, stroke=1)
c.restoreState()
def connector_line(x1, y1, x2, y2, color=GRAY_D, width=1.5, arrow_end=True):
"""Straight or L-shaped connector with arrowhead at end."""
c.saveState()
c.setStrokeColor(color)
c.setFillColor(color)
c.setLineWidth(width)
c.line(x1, y1, x2, y2)
if arrow_end:
# determine direction
dx, dy = x2 - x1, y2 - y1
angle = math.atan2(dy, dx)
arr_len = 7
p = c.beginPath()
p.moveTo(x2, y2)
p.lineTo(x2 - arr_len * math.cos(angle - 0.4),
y2 - arr_len * math.sin(angle - 0.4))
p.lineTo(x2 - arr_len * math.cos(angle + 0.4),
y2 - arr_len * math.sin(angle + 0.4))
p.close()
c.drawPath(p, fill=1, stroke=0)
c.restoreState()
def bent_connector(x1, y1, x2, y2, bend_x=None, color=GRAY_D, width=1.5):
"""Horizontal then vertical connector (or vertical then horizontal)."""
c.saveState()
c.setStrokeColor(color)
c.setFillColor(color)
c.setLineWidth(width)
if bend_x is not None:
c.line(x1, y1, bend_x, y1)
c.line(bend_x, y1, bend_x, y2)
c.line(bend_x, y2, x2, y2)
else:
mid_y = (y1 + y2) / 2
c.line(x1, y1, x1, mid_y)
c.line(x1, mid_y, x2, mid_y)
c.line(x2, mid_y, x2, y2)
# arrowhead at end
arr_len = 7
dx, dy = x2 - (bend_x if bend_x else x1), 0
angle = math.atan2(y2 - (y2), x2 - (bend_x if bend_x else x1))
# simplified: always points toward x2,y2
if x2 > (bend_x if bend_x else x1):
px, py = x2, y2
p = c.beginPath()
p.moveTo(px, py)
p.lineTo(px - arr_len, py + 4)
p.lineTo(px - arr_len, py - 4)
p.close()
else:
px, py = x2, y2
p = c.beginPath()
p.moveTo(px, py)
p.lineTo(px + arr_len, py + 4)
p.lineTo(px + arr_len, py - 4)
p.close()
c.drawPath(p, fill=1, stroke=0)
c.restoreState()
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PAGE 1 β FRACTURE CLASSIFICATION FLOWCHART
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# ββ Title Banner ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
rect_fill(M, PH - 1.6*cm, PW - 2*M, 1.5*cm, NAVY)
text_center(M, PH - 1.1*cm, PW - 2*M,
"FRACTURE CLASSIFICATION & IMMEDIATE MANAGEMENT FLOWCHART",
"Helvetica-Bold", 15, white)
text_center(M, PH - 1.5*cm, PW - 2*M,
"Page 1 of 2 β Classification System",
"Helvetica", 8.5, HexColor("#AED6F1"))
# ββ Start node ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
TOP_Y = PH - 2.3*cm
SN_W, SN_H = 3.6*cm, 0.85*cm
SN_X = (PW - SN_W) / 2
rect_fill(SN_X, TOP_Y - SN_H, SN_W, SN_H, NAVY, NAVY, radius=20)
text_center(SN_X, TOP_Y - SN_H/2 - 0.05*cm, SN_W,
"SUSPECTED FRACTURE", "Helvetica-Bold", 9.5, white)
# Arrow down
arrow_down(PW/2, TOP_Y - SN_H - 1, 14, NAVY, 2)
# ββ Diamond: Skin Intact? βββββββββββββββββββββββββββββββββββββββββββββββββ
D1_CX, D1_CY = PW/2, TOP_Y - SN_H - 1.6*cm
D1_HW, D1_HH = 2.6*cm, 0.85*cm
diamond(D1_CX, D1_CY, D1_HW, D1_HH, GOLD_LT, GOLD)
text_center(D1_CX - D1_HW, D1_CY - 0.15*cm, D1_HW*2,
"Is skin\nINTACT?", "Helvetica-Bold", 8.5, GOLD)
# YES label + arrow down left
connector_line(D1_CX - D1_HW, D1_CY,
D1_CX - D1_HW - 2.9*cm, D1_CY, GOLD, 1.5, True)
text_left(D1_CX - D1_HW - 1.6*cm, D1_CY + 5, "YES", "Helvetica-Bold", 7.5, GREEN)
# NO label + arrow right
connector_line(D1_CX + D1_HW, D1_CY,
D1_CX + D1_HW + 2.9*cm, D1_CY, RED, 1.5, True)
text_left(D1_CX + D1_HW + 0.3*cm, D1_CY + 5, "NO", "Helvetica-Bold", 7.5, RED)
# ββ CLOSED box ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
CL_W, CL_H = 3.4*cm, 1.0*cm
CL_X = D1_CX - D1_HW - 2.9*cm - CL_W
CL_Y = D1_CY - CL_H / 2
rect_fill(CL_X, CL_Y, CL_W, CL_H, GRN_LT, GREEN, radius=5)
text_center(CL_X, CL_Y + CL_H/2, CL_W,
"CLOSED\nFRACTURE", "Helvetica-Bold", 9, GREEN)
# ββ OPEN box ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
OP_W, OP_H = 3.4*cm, 1.0*cm
OP_X = D1_CX + D1_HW + 2.9*cm
OP_Y = D1_CY - OP_H / 2
rect_fill(OP_X, OP_Y, OP_W, OP_H, RED_LT, RED, radius=5)
text_center(OP_X, OP_Y + OP_H/2, OP_W,
"OPEN (COMPOUND)\nFRACTURE", "Helvetica-Bold", 9, RED)
# Arrow down from CLOSED
arrow_down(CL_X + CL_W/2, CL_Y - 1, 13, GREEN, 1.8)
# Arrow down from OPEN
arrow_down(OP_X + OP_W/2, OP_Y - 1, 13, RED, 1.8)
# ββ FRACTURE TYPE grid (closed types) βββββββββββββββββββββββββββββββββββββ
# 6 fracture types arranged in 2 rows of 3 under closed
FTYPE_Y_TOP = CL_Y - 1.5*cm
FT_W, FT_H = 3.1*cm, 1.8*cm
GAP = 0.3*cm
COLS_X_START = CL_X + CL_W/2 - (3*FT_W + 2*GAP)/2
ftypes = [
("TRANSVERSE", "Clean perpendicular break\nacross bone shaft", SKY, SKY_LT),
("OBLIQUE", "Diagonal break\nalong bone axis", TEAL, TEA_LT),
("SPIRAL", "Twisting force\nwraps around bone\n(abuse marker in kids)", PURPLE, PUR_LT),
("COMMINUTED", "Bone shattered into\n3+ fragments\n(harder to fix)", ORANGE, ORG_LT),
("GREENSTICK", "Partial break, one\ncortex intact\n(children only)", GREEN, GRN_LT),
("STRESS", "Hairline crack from\nrepetitive force\n(athletes, military)",NAVY, NAVY_LT),
]
for i, (name, desc, col, lite) in enumerate(ftypes):
row, col_idx = divmod(i, 3)
fx = COLS_X_START + col_idx * (FT_W + GAP)
fy = FTYPE_Y_TOP - row * (FT_H + 0.3*cm) - FT_H
rect_fill(fx, fy, FT_W, FT_H, lite, col, radius=4)
# name header strip
rect_fill(fx, fy + FT_H - 0.5*cm, FT_W, 0.5*cm, col, col, radius=3)
text_center(fx, fy + FT_H - 0.25*cm, FT_W, name, "Helvetica-Bold", 7.5, white)
text_center(fx, fy + (FT_H - 0.5*cm)/2, FT_W, desc, "Helvetica", 7, col)
# section label
rect_fill(COLS_X_START - 0.1*cm, FTYPE_Y_TOP + 0.1*cm, 3*FT_W + 2*GAP + 0.2*cm, 0.4*cm, GRAY_L, BORDER, 3)
text_center(COLS_X_START - 0.1*cm, FTYPE_Y_TOP + 0.25*cm, 3*FT_W + 2*GAP + 0.2*cm,
"CLOSED FRACTURE PATTERNS", "Helvetica-Bold", 7, GRAY_D)
# ββ OPEN fracture Gustilo classification βββββββββββββββββββββββββββββββββ
GUST_Y_TOP = OP_Y - 1.5*cm
GT_W = 3.2*cm
GT_H = 1.9*cm
GUST_X = OP_X + OP_W/2 - GT_W/2
gust_types = [
("TYPE I",
"Wound < 1 cm\nClean\nMinimal soft-tissue\ndamage",
GRN_LT, GREEN),
("TYPE II",
"Wound 1β10 cm\nModerate contam.\nModerate soft-\ntissue damage",
GOLD_LT, GOLD),
("TYPE III-A",
"Wound > 10 cm\nHigh contamination\nAdequate soft-\ntissue coverage",
ORG_LT, ORANGE),
("TYPE III-B",
"Wound > 10 cm\nPeriosteal stripping\nRequires flap for\ncoverage",
RED_LT, RED),
("TYPE III-C",
"Any size wound\n+ Arterial injury\nrequiring repair\n(LIMB-THREATENING)",
HexColor("#F9EBEA"), HexColor("#922B21")),
]
GT_GAP = 0.25*cm
GUST_X_START = OP_X + OP_W/2 - (5*GT_W + 4*GT_GAP)/2
for i, (name, desc, lite, col) in enumerate(gust_types):
gx = GUST_X_START + i*(GT_W + GT_GAP)
gy = GUST_Y_TOP - GT_H
rect_fill(gx, gy, GT_W, GT_H, lite, col, radius=4)
rect_fill(gx, gy + GT_H - 0.5*cm, GT_W, 0.5*cm, col, col, radius=3)
text_center(gx, gy + GT_H - 0.25*cm, GT_W, name, "Helvetica-Bold", 7.5, white)
text_center(gx, gy + (GT_H - 0.5*cm)/2, GT_W, desc, "Helvetica", 6.8, col)
# Gustilo label
rect_fill(GUST_X_START - 0.1*cm, GUST_Y_TOP + 0.1*cm,
5*GT_W + 4*GT_GAP + 0.2*cm, 0.4*cm, GRAY_L, BORDER, 3)
text_center(GUST_X_START - 0.1*cm, GUST_Y_TOP + 0.25*cm,
5*GT_W + 4*GT_GAP + 0.2*cm,
"GUSTILO-ANDERSON OPEN FRACTURE CLASSIFICATION",
"Helvetica-Bold", 7, GRAY_D)
# ββ SPECIAL FRACTURE TYPES bar (across bottom) ββββββββββββββββββββββββββββ
SFT_Y = 1.5*cm
SFT_TOTAL_W = PW - 2*M
SFT_H = 2.1*cm
special = [
("PATHOLOGIC", "Fracture through diseased bone\n(tumor, osteomyelitis,\nosteoporosis)\nMinimal or no trauma", PURPLE, PUR_LT),
("AVULSION", "Fragment pulled away\nby tendon or ligament\nforce at attachment\nsite", TEAL, TEA_LT),
("INTRA-ARTICULAR","Fracture line enters\na joint surface\nRisk: post-traumatic\narthritis + stiffness", ORANGE, ORG_LT),
("PERIPROSTHETIC","Fracture around\na joint implant\n(hip/knee replacement)\nComplex fixation", NAVY, NAVY_LT),
("COMPRESSION", "Vertebral body collapse\nfrom axial load\nCommon in osteoporosis\nDowager's hump risk", RED, RED_LT),
("IMPACTED", "Bone ends driven\ninto each other\nAppears stable but\nstill needs fixation", GREEN, GRN_LT),
]
SFT_W = (SFT_TOTAL_W - 5*0.25*cm) / 6
for i, (name, desc, col, lite) in enumerate(special):
sx = M + i*(SFT_W + 0.25*cm)
sy = SFT_Y
rect_fill(sx, sy, SFT_W, SFT_H, lite, col, radius=4)
rect_fill(sx, sy + SFT_H - 0.5*cm, SFT_W, 0.5*cm, col, col, radius=3)
text_center(sx, sy + SFT_H - 0.25*cm, SFT_W, name, "Helvetica-Bold", 7, white)
text_center(sx, sy + (SFT_H - 0.5*cm)/2, SFT_W, desc, "Helvetica", 6.5, col)
# Special label bar
rect_fill(M, SFT_Y + SFT_H, SFT_TOTAL_W, 0.4*cm, GRAY_D, GRAY_D, radius=2)
text_center(M, SFT_Y + SFT_H + 0.22*cm, SFT_TOTAL_W,
"ADDITIONAL / SPECIAL FRACTURE TYPES",
"Helvetica-Bold", 7.5, white)
# ββ Footer page 1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
c.setFillColor(GRAY_D)
c.setFont("Helvetica-Oblique", 7)
c.drawCentredString(PW/2, 0.35*cm,
"Fracture Classification & Immediate Management | MS III Medical-Surgical Nursing | Page 1 of 2")
c.showPage()
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PAGE 2 β IMMEDIATE MANAGEMENT FLOWCHART
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# ββ Title Banner ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
rect_fill(M, PH - 1.6*cm, PW - 2*M, 1.5*cm, RED)
text_center(M, PH - 1.1*cm, PW - 2*M,
"FRACTURE IMMEDIATE MANAGEMENT FLOWCHART",
"Helvetica-Bold", 15, white)
text_center(M, PH - 1.5*cm, PW - 2*M,
"Page 2 of 2 β Emergency Response & Treatment Pathways",
"Helvetica", 8.5, HexColor("#FADBD8"))
# ββ Start box βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
TOP_Y2 = PH - 2.3*cm
SB_W, SB_H = 4.5*cm, 0.85*cm
SB_X = (PW - SB_W) / 2
rect_fill(SB_X, TOP_Y2 - SB_H, SB_W, SB_H, RED, RED, radius=20)
text_center(SB_X, TOP_Y2 - SB_H/2, SB_W,
"FRACTURE IDENTIFIED", "Helvetica-Bold", 10, white)
# ββ Step 1: Primary survey βββββββββββββββββββββββββββββββββββββββββββββββββ
arrow_down(PW/2, TOP_Y2 - SB_H - 1, 14, RED, 2)
S1_Y = TOP_Y2 - SB_H - 1.8*cm
S1_W = PW - 2*M
S1_H = 1.9*cm
S1_X = M
rect_fill(S1_X, S1_Y - S1_H, S1_W, S1_H, NAVY_LT, NAVY, radius=5)
rect_fill(S1_X, S1_Y - 0.55*cm, S1_W, 0.55*cm, NAVY, NAVY, radius=4)
text_center(S1_X, S1_Y - 0.27*cm, S1_W,
"STEP 1: PRIMARY SURVEY & IMMEDIATE ASSESSMENT",
"Helvetica-Bold", 10, white)
# 5 sub-boxes in step 1
SUB1 = [
("ABCDE\nAssessment", "Airway, Breathing,\nCirculation,\nDisability, Exposure"),
("Control\nBleeding", "Direct pressure\nProximal tourniquet\nif arterial bleed"),
("Neurovascular\nCheck","Distal pulse\nCapillary refill\nSensation & motor"),
("Expose\nInjury", "Cut clothing\nVisual assessment\nDo NOT force limb"),
("Pain\nManagement", "IV access\nAnalgesics as ordered\nReassure patient"),
]
sub1_w = (S1_W - 4*0.2*cm) / 5
for i, (title, body) in enumerate(SUB1):
sx = S1_X + i*(sub1_w + 0.2*cm)
sy = S1_Y - S1_H
rect_fill(sx, sy, sub1_w, S1_H - 0.55*cm, white, NAVY, 3)
text_center(sx, sy + (S1_H - 0.55*cm)*0.72, sub1_w, title, "Helvetica-Bold", 7.5, NAVY)
text_center(sx, sy + (S1_H - 0.55*cm)*0.32, sub1_w, body, "Helvetica", 6.8, HexColor("#1A3A5C"))
# ββ Arrow + Diamond: Open fracture? ββββββββββββββββββββββββββββββββββββββ
arrow_down(PW/2, S1_Y - S1_H - 1, 14, RED, 2)
D2_CX, D2_CY = PW/2, S1_Y - S1_H - 1.8*cm
D2_HW, D2_HH = 2.8*cm, 0.9*cm
diamond(D2_CX, D2_CY, D2_HW, D2_HH, GOLD_LT, GOLD)
text_center(D2_CX - D2_HW, D2_CY - 0.18*cm, D2_HW*2,
"OPEN\nFRACTURE?", "Helvetica-Bold", 9, GOLD)
# YES β left branch
connector_line(D2_CX - D2_HW, D2_CY,
D2_CX - D2_HW - 3.5*cm, D2_CY, RED, 1.5)
text_left(D2_CX - D2_HW - 2.0*cm, D2_CY + 6, "YES", "Helvetica-Bold", 7.5, RED)
# NO β right
connector_line(D2_CX + D2_HW, D2_CY,
D2_CX + D2_HW + 3.5*cm, D2_CY, GREEN, 1.5)
text_left(D2_CX + D2_HW + 0.3*cm, D2_CY + 6, "NO", "Helvetica-Bold", 7.5, GREEN)
# ββ LEFT branch: OPEN FRACTURE management ββββββββββββββββββββββββββββββββ
OP2_W = 4.2*cm
OP2_X = D2_CX - D2_HW - 3.5*cm - OP2_W
OP2_H = 3.5*cm
OP2_Y = D2_CY - OP2_H/2
rect_fill(OP2_X, OP2_Y, OP2_W, OP2_H, RED_LT, RED, 4)
rect_fill(OP2_X, OP2_Y + OP2_H - 0.5*cm, OP2_W, 0.5*cm, RED, RED, 3)
text_center(OP2_X, OP2_Y + OP2_H - 0.25*cm, OP2_W,
"OPEN FRACTURE PROTOCOL", "Helvetica-Bold", 8, white)
text_center(OP2_X, OP2_Y + (OP2_H - 0.5*cm)*0.5, OP2_W,
"1. Moist sterile dressing\n"
"2. Do NOT reduce / push bone in\n"
"3. IV antibiotics STAT\n"
" (within 1 hr of injury)\n"
"4. Tetanus prophylaxis\n"
"5. Urgent OR consult\n"
"6. Surgical debridement\n"
" within 6-8 hrs\n"
"7. Wound left OPEN",
"Helvetica", 6.8, RED)
# ββ RIGHT branch: CLOSED FRACTURE management βββββββββββββββββββββββββββββ
CL2_X = D2_CX + D2_HW + 3.5*cm
CL2_W = 4.0*cm
CL2_H = 3.2*cm
CL2_Y = D2_CY - CL2_H/2
rect_fill(CL2_X, CL2_Y, CL2_W, CL2_H, GRN_LT, GREEN, 4)
rect_fill(CL2_X, CL2_Y + CL2_H - 0.5*cm, CL2_W, 0.5*cm, GREEN, GREEN, 3)
text_center(CL2_X, CL2_Y + CL2_H - 0.25*cm, CL2_W,
"CLOSED FRACTURE PROTOCOL", "Helvetica-Bold", 8, white)
text_center(CL2_X, CL2_Y + (CL2_H - 0.5*cm)*0.5, CL2_W,
"1. Splint in position found\n"
" (joint above AND below)\n"
"2. Pad bony prominences\n"
"3. Neurovascular check\n"
" before AND after splint\n"
"4. Imaging (X-ray)\n"
"5. Analgesia\n"
"6. Elevate limb",
"Helvetica", 6.8, GREEN)
# ββ Centre: REDUCTION diamond βββββββββββββββββββββββββββββββββββββββββββββ
arrow_down(PW/2, D2_CY - D2_HH - 1, 14, NAVY, 2)
D3_CX, D3_CY = PW/2, D2_CY - D2_HH - 1.8*cm
D3_HW, D3_HH = 2.6*cm, 0.85*cm
diamond(D3_CX, D3_CY, D3_HW, D3_HH, NAVY_LT, NAVY)
text_center(D3_CX - D3_HW, D3_CY - 0.15*cm, D3_HW*2,
"NEEDS\nREDUCTION?", "Helvetica-Bold", 8.5, NAVY)
# YES arrow left
connector_line(D3_CX - D3_HW, D3_CY,
D3_CX - D3_HW - 2.8*cm, D3_CY, NAVY, 1.5)
text_left(D3_CX - D3_HW - 1.5*cm, D3_CY + 6, "YES", "Helvetica-Bold", 7.5, NAVY)
# NO arrow right
connector_line(D3_CX + D3_HW, D3_CY,
D3_CX + D3_HW + 2.8*cm, D3_CY, NAVY, 1.5)
text_left(D3_CX + D3_HW + 0.3*cm, D3_CY + 6, "NO", "Helvetica-Bold", 7.5, NAVY)
# ββ Reduction types βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
RED_TYP_W = 4.5*cm
RED_TYP_H = 2.5*cm
# Closed Reduction
CR_X = D3_CX - D3_HW - 2.8*cm - RED_TYP_W
CR_Y = D3_CY - RED_TYP_H/2
rect_fill(CR_X, CR_Y, RED_TYP_W, RED_TYP_H, SKY_LT, SKY, 4)
rect_fill(CR_X, CR_Y + RED_TYP_H - 0.5*cm, RED_TYP_W, 0.5*cm, SKY, SKY, 3)
text_center(CR_X, CR_Y + RED_TYP_H - 0.25*cm, RED_TYP_W,
"CLOSED REDUCTION", "Helvetica-Bold", 8, white)
text_center(CR_X, CR_Y + (RED_TYP_H-0.5*cm)/2, RED_TYP_W,
"Manual manipulation\nunder analgesia/sedation\nFracture too complex?\nβ Proceed to ORIF",
"Helvetica", 7, SKY)
# Open Reduction (ORIF)
OR_X = D3_CX + D3_HW + 2.8*cm
OR_Y = D3_CY - RED_TYP_H/2
rect_fill(OR_X, OR_Y, RED_TYP_W, RED_TYP_H, PUR_LT, PURPLE, 4)
rect_fill(OR_X, OR_Y + RED_TYP_H - 0.5*cm, RED_TYP_W, 0.5*cm, PURPLE, PURPLE, 3)
text_center(OR_X, OR_Y + RED_TYP_H - 0.25*cm, RED_TYP_W,
"DIRECT IMMOBILIZATION", "Helvetica-Bold", 8, white)
text_center(OR_X, OR_Y + (RED_TYP_H-0.5*cm)/2, RED_TYP_W,
"Stable undisplaced fracture\nβ Immobilize directly\nNo manipulation needed",
"Helvetica", 7, PURPLE)
# Both converge downward
arrow_down(CR_X + RED_TYP_W/2, CR_Y - 1, 12, NAVY, 1.5)
arrow_down(OR_X + RED_TYP_W/2, OR_Y - 1, 12, NAVY, 1.5)
arrow_down(D3_CX, D3_CY - D3_HH - 1, 12, NAVY, 1.5)
# ββ IMMOBILIZATION OPTIONS ββββββββββββββββββββββββββββββββββββββββββββββββ
IMM_Y_TOP = D3_CY - D3_HH - 1.6*cm
IMM_H = 2.8*cm
IMM_W = (PW - 2*M - 3*0.3*cm) / 4
IMM_ITEMS = [
("CAST / SPLINT",
"Most common\nNoninvasive\nSplint for acute\nswelling first\nCast when swelling\nresolves",
TEAL, TEA_LT),
("TRACTION",
"Skin or skeletal\nContinuous force\nWeights hang freely\nCommon: Buck's for\nhip/femur pre-op",
NAVY, NAVY_LT),
("EXTERNAL FIXATION",
"Open fractures\nSevere soft-tissue\nTemporary in\npolytrauma\n(damage control)",
ORANGE, ORG_LT),
("ORIF\n(Internal Fixation)",
"Plates, screws,\nIM nails, rods\nUnstable / displaced\nIntra-articular\nJoint replacement",
PURPLE, PUR_LT),
]
rect_fill(M, IMM_Y_TOP, PW - 2*M, 0.45*cm, NAVY, NAVY, 3)
text_center(M, IMM_Y_TOP + 0.25*cm, PW-2*M,
"IMMOBILIZATION OPTIONS", "Helvetica-Bold", 9, white)
for i, (name, desc, col, lite) in enumerate(IMM_ITEMS):
ix = M + i*(IMM_W + 0.3*cm)
iy = IMM_Y_TOP - IMM_H
rect_fill(ix, iy, IMM_W, IMM_H, lite, col, 4)
rect_fill(ix, iy + IMM_H - 0.5*cm, IMM_W, 0.5*cm, col, col, 3)
text_center(ix, iy + IMM_H - 0.25*cm, IMM_W, name, "Helvetica-Bold", 8, white)
text_center(ix, iy + (IMM_H-0.5*cm)/2, IMM_W, desc, "Helvetica", 6.8, col)
# ββ ONGOING NURSING MONITORING strip βββββββββββββββββββββββββββββββββββββ
MON_Y = IMM_Y_TOP - IMM_H - 0.5*cm
MON_H = 2.3*cm
MON_W = PW - 2*M
rect_fill(M, MON_Y - MON_H, MON_W, MON_H, GRAY_L, BORDER, 4)
rect_fill(M, MON_Y - 0.48*cm, MON_W, 0.48*cm, GRAY_D, GRAY_D, 3)
text_center(M, MON_Y - 0.24*cm, MON_W,
"ONGOING NURSING MONITORING (ALL FRACTURES)",
"Helvetica-Bold", 9, white)
MON_ITEMS = [
("Neurovascular\nChecks",
"6 P's q1-2h\nDistal pulse\nCapillary refill\nSensation & motor"),
("Compartment\nSyndrome Watch",
"Pain out of\nproportion\nPain w/ passive\nstretch β ACT NOW"),
("Immobilization\nIntegrity",
"Cast/splint not\ntoo tight\nNo wrinkles\nElevation maintained"),
("Complication\nPrevention",
"DVT prophylaxis\nTurn & reposition\nIncentive spirometry\nSkin assessment"),
("Wound / Pin\nSite Care",
"External fixator:\nassess pin sites\nAseptic technique\nWatch for infection"),
("Patient\nEducation",
"6 P's warning signs\nActivity restrictions\nFollow-up compliance\nMedication teaching"),
]
mon_w = (MON_W - 5*0.2*cm) / 6
for i, (title, desc) in enumerate(MON_ITEMS):
mx = M + i*(mon_w + 0.2*cm)
my = MON_Y - MON_H
rect_fill(mx, my, mon_w, MON_H - 0.48*cm, white, BORDER, 3)
text_center(mx, my + (MON_H-0.48*cm)*0.72, mon_w, title, "Helvetica-Bold", 7, GRAY_D)
text_center(mx, my + (MON_H-0.48*cm)*0.3, mon_w, desc, "Helvetica", 6.5, HexColor("#424949"))
# ββ Key Nursing Rules bar βββββββββββββββββββββββββββββββββββββββββββββββββ
RULES_Y = MON_Y - MON_H - 0.4*cm
RULES_H = 1.15*cm
rect_fill(M, RULES_Y - RULES_H, PW-2*M, RULES_H, GOLD_LT, GOLD, 4)
rules_txt = (
"KEY RULES: Splint ABOVE & BELOW fracture | "
"Check neuro-vascular BEFORE & AFTER splinting | "
"Open fracture = contaminated = IV antibiotics NOW | "
"NEVER intentionally elicit crepitation | "
"Do NOT force a fractured limb into position | "
"Fat embolism watch: onset 24-72 hrs, respiratory + confusion + petechiae"
)
text_center(M, RULES_Y - RULES_H/2, PW-2*M, rules_txt, "Helvetica-Bold", 7.2, GOLD)
# ββ Footer page 2 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
c.setFillColor(GRAY_D)
c.setFont("Helvetica-Oblique", 7)
c.drawCentredString(
PW/2, 0.35*cm,
"Fracture Classification & Immediate Management | "
"MS III Medical-Surgical Nursing | Page 2 of 2 | "
"Sources: Campbell's Operative Orthopaedics 15e, Rosen's Emergency Medicine, Bailey & Love 28e"
)
c.save()
print("PDF saved:", OUTPUT)
cd /home/daytona/workspace/fracture-flowchart && python3 generate_flowchart.py
ls -lh /home/daytona/workspace/fracture-flowchart/
Fracture Classification Management Flowchart
PDF Document Β· PDF
βAct as a world-class educator and teach me this chapter from absolute basics to complete mastery. First give me a simple overview of the chapter, then break it into small sections and explain each concept in easy language with examples. Also, synthesis additional information from other sources pertinent to this chapter that are important for me to know as a nurse. Connect all topics together and create a final summary that helps me revise the entire chapter quickly before exams.β
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_48__ASSESSMENT_AND_MANAGEMENT_OF_PATIENTS_WITH_OBESITY.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- PAGE {i+1} ---') print(text) print() "
Generate a reference card on post-bariatric nursing complications and interventions
mkdir -p /home/daytona/workspace/bariatric-refcard
~/bariatric-refcard/generate_refcard.py
"""
Post-Bariatric Surgery Nursing Complications & Interventions β Reference Card PDF
Two-sided A4 landscape: Page 1 = Early/Acute complications, Page 2 = Late/Chronic + Diet + Supplements
"""
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib.units import cm, mm
from reportlab.lib.colors import HexColor, white, black
from reportlab.pdfgen import canvas as rl_canvas
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether, PageBreak
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.lib.colors import HexColor
OUTPUT = "/home/daytona/workspace/bariatric-refcard/Post_Bariatric_Nursing_Reference_Card.pdf"
PW, PH = landscape(A4)
LM = RM = 0.5 * cm
TM = BM = 0.45 * cm
UW = PW - LM - RM # usable width
# ββ Palette ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
NAVY = HexColor("#1A3A5C")
NAVY_LT = HexColor("#D6E4F0")
RED = HexColor("#C0392B")
RED_LT = HexColor("#FADBD8")
ORANGE = HexColor("#D35400")
ORG_LT = HexColor("#FAE5D3")
GREEN = HexColor("#1E8449")
GRN_LT = HexColor("#D5F5E3")
TEAL = HexColor("#148F77")
TEA_LT = HexColor("#D1F2EB")
PURPLE = HexColor("#6C3483")
PUR_LT = HexColor("#E8DAEF")
GOLD = HexColor("#B7950B")
GOLD_LT = HexColor("#FCF3CF")
GRAY_D = HexColor("#5D6D7E")
GRAY_L = HexColor("#F2F3F4")
BORDER = HexColor("#BDC3C7")
CRIMSON = HexColor("#922B21")
TEAL2 = HexColor("#0E6655")
SKY = HexColor("#2E86C1")
SKY_LT = HexColor("#AED6F1")
# ββ Style helpers βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
def S(name, **kw):
return ParagraphStyle(name, **kw)
TITLE = S("T", fontName="Helvetica-Bold", fontSize=16, textColor=white,
alignment=TA_CENTER, leading=20)
SUB = S("SU", fontName="Helvetica", fontSize=9, textColor=HexColor("#AED6F1"),
alignment=TA_CENTER, leading=12)
SH = S("SH", fontName="Helvetica-Bold", fontSize=9.5, textColor=white,
alignment=TA_LEFT, leading=12)
BODY = S("B", fontName="Helvetica", fontSize=8.5, textColor=black, leading=11)
BODYB = S("BB", fontName="Helvetica-Bold", fontSize=8.5, textColor=black, leading=11)
SMALL = S("SM", fontName="Helvetica", fontSize=7.8, textColor=black, leading=10.5)
SMALLB = S("SMB", fontName="Helvetica-Bold", fontSize=7.8, textColor=black, leading=10.5)
TINY = S("TI", fontName="Helvetica", fontSize=7, textColor=GRAY_D, leading=9.5)
TINYB = S("TIB", fontName="Helvetica-Bold", fontSize=7, textColor=black, leading=9.5)
FOOT = S("FO", fontName="Helvetica-Oblique", fontSize=6.8, textColor=GRAY_D,
alignment=TA_CENTER)
def spacer(h=4):
return Spacer(1, h)
# ββ Layout helpers ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
def banner(text, subtext, bg, UW):
data = [
[Paragraph(text, TITLE)],
[Paragraph(subtext, SUB)],
]
t = Table(data, colWidths=[UW])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), bg),
("TOPPADDING", (0,0),(-1,0), 10),
("BOTTOMPADDING",(0,1),(-1,1), 8),
("ROWPADDING", (0,0),(-1,-1), 3),
]))
return t
def sec_hdr(text, bg, UW):
t = Table([[Paragraph(text, SH)]], colWidths=[UW])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), bg),
("ROWPADDING", (0,0),(-1,-1), 5),
("LEFTPADDING",(0,0),(-1,-1), 8),
]))
return t
def comp_table(rows, col_widths, hdr_bg):
"""rows[0] = header row (strings), rows[1:] = data rows (Paragraphs or strings)."""
t = Table(rows, colWidths=col_widths)
n = len(rows)
style = [
# Header
("BACKGROUND", (0,0),(-1,0), hdr_bg),
("TEXTCOLOR", (0,0),(-1,0), white),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0),(-1,0), 8),
("ALIGN", (0,0),(-1,0), "CENTER"),
# Body
("FONTSIZE", (0,1),(-1,-1), 7.8),
("ROWPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 5),
("RIGHTPADDING",(0,0),(-1,-1), 4),
("VALIGN", (0,0),(-1,-1), "TOP"),
("GRID", (0,0),(-1,-1), 0.4, BORDER),
]
for i in range(1, n):
bg = GRAY_L if i % 2 == 0 else white
style.append(("BACKGROUND", (0,i),(-1,i), bg))
t.setStyle(TableStyle(style))
return t
def highlight_box(text_para, bg, border_color, UW):
t = Table([[text_para]], colWidths=[UW])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), bg),
("BOX", (0,0),(-1,-1), 1.5, border_color),
("ROWPADDING", (0,0),(-1,-1), 7),
("LEFTPADDING", (0,0),(-1,-1), 10),
("RIGHTPADDING",(0,0),(-1,-1), 10),
]))
return t
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# BUILD DOCUMENT
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
doc = SimpleDocTemplate(
OUTPUT,
pagesize=landscape(A4),
leftMargin=LM, rightMargin=RM,
topMargin=TM, bottomMargin=BM,
)
story = []
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PAGE 1 β EARLY / ACUTE COMPLICATIONS
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(banner(
"POST-BARIATRIC SURGERY: NURSING COMPLICATIONS & INTERVENTIONS",
"Page 1 of 2 β Early & Acute Complications | MS III Medical-Surgical Nursing | Unit 11 Metabolic & Endocrine",
NAVY, UW
))
story.append(spacer(6))
# ββ Procedure reminder strip ββββββββββββββββββββββββββββββββββ
proc_data = [
["PROCEDURE", "TYPE", "MECHANISM", "KEY RISK"],
[Paragraph("<b>Roux-en-Y Gastric Bypass (RYGB)</b>", SMALLB),
Paragraph("Restrictive + Malabsorptive", SMALL),
Paragraph("Small pouch + bypasses jejunum", SMALL),
Paragraph("<font color='#C0392B'><b>Dumping, anastomotic leak, nutritional deficiencies</b></font>", SMALL)],
[Paragraph("<b>Sleeve Gastrectomy</b>", SMALLB),
Paragraph("Restrictive only", SMALL),
Paragraph("75-80% stomach removed; lowers ghrelin", SMALL),
Paragraph("<font color='#D35400'><b>Staple line leak, worsening GERD</b></font>", SMALL)],
[Paragraph("<b>Adjustable Gastric Band</b>", SMALLB),
Paragraph("Restrictive only", SMALL),
Paragraph("Adjustable band limits intake", SMALL),
Paragraph("<font color='#148F77'><b>Band slippage, erosion, port infection</b></font>", SMALL)],
[Paragraph("<b>BPD with Duodenal Switch</b>", SMALLB),
Paragraph("Restrictive + Malabsorptive", SMALL),
Paragraph("Most aggressive restriction + malabsorption", SMALL),
Paragraph("<font color='#922B21'><b>HIGHEST nutritional deficiency risk</b></font>", SMALL)],
]
proc_w = [UW*0.25, UW*0.17, UW*0.28, UW*0.30]
proc_t = comp_table(proc_data, proc_w, NAVY)
story += [proc_t, spacer(6)]
# ββ Early complications section header βββββββββββββββββββββββ
story.append(sec_hdr("EARLY / ACUTE COMPLICATIONS (hours to days post-op)", RED, UW))
story.append(spacer(4))
# Table: early complications
E_HDR = ["COMPLICATION", "TIMING", "SIGNS & SYMPTOMS", "NURSING ASSESSMENT", "INTERVENTIONS", "ESCALATE IF"]
early_comps = [
[
Paragraph("<b>Anastomotic / Staple\nLine LEAK</b>", SMALLB),
Paragraph("24 hrs β 5 days", SMALL),
Paragraph("Tachycardia (HR >120) is EARLIEST sign\nFever, severe abdominal pain\nLeft shoulder pain (diaphragm irritation)\nDiaphoresis, restlessness, anxiety", SMALL),
Paragraph("Vital signs q1-2h\nPain intensity & location\nDrain output (character, volume)\nO2 saturation", SMALL),
Paragraph("Keep NPO\nNotify surgeon STAT\nIV fluids; O2 therapy\nPrepare for CT / return to OR\nDocument drain output", SMALL),
Paragraph("<font color='#C0392B'><b>HR >120 bpm\nT >38.5Β°C\nSudden pain increase\nDrain output change</b></font>", SMALL),
],
[
Paragraph("<b>Pulmonary\nComplications</b>\n(Atelectasis, Pneumonia,\nRespiratory Failure)", SMALLB),
Paragraph("24β72 hrs", SMALL),
Paragraph("Hypoxia (SpO2 <94%)\nIncreased RR, dyspnea\nFever 24-48 hrs post-op\nDecreased breath sounds\nInability to use incentive spirometer", SMALL),
Paragraph("SpO2 & RR monitoring\nLung auscultation q4-8h\nIncentive spirometry use\nAmbulation progress\nCPAP compliance (OSA patients)", SMALL),
Paragraph("HOB 30-45Β° at all times\nIncentive spirometry q1-2h\nDeep breathing exercises\nEnsure CPAP for OSA patients\nEarly ambulation\nAdequate pain control (enables breathing)", SMALL),
Paragraph("<font color='#C0392B'><b>SpO2 <92%\nRR >24\nAccessory muscle use\nCyanosis</b></font>", SMALL),
],
[
Paragraph("<b>Venous\nThromboembolism\n(DVT / PE)</b>", SMALLB),
Paragraph("Days 1-30\n(peak Days 3-7)", SMALL),
Paragraph("DVT: calf pain, swelling, Homan's sign (unreliable)\nPE: sudden dyspnea, pleuritic chest pain,\ntachycardia, hypoxia, hemoptysis\nSudden collapse / cardiovascular collapse (massive PE)", SMALL),
Paragraph("Calf assessment daily\nVital signs trend\nLeg pain / swelling comparison\nMonitor anticoagulation levels\nNote immobility duration", SMALL),
Paragraph("SCDs on lower extremities\nAnticoagulation as ordered\nEarly ambulation (Day 1 if possible)\nAdequate hydration\nTeach patient to report leg pain / dyspnea\nDo NOT massage calf if DVT suspected", SMALL),
Paragraph("<font color='#C0392B'><b>Sudden dyspnea\nChest pain\nDesaturation\nSyncope</b></font>", SMALL),
],
[
Paragraph("<b>Bleeding /\nHemorrhage</b>", SMALLB),
Paragraph("Intraoperative\nβ 48 hrs", SMALL),
Paragraph("Tachycardia, hypotension\nDecreased urine output\nPale, diaphoretic skin\nDrain: bright red / large volume\nDecreasing Hgb/Hct", SMALL),
Paragraph("VS trend (MAP, HR)\nDrain output color & volume\nSerial Hgb/Hct\nUrine output (>0.5 mL/kg/hr)\nAbdominal girth", SMALL),
Paragraph("IV access x2 large bore\nFluid resuscitation as ordered\nBlood products if ordered\nTransfusion preparation\nNotify surgeon immediately", SMALL),
Paragraph("<font color='#C0392B'><b>SBP <90\nHR >110\nUO <30 mL/hr\nBright red drain\nHgb drop</b></font>", SMALL),
],
[
Paragraph("<b>Wound\nInfection /\nDehiscence</b>", SMALLB),
Paragraph("Days 3-10", SMALL),
Paragraph("Redness, warmth, swelling at incision\nPurulent or malodorous drainage\nFever, elevated WBC\nWound edges separating\nIncreasing pain at wound site", SMALL),
Paragraph("Inspect incisions each shift\nAssess drainage: amount, character\nTemperature & WBC trend\nBlood glucose (hyperglycemia impairs healing)\nSkin fold assessment", SMALL),
Paragraph("Aseptic wound care\nMoisture management\nHyperglycemia correction\nAntibiotics as ordered\nNutritional support\nWound care team consult PRN", SMALL),
Paragraph("<font color='#C0392B'><b>Fever >38.5Β°C\nFascia visible\nWound dehiscence\nRapidly expanding\nerythema</b></font>", SMALL),
],
]
E_W = [UW*0.13, UW*0.085, UW*0.19, UW*0.165, UW*0.195, UW*0.135]
hdr_row = [Paragraph(h, S(f"EH{i}", fontName="Helvetica-Bold", fontSize=7.8, textColor=white,
alignment=TA_CENTER, leading=10))
for i, h in enumerate(E_HDR)]
e_rows = [hdr_row] + early_comps
e_tbl = Table(e_rows, colWidths=E_W)
e_style = [
("BACKGROUND", (0,0),(-1,0), RED),
("TEXTCOLOR", (0,0),(-1,0), white),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
("ALIGN", (0,0),(-1,0), "CENTER"),
("ROWPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 5),
("RIGHTPADDING",(0,0),(-1,-1), 4),
("VALIGN", (0,0),(-1,-1), "TOP"),
("GRID", (0,0),(-1,-1), 0.4, BORDER),
("BACKGROUND", (0,1),(-1,1), RED_LT),
("BACKGROUND", (0,2),(-1,2), white),
("BACKGROUND", (0,3),(-1,3), RED_LT),
("BACKGROUND", (0,4),(-1,4), white),
("BACKGROUND", (0,5),(-1,5), RED_LT),
("FONTNAME", (0,1),(0,-1), "Helvetica-Bold"),
]
e_tbl.setStyle(TableStyle(e_style))
story += [e_tbl, spacer(5)]
# ββ Dumping syndrome highlight ββββββββββββββββββββββββββββββββ
story.append(sec_hdr("DUMPING SYNDROME β Most Common Post-Bariatric Complication", ORANGE, UW))
story.append(spacer(4))
dump_data = [
["", "EARLY DUMPING", "LATE DUMPING"],
[Paragraph("<b>Timing</b>", SMALLB),
Paragraph("15β30 minutes after eating", SMALL),
Paragraph("1β3 hours after eating", SMALL)],
[Paragraph("<b>Mechanism</b>", SMALLB),
Paragraph("Rapid gastric emptying β hyperosmolar chyme\nin jejunum β massive fluid shift into gut\n+ vagal stimulation", SMALL),
Paragraph("Rapid glucose absorption β excessive insulin\nrelease β REACTIVE HYPOGLYCEMIA", SMALL)],
[Paragraph("<b>Symptoms</b>", SMALLB),
Paragraph("Nausea, vomiting, cramping, explosive diarrhea\nFlushing, diaphoresis, palpitations\nDizziness, near-syncope", SMALL),
Paragraph("Weakness, diaphoresis, tremor, anxiety\nPalpitations, confusion, blurred vision\nSyncope (severe)", SMALL)],
[Paragraph("<b>Triggers</b>", SMALLB),
Paragraph("High-sugar foods, high-fat foods\nHigh-calorie liquids", SMALL),
Paragraph("Simple carbohydrates, sugar\nHigh glycaemic index foods", SMALL)],
[Paragraph("<b>Nursing\nInterventions</b>", SMALLB),
Paragraph("Teach: no sugar/high-fat foods\nSeparate liquids from solids (30 min)\nSmall frequent meals\nLie down 30 min after meals\nMonitor VS during episode", SMALL),
Paragraph("Check blood glucose during symptoms\nTeach to recognize hypoglycemia\nGive 15g fast carb if glucose <70\nAcarbose (if ordered) slows absorption\nDietary consult", SMALL)],
[Paragraph("<b>Medical\nTreatment</b>", SMALLB),
Paragraph("Dietary modification (first-line)\nOctreotide 25β100 mcg SC pre-meals\n(retards intestinal transit)", SMALL),
Paragraph("Dietary modification (first-line)\nAcarbose (slows carb absorption)\nOctreotide for refractory cases", SMALL)],
]
dump_w = [UW*0.12, UW*0.44, UW*0.44]
dump_t = Table(dump_data, colWidths=dump_w)
dump_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), ORANGE),
("TEXTCOLOR", (0,0),(-1,0), white),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
("ALIGN", (0,0),(-1,0), "CENTER"),
("FONTSIZE", (0,0),(-1,0), 8.5),
("BACKGROUND", (1,0),(1,0), HexColor("#B7390A")),
("BACKGROUND", (2,0),(2,0), HexColor("#D35400")),
("ROWPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 5),
("GRID", (0,0),(-1,-1), 0.4, BORDER),
("VALIGN", (0,0),(-1,-1), "TOP"),
("BACKGROUND", (0,1),(-1,1), ORG_LT),
("BACKGROUND", (0,2),(-1,2), white),
("BACKGROUND", (0,3),(-1,3), ORG_LT),
("BACKGROUND", (0,4),(-1,4), white),
("BACKGROUND", (0,5),(-1,5), ORG_LT),
("BACKGROUND", (0,6),(-1,6), white),
("FONTNAME", (0,1),(0,-1), "Helvetica-Bold"),
]))
story += [dump_t, spacer(5)]
# ββ Footer page 1 βββββββββββββββββββββββββββββββββββββββββββββ
story.append(HRFlowable(width=UW, thickness=0.4, color=GRAY_D))
story.append(spacer(2))
story.append(Paragraph(
"Post-Bariatric Surgery Nursing Reference Card | Page 1 of 2 | "
"Sources: Goldman-Cecil Medicine, Sleisenger & Fordtran GI Disease, "
"Miller's Anesthesia 10e, Harrison's Principles 22e",
FOOT))
story.append(PageBreak())
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PAGE 2 β LATE / CHRONIC COMPLICATIONS + DIET + SUPPLEMENTS
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(banner(
"POST-BARIATRIC SURGERY: LATE COMPLICATIONS, DIET PROGRESSION & SUPPLEMENTATION",
"Page 2 of 2 β Late/Chronic Complications | Dietary Phases | Lifelong Supplementation | Patient Education",
TEAL, UW
))
story.append(spacer(6))
# ββ Late complications ββββββββββββββββββββββββββββββββββββββββ
story.append(sec_hdr("LATE / CHRONIC COMPLICATIONS (weeks to years post-op)", TEAL, UW))
story.append(spacer(4))
L_HDR = ["COMPLICATION", "TIME FRAME", "SIGNS & SYMPTOMS", "NURSING ASSESSMENT", "INTERVENTIONS"]
late_comps = [
[
Paragraph("<b>Nutritional\nDeficiencies</b>", SMALLB),
Paragraph("Months to years\n(lifelong risk)", SMALL),
Paragraph("B12: fatigue, glossitis, peripheral neuropathy, macrocytic anemia\n"
"Iron: fatigue, pallor, brittle nails, hair loss, microcytic anemia\n"
"Calcium/Vit D: bone pain, muscle cramps, tetany, osteoporosis\n"
"Folate: anemia, neural tube defects (pregnancy)\n"
"Thiamine (B1): Wernicke encephalopathy (confusion, ataxia, nystagmus)", SMALL),
Paragraph("Annual CBC, iron studies, B12, folate\nCalcium, Vit D, PTH levels\nThiamine if vomiting present\nBone density (DEXA) per protocol\nNeuro exam (B12 deficiency)\nHair, nail, skin assessment", SMALL),
Paragraph("Reinforce LIFELONG supplementation\nCalcium CITRATE (not carbonate) β requires no acid\nB12 sublingually or IM if needed (bypassed intrinsic factor)\nReferral to dietitian\nTeach: supplement with meals vs. separate from iron", SMALL),
],
[
Paragraph("<b>Weight Regain</b>", SMALLB),
Paragraph("Years 2-5+\n(common without\nbehavior change)", SMALL),
Paragraph("Progressive weight gain after initial loss\nReturn of obesity-related comorbidities\nResuming old eating patterns\nPsychological distress, self-blame", SMALL),
Paragraph("Track weight at every visit\nDietary recall assessment\nActivity level evaluation\nPsychological wellbeing screen\nSupport system assessment", SMALL),
Paragraph("Nonjudgmental approach β weight regain is common\nReinforce behavioral strategies\nDietitian / behavioral health referral\nConsider medication adjunct\nRevisional surgery in selected cases\nAddress psychological factors (depression, binge eating)", SMALL),
],
[
Paragraph("<b>Marginal Ulcer\n(Anastomotic ulcer)</b>", SMALLB),
Paragraph("Months to years\n(RYGB specific)", SMALL),
Paragraph("Epigastric or abdominal pain\nNausea, vomiting\nGI bleeding (hematemesis, melena)\nIron-deficiency anemia", SMALL),
Paragraph("Pain assessment (type, location)\nStool for occult blood\nHgb/Hct trend\nNSAID and smoking use history\n(major risk factors)", SMALL),
Paragraph("Strict: NO NSAIDs (use acetaminophen only)\nStop smoking (vasoconstiction impairs healing)\nPPI therapy as prescribed\nEndoscopy referral if suspected\nMucosa-protecting medications", SMALL),
],
[
Paragraph("<b>GERD / Reflux\nWorsening</b>", SMALLB),
Paragraph("Months to years\n(Sleeve gastrectomy\nspecific risk)", SMALL),
Paragraph("Heartburn, regurgitation\nChest pain, chronic cough\nBarrett's esophagus risk long-term\nWorstening after sleeve gastrectomy\n(RYGB often improves GERD)", SMALL),
Paragraph("Symptom severity screening\nMedication effectiveness\nHOB elevation at night\nDietary triggers review\n(caffeine, alcohol, fatty foods)", SMALL),
Paragraph("PPI therapy as ordered\nDietary modification: avoid triggers\nElevate HOB 30-45Β° for sleep\nAvoid eating 3 hrs before bed\nEndoscopy if symptoms persist\nConversion from sleeve to RYGB (selected patients)", SMALL),
],
[
Paragraph("<b>Dumping Syndrome\n(Chronic)</b>", SMALLB),
Paragraph("Can persist long-term\n(most improve\nwith diet changes)", SMALL),
Paragraph("See Page 1 β Dumping Syndrome\nChronic: reactive hypoglycemia\nmay be dominant presentation\nWeight loss plateau or worsening", SMALL),
Paragraph("Blood glucose diary\nFood-symptom diary\nWeight trend\nNutritional adequacy\nQuality of life assessment", SMALL),
Paragraph("Continuous dietary counseling\nAvoid simple sugars lifelong\nOctreotide PRN or scheduled\nEndocrinology referral for refractory hypoglycemia\nAcarbose for late dumping", SMALL),
],
[
Paragraph("<b>Psychological\nAdjustment /\nBody Image", SMALLB),
Paragraph("Ongoing\n(months to years)", SMALL),
Paragraph("Depression, anxiety (common post-op)\nBody image dissatisfaction\nSubstance use (alcohol transfer addiction)\nRelationship changes\nUnrealistic weight expectations", SMALL),
Paragraph("PHQ-9 depression screening\nAnxiety screening\nAlcohol/substance use screen\nBody image and self-esteem\nSocial support assessment", SMALL),
Paragraph("Normalize psychological adjustment\nReferral to behavioral health\nSupport group recommendation\nScreen for alcohol use disorder\n(alcohol absorbed faster post-RYGB)\nAddress body dysmorphia", SMALL),
],
[
Paragraph("<b>Gallstone\nFormation</b>", SMALLB),
Paragraph("First 6-12 months\n(rapid weight loss\nperiod)", SMALL),
Paragraph("Right upper quadrant pain\nNausea after fatty meals\nFever if cholecystitis\nJaundice if CBD obstruction", SMALL),
Paragraph("RUQ pain assessment\nPain with fatty food intake\nFever and jaundice monitoring\nLFT trend", SMALL),
Paragraph("Prophylactic ursodiol 300mg BID\n(for 6 months, standard of care)\nDietary fat modification\nUltrasound if symptoms present\nSurgery if symptomatic stones", SMALL),
],
]
L_W = [UW*0.14, UW*0.10, UW*0.22, UW*0.18, UW*0.26]
hdr_row_l = [Paragraph(h, S(f"LH{i}", fontName="Helvetica-Bold", fontSize=8,
textColor=white, alignment=TA_CENTER, leading=10))
for i, h in enumerate(L_HDR)]
l_rows = [hdr_row_l] + late_comps
l_tbl = Table(l_rows, colWidths=L_W)
l_style = [
("BACKGROUND", (0,0),(-1,0), TEAL),
("TEXTCOLOR", (0,0),(-1,0), white),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
("ALIGN", (0,0),(-1,0), "CENTER"),
("ROWPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 5),
("RIGHTPADDING",(0,0),(-1,-1), 4),
("VALIGN", (0,0),(-1,-1), "TOP"),
("GRID", (0,0),(-1,-1), 0.4, BORDER),
("FONTNAME", (0,1),(0,-1), "Helvetica-Bold"),
]
for i in range(1, len(l_rows)):
bg = TEA_LT if i % 2 != 0 else white
l_style.append(("BACKGROUND", (0,i),(-1,i), bg))
l_tbl.setStyle(TableStyle(l_style))
story += [l_tbl, spacer(6)]
# ββ Bottom two-column: Diet progression + Supplements ββββββββ
COL_W = UW * 0.48
GAP_W = UW * 0.04
# ββ LEFT: Dietary progression ββββββββββββββββββββββββββββββββ
diet_phases = [
["PHASE", "TIMING", "ALLOWED FOODS", "KEY RULES"],
[Paragraph("<b>1\nClear\nLiquids</b>", TINYB),
Paragraph("Days 1β2", TINY),
Paragraph("Water, broth, sugar-free\npopsicles, clear juice,\ndiluted herbal tea", TINY),
Paragraph("Sip slowly (1β2 oz at a time)\nNo carbonation EVER\nStay hydrated: 48β64 oz/day", TINY)],
[Paragraph("<b>2\nFull Liquids /\nProtein Shakes</b>", TINYB),
Paragraph("Weeks 1β3", TINY),
Paragraph("Protein shakes, milk,\nyogurt (smooth), cream\nsoups (strained)", TINY),
Paragraph("60β80g protein/day target\nSeparate eating & drinking\nNo sugar-added shakes", TINY)],
[Paragraph("<b>3\nPureed</b>", TINYB),
Paragraph("Weeks 3β5", TINY),
Paragraph("Blended protein (eggs,\ncottage cheese, fish)\nSmooth pureed vegetables", TINY),
Paragraph("2β4 oz per meal\nChew thoroughly\nProtein FIRST at every meal", TINY)],
[Paragraph("<b>4\nSoft Foods</b>", TINYB),
Paragraph("Weeks 5β8", TINY),
Paragraph("Soft cooked chicken, fish,\ncanned tuna, soft fruit,\ncooked vegetables", TINY),
Paragraph("Introduce one new food\nat a time\nStop if pain or vomiting", TINY)],
[Paragraph("<b>5\nRegular\nTexture</b>", TINYB),
Paragraph("After\n2 months", TINY),
Paragraph("Most foods allowed\n(portion-controlled forever)\nAvoid: tough meat, bread,\npasta, rice, carbonation", TINY),
Paragraph("Pouch = 4β8 oz capacity\nEat 5β6 small meals/day\nNO sugar, NO carbonation\nAlcohol absorbed faster: CAUTION", TINY)],
]
diet_col_w = [COL_W*0.10, COL_W*0.14, COL_W*0.40, COL_W*0.46]
diet_t = Table(diet_phases, colWidths=diet_col_w)
diet_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), PURPLE),
("TEXTCOLOR", (0,0),(-1,0), white),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0),(-1,0), 7.5),
("ALIGN", (0,0),(-1,0), "CENTER"),
("ROWPADDING", (0,0),(-1,-1), 3),
("LEFTPADDING", (0,0),(-1,-1), 4),
("GRID", (0,0),(-1,-1), 0.4, BORDER),
("VALIGN", (0,0),(-1,-1), "TOP"),
("BACKGROUND", (0,1),(-1,1), PUR_LT),
("BACKGROUND", (0,2),(-1,2), white),
("BACKGROUND", (0,3),(-1,3), PUR_LT),
("BACKGROUND", (0,4),(-1,4), white),
("BACKGROUND", (0,5),(-1,5), PUR_LT),
("FONTNAME", (0,1),(0,-1), "Helvetica-Bold"),
]))
diet_section = [
sec_hdr("DIETARY PROGRESSION PHASES", PURPLE, COL_W),
spacer(3),
diet_t,
]
# ββ RIGHT: Lifelong supplements βββββββββββββββββββββββββββββββ
supp_data = [
["SUPPLEMENT", "FORM / DOSE", "DEFICIENCY CONSEQUENCE", "NURSING PEARL"],
[Paragraph("<b>Multivitamin</b>", TINYB),
Paragraph("Chewable or liquid\n2x/day (bypass)\n1x/day (sleeve)", TINY),
Paragraph("Multiple micronutrient\ndeficiencies", TINY),
Paragraph("Must be chewable or\nliquid β tablets not\nabsorbed post-RYGB", TINY)],
[Paragraph("<b>Calcium\nCITRATE</b>", TINYB),
Paragraph("1200β1500 mg/day\nin 500mg doses\n(not all at once)", TINY),
Paragraph("Osteoporosis\nTetany, muscle cramps\nFracture risk", TINY),
Paragraph("<b>CITRATE only</b> β carbonate\nrequires stomach acid\nwhich is reduced post-op\nSeparate from iron by 2h", TINY)],
[Paragraph("<b>Vitamin D</b>", TINYB),
Paragraph("3000 IU/day\n(D3 preferred)", TINY),
Paragraph("Osteomalacia\nHypocalcemia\nBone disease", TINY),
Paragraph("Taken with calcium\nMonitor 25-OH Vit D\nlevel annually", TINY)],
[Paragraph("<b>Vitamin B12</b>", TINYB),
Paragraph("350β500 mcg/day\nSublingual or IM\nif severe", TINY),
Paragraph("Pernicious anemia\nPeripheral neuropathy\nWernicke's (rare)", TINY),
Paragraph("Intrinsic factor\nreduced after bypass\nSublingual bypasses\nGI absorption issue", TINY)],
[Paragraph("<b>Iron</b>", TINYB),
Paragraph("45β60 mg elemental\niron/day\n(menstruating women\nneed more)", TINY),
Paragraph("Iron-deficiency anemia\nFatigue, pallor\nHair loss, brittle nails", TINY),
Paragraph("Take with vitamin C\n(enhances absorption)\nSeparate from calcium\nby at least 2 hours", TINY)],
[Paragraph("<b>Folate</b>", TINYB),
Paragraph("400β800 mcg/day\n(higher in pregnancy)", TINY),
Paragraph("Megaloblastic anemia\nNeural tube defects\n(critical in pregnancy)", TINY),
Paragraph("All women of\nchildbearing age need\nadequate folate\nMonitor in pregnancy", TINY)],
[Paragraph("<b>Thiamine (B1)</b>", TINYB),
Paragraph("12 mg/day in multi\nSupplement if vomiting\nor neurologic Sx", TINY),
Paragraph("Wernicke encephalopathy\nConfusion, ataxia\nNystagmus", TINY),
Paragraph("At-risk: prolonged\nvomiting post-op\nIV thiamine if\nWernicke suspected", TINY)],
]
supp_col_w = [COL_W*0.18, COL_W*0.22, COL_W*0.28, COL_W*0.32]
supp_t = Table(supp_data, colWidths=supp_col_w)
supp_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), GOLD),
("TEXTCOLOR", (0,0),(-1,0), white),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0),(-1,0), 7.5),
("ALIGN", (0,0),(-1,0), "CENTER"),
("ROWPADDING", (0,0),(-1,-1), 3),
("LEFTPADDING", (0,0),(-1,-1), 4),
("GRID", (0,0),(-1,-1), 0.4, BORDER),
("VALIGN", (0,0),(-1,-1), "TOP"),
("BACKGROUND", (0,1),(-1,1), GOLD_LT),
("BACKGROUND", (0,2),(-1,2), white),
("BACKGROUND", (0,3),(-1,3), GOLD_LT),
("BACKGROUND", (0,4),(-1,4), white),
("BACKGROUND", (0,5),(-1,5), GOLD_LT),
("BACKGROUND", (0,6),(-1,6), white),
("BACKGROUND", (0,7),(-1,7), GOLD_LT),
("FONTNAME", (0,1),(0,-1), "Helvetica-Bold"),
# Highlight calcium citrate row
("BACKGROUND", (0,2),(-1,2), HexColor("#FEF9C3")),
("FONTNAME", (0,2),(-1,2), "Helvetica-Bold"),
]))
supp_section = [
sec_hdr("LIFELONG SUPPLEMENTATION (ALL BARIATRIC PATIENTS FOREVER)", GOLD, COL_W),
spacer(3),
supp_t,
]
# ββ Arrange left and right columns βββββββββββββββββββββββββββ
two_col = Table(
[[diet_section, Spacer(GAP_W, 1), supp_section]],
colWidths=[COL_W, GAP_W, COL_W],
)
two_col.setStyle(TableStyle([
("VALIGN", (0,0),(-1,-1), "TOP"),
("ROWPADDING", (0,0),(-1,-1), 0),
("LEFTPADDING",(0,0),(-1,-1), 0),
("RIGHTPADDING",(0,0),(-1,-1), 0),
]))
story.append(two_col)
story.append(spacer(5))
# ββ Patient education strip βββββββββββββββββββββββββββββββββββ
story.append(sec_hdr("KEY PATIENT EDUCATION POINTS β TEACH BEFORE DISCHARGE", NAVY, UW))
story.append(spacer(3))
edu_items = [
("WARNING SIGNS\n(Return to ER)",
"Severe abdominal pain\nHR >100 + sweating\nFever >38.5Β°C\nVomiting > 24 hrs\nChest pain / dyspnea\nWound opening or pus"),
("DIET RULES\n(Lifelong)",
"NO carbonated beverages\nNO sugar or high-calorie drinks\nSeparate liquids from meals\nProtein first at every meal\nChew thoroughly, eat slowly\nSmall portions always"),
("SUPPLEMENTS\n(Lifelong)",
"Take every day β forever\nCalcium CITRATE (not carbonate)\nB12 sublingual or injection\nTake iron with Vitamin C\nSeparate iron & calcium by 2+ hrs\nReport neuropathy / weakness"),
("ALCOHOL\n(High-Risk Post-op)",
"Absorbed FASTER post-RYGB\n(lower peak blood level needed)\nHigher addiction risk post-op\n('transfer addiction')\nAvoid for 1 yr post-op minimum\nOne drink = higher impairment"),
("MEDICATIONS\n(Post-Bariatric)",
"NO NSAIDs (marginal ulcer risk)\nUse acetaminophen for pain\nMedication absorption changes\nExtended-release may not work\nTell ALL providers about surgery\nCrush or liquid meds when possible"),
("FOLLOW-UP\n(Lifelong)",
"Labs at 3, 6, 12 months, then yearly\nDEXA scan (bone density)\nRegular dietitian visits\nMental health follow-up\nGynecology if planning pregnancy\nWait β₯18 months before pregnancy"),
]
edu_col_w = [(UW - 5*0.2*cm) / 6] * 6
edu_rows = [[Paragraph(f"<b>{title}</b>", S("ET", fontName="Helvetica-Bold", fontSize=7.5,
textColor=white, alignment=TA_CENTER, leading=10)),
*[None]*0]
for title, _ in edu_items]
# Build as a 2-row table (title row + content row)
edu_title_cells = []
edu_body_cells = []
for title, body in edu_items:
edu_title_cells.append(
Paragraph(title, S(f"ET{title}", fontName="Helvetica-Bold", fontSize=7.5,
textColor=white, alignment=TA_CENTER, leading=10)))
edu_body_cells.append(
Paragraph(body, S(f"EB{title}", fontName="Helvetica", fontSize=7,
textColor=black, leading=10)))
edu_t = Table(
[edu_title_cells, edu_body_cells],
colWidths=edu_col_w
)
edu_bg_colors = [NAVY, RED, GOLD, ORANGE, TEAL, PURPLE]
edu_style = [
("ROWPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 5),
("RIGHTPADDING",(0,0),(-1,-1), 4),
("GRID", (0,0),(-1,-1), 0.4, BORDER),
("VALIGN", (0,0),(-1,-1), "TOP"),
("BACKGROUND", (0,1),(-1,1), GRAY_L),
]
for col, bg in enumerate(edu_bg_colors):
edu_style.append(("BACKGROUND", (col,0),(col,0), bg))
edu_style.append(("TEXTCOLOR", (col,0),(col,0), white))
edu_t.setStyle(TableStyle(edu_style))
story += [edu_t, spacer(4)]
# ββ Footer page 2 βββββββββββββββββββββββββββββββββββββββββββββ
story.append(HRFlowable(width=UW, thickness=0.4, color=GRAY_D))
story.append(spacer(2))
story.append(Paragraph(
"Post-Bariatric Surgery Nursing Reference Card | Page 2 of 2 | "
"MS III Medical-Surgical Nursing β Unit 11 Metabolic & Endocrine | "
"Sources: Goldman-Cecil Medicine, Harrison's Principles 22e, Sleisenger & Fordtran GI Disease, "
"Miller's Anesthesia 10e, Fuster & Hurst's The Heart 15e",
FOOT))
# ββ Build βββββββββββββββββββββββββββββββββββββββββββββββββββββ
doc.build(story)
print("PDF saved:", OUTPUT)
cd /home/daytona/workspace/bariatric-refcard && python3 generate_refcard.py 2>&1
~/bariatric-refcard/generate_refcard.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/bariatric-refcard/generate_refcard.py'
cd /home/daytona/workspace/bariatric-refcard && python3 generate_refcard.py 2>&1
ls -lh /home/daytona/workspace/bariatric-refcard/
Post Bariatric Nursing Reference Card
PDF Document Β· PDF
| Complication | Timing | Signs & Symptoms | Nursing Assessment | Interventions | Escalate If |
|---|---|---|---|---|---|
| Anastomotic/Staple Line Leak | 24hβ5 days | Tachycardia HR>120 (EARLIEST sign), fever, left shoulder pain | q1-2h VS, drain output | NPO, notify surgeon STAT | HR >120, fever, sudden pain |
| Pulmonary complications | 24β72h | Hypoxia, decreased breath sounds | SpO2, lung auscultation, CPAP compliance | HOB 30-45Β°, incentive spirometry q1-2h | SpO2 <92%, RR >24 |
| VTE (DVT/PE) | Days 1β30 | Calf pain, sudden dyspnea, tachycardia | Daily calf assessment, anticoagulation levels | SCDs, early ambulation Day 1 | Sudden dyspnea, chest pain |
| Bleeding/Hemorrhage | Intraopβ48h | Tachycardia, hypotension, decreased UO | VS trend, drain color/volume, Hgb/Hct | IV access Γ2, fluid resuscitation | SBP <90, UO <30 mL/hr |
| Wound Infection/Dehiscence | Days 3β10 | Redness, purulent drainage, fever | Inspect each shift, glucose monitoring | Aseptic wound care, hyperglycemia correction | Fascia visible, rapidly expanding erythema |
βAct as a world-class educator and teach me this chapter from absolute basics to complete mastery. First give me a simple overview of the chapter, then break it into small sections and explain each concept in easy language with examples. Also synthesis additional information from other sources pertinent to this chapter that are important for me to know as a nurse. Connect all topics together and create a final summary that helps me revise the entire chapter quickly before exams.β
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_49__ASSESSMENT_AND_MANAGEMENT_OF_PATIENTS_WITH_HEPATIC_DISORDERS_.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- PAGE {i+1} ---') print(text) print() "
βAct as a world-class educator and teach me this chapter from absolute basics to complete mastery. First give me a simple overview of the chapter, then break it into small sections and explain each concept in easy language with examples. Also synthesis additional information from other sources pertinent to this chapter that are important for me to know as a nurse. Connect all topics together and create a final summary that helps me revise the entire chapter quickly before exams.β
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_50__ASSESSMENT_AND_MANAGEMENT_OF_PATIENTS_WITH_BILIARY_DISORDERS.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- PAGE {i+1} ---') print(text) print() "
βAct as a world-class educator and teach me this chapter from absolute basics to complete mastery. First give me a simple overview of the chapter, then break it into small sections and explain each concept in easy language with examples. Also synthesis additional information from other sources pertinent to this chapter that are important for me to know as a nurse. Connect all topics together and create a final summary that helps me revise the entire chapter quickly before exams.β
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_51__ASSESSMENT_AND_MANAGEMENT_OF_PATIENTS_WITH_DIABETES.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- PAGE {i+1} ---') print(text) print() "
βAct as a world-class educator and teach me this chapter from absolute basics to complete mastery. First give me a simple overview of the chapter, then break it into small sections and explain each concept in easy language with examples. Also synthesis additional information from other sources pertinent to this chapter that are important for me to know as a nurse. Connect all topics together and create a final summary that helps me revise the entire chapter quickly before exams.β
cd /home/daytona/workspace/attachments/08d90756-434c-4004-9a60-02bd5a701dbd/ && python3 -c " import pdfplumber with pdfplumber.open('CHAPTER_52__ASSESSMENT_AND_MANAGEMENT_OF_PATIENTS_WITH_ENDOCRINE_DISORDERS.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- PAGE {i+1} ---') print(text) print() "
UNIT 16/ CHAPTER 65: ASSESSMENT OF NEUROLOGIC FUNCTION Learning Objectives By the end of this module, students should be able to: 1. Describe the structures and functions of the central and peripheral nervous systems. 2. Differentiate between pathologic changes affecting motor control and those affecting sensory pathways. 3. Compare and contrast the functions of the sympathetic and parasympathetic nervous systems. 4. Explain the importance of physical assessment in the diagnosis of neurologic dysfunction. 5. Identify age-related changes in neurologic function and their effects on neurologic assessment findings. 6. Discuss diagnostic tests used in the evaluation of suspected neurologic disorders and the associated nursing implications. Lesson Content I. OVERVIEW OF NEUROLOGIC FUNCTION Β· The nervous system is the bodyβs primary control and communication system. Β· It coordinates: o Sensory input o Motor responses o Cognitive processes o Autonomic regulation Β· Neurologic assessment is essential because: o Many neurologic disorders progress rapidly o Early changes may be subtle o Delayed recognition can lead to irreversible damage II. STRUCTURES AND FUNCTIONS OF THE CENTRAL AND PERIPHERAL NERVOUS SYSTEMS A. CENTRAL NERVOUS SYSTEM 1. Central nervous system Β· The central nervous system consists of the brain and spinal cord. Β· It is responsible for: o Processing sensory information o Initiating motor activity o Regulating consciousness, thought, memory, and emotion B. BRAIN 1. Cerebrum Β· The cerebrum is the largest portion of the brain. Β· It is divided into two hemispheres, each containing distinct lobes. a. Frontal lobe Β· Responsible for: o Voluntary motor activity o Speech production o Judgment, reasoning, and behavior Β· Damage may result in: o Motor weakness o Personality changes o Impaired speech (expressive aphasia) b. Parietal lobe Β· Responsible for: o Sensory perception o Spatial orientation Β· Damage may cause: o Loss of sensation o Inability to recognize objects by touch c. Temporal lobe Β· Responsible for: o Hearing o Memory o Language comprehension Β· Damage may cause: o Memory deficits o Receptive aphasia d. Occipital lobe Β· Responsible for: o Visual processing Β· Damage may result in: o Visual field defects o Cortical blindness 2. Diencephalon Β· Includes the thalamus and hypothalamus. Β· Thalamus: o Acts as a relay station for sensory impulses. Β· Hypothalamus: o Regulates temperature, hunger, thirst, and endocrine function. 3. Brainstem Β· Includes the midbrain, pons, and medulla oblongata. Β· Controls: o Respiratory and cardiac function o Level of consciousness Β· Damage can be life-threatening. 4. Cerebellum Β· Coordinates: o Balance o Posture o Fine motor movement Β· Cerebellar dysfunction causes: o Ataxia o Tremors o Poor coordination C. SPINAL CORD Β· The spinal cord conducts impulses between the brain and peripheral nerves. Β· It also mediates reflex activity. Β· Injury may result in: o Motor paralysis o Sensory loss o Autonomic dysfunction D. PERIPHERAL NERVOUS SYSTEM 1. Peripheral nervous system Β· Composed of: o Cranial nerves o Spinal nerves Β· Divided into: o Somatic nervous system o Autonomic nervous system 2. Somatic nervous system Β· Controls voluntary muscle movement. Β· Damage results in: o Weakness o Paralysis o Loss of reflexes III. MOTOR AND SENSORY PATHWAYS A. MOTOR PATHWAYS Motor pathways Β· Carry impulses from the brain to muscles. Β· Lesions affecting motor pathways cause: o Weakness o Paralysis o Abnormal muscle tone Pathologic changes affecting motor control: Β· Upper motor neuron lesions o Cause spasticity, hyperreflexia, and loss of voluntary movement. Β· Lower motor neuron lesions o Cause flaccid paralysis, muscle atrophy, and absent reflexes. B. SENSORY PATHWAYS Sensory pathways Β· Transmit sensations such as: o Pain o Temperature o Touch o Proprioception Pathologic changes affecting sensory pathways: Β· Cause: o Numbness o Tingling o Loss of sensation o Abnormal sensations (paresthesia) IV. AUTONOMIC NERVOUS SYSTEM A. Autonomic nervous system Β· Regulates involuntary body functions. Β· Divided into: o Sympathetic nervous system o Parasympathetic nervous system B. Sympathetic nervous system Β· Known as the fight-or-flight system. Β· Effects include: o Increased heart rate o Dilated pupils o Bronchodilation o Increased blood glucose C. Parasympathetic nervous system Β· Known as the rest-and-digest system. Β· Effects include: o Decreased heart rate o Constricted pupils o Increased gastrointestinal activity D. Comparison Β· These systems act in opposition to maintain homeostasis. Β· Dysfunction results in: o Blood pressure instability o Abnormal heart rate o Impaired temperature regulation V. SIGNIFICANCE OF PHYSICAL ASSESSMENT IN NEUROLOGIC DIAGNOSIS A. Purpose of Neurologic Assessment Β· Detect early neurologic dysfunction. Β· Establish baseline data. Β· Monitor progression or improvement. B. Components of Neurologic Assessment 1. Level of consciousness Β· Reflects cerebral function. Β· Altered consciousness may indicate: o Brain injury o Infection o Metabolic disturbances 2. Cognitive function Β· Assesses: o Orientation o Memory o Attention o Language 3. Motor function Β· Muscle strength Β· Coordination Β· Gait Β· Reflexes 4. Sensory function Β· Pain Β· Temperature Β· Touch Β· Vibration Β· Position sense VI. AGE-RELATED CHANGES IN NEUROLOGIC FUNCTION A. Normal Aging Changes Β· Slower nerve conduction Β· Decreased reflexes Β· Mild memory decline Β· Reduced sensory perception B. Impact on Assessment Β· Findings must be differentiated from disease. Β· Older adults may: o Respond more slowly o Have diminished vibration and position sense Β· Increased risk for: o Falls o Delirium o Stroke VII. DIAGNOSTIC TESTS FOR NEUROLOGIC DISORDERS A. Imaging Studies Computed tomography Β· Identifies hemorrhage, tumors, and structural abnormalities. Magnetic resonance imaging Β· Provides detailed images of brain and spinal cord tissue. B. Electrical Studies Electroencephalography Β· Measures electrical activity of the brain. Β· Used to diagnose seizure disorders. Electromyography Β· Evaluates muscle and nerve function. C. Cerebrospinal Fluid Analysis Lumbar puncture Β· Assesses cerebrospinal fluid for: o Infection o Hemorrhage o Inflammatory disorders Β· Nursing implications: o Monitor for headache o Maintain hydration o Observe neurologic status VIII. NEUROLOGIC ABNORMALITIES: CLINICAL SIGNIFICANCE Aphasia Β· Language impairment due to cerebral damage. Β· May be expressive, receptive, or global. Ataxia Β· Incoordination due to cerebellar dysfunction. Hemiparesis Β· Weakness on one side of the body. Coma Β· Prolonged unconsciousness indicating severe brain dysfunction.
Chapter 66 - Management of Patients with Neurologic Dysfunction (seizures, ICP management, brain herniation, neurosurgical nursing)
Yes, chapter 67
Yes, chapter 68
CHAPTER 69:
CHAPTER 70: MANAGEMENT OF PATIENTS WITH ONCOLOGIC OR DEGENERATIVE NEUROLOGIC DISORDERS Learning Objectives By the end of this module, students should be able to: 1. Describe brain and spinal cord tumors, including their classification, pathophysiology, clinical manifestations, diagnostic methods, and medical and nursing management. 2. Use the nursing process as a framework for caring for patients with primary brain tumors or nervous system metastases. 3. Explain the pathophysiologic mechanisms involved in various neurodegenerative disorders. 4. Apply the nursing process as a framework for providing care to patients with Parkinson disease. 5. Identify available resources for patients and families affected by oncologic and degenerative neurologic disorders. 6. Use the nursing process as a framework for caring for patients after a cervical discectomy. Lesson Content I. OVERVIEW OF ONCOLOGIC AND DEGENERATIVE NEUROLOGIC DISORDERS Oncologic neurologic disorders involve primary or metastatic tumors affecting the brain or spinal cord. Degenerative neurologic disorders involve progressive deterioration of neurons, leading to gradual loss of motor, sensory, or cognitive function. These disorders are often: Chronic and progressive Associated with significant disability Emotionally and physically challenging for patients and families Nursing care focuses on: Early recognition Prevention of complications Functional support Symptom control Psychosocial adaptation II. BRAIN AND SPINAL CORD TUMORS A. CLASSIFICATION OF BRAIN AND SPINAL CORD TUMORS Brain tumors Abnormal growths of cells within the cranial cavity. Classified as: Primary brain tumors β originate from brain tissue or surrounding structures Metastatic brain tumors β spread from cancers elsewhere in the body Spinal cord tumors Tumors located within or surrounding the spinal cord. Classified by location: Intramedullary tumors β arise within the spinal cord Intramedullary tumors β arise within the spinal cord Extramedullary tumors β arise outside the spinal cord but within the dura or vertebral column B. PATHOPHYSIOLOGY Tumors disrupt neurologic function by: Compressing neural tissue Increasing intracranial or intraspinal pressure Altering blood flow and oxygen delivery Tumor growth leads to: Cerebral edema Increased intracranial pressure Herniation risk in brain tumors Spinal cord tumors compress ascending and descending nerve tracts, causing motor and sensory deficits. C. CLINICAL MANIFESTATIONS Brain tumors Headache (often worse in the morning) Nausea and vomiting Altered level of consciousness Seizures Cognitive and personality changes Focal neurologic deficits depending on tumor location Spinal cord tumors Progressive back pain Motor weakness Sensory loss Bowel and bladder dysfunction Gait disturbances D. DIAGNOSTIC EVALUATION Magnetic resonance imaging is the primary diagnostic tool. Computed tomography scanning is useful for detecting hemorrhage and bone involvement. Biopsy confirms tumor type and malignancy. Neurologic assessment establishes baseline function. E. MEDICAL MANAGEMENT Surgical intervention Removal or debulking of tumor when possible Radiation therapy Used for tumor control or palliation Chemotherapy Used depending on tumor type and sensitivity Corticosteroids Reduce cerebral edema Antiseizure medications Prevent or treat seizures F. NURSING MANAGEMENT Monitor neurologic status and signs of increased intracranial pressure. Manage pain, nausea, and seizures. Provide emotional support. Educate patient and family about disease and treatment. Prevent complications related to immobility and therapy. III. NURSING PROCESS: PATIENT WITH PRIMARY BRAIN TUMOR OR NERVOUS SYSTEM METASTASES A. Nursing Assessment Level of consciousness and cognition Motor and sensory function Seizure activity Visual and speech changes Psychosocial response B. Nursing Diagnoses (Common) Impaired physical mobility Risk for injury Disturbed thought processes Acute or chronic pain Anxiety and ineffective coping C. Nursing Interventions Protect patient from injury. Maintain optimal cerebral perfusion. Support mobility and self-care. Provide clear communication and reassurance. Coordinate interdisciplinary care. D. Evaluation Stabilized neurologic status Effective symptom control Improved coping and quality of life IV. NEURODEGENERATIVE DISORDERS A. OVERVIEW OF NEURODEGENERATION Neurodegenerative disorders involve progressive loss of neurons. Damage is typically irreversible and worsens over time. Causes include: Genetic factors Abnormal protein accumulation Neurotransmitter imbalances B. Parkinson Disease Definition Parkinson disease is a chronic, progressive neurodegenerative disorder characterized by dopamine deficiency in the basal ganglia. Pathophysiology Degeneration of dopamine-producing neurons occurs. Dopamine deficiency disrupts balance between excitatory and inhibitory neurotransmitters. Motor control becomes impaired. Clinical Manifestations Resting tremor Bradykinesia (slowness of movement) Rigidity Postural instability Masklike facial expression Shuffling gait Speech and swallowing difficulties Cognitive changes in advanced disease Medical Management Medications that increase dopamine levels or mimic dopamine. Surgical interventions for advanced disease. Physical and occupational therapy. V. NURSING PROCESS: PATIENT WITH PARKINSON DISEASE A. Nursing Assessment Motor function and gait Ability to perform activities of daily living Swallowing and nutrition status Speech clarity Cognitive and emotional status B. Nursing Interventions Promote mobility and prevent falls. Schedule activities during peak medication effectiveness. Assist with feeding and swallowing safety. Encourage communication strategies. Support independence while ensuring safety. C. Evaluation Improved mobility and function Reduced complications Effective medication management Enhanced quality of life VI. RESOURCES FOR PATIENTS AND FAMILIES Community and national organizations supporting neurologic disorders. Rehabilitation services. Home health care. Support groups for patients and caregivers. Palliative and hospice care services when appropriate. Education resources for long-term disease management. VII. NURSING PROCESS: PATIENT FOLLOWING CERVICAL DISCECTOMY A. Cervical discectomy Definition Surgical removal of a damaged intervertebral disc in the cervical spine to relieve nerve compression. B. Postoperative Nursing Assessment Airway patency and respiratory status. Neurologic function of upper and lower extremities. Pain and incision site. Signs of hematoma or spinal cord compression. C. Nursing Interventions Maintain airway and proper neck alignment. Monitor neurologic status frequently. Administer pain medication. Encourage early ambulation as prescribed. Educate on activity restrictions and neck support. D. Evaluation Relief of neurologic symptoms. Stable neurologic function. Absence of complications. Patient understanding of postoperative care.