Give detail lecture about medication administration. Give all details like rights of medication and patients , which medicine should not be given without dilution and which can't be given in push and their reason to not push give all details
Give details on all points in full detail for detail lecture
All modules in one lecture
Which module should I teach in full detail first? I will continue through the remaining modules in later messages.
"Medication Errors"[MeSH Terms] AND nursing
| Category/examples | Why routine rapid IV push may be unsafe |
|---|---|
| Concentrated potassium chloride and other concentrated electrolytes | Can cause fatal arrhythmias and cardiac arrest if administered too rapidly or at excessive concentration. |
| Hypertonic solutions or concentrated magnesium preparations | Rapid electrolyte shifts can cause hypotension, arrhythmia, respiratory depression, or neurologic toxicity. |
| Vasopressors such as norepinephrine | Rapid bolus can cause severe hypertension, ischemia, and dangerous dysrhythmia; typically requires controlled infusion. |
| Antiarrhythmics such as amiodarone | Rapid administration can cause hypotension, bradycardia, conduction disturbance, or arrhythmia. |
| Sedatives and potent opioids | Rapid peak concentrations may cause apnea, respiratory depression, hypotension, loss of consciousness, or airway compromise. |
| Propofol | Requires controlled administration by trained staff with airway and cardiovascular monitoring. |
| Chemotherapy and vesicant/irritant medicines | Incorrect route, concentration, or rapid injection can cause severe local tissue injury or systemic toxicity. |
| Some antimicrobials, especially products requiring infusion | Rapid delivery may cause hypotension, infusion reactions, arrhythmias, nephrotoxicity, or neurotoxicity. |
| Drugs with formulation-specific infusion requirements | The excipients, pH, osmolarity, stability, and concentration may make rapid push unsafe. |
Create a structured PDF lecture on medication administration
~/
ISMP safe practice guidelines medication administration intravenous push medication safety official
"Medication Errors"[MeSH Terms] AND nursing
https://www.ismp.org/sites/default/files/attachments/2017-11…
mkdir -p "/tmp/workspace/medication-administration-lecture/src" "/tmp/workspace/medication-administration-lecture/output" && echo "directories ready"
python - <<'PY' from pathlib import Path p=Path('/tmp/workspace/medication-administration-lecture/src/create_pdf.py') p.write_text(r'''from reportlab.lib import colors from reportlab.lib.enums import TA_CENTER from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, PageBreak, Table, TableStyle, KeepTogether from reportlab.pdfbase.ttfonts import TTFont from reportlab.pdfbase import pdfmetrics from reportlab.lib.colors import HexColor from reportlab.pdfbase.pdfmetrics import stringWidth OUT='/tmp/workspace/medication-administration-lecture/output/Medication_Administration_Lecture.pdf' navy=HexColor('#12324A'); teal=HexColor('#007F82'); blue=HexColor('#DDEFF2'); pale=HexColor('#F3F8F9'); amber=HexColor('#FFF2D8'); red=HexColor('#B42318'); gray=HexColor('#52616B') styles=getSampleStyleSheet() styles.add(ParagraphStyle(name='TitleX', parent=styles['Title'], fontName='Helvetica-Bold', fontSize=27, leading=32, textColor=navy, alignment=TA_CENTER, spaceAfter=18)) styles.add(ParagraphStyle(name='SubTitleX', parent=styles['Normal'], fontSize=12, leading=17, textColor=gray, alignment=TA_CENTER)) styles.add(ParagraphStyle(name='H1x', parent=styles['Heading1'], fontName='Helvetica-Bold', fontSize=17, leading=21, textColor=navy, spaceBefore=8, spaceAfter=9)) styles.add(ParagraphStyle(name='H2x', parent=styles['Heading2'], fontName='Helvetica-Bold', fontSize=12.5, leading=16, textColor=teal, spaceBefore=8, spaceAfter=5)) styles.add(ParagraphStyle(name='BodyX', parent=styles['BodyText'], fontName='Helvetica', fontSize=9.5, leading=13.5, spaceAfter=5)) styles.add(ParagraphStyle(name='SmallX', parent=styles['BodyText'], fontName='Helvetica', fontSize=8, leading=10.5, textColor=gray)) styles.add(ParagraphStyle(name='BulletX', parent=styles['BodyText'], fontName='Helvetica', fontSize=9.2, leading=13, leftIndent=15, firstLineIndent=-9, spaceAfter=3)) styles.add(ParagraphStyle(name='Callout', parent=styles['BodyText'], fontName='Helvetica-Bold', fontSize=9.5, leading=14, textColor=navy)) def P(t, style='BodyX'): return Paragraph(t, styles[style]) def bullets(items): return [P('• '+x,'BulletX') for x in items] def box(text, color=amber): t=Table([[P(text,'Callout')]], colWidths=[17.4*cm]) t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),color),('BOX',(0,0),(-1,-1),.5,teal),('LEFTPADDING',(0,0),(-1,-1),9),('RIGHTPADDING',(0,0),(-1,-1),9),('TOPPADDING',(0,0),(-1,-1),8),('BOTTOMPADDING',(0,0),(-1,-1),8)])) return t def table(headers, rows, widths): data=[[P('<b>'+x+'</b>','SmallX') for x in headers]]+[[P(str(x),'SmallX') for x in r] for r in rows] t=Table(data, colWidths=widths, repeatRows=1, hAlign='LEFT') t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,0),navy),('TEXTCOLOR',(0,0),(-1,0),colors.white),('GRID',(0,0),(-1,-1),.35,HexColor('#B9C8CC')),('VALIGN',(0,0),(-1,-1),'TOP'),('BACKGROUND',(0,1),(-1,-1),colors.white),('ROWBACKGROUNDS',(0,1),(-1,-1),[colors.white,pale]),('LEFTPADDING',(0,0),(-1,-1),5),('RIGHTPADDING',(0,0),(-1,-1),5),('TOPPADDING',(0,0),(-1,-1),5),('BOTTOMPADDING',(0,0),(-1,-1),5)])) return t def header_footer(c, doc): c.saveState(); w,h=A4 if doc.page>1: c.setStrokeColor(HexColor('#C8D7DA')); c.line(1.7*cm,h-1.35*cm,w-1.7*cm,h-1.35*cm) c.setFont('Helvetica-Bold',8); c.setFillColor(teal); c.drawString(1.7*cm,h-1.05*cm,'MEDICATION ADMINISTRATION | TEACHING LECTURE') c.setFont('Helvetica',8); c.setFillColor(gray); c.drawRightString(w-1.7*cm,1.0*cm,f'Page {doc.page}') c.line(1.7*cm,1.3*cm,w-1.7*cm,1.3*cm) c.restoreState() story=[] story += [Spacer(1,3.0*cm), P('Medication Administration','TitleX'), P('A structured safety-focused lecture for nursing and clinical learners','SubTitleX'), Spacer(1,.7*cm), box('<b>Educational scope.</b> This lecture supports supervised learning. It does not replace the medication order, manufacturer prescribing information, pharmacy-approved IV guide, local policy, competency assessment, or scope-of-practice requirements.', blue), Spacer(1,.8*cm), P('<b>Learning objectives</b>','H2x')] story += bullets(['Apply the medication-administration rights and patient rights in every encounter.','Assess the patient and medicine before administration, then evaluate and document the response.','Choose safe route-specific techniques and identify formulations that must not be altered.','Explain why IV dilution and IV-push decisions must be product-specific and controlled.','Recognize high-alert medicines, adverse reactions, and the immediate response to an error.']) story += [Spacer(1,.8*cm), P('Prepared: 29 September 2026','SubTitleX'), PageBreak()] story += [P('Contents','H1x')] contents=['1. The medication-safety system','2. The 10 rights and patient rights','3. Pre-administration assessment','4. Non-injectable routes and enteral tubes','5. Medicines that must not be altered','6. Injection safety: ID, SC, IM','7. IV medication safety','8. IV push, dilution, and controlled infusion','9. High-alert medicines and special populations','10. Adverse reactions, errors, and emergency response','11. Skills checklist and references'] story += bullets(contents) story += [Spacer(1,.3*cm), box('<b>Key rule:</b> Do not administer a medicine when the order, identity, indication, product, dose, route, calculation, preparation, or patient assessment is unclear. Pause and resolve the concern with the prescriber, pharmacist, and supervising clinician.', amber), PageBreak()] story += [P('1. The medication-safety system','H1x'), P('Medication administration is a clinical process, not merely a technical task. It includes order review, patient assessment, preparation, administration, monitoring, documentation, and communication. Safety improves when the system limits predictable human error.', 'BodyX'), P('Core safeguards','H2x')] story += bullets(['Use two approved patient identifiers. Do not use room or bed number as an identifier.','Compare the medication administration record with the active order and the product label at each required check.','Use barcode medication administration where available. Barcoding linked to the electronic medication administration record can help ensure the right patient receives the right medicine at the right time. <i>Harrison’s Principles of Internal Medicine, 22e, Safety in Health Care.</i>','Perform hand hygiene and aseptic non-touch technique. Label every prepared syringe, cup, bag, and line.','Minimize interruptions, avoid unsafe abbreviations, use a leading zero for doses less than one, and never use a trailing zero.','Store high-alert medicines securely, separate look-alike/sound-alike products, and follow controlled-drug procedures.','Do not pre-pour medicines for more than one patient. Do not leave medicines unattended.']) story += [P('Medication reconciliation','H2x'), P('At admission, transfer, and discharge, compare the patient’s current medicines with new orders. Resolve duplications, omissions, interactions, dose changes, and unintended continuations. Include prescribed, over-the-counter, herbal, and recreational substances where clinically relevant.','BodyX'), PageBreak()] story += [P('2. The 10 rights and patient rights','H1x'), P('The rights are a cognitive safety check, not a substitute for pharmacology knowledge, clinical judgment, local policy, or escalation.', 'BodyX')] story += [table(['Right','What to verify or do'],[['Right patient','Use two approved identifiers; match with order, MAR, and product label.'],['Right medication','Check generic/brand name, indication, allergies, formulation, expiry, and appearance.'],['Right dose','Calculate independently when needed; check units, concentration, weight basis, maximum dose, and renal/hepatic adjustment.'],['Right route','Confirm ordered route and that the formulation is suitable for the patient and device.'],['Right time','Follow prescribed schedule, time-critical status, food relation, and local allowable window.'],['Right documentation','Document promptly after administration according to policy, including site/rate when relevant.'],['Right assessment','Check indication, allergies, vital signs, labs, contraindications, and ability to receive the medicine.'],['Right education','Explain name, purpose, key effects, important adverse effects, and self-care instructions.'],['Right evaluation','Monitor intended effect, adverse effects, and required laboratory/clinical response.'],['Right to refuse','Respect refusal, explore the reason, explain consequences, document, and notify the prescriber when needed.']], [4.0*cm,13.4*cm])] story += [P('Patient rights','H2x')]+bullets(['To receive understandable information and ask questions.','To privacy, dignity, and culturally respectful care.','To participate in choices and give or withhold consent where applicable.','To have an allergy history and concerns heard before administration.','To have refusal managed without coercion. In an emergency, act within applicable law, consent standards, and institutional policy.'])+[PageBreak()] story += [P('3. Pre-administration assessment','H1x'), P('First ask: “Why is this medicine prescribed for this patient today, and is it safe to give now?”','Callout'), P('Assessment domains','H2x')]+bullets(['<b>Order and indication:</b> confirm medicine, dose, route, frequency, reason, and prescriber authorization. Clarify incomplete or illegible orders before giving.','<b>Allergy and prior reaction:</b> distinguish intolerance from allergy; record the reaction and severity.','<b>Clinical status:</b> baseline vital signs, pain, consciousness, respiratory status, hydration, swallowing, IV access, and disease-specific findings.','<b>Laboratory data:</b> renal function, liver function, electrolytes, blood glucose, coagulation tests, blood count, and therapeutic drug levels when relevant.','<b>Patient factors:</b> age, weight, body surface area where relevant, pregnancy/lactation, renal/hepatic impairment, drug interactions, and ability to understand instructions.','<b>Hold/escalate:</b> follow prescribed/local hold parameters. If values are outside expected limits or the patient is clinically unstable, withhold where appropriate and contact the prescriber or pharmacist.']) story += [P('Dose calculation safety','H2x')]+bullets(['Use metric units. Confirm whether the ordered dose is per kg, per m², per day, or per dose.','Check concentration carefully: a correct volume from the wrong concentration is still a dosing error.','Perform an independent double check for high-alert medicines and complex calculations as policy requires.','Never guess a decimal, abbreviation, concentration, or conversion.'])+[PageBreak()] story += [P('4. Non-injectable routes and enteral tubes','H1x'), table(['Route','Key safe practice'],[['Oral','Assess swallowing and aspiration risk. Use an appropriate liquid formulation when ordered and suitable. Check food interactions.'],['Sublingual/buccal','Place as directed; do not chew or swallow unless the product specifically permits it. Do not give food or drink that disrupts absorption.'],['Enteral tube','Confirm placement according to policy. Give compatible medicines one at a time. Flush before, between, and after medicines with the prescribed fluid and volume.'],['Topical/transdermal','Wear gloves where required. Remove prior patch, inspect skin, rotate site, label date/time/site, and fold used patch before disposal.'],['Inhaled','Verify inhaler device and technique. Use spacer when prescribed. Rinse the mouth after an inhaled corticosteroid.'],['Ophthalmic/otic/nasal','Avoid contaminating dropper tips. Use correct side. Apply gentle technique and observe route-specific positioning.'],['Rectal/vaginal','Maintain privacy, explain procedure, use correct positioning and infection-prevention measures.']],[3.5*cm,13.9*cm]), P('Enteral-tube cautions','H2x')]+bullets(['Do not mix medicines together in one syringe.','Do not mix medicines into enteral feed unless a pharmacist or approved protocol specifically directs it.','Do not use an enteral tube for a medicine that requires intact delivery, has an unsuitable formulation, or presents hazardous exposure risk. Ask pharmacy for alternatives.'])+[PageBreak()] story += [P('5. Medicines that must not be altered','H1x'), P('Do not crush, split, open, dissolve, or administer through a tube unless an approved pharmacist reference confirms it is safe for the exact product.', 'Callout'), table(['Formulation/category','Why alteration may be unsafe'],[['Modified-release: MR, SR, CR, ER, XL, LA','May release the entire dose rapidly, causing toxicity or loss of therapeutic control.'],['Enteric-coated/gastro-resistant','May expose the stomach to irritant drug or destroy protection from gastric acid.'],['Sublingual/buccal','Altered route changes absorption and onset.'],['Hazardous medicines, including many cytotoxic, hormonal, antiviral, immunosuppressive, and teratogenic agents','Crushing/opening may expose staff or caregivers to hazardous powder.'],['Pellets, beads, specialized capsules, combination products','May block tubes, disrupt modified delivery, or alter absorption.']], [6.1*cm,11.3*cm]), P('Safe alternative process','H2x')]+bullets(['Pause, contact pharmacy, and ask for a liquid, dispersible, alternative route, or therapeutic alternative.','Use a suitable crushing device only when approved, clean it between patients, and avoid aerosolization of powder.','Document and communicate route/formulation changes appropriately.'])+[PageBreak()] story += [P('6. Injection safety: ID, SC, and IM','H1x'), P('Perform injections only after route-specific training, competency validation, and use of local anatomical landmark guidance.', 'Callout'), P('Common preparation steps','H2x')]+bullets(['Verify order, patient, allergies, product, expiry, concentration, dose, route, and site. Prepare one patient’s medicine at a time.','Use aseptic technique. Select correct needle, syringe, device, and site. Do not use damaged or contaminated equipment.','Inspect tissue. Avoid infection, bruising, scars, edema, inflammation, lipodystrophy, and impaired circulation unless specifically directed.','Explain the procedure and respect privacy. Use age-appropriate communication.','Activate safety device and immediately dispose of sharps in an approved container. Do not recap unless a specific safety device/procedure requires it.']) story += [P('Route-specific reminders','H2x')]+bullets(['<b>Intradermal:</b> used for selected tests. Follow product/policy for site, angle, and reading.','<b>Subcutaneous:</b> rotate sites for repeated injections. For insulin, assess glucose, timing of meals, insulin type, and prescribed dose. Follow policy for independent verification.','<b>Anticoagulant injections:</b> follow the exact product technique and local policy; avoid massage if it increases bruising or hematoma risk.','<b>Intramuscular:</b> select site and needle based on patient size, medicine volume, viscosity, and policy. Follow current policy for site selection, maximum volume, aspiration, and Z-track use.'])+[PageBreak()] story += [P('7. IV medication safety','H1x'), P('IV medicines have rapid systemic effect and a narrow margin for preparation or rate errors. The exact product monograph and a facility-approved IV medication resource govern reconstitution, dilution, concentration, route, rate, compatibility, and monitoring.', 'Callout'), P('Before giving an IV medicine','H2x')]+bullets(['Confirm line type, patency, and insertion-site condition. Check for pain, redness, warmth, swelling, leakage, coolness, resistance, or altered flow.','Verify the exact product: vial/ampoule/bag strength, reconstitution fluid and volume, final concentration, diluent, stability, compatible fluids, and maximum rate.','Check Y-site and line compatibility with all running solutions. Use separate lumen or compatible sequencing as directed.','Use labeled, ready-to-administer pharmacy products where available. Use an infusion pump for medicines requiring controlled delivery.','Monitor patient response and site during and after administration.']) story += [P('IV complications requiring action','H2x')]+bullets(['<b>Infiltration:</b> non-vesicant fluid in tissue, often swelling, coolness, discomfort, or slowed infusion. Stop infusion and follow local protocol.','<b>Extravasation:</b> vesicant/irritant medicine in tissue, potentially causing blistering or necrosis. Stop infusion immediately, leave access in place if policy directs for aspiration/antidote, notify urgently, and follow the specific extravasation protocol.','<b>Phlebitis:</b> pain, erythema, warmth, tenderness, or palpable cord. Stop and manage according to policy.','<b>Systemic reaction:</b> stop medication where appropriate, assess ABCs, call for help, and treat per emergency protocol.'])+[PageBreak()] story += [P('8. IV push, dilution, and controlled infusion','H1x'), box('<b>Never use a general “safe IV push list.”</b> Whether a medicine can be pushed, needs dilution, or requires an infusion depends on the exact formulation, patient, vascular access, prescribed indication, and local approved reference.', amber), P('Core safe-practice rules','H2x')]+bullets(['Use ready-to-administer, pharmacy-prepared IV doses when available. ISMP advises minimizing manipulation outside pharmacy to reduce error and contamination risk.','Dilute only when the manufacturer, evidence, or a facility-approved reference recommends it. Unnecessary dilution adds complexity and can introduce wrong-diluent, labeling, contamination, and calculation errors.','Do <b>not</b> draw IV medicines into commercially prefilled 0.9% sodium chloride flush syringes to dilute or reconstitute them.','Label immediately after preparation. Do not use an unlabeled syringe.','Administer at the specified rate. “Slow push” is not a rate: verify the minutes, maximum rate, and monitoring requirements.','Never administer an IV medicine through a line of uncertain patency or compatibility.']) story += [P('Why a medicine may require controlled infusion rather than rapid push','H2x')]+bullets(['Avoids a dangerous high peak concentration and allows observation for toxicity.','Limits hypotension, bradycardia, dysrhythmias, respiratory depression, neurotoxicity, or seizures.','Reduces local vein irritation, phlebitis, pain, and tissue injury.','Controls administration of hypertonic, irritant, or unstable preparations.']) story += [P('Examples of categories requiring especially strict product-specific verification','H2x')]+bullets(['Concentrated electrolytes, particularly potassium-containing products: rapid or concentrated administration can cause fatal dysrhythmia or cardiac arrest.','Vasopressors: bolus administration can cause marked hypertension, ischemia, and dysrhythmias.','Potent sedatives and opioids: rapid peak effects can cause apnea, severe respiratory depression, hypotension, and loss of consciousness.','Antiarrhythmics and certain antimicrobials: rapid administration may cause hypotension, conduction problems, infusion reactions, or organ toxicity.','Chemotherapy, vesicants, and severe irritants: incorrect preparation or extravasation can cause serious local and systemic harm.'])+[PageBreak()] story += [P('9. High-alert medicines and special populations','H1x'), P('High-alert medicines are not necessarily more likely to be involved in an error, but errors involving them are more likely to cause severe harm.', 'BodyX'), table(['Medicine/category','Core safeguards'],[['Insulin','Use insulin-specific devices where available; verify type, concentration, dose, timing with meals, glucose result, and hypoglycemia risk.'],['Anticoagulants','Verify indication, weight-based dosing where relevant, renal function, interacting medicines, bleeding risks, and required laboratory monitoring.'],['Opioids/sedatives','Assess pain, sedation, respiratory rate, oxygenation, and concurrent CNS depressants. Ensure monitoring and rescue capability as policy requires.'],['Concentrated electrolytes','Use standardized concentrations and infusion controls. Do not improvise dilution or rate.'],['Chemotherapy/hazardous medicines','Use trained personnel, required PPE, closed-system or handling procedures, and extravasation precautions.'],['Neuromuscular blockers','Segregate and label clearly; administer only by trained personnel with airway/ventilation capability.']], [5.0*cm,12.4*cm]), P('Special populations','H2x')]+bullets(['<b>Children:</b> doses often depend on weight or body surface area. Use current measured metric weight and independent calculation checks.','<b>Older adults:</b> consider altered renal function, polypharmacy, falls, cognitive change, and increased sensitivity to sedatives or anticholinergics.','<b>Renal/hepatic impairment:</b> confirm dose/interval adjustment and monitor accumulation/toxicity.','<b>Pregnancy/lactation:</b> verify safety with an appropriate reference and discuss with the prescriber/pharmacist.'])+[PageBreak()] story += [P('10. Adverse reactions, errors, and emergency response','H1x'), P('Recognize deterioration early and put the patient first. Medication errors can involve wrong drug, dose, patient, time, rate, preparation, or route. <i>Mulholland and Greenfield’s Surgery, 7e, Care Management Events.</i>','BodyX'), P('Signs requiring urgent assessment','H2x')]+bullets(['Rash, urticaria, wheeze, facial/tongue swelling, hypotension, or collapse.','Unexpected sedation, low respiratory rate, cyanosis, reduced consciousness, or apnea.','Chest pain, severe hypotension/hypertension, palpitations, or new dysrhythmia.','Bleeding, black stools, hematuria, sudden bruising, or neurologic change.','Severe hypo/hyperglycemia symptoms.','IV-site pain, swelling, blanching, coolness, leakage, blistering, or rapidly changing skin.']) story += [P('If an error or severe reaction occurs','H2x')]+bullets(['1. Stop the medicine or infusion if indicated and assess airway, breathing, circulation, consciousness, and vital signs.','2. Call for urgent assistance and activate emergency response when needed.','3. Notify the responsible clinician, prescriber, pharmacist, and nurse in charge according to policy.','4. Provide monitoring, antidote/rescue measures, tests, and treatment as directed.','5. Document factual clinical details in the health record. Complete the incident report according to policy. Do not alter or conceal records.','6. Preserve relevant medication container, pump information, and tubing if required for investigation.','7. Participate in a learning-focused review. Report near misses and hazardous conditions as well as actual harm.']) story += [box('<b>Evidence update:</b> Recent systematic reviews address nursing interventions to reduce medication-administration errors and factors influencing reporting of errors and near misses. These support a learning culture, standardized processes, and effective reporting systems. See references 4-6.', blue), PageBreak()] story += [P('11. Point-of-care skills checklist','H1x'), P('Use this checklist as a learning aid. It does not replace organization-specific checklists.', 'BodyX')] checks=['Read and clarify the order; identify indication and time criticality.','Perform hand hygiene; prepare without interruption; inspect product and expiry.','Use two identifiers; ask and verify allergies.','Assess relevant clinical findings, vitals, laboratory data, and ability to receive the route.','Complete medication, dose, route, time, calculation, and compatibility checks.','Explain medicine and obtain cooperation/consent as applicable; respect refusal.','Administer using route-specific technique and exact approved preparation/rate.','Monitor the patient and IV/injection site; evaluate therapeutic and adverse response.','Document immediately and accurately.','Escalate, treat, report, and learn from errors, adverse effects, and near misses.'] story += bullets([f'<b>{i+1}.</b> {x}' for i,x in enumerate(checks)]) story += [P('References and further reading','H1x')] refs=['Goodman & Gilman’s The Pharmacological Basis of Therapeutics. Table 9-7, Poison Prevention Goals and Medication Safety.','Harrison’s Principles of Internal Medicine, 22e (2025). Safety in Health Care.','Mulholland and Greenfield’s Surgery: Scientific Principles and Practice, 7e. Care Management Events.','Institute for Safe Medication Practices. <i>ISMP Safe Practice Guidelines for Adult IV Push Medications</i>. 2015.','Institute for Safe Medication Practices. <i>Targeted Medication Safety Best Practices for Hospitals</i>. 2026.','Eze AU, Marufu T, Amagyei A. Assessing the Effectiveness of Interventions Implemented by Nurses to Reduce Medication Administration Errors in Hospitalised Acute Adult Patient Settings: Systematic Review and Meta-Analysis. <i>J Clin Nurs</i>. 2026. PMID: 41031474.','Braiki R, Douville F, Gagnon MP. Factors influencing the reporting of medication errors and near misses among nurses: A systematic mixed methods review. <i>Int J Nurs Pract</i>. 2024. PMID: 39225448.'] story += bullets(refs) story += [Spacer(1,.3*cm), box('<b>Final safety statement:</b> For any injectable medicine, do not rely on this lecture for a dilution volume, compatibility decision, IV-push rate, maximum concentration, or treatment dose. Use the current manufacturer information, pharmacy-approved IV guide, and local protocol for the exact product.', amber)] doc=SimpleDocTemplate(OUT,pagesize=A4,rightMargin=1.7*cm,leftMargin=1.7*cm,topMargin=1.8*cm,bottomMargin=1.7*cm,title='Medication Administration Lecture',author='Orris') doc.build(story,onFirstPage=header_footer,onLaterPages=header_footer) print(OUT) ''') PY python "/tmp/workspace/medication-administration-lecture/src/create_pdf.py" python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/medication-administration-lecture/output/Medication_Administration_Lecture.pdf' r=PdfReader(p) print('pages',len(r.pages),'size',__import__('os').path.getsize(p)) print('first',r.pages[0].extract_text()[:150]) print('last',r.pages[-1].extract_text()[:200]) PY
Medication Administration Lecture
PDF Document · PDF
Create a PowerPoint version of this lecture
~/
ISMP Safe Practice Guidelines Adult IV Push Medications ready to administer dilution labeling facility approved resources
~/medication-administration-lecture/
mkdir -p "/tmp/workspace/medication-administration-lecture/src" "/tmp/workspace/medication-administration-lecture/output" && python - <<'PY' from pathlib import Path p=Path('/tmp/workspace/medication-administration-lecture/src/create_pptx.py') p.write_text(r'''from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR from pptx.dml.color import RGBColor from pptx.enum.dml import MSO_THEME_COLOR from pptx.enum.text import MSO_AUTO_SIZE from pathlib import Path OUT='/tmp/workspace/medication-administration-lecture/output/Medication_Administration_Lecture.pptx' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5) blank=prs.slide_layouts[6] NAVY=RGBColor(18,50,74); TEAL=RGBColor(0,127,130); PALE=RGBColor(243,248,249); BLUE=RGBColor(221,239,242); AMBER=RGBColor(255,242,216); RED=RGBColor(180,35,24); GRAY=RGBColor(82,97,107); WHITE=RGBColor(255,255,255); LINE=RGBColor(194,213,217) def rect(slide,x,y,w,h,fill, line=None, radius=False): s=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if radius else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h)) s.fill.solid(); s.fill.fore_color.rgb=fill s.line.color.rgb=line if line else fill return s def text(slide, x,y,w,h, txt, size=18, color=NAVY, bold=False, align=PP_ALIGN.LEFT, font='Aptos', valign=MSO_ANCHOR.TOP): tb=slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=tb.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=0; tf.margin_right=0; tf.margin_top=0; tf.margin_bottom=0; tf.vertical_anchor=valign lines=txt.split('\n') for i,line in enumerate(lines): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=line; p.alignment=align; p.space_after=Pt(3) for r in p.runs: r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color return tb def bullet_text(slide,x,y,w,h,items,size=17,color=NAVY): tb=slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=tb.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=0; tf.margin_right=0; tf.margin_top=0; tf.margin_bottom=0 for i,item in enumerate(items): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=item; p.level=0; p.space_after=Pt(7); p.font.size=Pt(size); p.font.name='Aptos'; p.font.color.rgb=color p._p.get_or_add_pPr().insert(0, __import__('pptx').oxml.xmlchemy.OxmlElement('a:buChar')) p._p.pPr[0].set('char','•') return tb def footer(slide,n): rect(slide,0,7.18,13.333,.32,NAVY) text(slide,.45,7.225,6,.16,'MEDICATION ADMINISTRATION | TEACHING LECTURE',7,WHITE,True) text(slide,12.1,7.225,.75,.16,str(n),7,WHITE,True,PP_ALIGN.RIGHT) def base(title, n, subtitle=None): s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,WHITE); rect(s,0,0,13.333,.15,TEAL) text(s,.55,.42,12.1,.48,title,27,NAVY,True) if subtitle: text(s,.57,.95,11.9,.3,subtitle,11,GRAY) footer(s,n); return s def card(slide,x,y,w,h,heading,body,accent=TEAL): rect(slide,x,y,w,h,PALE,LINE,True); rect(slide,x,y,.12,h,accent) text(slide,x+.28,y+.22,w-.5,.35,heading,15,accent,True) text(slide,x+.28,y+.68,w-.5,h-.88,body,12,NAVY) def callout(slide,x,y,w,h,msg,warning=False): rect(slide,x,y,w,h,AMBER if warning else BLUE,TEAL,True) text(slide,x+.25,y+.16,w-.5,h-.32,msg,14,NAVY,True, valign=MSO_ANCHOR.MIDDLE) # 1 cover s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,PALE); rect(s,0,0,13.333,.18,TEAL); rect(s,8.7,0,4.63,7.5,NAVY) # illustration for i,(yy,label) in enumerate([(1.25,'ASSESS'),(2.4,'PREPARE'),(3.55,'ADMINISTER'),(4.7,'MONITOR')]): rect(s,9.6,yy,2.65,.73,TEAL if i in [0,2] else RGBColor(37,81,108),None,True); text(s,9.85,yy+.23,2.1,.2,label,13,WHITE,True,PP_ALIGN.CENTER) if i<3: ln=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(10.92), Inches(yy+.73), Inches(10.92), Inches(yy+1.13)); ln.line.color.rgb=WHITE; ln.line.width=Pt(2) text(s,.7,1.35,7.5,1.1,'Medication\nAdministration',34,NAVY,True) text(s,.74,2.85,7.1,.7,'A structured safety-focused lecture for nursing and clinical learners',17,GRAY) callout(s,.75,4.0,7.2,1.16,'Educational scope: This deck supports supervised learning. It does not replace the medication order, exact manufacturer information, pharmacy-approved IV guide, local policy, or competency assessment.',True) text(s,.76,5.65,6.7,.28,'Prepared 29 September 2026',10,GRAY) text(s,.76,6.15,6.7,.24,'Medication safety is a clinical process, not a task.',12,TEAL,True) #2 objectives s=base('Learning objectives',2,'At the end of this lecture, learners should be able to:') objectives=['Apply the 10 rights and patient rights in every medication encounter.','Assess the patient, order, product, and route before administration.','Use safe principles for non-injectable, injection, and IV medicines.','Identify formulations that must not be altered and high-alert medicines.','Recognize medication-related harm, respond promptly, document, and report.'] bullet_text(s,.8,1.45,7.4,4.9,objectives,20) callout(s,8.65,1.55,3.8,2.1,'Safety question\n“Is this medicine appropriate and safe for this patient now?”') card(s,8.65,4.15,3.8,1.45,'Key message','When anything is unclear: pause, do not administer, and resolve it with the prescriber, pharmacist, or supervising clinician.',RED) #3 system s=base('1. The medication-safety system',3,'Medication administration includes order review, assessment, preparation, administration, monitoring, documentation, and communication.') for x,h,b,a in [(0.7,'Verify','Order, indication, patient identity, allergies, product, dose, route, time.',TEAL),(4.55,'Prepare','Hand hygiene, aseptic technique, calculations, label everything.',NAVY),(8.4,'Administer & monitor','Correct technique, intended response, adverse effects, documentation.',TEAL)]: card(s,x,1.55,3.45,2.55,h,b,a) callout(s,.75,4.65,11.8,1.2,'System safeguards: barcode medication administration, standardized concentrations, secure storage, separation of look-alike/sound-alike products, independent checks where required, and interruption reduction.') text(s,.8,6.12,11.7,.33,'Medication reconciliation is required at admission, transfer, and discharge: resolve omissions, duplications, interactions, and unintended changes.',13,GRAY) #4 rights s=base('2. The 10 rights of medication administration',4,'The rights are a safety check. They do not replace clinical judgment, pharmacology knowledge, or local policy.') rights=[('Right patient','Two approved identifiers.'),('Right medicine','Product, indication, allergy, formulation.'),('Right dose','Units, concentration, calculations.'),('Right route','Ordered and suitable route.'),('Right time','Schedule and time-critical status.'),('Right documentation','Record promptly and accurately.'),('Right assessment','Vitals, labs, contraindications.'),('Right education','Purpose and important effects.'),('Right evaluation','Therapeutic and adverse response.'),('Right to refuse','Respect, explain, document, escalate.')] for i,(h,b) in enumerate(rights): row=i//5; col=i%5; x=.55+col*2.52; y=1.42+row*2.28 card(s,x,y,2.25,1.78,h,b, TEAL if i%2==0 else NAVY) callout(s,.8,6.2,11.7,.55,'Patient rights: information, questions, privacy, dignity, participation, and a safe response to refusal.',False) #5 assessment s=base('3. Pre-administration assessment',5,'Ask: “Why is this medicine needed today, and is it safe to give now?”') items=[('Order & indication','Complete, legible, authorized order; correct clinical purpose.'),('Allergy history','Reaction, severity, and prior exposure.'),('Clinical status','Vital signs, symptoms, consciousness, swallowing, hydration.'),('Laboratory data','Renal/liver function, electrolytes, glucose, coagulation, drug levels.'),('Patient factors','Age, weight, pregnancy/lactation, interactions, capacity to understand.'),('Hold & escalate','Use prescribed/local parameters; clarify unsafe or uncertain orders.')] for i,(h,b) in enumerate(items): card(s,.65+(i%3)*4.15,1.42+(i//3)*2.05,3.72,1.62,h,b,TEAL if i in [0,2,4] else NAVY) callout(s,.75,5.9,11.8,.65,'Never guess a decimal, unit, concentration, conversion, maximum dose, or weight-based calculation.',True) #6 routes s=base('4. Non-injectable routes',6,'Select the correct formulation and use route-specific technique.') route=[('Oral','Check swallowing and aspiration risk. Follow food instructions.'),('Sublingual / buccal','Do not chew or swallow unless the product says so.'),('Enteral tube','Confirm placement per policy. Give medicines separately; flush before, between, and after.'),('Topical / transdermal','Remove old patch, rotate site, label date/time/site.'),('Inhaled','Check device technique. Rinse mouth after inhaled corticosteroid.'),('Eye / ear / nose / rectal / vaginal','Correct side and technique; do not contaminate dropper tips; preserve dignity.')] for i,(h,b) in enumerate(route): card(s,.65+(i%3)*4.15,1.4+(i//3)*2.17,3.72,1.72,h,b,TEAL if i%2==0 else NAVY) callout(s,.75,6.02,11.75,.55,'Do not mix medicines together or add them to enteral feed unless an approved pharmacy reference or protocol specifically directs this.',True) #7 do not alter s=base('5. Medicines that must not be altered',7,'Do not crush, split, open, dissolve, or tube-administer a product until an approved pharmacy reference confirms it is safe.') rows=[('Modified-release: MR, SR, CR, ER, XL, LA','May release the full dose rapidly and cause toxicity.'),('Enteric-coated / gastro-resistant','May remove stomach protection or destroy acid protection.'),('Sublingual / buccal','May change absorption, onset, and effect.'),('Hazardous medicines','Crushing/opening may expose staff to hazardous powder.'),('Special capsules, pellets, beads','May block tubes or disrupt intended delivery.')] for i,(h,b) in enumerate(rows): card(s,.8,1.35+i*.85,11.7,.67,h,b, RED if i<2 else TEAL) callout(s,.8,6.0,11.7,.65,'Safe response: stop, consult pharmacy, and obtain a suitable liquid, dispersible form, alternate route, or therapeutic alternative.',False) #8 injections s=base('6. Injection safety: ID, SC, and IM',8,'Perform only after route-specific training, competency validation, and local anatomical-landmark guidance.') card(s,.7,1.45,3.7,3.85,'Before every injection','Verify order, patient, allergies, product, concentration, dose, route, site, needle, and expiry.\n\nUse aseptic technique. Prepare one patient’s medicine at a time.\n\nAvoid compromised tissue.',TEAL) card(s,4.82,1.45,3.7,3.85,'Route-specific reminders','ID: product-specific test technique.\n\nSC: rotate sites, particularly insulin.\n\nIM: site, needle, and volume depend on patient and medicine.',NAVY) card(s,8.94,1.45,3.7,3.85,'Sharps safety','Use safety-engineered device.\n\nActivate safety feature.\n\nDiscard immediately in approved sharps container.\n\nDo not recap except under a specific approved procedure.',RED) callout(s,.7,5.82,11.95,.65,'Insulin, anticoagulants, vaccines, and other high-risk injections require the exact product-specific technique and policy checks.',True) #9 IV s=base('7. IV medication safety',9,'IV medicines reach systemic circulation rapidly. Preparation and rate errors can cause immediate harm.') steps=['Assess access','Patency, site, pain, redness, swelling, leakage, resistance.','Verify product','Exact formulation, diluent, concentration, stability, compatibility.','Control delivery','Ready-to-administer dose where available; pump when required.','Monitor','Patient response, site, rate, infusion complications.'] for i,(h,b) in enumerate(zip(steps[::2],steps[1::2])): x=.6+i*3.15; card(s,x,1.55,2.75,2.1,f'{i+1}. {h}',b,TEAL if i%2==0 else NAVY) callout(s,.75,4.35,11.8,.75,'Before administering through an IV line, verify line patency and compatibility with every fluid and medicine currently running.',True) text(s,.8,5.5,11.75,.3,'Watch for infiltration, extravasation, phlebitis, systemic reaction, and fluid overload. Stop and follow the relevant local protocol if suspected.',15,RED,True) #10 IV push s=base('8. IV push, dilution, and controlled infusion',10,'The exact product monograph and facility-approved IV guide determine preparation, concentration, route, rate, compatibility, and monitoring.') callout(s,.7,1.3,11.95,.86,'Never use a general “safe IV push list.” A drug name alone is not enough. The formulation, concentration, patient, access, and indication matter.',True) left=['Use ready-to-administer, pharmacy-prepared doses where available.','Dilute only when recommended by the manufacturer, evidence, or facility-approved reference.','Label immediately after preparation. Unlabeled syringes are unsafe.','Do not use prefilled 0.9% sodium chloride flush syringes to dilute or reconstitute IV medicines.'] right=['A “slow push” needs an exact rate, not a vague instruction.','Administer only through a confirmed compatible, patent line.','Use the specified pump, monitoring, and rescue capability.','Do not improvise diluent, final concentration, or infusion time.'] card(s,.7,2.45,5.65,3.55,'Safe preparation', '\n'.join(left),TEAL) card(s,6.95,2.45,5.65,3.55,'Safe administration','\n'.join(right),NAVY) #11 no routine push categories s=base('Why some IV medicines need dilution or infusion',11,'The goal is to prevent an unsafe high peak concentration and allow controlled observation.') examples=[('Concentrated electrolytes','Rapid administration can cause severe dysrhythmia or cardiac arrest.'),('Vasopressors','Bolus may cause marked hypertension, ischemia, and dysrhythmia.'),('Potent sedatives / opioids','Rapid peak effect may cause apnea, respiratory depression, or hypotension.'),('Antiarrhythmics / selected antimicrobials','May cause hypotension, conduction problems, or infusion reactions.'),('Chemotherapy / vesicants','Incorrect delivery or extravasation can cause major local and systemic injury.')] for i,(h,b) in enumerate(examples): card(s,.72,1.25+i*1.0,11.85,.8,h,b,RED if i in [0,4] else TEAL) callout(s,.75,6.45,11.8,.43,'These are safety categories, not a dosing guide. Verify every medicine in the current approved IV reference.',False) #12 high alert s=base('9. High-alert medicines and special populations',12,'High-alert medicines can cause serious harm when an error occurs.') hi=[('Insulin','Type, concentration, dose, meal timing, glucose, hypoglycemia risk.'),('Anticoagulants','Indication, weight/renal adjustment, bleeding risk, monitoring.'),('Opioids & sedatives','Sedation and respiratory assessment; monitoring and rescue capability.'),('Concentrated electrolytes','Standard concentrations, infusion controls, no improvised dilution.'),('Chemotherapy / hazardous medicines','Trained staff, PPE, required handling and extravasation precautions.'),('Neuromuscular blockers','Secure segregation and labeling; trained staff with ventilation capability.')] for i,(h,b) in enumerate(hi): card(s,.65+(i%3)*4.15,1.25+(i//3)*2.12,3.72,1.68,h,b,RED if i in [0,3,5] else TEAL) callout(s,.72,5.9,11.85,.65,'Children, older adults, pregnancy/lactation, and renal/hepatic impairment require population-specific assessment and dose verification.',True) #13 reactions errors s=base('10. Adverse reactions, errors, and emergency response',13,'Patient care comes first. A medication error may involve patient, drug, dose, route, time, rate, preparation, or documentation.') card(s,.7,1.3,3.75,4.7,'Recognize harm','Rash, wheeze, facial swelling, hypotension, collapse.\n\nUnexpected sedation, low respiratory rate, cyanosis, apnea.\n\nBleeding, new dysrhythmia, severe glucose disturbance.\n\nIV-site pain, swelling, blanching, coolness, blistering.',RED) card(s,4.8,1.3,3.75,4.7,'Act immediately','1. Stop medicine/infusion if indicated.\n\n2. Assess airway, breathing, circulation, consciousness, vital signs.\n\n3. Call for urgent help / activate emergency response.\n\n4. Provide treatment and monitoring as directed.',TEAL) card(s,8.9,1.3,3.75,4.7,'Communicate & learn','Notify responsible clinician, prescriber, pharmacist, nurse in charge.\n\nDocument clinical facts.\n\nComplete incident report.\n\nReport near misses and hazardous conditions.\n\nDo not conceal or alter records.',NAVY) #14 checklist s=base('Point-of-care skills checklist',14,'Use as a learning aid. Local policy and supervision take priority.') checks=['Read and clarify order; identify indication and time criticality.','Hand hygiene; inspect product and expiry; prepare one patient’s medicine at a time.','Use two identifiers and verify allergy history.','Assess relevant clinical findings, vital signs, labs, and route suitability.','Verify medicine, dose, route, time, calculation, formulation, and compatibility.','Educate; obtain cooperation/consent as applicable; respond safely to refusal.','Administer using exact route-specific technique and approved rate.','Monitor therapeutic and adverse response; document immediately and accurately.','Escalate, treat, report, and learn from errors, adverse effects, and near misses.'] bullet_text(s,.8,1.28,11.7,5.6,checks,15) #15 key takeaways s=base('Key takeaways',15,'Safe medication administration is a sequence of deliberate clinical decisions.') for i,(num,h,b) in enumerate([('01','Pause when uncertain','Do not give a medicine until uncertainty is resolved.'),('02','Check the patient, not only the order','Assessment determines whether it is safe to give now.'),('03','Protect formulation and route','Do not crush, dilute, mix, or push unless the exact product guidance permits it.'),('04','Control high-risk medicines','Use standardized products, independent checks, pumps, and monitoring as required.'),('05','Respond to harm immediately','Stop when indicated, assess ABCs, call for help, document, report, and learn.')]): x=.65+(i%3)*4.15; y=1.35+(i//3)*2.35 rect(s,x,y,3.7,1.8,PALE,LINE,True); text(s,x+.22,y+.22,.58,.3,num,16,TEAL,True); text(s,x+.85,y+.22,2.55,.35,h,15,NAVY,True); text(s,x+.25,y+.75,3.15,.7,b,12,GRAY) callout(s,.75,6.25,11.8,.45,'For injectable medicines, use the current manufacturer information, pharmacy-approved IV guide, and local protocol for the exact product.',True) #16 refs s=base('References and further reading',16,'Use current local policy, pharmacy resources, and manufacturer information at the point of care.') refs=['Goodman & Gilman’s The Pharmacological Basis of Therapeutics. Table 9-7: Poison Prevention Goals and Medication Safety.','Harrison’s Principles of Internal Medicine, 22e (2025). Safety in Health Care.','Mulholland and Greenfield’s Surgery, 7e. Care Management Events.','Institute for Safe Medication Practices. ISMP Safe Practice Guidelines for Adult IV Push Medications. 2015.','Institute for Safe Medication Practices. Targeted Medication Safety Best Practices for Hospitals. 2026.','Eze AU, Marufu T, Amagyei A. Systematic review and meta-analysis of nursing interventions to reduce medication administration errors. J Clin Nurs. 2026. PMID: 41031474.','Braiki R, Douville F, Gagnon MP. Reporting medication errors and near misses among nurses: systematic mixed methods review. Int J Nurs Pract. 2024. PMID: 39225448.'] bullet_text(s,.75,1.25,11.85,4.8,refs,14) callout(s,.75,6.05,11.85,.62,'Final safety statement: This teaching deck does not provide universal IV-push rates, dilution volumes, or product-specific administration instructions.',True) prs.core_properties.title='Medication Administration Lecture'; prs.core_properties.subject='Medication safety and administration teaching lecture'; prs.core_properties.author='Orris' prs.save(OUT) print(OUT) ''') PY python "/tmp/workspace/medication-administration-lecture/src/create_pptx.py" python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/medication-administration-lecture/output/Medication_Administration_Lecture.pptx') prs=Presentation(str(p)) print('slides',len(prs.slides),'bytes',p.stat().st_size) for i,s in enumerate(prs.slides,1): texts=[] for sh in s.shapes: if getattr(sh,'has_text_frame',False) and sh.text.strip(): texts.append(sh.text.replace('\n',' | ')[:70]) print(i, ' :: '.join(texts[:2])) PY
python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/medication-administration-lecture/output/Medication_Administration_Lecture.pptx') prs=Presentation(str(p)) assert len(prs.slides)==16 assert all(any(getattr(sh,'has_text_frame',False) and sh.text.strip() for sh in sl.shapes) for sl in prs.slides) assert p.stat().st_size > 20000 print('validated: 16 slides; all slides contain text; file size',p.stat().st_size) PY
Medication Administration Lecture
Presentation · PPTX
Create a medication-administration student handout
~/
ISMP medication safety IV push ready to administer dilution prefilled flush syringes
"Medication Errors"[MeSH Terms] AND nursing
python - <<'PY' from pathlib import Path src=Path('/tmp/workspace/medication-administration-lecture/src/create_handout.py') src.write_text(r'''from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.colors import HexColor from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_CENTER from reportlab.lib.units import cm from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak, KeepTogether from reportlab.pdfbase.pdfmetrics import stringWidth OUT='/tmp/workspace/medication-administration-lecture/output/Medication_Administration_Student_Handout.pdf' navy=HexColor('#12324A'); teal=HexColor('#007F82'); pale=HexColor('#F3F8F9'); blue=HexColor('#DDEFF2'); amber=HexColor('#FFF2D8'); red=HexColor('#B42318'); gray=HexColor('#52616B'); line=HexColor('#B8CDD1') S=getSampleStyleSheet() S.add(ParagraphStyle(name='TitleH',parent=S['Title'],fontName='Helvetica-Bold',fontSize=24,leading=28,textColor=navy,alignment=TA_CENTER,spaceAfter=7)) S.add(ParagraphStyle(name='SubH',parent=S['Normal'],fontName='Helvetica',fontSize=10.5,leading=14,textColor=gray,alignment=TA_CENTER)) S.add(ParagraphStyle(name='H1H',parent=S['Heading1'],fontName='Helvetica-Bold',fontSize=15,leading=18,textColor=navy,spaceBefore=7,spaceAfter=5)) S.add(ParagraphStyle(name='H2H',parent=S['Heading2'],fontName='Helvetica-Bold',fontSize=11,leading=14,textColor=teal,spaceBefore=6,spaceAfter=3)) S.add(ParagraphStyle(name='BodyH',parent=S['BodyText'],fontName='Helvetica',fontSize=8.8,leading=11.5,spaceAfter=3)) S.add(ParagraphStyle(name='SmallH',parent=S['BodyText'],fontName='Helvetica',fontSize=7.7,leading=9.5,textColor=gray)) S.add(ParagraphStyle(name='BulletH',parent=S['BodyText'],fontName='Helvetica',fontSize=8.6,leading=11.5,leftIndent=13,firstLineIndent=-8,spaceAfter=2)) S.add(ParagraphStyle(name='CallH',parent=S['BodyText'],fontName='Helvetica-Bold',fontSize=8.8,leading=12,textColor=navy)) def P(t,st='BodyH'): return Paragraph(t,S[st]) def B(items): return [P('• '+x,'BulletH') for x in items] def note(t,warning=False): a=Table([[P(t,'CallH')]],colWidths=[17.25*cm]);a.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),amber if warning else blue),('BOX',(0,0),(-1,-1),.45,teal),('LEFTPADDING',(0,0),(-1,-1),7),('RIGHTPADDING',(0,0),(-1,-1),7),('TOPPADDING',(0,0),(-1,-1),6),('BOTTOMPADDING',(0,0),(-1,-1),6)]));return a def T(headers,rows,widths): d=[[P('<b>'+h+'</b>','SmallH') for h in headers]]+[[P(str(c),'SmallH') for c in r] for r in rows] t=Table(d,colWidths=widths,repeatRows=1) t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,0),navy),('TEXTCOLOR',(0,0),(-1,0),colors.white),('GRID',(0,0),(-1,-1),.35,line),('VALIGN',(0,0),(-1,-1),'TOP'),('ROWBACKGROUNDS',(0,1),(-1,-1),[colors.white,pale]),('LEFTPADDING',(0,0),(-1,-1),4),('RIGHTPADDING',(0,0),(-1,-1),4),('TOPPADDING',(0,0),(-1,-1),4),('BOTTOMPADDING',(0,0),(-1,-1),4)]));return t def foot(c,d): c.saveState();w,h=A4 c.setStrokeColor(line);c.line(1.65*cm,1.2*cm,w-1.65*cm,1.2*cm) c.setFont('Helvetica-Bold',7.5);c.setFillColor(teal);c.drawString(1.65*cm,.88*cm,'MEDICATION ADMINISTRATION | STUDENT HANDOUT') c.setFont('Helvetica',7.5);c.setFillColor(gray);c.drawRightString(w-1.65*cm,.88*cm,f'Page {d.page}') c.restoreState() story=[] story += [Spacer(1,.4*cm),P('Medication Administration','TitleH'),P('Student Handout: safety checks, route principles, IV precautions, and error response','SubH'),Spacer(1,.35*cm),note('<b>Use this handout for study and supervised practice.</b> It does not replace an authorized medication order, product monograph, pharmacy-approved IV guide, local policy, or clinical competency assessment.',True),P('1. The safety sequence','H1H'),P('<b>Verify → Assess → Prepare → Administer → Monitor → Document → Escalate.</b> Medication administration is a clinical process. If any part is unclear, pause and obtain help before giving the medicine.','BodyH'),P('The 10 rights','H2H'),T(['Right','Student reminder'],[['Patient','Use two approved identifiers.'],['Medicine','Check name, formulation, indication, allergies, and expiry.'],['Dose','Check units, concentration, calculation, weight basis, and maximum dose.'],['Route','Confirm that route and formulation are suitable.'],['Time','Check schedule, food relation, and time-critical status.'],['Documentation','Record promptly after administration.'],['Assessment','Review vital signs, labs, contraindications, and clinical condition.'],['Education','Explain purpose, key effects, and relevant precautions.'],['Evaluation','Monitor intended effect and adverse effects.'],['Refusal','Respect refusal, explain, document, and notify as required.']],[4.0*cm,13.25*cm]),P('Pre-administration assessment','H2H')]+B(['Confirm a complete order and a valid indication.','Check allergy history and the nature of previous reactions.','Assess vital signs, symptoms, consciousness, swallowing, hydration, and disease-specific parameters.','Review relevant labs: renal/liver function, electrolytes, glucose, coagulation, blood count, or drug levels.','Consider age, weight, pregnancy/lactation, kidney/liver impairment, and interactions.'])+[note('<b>Never guess:</b> a decimal, unit, concentration, conversion, diluent, dose, route, compatibility, or IV rate.',True),PageBreak()] story += [P('2. Routes and formulations','H1H'),P('Non-injectable route essentials','H2H'),T(['Route','Safety essentials'],[['Oral','Assess swallowing and aspiration risk. Follow food instructions.'],['Sublingual/buccal','Place as directed; do not chew or swallow unless product guidance permits.'],['Enteral tube','Confirm placement per policy. Give compatible medicines one at a time. Flush before, between, and after.'],['Topical/transdermal','Use gloves as indicated. Remove old patch, rotate site, label date/time/site.'],['Inhaled','Check device technique. Rinse mouth after inhaled corticosteroid.'],['Eye/ear/nose/rectal/vaginal','Correct route and side; avoid contaminating applicators; protect dignity.']],[4.2*cm,13.05*cm]),P('Do not alter a medicine without confirmation','H2H'),T(['Usually not crushed/opened','Why'],[['Modified-release: MR, SR, CR, ER, XL, LA','May release the whole dose rapidly and cause toxicity.'],['Enteric-coated/gastro-resistant','May remove stomach protection or change absorption.'],['Sublingual/buccal','May change intended absorption and onset.'],['Hazardous medicines','Powder exposure may harm staff or caregivers.'],['Special capsules, pellets, beads','May disrupt delivery or block enteral tubes.']],[7.0*cm,10.25*cm]),P('If a patient cannot swallow or needs a tube','H2H')]+B(['Do not crush or mix first. Contact pharmacy for a liquid, dispersible product, different route, or alternative medicine.','Do not mix several medicines in one syringe.','Do not mix medicine into enteral feed unless an approved protocol specifically directs it.'])+[P('Injection safety','H2H')]+B(['Prepare one patient’s medicine at a time. Use aseptic technique.','Verify site, dose, route, product, syringe/needle, expiry, and tissue condition.','Avoid bruised, infected, scarred, edematous, or lipodystrophic tissue unless specifically directed.','Dispose of sharps immediately in an approved sharps container.'])+[PageBreak()] story += [P('3. IV medication safety','H1H'),note('<b>IV medicines require product-specific verification.</b> Use the exact manufacturer information and a facility-approved IV resource for reconstitution, dilution, final concentration, compatibility, route, rate, and monitoring.',True),P('Before an IV medicine','H2H')]+B(['Assess line type and patency. Check the site for pain, redness, warmth, swelling, leakage, coolness, resistance, or poor flow.','Confirm the exact product strength, reconstitution method, required diluent, stability, infusion time, and compatibility.','Label prepared syringes and bags immediately. Use ready-to-administer pharmacy products when available.','Check compatibility with all medicines and fluids using the line. Use a pump when controlled delivery is required.','Monitor the patient and site during and after administration.'])+[P('IV push and dilution: safety rules','H2H')]+B(['Do not decide that a medicine can be IV-pushed based only on its name. Product formulation and patient factors matter.','Dilute only when recommended by the manufacturer, evidence, or facility-approved resource. Unnecessary dilution can create wrong-diluent, contamination, calculation, and labeling errors.','Do <b>not</b> dilute or reconstitute IV medicines by drawing them into a commercially prefilled 0.9% sodium chloride flush syringe.','“Slow push” must have a stated rate or duration. Never improvise an infusion time, diluent, or concentration.'])+[P('Why infusion may be safer than rapid push','H2H')]+B(['Prevents dangerous peak concentrations and permits observation for toxicity.','Reduces hypotension, bradycardia, dysrhythmias, respiratory depression, neurologic toxicity, and seizures.','Reduces vein irritation, pain, phlebitis, and tissue injury.'])+[P('High-risk categories: product-specific rules required','H2H'),T(['Category','Potential harm if inappropriately rapid or concentrated'],[['Concentrated electrolytes','Severe dysrhythmia or cardiac arrest.'],['Vasopressors','Hypertension, ischemia, dysrhythmia.'],['Potent opioids/sedatives','Apnea, respiratory depression, hypotension.'],['Antiarrhythmics/selected antimicrobials','Hypotension, conduction problems, infusion reactions.'],['Chemotherapy/vesicants','Severe local tissue injury and systemic toxicity.']],[6.5*cm,10.75*cm]),PageBreak()] story += [P('4. High-alert medicines, reactions, and errors','H1H'),P('High-alert medicine checks','H2H'),T(['Medicine/category','Core checks'],[['Insulin','Type, concentration, dose, timing with food, glucose, hypoglycemia risk.'],['Anticoagulants','Indication, weight/renal dose adjustment, bleeding risk, monitoring.'],['Opioids/sedatives','Pain, sedation, respiratory status, interactions, rescue capability.'],['Concentrated electrolytes','Standardized concentration and controlled administration.'],['Chemotherapy/hazardous products','Trained staff, PPE, handling and extravasation procedures.']],[5.1*cm,12.15*cm]),P('Recognize possible medication-related harm','H2H')]+B(['Rash, wheeze, facial or tongue swelling, hypotension, or collapse.','Excessive sedation, reduced respiratory rate, cyanosis, reduced consciousness, or apnea.','New chest pain, severe hypotension/hypertension, palpitations, dysrhythmia.','Bleeding, black stools, hematuria, severe hypo/hyperglycemia symptoms.','IV-site pain, swelling, blanching, coolness, leakage, blistering, or rapid skin change.'])+[P('If an error or serious reaction occurs','H2H'),T(['Step','Action'],[['1','Stop medication or infusion if indicated. Assess airway, breathing, circulation, consciousness, and vital signs.'],['2','Call for urgent help or activate emergency response when required.'],['3','Notify the responsible clinician, prescriber, pharmacist, and nurse in charge according to policy.'],['4','Provide monitoring, rescue measures, tests, and treatment as directed.'],['5','Document factual clinical details. Complete the incident report according to policy. Do not conceal or alter records.'],['6','Report near misses and hazardous conditions as well as actual errors.']],[1.2*cm,16.05*cm]),P('Student quick self-check','H2H')]+B(['Can I state the indication, dose, route, and patient-specific safety checks?','Have I verified the product formulation and its preparation instructions?','Have I monitored and documented the response?','If uncertain, have I paused and sought appropriate help?'])+[note('<b>Further reading:</b> ISMP Safe Practice Guidelines for Adult IV Push Medications; ISMP Targeted Medication Safety Best Practices for Hospitals; Harrison’s Principles of Internal Medicine, 22e, Safety in Health Care; recent nursing systematic reviews, PMIDs 41031474 and 39225448.',False)] doc=SimpleDocTemplate(OUT,pagesize=A4,leftMargin=1.65*cm,rightMargin=1.65*cm,topMargin=1.55*cm,bottomMargin=1.45*cm,title='Medication Administration Student Handout',author='Orris') doc.build(story,onFirstPage=foot,onLaterPages=foot) print(OUT) ''') PY python "/tmp/workspace/medication-administration-lecture/src/create_handout.py" python - <<'PY' from pypdf import PdfReader from pathlib import Path p=Path('/tmp/workspace/medication-administration-lecture/output/Medication_Administration_Student_Handout.pdf') r=PdfReader(str(p)); print('pages',len(r.pages),'bytes',p.stat().st_size); print(r.pages[0].extract_text()[:180]); print(r.pages[-1].extract_text()[-220:]) PY
Medication Administration Student Handout
PDF Document · PDF
Divide these detail guidelines in this sequence and give details of each step in easiest form Verify → Assess → Prepare → Administer → Monitor → Document → Escalate.
"Medication Errors"[MeSH Terms] AND nursing
ISMP safe practice guidelines medication administration adult IV push verification assessment documentation official
Safety rule: If you are unsure at any step, stop. Do not guess. Ask the supervising nurse, prescriber, or pharmacist.