I need to correct the 3rd ppt,task 1 is proper but I want change the task 2 to this topic: Medication error disagreement In a medical ward, a nurse noticed that a doctor prescribed a medication dose that seemed too high for an elderly patient. The nurse questioned the order, but the doctor insisted it was correct, leading to disagreement and tension in the team. U can take inspiration from 1st and 2nd pdfs, and create simple and humanized ppt but little different style or background like the 1st pdf
cd /home/daytona/workspace/attachments/e3dba52f-0682-4ff8-b1ba-e5192efe8723/ && python -m markitdown "Group dynamics and Conflict management.pptx" 2>/dev/null | head -300
python -m markitdown "/home/daytona/workspace/attachments/e3dba52f-0682-4ff8-b1ba-e5192efe8723/Group dynamics and Conflict management.pptx" 2>&1 | head -300
python3 -m markitdown "/home/daytona/workspace/attachments/e3dba52f-0682-4ff8-b1ba-e5192efe8723/Group dynamics and Conflict management.pptx" 2>&1 | head -300
cd /home/daytona/skills/pptx && ls scripts/ 2>/dev/null; ls 2>/dev/null
python3 /home/daytona/skills/pptx/scripts/thumbnail.py "/home/daytona/workspace/attachments/e3dba52f-0682-4ff8-b1ba-e5192efe8723/Group dynamics and Conflict management.pptx" 2>&1 | head -50
python3 /home/daytona/skills/pptx/scripts/thumbnail.py "/home/daytona/workspace/attachments/e3dba52f-0682-4ff8-b1ba-e5192efe8723/vinisha_human.pptx" 2>&1 | head -50
python3 -c " from pptx import Presentation from pptx.util import Pt import json prs = Presentation('/home/daytona/workspace/attachments/e3dba52f-0682-4ff8-b1ba-e5192efe8723/vinisha_human.pptx') for i, slide in enumerate(prs.slides): print(f'=== SLIDE {i+1} ===') for shape in slide.shapes: if shape.has_text_frame: print(f' [{shape.shape_type}] {shape.name}: ', end='') for para in shape.text_frame.paragraphs: text = para.text.strip() if text: print(repr(text)) print() " 2>&1
pip install python-pptx --quiet 2>&1 | tail -3
python3 -c " from pptx import Presentation prs = Presentation('/home/daytona/workspace/attachments/e3dba52f-0682-4ff8-b1ba-e5192efe8723/vinisha_human.pptx') print(f'Total slides: {len(prs.slides)}') for i, slide in enumerate(prs.slides): print(f'=== SLIDE {i+1} ===') for shape in slide.shapes: if shape.has_text_frame: for para in shape.text_frame.paragraphs: text = para.text.strip() if text: print(f' {repr(text)}') print() " 2>&1
python3 -c " from pptx import Presentation from pptx.util import Inches, Pt, Emu from pptx.dml.color import RGBColor import copy prs = Presentation('/home/daytona/workspace/attachments/e3dba52f-0682-4ff8-b1ba-e5192efe8723/vinisha_human.pptx') # Print slide dimensions and background info for slide 1 slide = prs.slides[0] print('Slide width:', prs.slide_width) print('Slide height:', prs.slide_height) # Check slide layouts for i, layout in enumerate(prs.slide_layouts): print(f'Layout {i}: {layout.name}') " 2>&1
mkdir -p /home/daytona/workspace/medication-error-ppt && ls /home/daytona/workspace/medication-error-ppt/
~/medication-error-ppt/build.js
const pptxgen = require("pptxgenjs");
const fs = require("fs");
const path = require("path");
// ─────────────────────────────────────────────────────────────────────────────
// COLOUR PALETTE (inspired by the 1st PDF warm amber/tan but shifted to a
// fresh teal-green + cream palette to look "a little different" while staying
// humanised and professional)
// ─────────────────────────────────────────────────────────────────────────────
const C = {
darkTeal: "1B4F5A", // dominant dark bg for title / task banner slides
midTeal: "2E7D8A", // accent band / header bars
lightMint: "D4EDE8", // pale fill for content area
cream: "FDFAF3", // near-white slide body
amber: "C8852A", // warm accent (nod to 1st PDF)
amberLight: "F0C97A", // lighter amber
warmGrey: "6B6B6B", // body text
white: "FFFFFF",
black: "1A1A1A",
red: "C0392B", // conflict / negative
green: "1E8449", // positive / resolution
blue: "1A5276", // info / questions
};
// ─────────────────────────────────────────────────────────────────────────────
// HELPERS
// ─────────────────────────────────────────────────────────────────────────────
function footerBar(slide, text = "Multidisciplinary Approaches in Health & Social Care | Case Scenario 3 – Liam (Type 1 Diabetes)") {
// Thin amber line at very bottom
slide.addShape("rect", { x: 0, y: 5.28, w: 10, h: 0.03, fill: { color: C.amber } });
slide.addText(text, {
x: 0.2, y: 5.31, w: 9.6, h: 0.2,
fontSize: 6.5, color: C.warmGrey, fontFace: "Calibri", italic: true, align: "center"
});
}
function headerBand(slide, title, icon = "") {
// Dark teal header band
slide.addShape("rect", { x: 0, y: 0, w: 10, h: 0.72, fill: { color: C.darkTeal } });
// Amber left accent stripe
slide.addShape("rect", { x: 0, y: 0, w: 0.07, h: 0.72, fill: { color: C.amber } });
slide.addText((icon ? icon + " " : "") + title, {
x: 0.18, y: 0.05, w: 9.6, h: 0.6,
fontSize: 18, bold: true, color: C.white, fontFace: "Calibri", align: "left", valign: "middle"
});
}
function subLabel(slide, label, x, y, w, h, color = C.midTeal) {
slide.addShape("rect", { x, y, w, h, fill: { color }, line: { color, width: 0 }, rounding: 0.05 });
slide.addText(label, { x, y, w, h, fontSize: 9, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
}
function citationLine(slide, text) {
slide.addShape("rect", { x: 0, y: 5.05, w: 10, h: 0.20, fill: { color: C.lightMint } });
slide.addText(text, {
x: 0.3, y: 5.06, w: 9.4, h: 0.18,
fontSize: 7, color: C.warmGrey, fontFace: "Calibri", italic: true, align: "left"
});
}
// ─────────────────────────────────────────────────────────────────────────────
// BUILD PRESENTATION
// ─────────────────────────────────────────────────────────────────────────────
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Multidisciplinary Approaches – Case Scenario 3 Liam";
pres.author = "Vinisha";
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE SLIDE
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
// Full dark background
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkTeal } });
// Large amber decorative circle top-right
s.addShape("ellipse", { x: 7.6, y: -0.8, w: 3.5, h: 3.5, fill: { color: C.midTeal }, line: { color: C.midTeal } });
// Amber accent stripe left
s.addShape("rect", { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: C.amber } });
// Amber horizontal band centre
s.addShape("rect", { x: 0.18, y: 2.45, w: 9.82, h: 0.06, fill: { color: C.amberLight } });
// MDT badge top-left
s.addText("MDT", { x: 0.35, y: 0.25, w: 2, h: 0.5, fontSize: 28, bold: true, color: C.amberLight, fontFace: "Calibri" });
s.addText("Team · Collaboration · Patient Care", { x: 0.35, y: 0.75, w: 5, h: 0.28, fontSize: 10, color: C.lightMint, fontFace: "Calibri", italic: true });
// Main title
s.addText("Multidisciplinary\nApproaches in Health\n& Social Care", {
x: 0.35, y: 1.1, w: 7, h: 1.3,
fontSize: 28, bold: true, color: C.white, fontFace: "Calibri"
});
// Case banner
s.addShape("rect", { x: 0.18, y: 2.52, w: 7.8, h: 0.52, fill: { color: C.amber }, rounding: 0.04 });
s.addText("Case Scenario 3 – Liam: Newly Diagnosed Type 1 Diabetes", {
x: 0.28, y: 2.53, w: 7.6, h: 0.5,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", valign: "middle"
});
s.addText("Group Assignment | Task 1 & Task 2", {
x: 0.35, y: 3.12, w: 7, h: 0.3, fontSize: 11, color: C.lightMint, fontFace: "Calibri"
});
s.addText("Undergraduate Certificate in Nursing Studies", {
x: 0.35, y: 3.45, w: 7, h: 0.28, fontSize: 10, color: C.lightMint, fontFace: "Calibri", italic: true
});
s.addText("Lecturer: Ms Dorianne Cachia | June 2026", {
x: 0.35, y: 3.75, w: 7, h: 0.28, fontSize: 10, color: C.amberLight, fontFace: "Calibri"
});
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 2 – CASE SCENARIO: WHO IS LIAM?
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Case Scenario 3 – Who is Liam?", "🧒");
s.addText("Patient Overview", { x: 0.2, y: 0.78, w: 9.6, h: 0.3, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const rows = [
["Age", "10 years old"],
["Diagnosis", "Newly diagnosed with Type 1 Diabetes Mellitus"],
["Symptoms", "Very thirsty, losing weight, tired; going to the toilet a lot"],
["Concerns", "Very scared of needles; got upset when insulin was first mentioned"],
["Parents", "Both parents are anxious – they don't feel ready to manage this at home"],
["School", "School is worried about him having a hypo during the day"],
["Activity", "Plays football regularly and really doesn't want to give it up"],
];
const rowH = 0.52;
rows.forEach(([label, val], i) => {
const y = 1.1 + i * rowH;
const bg = i % 2 === 0 ? C.lightMint : C.white;
s.addShape("rect", { x: 0.2, y, w: 9.6, h: rowH - 0.04, fill: { color: bg } });
s.addText(label, { x: 0.25, y: y + 0.04, w: 1.7, h: rowH - 0.1, fontSize: 10, bold: true, color: C.darkTeal, fontFace: "Calibri", valign: "middle" });
s.addText(val, { x: 2.05, y: y + 0.04, w: 7.6, h: rowH - 0.1, fontSize: 10, color: C.black, fontFace: "Calibri", valign: "middle" });
});
citationLine(s, "Patient-centred MDT approach | ISPAD Guidelines 2022; WHO 2024");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 3 – TASK 1 BANNER
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkTeal } });
s.addShape("ellipse", { x: -1, y: -1, w: 4.5, h: 4.5, fill: { color: C.midTeal }, line: { color: C.midTeal } });
s.addShape("ellipse", { x: 7.5, y: 2.5, w: 3.5, h: 3.5, fill: { color: C.midTeal }, line: { color: C.midTeal } });
s.addShape("rect", { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: C.amber } });
s.addText("TASK 1", { x: 1, y: 1.3, w: 8, h: 0.8, fontSize: 52, bold: true, color: C.amberLight, fontFace: "Calibri", align: "center" });
s.addText("Working in a Multidisciplinary Approach", { x: 1, y: 2.2, w: 8, h: 0.5, fontSize: 20, color: C.white, fontFace: "Calibri", align: "center" });
s.addShape("rect", { x: 3, y: 2.8, w: 4, h: 0.05, fill: { color: C.amberLight } });
s.addText("Questions A – D | Case Scenario 3: Liam (Type 1 Diabetes)", {
x: 1, y: 2.92, w: 8, h: 0.35, fontSize: 12, color: C.lightMint, fontFace: "Calibri", align: "center", italic: true
});
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 4 – Q A: PATIENT-CENTRED APPROACH
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question A – Patient-Centred Approach (K&U 2.3; S&E 2.4)", "🏥");
s.addText("Identifying Professionals & Their Roles", { x: 0.2, y: 0.76, w: 9.6, h: 0.28, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
// Quote box
s.addShape("rect", { x: 0.2, y: 1.1, w: 9.6, h: 0.52, fill: { color: C.lightMint }, line: { color: C.midTeal, width: 1.5 } });
s.addText([
{ text: '"Care that is respectful of, and responsive to, individual patient preferences, needs and values."', options: { italic: true } },
{ text: " – World Health Organisation, 2024", options: { bold: true } }
], { x: 0.3, y: 1.12, w: 9.4, h: 0.48, fontSize: 10, color: C.darkTeal, fontFace: "Calibri", valign: "middle" });
s.addText("Given everything Liam is dealing with, one professional alone couldn't cover all of it:", {
x: 0.2, y: 1.7, w: 9.6, h: 0.26, fontSize: 10, color: C.warmGrey, fontFace: "Calibri", italic: true
});
// 5 role boxes
const roles = [
["Medical", "Insulin therapy &\nglycaemic control"],
["Nutritional", "Carb counting &\nmeal planning"],
["Psychological", "Needle fear &\nadjustment"],
["Family", "Parent training\n& support"],
["Educational", "Keeping school safe\n& reintegration"],
];
const bw = 1.78, bh = 1.4, startX = 0.2, y = 2.02;
roles.forEach(([title, body], i) => {
const x = startX + i * (bw + 0.07);
s.addShape("rect", { x, y, w: bw, h: bh, fill: { color: C.midTeal }, rounding: 0.06 });
s.addText(title, { x, y: y + 0.05, w: bw, h: 0.32, fontSize: 10, bold: true, color: C.white, fontFace: "Calibri", align: "center" });
s.addShape("rect", { x: x + 0.1, y: y + 0.38, w: bw - 0.2, h: bh - 0.5, fill: { color: C.cream }, rounding: 0.04 });
s.addText(body, { x: x + 0.1, y: y + 0.4, w: bw - 0.2, h: bh - 0.52, fontSize: 9.5, color: C.darkTeal, fontFace: "Calibri", align: "center", valign: "middle" });
});
citationLine(s, "WHO (2024); Suarez et al. (2022); ISPAD (2022)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 5 – Q A: HCPs INVOLVED (1 of 2)
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question A – Healthcare Professionals Involved (1 of 2)", "👨⚕️");
s.addText("The main professionals involved in Liam's care", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const profs = [
["1", "Paediatric Endocrinologist", "Responsible for the overall medical plan – sets the insulin doses, checks HbA1c and decides if a pump might help down the line (Danne et al., 2006)"],
["2", "Diabetes Specialist Nurse (DSN)", "Often the family's main point of contact. Teaches parents how to do injections, check blood glucose, and spot a hypo. Also talks to the school (ISPAD, 2022)"],
["3", "Paediatric Dietitian", "Works with Liam on carb counting and building a meal plan that fits around football and school – not the other way round (Davis, 2017)"],
["4", "Paediatric Psychologist", "Uses CBT to tackle the needle fear. Also helps the whole family come to terms with a lifelong diagnosis – that's not a small thing (Fengsil et al., 2006)"],
["5", "Ward Nurse (Paediatric)", "Provides day-to-day care on the ward, gives the insulin, notices when something isn't right and speaks up. The ward nurse is really Liam's advocate (Jennings & Evans, 2020)"],
];
profs.forEach(([num, role, desc], i) => {
const y = 1.07 + i * 0.84;
s.addShape("ellipse", { x: 0.2, y: y + 0.08, w: 0.38, h: 0.38, fill: { color: C.amber } });
s.addText(num, { x: 0.2, y: y + 0.08, w: 0.38, h: 0.38, fontSize: 11, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText(role, { x: 0.68, y: y, w: 3.2, h: 0.35, fontSize: 10, bold: true, color: C.darkTeal, fontFace: "Calibri", valign: "bottom" });
s.addText(desc, { x: 0.68, y: y + 0.35, w: 9.1, h: 0.44, fontSize: 9, color: C.warmGrey, fontFace: "Calibri", wrap: true });
if (i < 4) s.addShape("line", { x: 0.2, y: y + 0.82, w: 9.6, h: 0, line: { color: C.lightMint, width: 0.5 } });
});
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 6 – Q A: HCPs INVOLVED (2 of 2)
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question A – Healthcare Professionals Involved (2 of 2)", "👩⚕️");
s.addText("Other professionals who play an important role", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const profs = [
["6", "GP / General Paediatrician", "Takes over once Liam goes home – deals with everyday illness, coordinates any follow-up referrals (ISPAD, 2022)"],
["7", "Pharmacist", "Makes sure the right insulin and supplies are dispensed, provides glucagon kits and explains how each medicine works (CDC, 2024)"],
["8", "Social Worker", "Supports the family emotionally and practically – including help with costs and linking them to the right community services (ISPAD, 2022)"],
["9", "School Health Nurse", "Goes into the school, trains staff to spot a hypo and steps in if Liam needs support during the school day (ISPAD, 2022)"],
["10", "Exercise Physiologist", "Works out a safe plan for Liam to keep playing football – adjusting carbs and insulin around training and matches (ISPAD, 2022)"],
];
profs.forEach(([num, role, desc], i) => {
const y = 1.07 + i * 0.84;
s.addShape("ellipse", { x: 0.2, y: y + 0.08, w: 0.38, h: 0.38, fill: { color: C.midTeal } });
s.addText(num, { x: 0.2, y: y + 0.08, w: 0.38, h: 0.38, fontSize: 11, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText(role, { x: 0.68, y: y, w: 3.2, h: 0.35, fontSize: 10, bold: true, color: C.darkTeal, fontFace: "Calibri", valign: "bottom" });
s.addText(desc, { x: 0.68, y: y + 0.35, w: 9.1, h: 0.44, fontSize: 9, color: C.warmGrey, fontFace: "Calibri", wrap: true });
if (i < 4) s.addShape("line", { x: 0.2, y: y + 0.82, w: 9.6, h: 0, line: { color: C.lightMint, width: 0.5 } });
});
citationLine(s, "CDC (2024); ISPAD (2022); Guare et al. (2022)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 7 – Q B: ATTRIBUTES, SKILLS & BEHAVIOURS
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question B – Attributes, Skills & Behaviours for MDT Success (S&E 2.5)", "🤝");
s.addText("What actually makes an MDT work well together?", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const items = [
["Communication", "Clear, timely and jargon-free – using shared records and regular team meetings. Less jargon means fewer mistakes (Pelp et al., 2022)"],
["Role Clarity", "Everyone knows their own job and respects what others bring (Jennings & Evans, 2020)"],
["Person-Centred Care", "Liam and his parents aren't just recipients of care – they're part of the team (Nursing Standard, 2021)"],
["Shared Decision-Making", "When patients have a say, they're more likely to follow the plan (Nursing Standard, 2021; Cachia 2021)"],
["Tuckman's 5 Stages", "Forming → Storming → Norming → Performing → Adjourning – all teams go through this (Tuckman, 1965; Kivunja et al., 2019)"],
["Continuous Learning", "Staying current with ISPAD guidelines and new tech like closed-loop systems (Jennings & Evans, 2020)"],
["Professional Accountability", "Following CNM & WHO codes, staying within your scope, documenting accurately and speaking up when something isn't right"],
];
const col1 = items.slice(0, 4), col2 = items.slice(4);
[col1, col2].forEach((col, ci) => {
col.forEach(([label, body], i) => {
const x = ci === 0 ? 0.2 : 5.1;
const y = 1.08 + i * 0.98;
s.addShape("rect", { x, y, w: 4.8, h: 0.92, fill: { color: i % 2 === 0 ? C.lightMint : C.white }, line: { color: C.lightMint, width: 0.5 } });
s.addText(label, { x: x + 0.1, y: y + 0.04, w: 4.6, h: 0.28, fontSize: 9.5, bold: true, color: C.darkTeal, fontFace: "Calibri" });
s.addText(body, { x: x + 0.1, y: y + 0.3, w: 4.6, h: 0.58, fontSize: 8.5, color: C.warmGrey, fontFace: "Calibri", wrap: true });
});
});
citationLine(s, "Pelp et al. (2022); Jennings & Evans (2020); Tuckman (1965); Kivunja et al. (2019); Nursing Standard (2021)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 8 – Q C: BENEFITS
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question C – Benefits of Working in a Team (A&A 1.2)", "✅");
s.addText("What the evidence actually says", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
s.addShape("rect", { x: 0.2, y: 1.07, w: 9.6, h: 0.42, fill: { color: C.lightMint }, line: { color: C.midTeal, width: 1 } });
s.addText('"Working across professions led to noticeably better outcomes for patients with long-term conditions." – Proessl et al., 2021', {
x: 0.3, y: 1.09, w: 9.4, h: 0.38, fontSize: 9.5, italic: true, color: C.darkTeal, fontFace: "Calibri", valign: "middle"
});
const benefits = [
["Holistic Care", "Rather than treating just the diabetes, the whole child is looked after"],
["Fewer Errors", "When multiple people check the same thing, errors are caught before they reach the patient (He et al., 2022)"],
["Better Glycaemic Control", "Children whose families get proper MDT education tend to have better blood glucose control (Danne, 2006)"],
["Family Confidence", "Parents feel less alone when professionals meet with them together – it visibly reduces anxiety"],
["Continuity of Care", "Good MDT communication means Liam's move from hospital to home to school doesn't fall apart"],
["Efficient Resources", "Nobody repeats the same assessment twice, which makes better use of limited NHS resources (He et al., 2022)"],
];
benefits.forEach(([label, body], i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const x = col === 0 ? 0.2 : 5.1;
const y = 1.57 + row * 1.0;
s.addShape("rect", { x, y, w: 4.8, h: 0.94, fill: { color: row % 2 === 0 ? C.lightMint : C.white }, line: { color: C.lightMint, width: 0.5 } });
s.addShape("rect", { x, y, w: 0.06, h: 0.94, fill: { color: C.green } });
s.addText(label, { x: x + 0.12, y: y + 0.05, w: 4.6, h: 0.3, fontSize: 9.5, bold: true, color: C.green, fontFace: "Calibri" });
s.addText(body, { x: x + 0.12, y: y + 0.34, w: 4.6, h: 0.56, fontSize: 8.5, color: C.warmGrey, fontFace: "Calibri", wrap: true });
});
citationLine(s, "Proessl et al. (2021); Suarez et al. (2022); Danne/man (2006); He et al. (2022)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 9 – Q D: BARRIERS
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question D – Barriers to Working in a Team (A&A 1.2)", "⚠️");
s.addText("The things that get in the way", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const barriers = [
["Communication Breakdown", "Rushed handovers, too much jargon, or not sharing key info – still one of the biggest MDT problems (Elberzhagen et al., 2019)"],
["Professional Hierarchy", "When consultants dominate, nurses and allied professionals stop raising concerns – which is dangerous (Suarez et al., 2022)"],
["Professional Tribalism", "Professionals sticking to 'their lane' and not trusting others to contribute (Guare et al., 2022)"],
["Role Ambiguity", "When nobody's sure who owns a task, it either gets done twice or not at all"],
["Time & Workload", "On a busy ward, finding time for everyone to meet regularly is genuinely hard (British Journal of Nursing, 2022)"],
["Resistance to Change", "Not everyone embraces change – particularly around new tech or updated guidelines"],
];
barriers.forEach(([label, body], i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const x = col === 0 ? 0.2 : 5.1;
const y = 1.08 + row * 1.0;
s.addShape("rect", { x, y, w: 4.8, h: 0.94, fill: { color: row % 2 === 0 ? C.lightMint : C.white }, line: { color: C.lightMint, width: 0.5 } });
s.addShape("rect", { x, y, w: 0.06, h: 0.94, fill: { color: C.red } });
s.addText(label, { x: x + 0.12, y: y + 0.05, w: 4.6, h: 0.3, fontSize: 9.5, bold: true, color: C.red, fontFace: "Calibri" });
s.addText(body, { x: x + 0.12, y: y + 0.34, w: 4.6, h: 0.56, fontSize: 8.5, color: C.warmGrey, fontFace: "Calibri", wrap: true });
});
citationLine(s, "Elberzhagen et al. (2019); Suarez et al. (2022); Guare et al. (2022); British Journal of Nursing (2022)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 10 – TASK 2 BANNER ★ NEW TOPIC ★
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkTeal } });
s.addShape("ellipse", { x: -1, y: -1, w: 4.5, h: 4.5, fill: { color: C.midTeal }, line: { color: C.midTeal } });
s.addShape("ellipse", { x: 7.5, y: 2.5, w: 3.5, h: 3.5, fill: { color: C.midTeal }, line: { color: C.midTeal } });
s.addShape("rect", { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: C.amber } });
s.addText("TASK 2", { x: 1, y: 1.1, w: 8, h: 0.9, fontSize: 52, bold: true, color: C.amberLight, fontFace: "Calibri", align: "center" });
s.addText("Conflict in the Multidisciplinary Team", { x: 1, y: 2.1, w: 8, h: 0.5, fontSize: 20, color: C.white, fontFace: "Calibri", align: "center" });
s.addShape("rect", { x: 3, y: 2.7, w: 4, h: 0.05, fill: { color: C.amberLight } });
// New topic badge
s.addShape("rect", { x: 2, y: 2.82, w: 6, h: 0.65, fill: { color: C.amber }, rounding: 0.06 });
s.addText("Medication Error Disagreement", { x: 2, y: 2.82, w: 6, h: 0.65, fontSize: 16, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText("Questions 1 – 6 | Conflict Definition, Case Study, Group Dynamics & Resolution Strategies", {
x: 1, y: 3.58, w: 8, h: 0.3, fontSize: 11, color: C.lightMint, fontFace: "Calibri", align: "center", italic: true
});
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 11 – Q1: DEFINING CONFLICT
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question 1 – Defining Conflict & Why It Occurs (K&U 4.1)", "💬");
s.addText("What conflict is and where it comes from", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
// Quote
s.addShape("rect", { x: 0.2, y: 1.07, w: 9.6, h: 0.48, fill: { color: C.lightMint }, line: { color: C.midTeal, width: 1.5 } });
s.addText('"A disagreement in values, goals or actions between parties." – RNAO, 2012\nConflict isn\'t automatically a bad thing – done right, it can push teams to improve.', {
x: 0.3, y: 1.09, w: 9.4, h: 0.44, fontSize: 9.5, italic: true, color: C.darkTeal, fontFace: "Calibri", valign: "middle"
});
s.addText("Why Conflict Occurs in MDTs:", { x: 0.2, y: 1.63, w: 9.6, h: 0.28, fontSize: 10.5, bold: true, color: C.midTeal, fontFace: "Calibri" });
const reasons = [
"Each profession has different training and priorities – those differences can clash",
"No one's sure who's meant to do what (role ambiguity)",
"Things get lost in handovers, or people use different terminology",
"Competing for the same beds, equipment or funding creates tension",
"Seniority differences and personality clashes between individuals",
"When families are unhappy, that pressure often lands on the team",
];
reasons.forEach((r, i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const x = col === 0 ? 0.2 : 5.1;
const y = 1.96 + row * 0.88;
s.addShape("ellipse", { x: x, y: y + 0.2, w: 0.25, h: 0.25, fill: { color: C.amber } });
s.addText(r, { x: x + 0.32, y: y + 0.1, w: 4.6, h: 0.65, fontSize: 9.5, color: C.black, fontFace: "Calibri", wrap: true });
});
citationLine(s, "RNAO (2012); Compton et al. (2012); Elberzhagen et al. (2019)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 12 – Q2: CASE SCENARIO – MEDICATION ERROR DISAGREEMENT
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question 2 – Case of Conflict: Medication Error Disagreement (A&A 4.4)", "📋");
s.addText("A scenario from real ward practice", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
// Scenario blurb
s.addShape("rect", { x: 0.2, y: 1.06, w: 9.6, h: 0.5, fill: { color: C.lightMint }, line: { color: C.midTeal, width: 1 } });
s.addText("A nurse in a medical ward noticed the doctor had prescribed a dose that seemed too high for an elderly patient. The nurse raised the concern, but the doctor insisted the order was correct – creating open disagreement and tension in the team.", {
x: 0.3, y: 1.08, w: 9.4, h: 0.46, fontSize: 9.5, italic: true, color: C.darkTeal, fontFace: "Calibri", valign: "middle"
});
// 4 info boxes in 2x2
const boxes = [
["How Conflict Arose", C.red,
"• Nurse calculated that the prescribed dose exceeded safe limits for the patient's age and weight\n• Raised concern verbally but the doctor dismissed it, saying the dose was intentional\n• Tension escalated when the nurse escalated to the ward sister",
],
["HCPs Involved", C.midTeal,
"• Prescribing Doctor (Registrar)\n• Ward Nurse (Band 5)\n• Ward Sister / Charge Nurse\n• Clinical Pharmacist",
],
["Who Was Affected", C.amber,
"• The elderly patient was at risk of a medication adverse event\n• The nurse was left feeling unheard and professionally unsafe\n• The wider team noticed the tension, which affected communication",
],
["Resolution", C.green,
"• The pharmacist independently verified the dose – confirming the nurse's concern was valid\n• The dose was adjusted before administration\n• A debrief was held; a double-check protocol for high-risk drugs in elderly patients was introduced",
],
];
boxes.forEach(([title, color, body], i) => {
const col = i % 2, row = Math.floor(i / 2);
const x = col === 0 ? 0.2 : 5.1;
const y = 1.63 + row * 1.6;
s.addShape("rect", { x, y, w: 4.8, h: 1.52, fill: { color: C.white }, line: { color, width: 1.5 } });
s.addShape("rect", { x, y, w: 4.8, h: 0.34, fill: { color }, line: { color, width: 1.5 } });
s.addText(title, { x: x + 0.1, y, w: 4.6, h: 0.34, fontSize: 10, bold: true, color: C.white, fontFace: "Calibri", valign: "middle" });
s.addText(body, { x: x + 0.1, y: y + 0.37, w: 4.6, h: 1.1, fontSize: 8.5, color: C.black, fontFace: "Calibri", wrap: true });
});
citationLine(s, "RNAO (2012); NMC (2018); WHO Medication Safety 2022");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 13 – Q3: EFFECTS OF CONFLICT
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question 3 – Effects of Conflict in an MDT Approach (K&U 4.1)", "📊");
s.addText("Conflict can go both ways", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
// Negative column header
s.addShape("rect", { x: 0.2, y: 1.08, w: 4.7, h: 0.35, fill: { color: C.red } });
s.addText("⬇ NEGATIVE EFFECTS", { x: 0.2, y: 1.08, w: 4.7, h: 0.35, fontSize: 10, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
// Positive column header
s.addShape("rect", { x: 5.1, y: 1.08, w: 4.7, h: 0.35, fill: { color: C.green } });
s.addText("⬆ POSITIVE EFFECTS", { x: 5.1, y: 1.08, w: 4.7, h: 0.35, fontSize: 10, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
const negatives = [
"Patient safety takes a hit – some medication errors happen precisely during conflict",
"Once trust breaks down between nurse and doctor, it takes time to rebuild",
"Ongoing conflict is exhausting – staff burn out and call in sick (Cerqueira et al., 2024)",
"When people stop talking properly, critical clinical info gets missed",
"Patients notice when teams are fractured – it undermines confidence in the service",
];
const positives = [
"When conflict is handled well, teams reflect more deeply on what went wrong",
"The nurse speaking up led to the dose being checked – a near-miss prevented",
"Incident review led to a new double-check protocol for elderly patients",
"Junior staff gain confidence to speak up when they see it's safe to do so",
"Some of the best protocols come out of something nearly going wrong",
];
const negBg = ["FEF0EE", "FDF5F4", "FEF0EE", "FDF5F4", "FEF0EE"];
const posBg = ["EBF7EE", "F5FBF6", "EBF7EE", "F5FBF6", "EBF7EE"];
negatives.forEach((text, i) => {
const y = 1.48 + i * 0.7;
s.addShape("rect", { x: 0.2, y, w: 4.7, h: 0.64, fill: { color: negBg[i] } });
s.addShape("rect", { x: 0.2, y, w: 0.05, h: 0.64, fill: { color: C.red } });
s.addText(text, { x: 0.32, y: y + 0.05, w: 4.52, h: 0.55, fontSize: 8.5, color: C.black, fontFace: "Calibri", wrap: true });
});
positives.forEach((text, i) => {
const y = 1.48 + i * 0.7;
s.addShape("rect", { x: 5.1, y, w: 4.7, h: 0.64, fill: { color: posBg[i] } });
s.addShape("rect", { x: 5.1, y, w: 0.05, h: 0.64, fill: { color: C.green } });
s.addText(text, { x: 5.22, y: y + 0.05, w: 4.52, h: 0.55, fontSize: 8.5, color: C.black, fontFace: "Calibri", wrap: true });
});
citationLine(s, "RNAO (2012); Cerqueira et al. (2024); British Journal of Nursing (2022)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 14 – Q4: POOR GROUP DYNAMICS
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question 4 – Poor Group Dynamics: Causes (S&E 1.3)", "🔍");
s.addText("Group dynamics = how people actually behave and relate within a team", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const items = [
["No Shared Goals", "When each profession pushes its own agenda rather than a shared goal, the patient loses out"],
["Poor Leadership", "A leader who's either too passive or too controlling tends to shut conversation down"],
["Role Ambiguity", "If nobody knows who owns what, tasks get done twice – or not at all"],
["Low Psychological Safety", "Staff who feel they can't speak up just stay quiet – and that clinical information never reaches the team"],
["Ineffective Communication", "One person talking over everyone else, not sharing information, not actually listening"],
["Hierarchy & Power Imbalance", "When seniority silences valid clinical concerns – like a nurse flagging a medication dose – patient safety suffers"],
];
items.forEach(([label, body], i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const x = col === 0 ? 0.2 : 5.1;
const y = 1.08 + row * 1.0;
s.addShape("rect", { x, y, w: 4.8, h: 0.94, fill: { color: row % 2 === 0 ? "FEF9F0" : C.white }, line: { color: C.amberLight, width: 1 } });
s.addShape("rect", { x, y, w: 0.06, h: 0.94, fill: { color: C.amber } });
s.addText(label, { x: x + 0.12, y: y + 0.06, w: 4.6, h: 0.28, fontSize: 9.5, bold: true, color: C.amber, fontFace: "Calibri" });
s.addText(body, { x: x + 0.12, y: y + 0.34, w: 4.6, h: 0.56, fontSize: 8.5, color: C.warmGrey, fontFace: "Calibri", wrap: true });
});
citationLine(s, "Suarez et al. (2022); RNAO (2012)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 15 – Q4: TUCKMAN'S MODEL
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question 4 – Tuckman's Team Development Model (1965)", "🔄");
s.addText("How teams develop over time – it's rarely smooth", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const stages = [
["FORMING", "1", "Team comes\ntogether; roles\noften uncertain", C.midTeal],
["STORMING", "2", "Tensions &\ndisagreements\nstart to appear\n★ Nurse vs Doctor\n in our scenario", C.red],
["NORMING", "3", "Norms start to\nsettle;\nroles clearer", C.amber],
["PERFORMING", "4", "Good trust,\nshared goals;\nPatient care\nat its best", C.green],
["ADJOURNING", "5", "Task done;\nteam wraps up;\nlessons taken\nforward", C.darkTeal],
];
const boxW = 1.72, boxH = 3.0, startX = 0.2;
stages.forEach(([title, num, body, color], i) => {
const x = startX + i * (boxW + 0.12);
s.addShape("rect", { x, y: 1.1, w: boxW, h: boxH, fill: { color }, rounding: 0.07 });
s.addShape("ellipse", { x: x + boxW/2 - 0.3, y: 1.12, w: 0.6, h: 0.6, fill: { color: C.white } });
s.addText(num, { x: x + boxW/2 - 0.3, y: 1.12, w: 0.6, h: 0.6, fontSize: 14, bold: true, color, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText(title, { x, y: 1.78, w: boxW, h: 0.35, fontSize: 9, bold: true, color: C.white, fontFace: "Calibri", align: "center" });
s.addText(body, { x: x + 0.1, y: 2.18, w: boxW - 0.2, h: 1.72, fontSize: 8, color: C.white, fontFace: "Calibri", align: "center", valign: "top", wrap: true });
// Arrow between boxes (except last)
if (i < 4) {
const ax = x + boxW + 0.01;
s.addShape("line", { x: ax, y: 2.6, w: 0.1, h: 0, line: { color: C.warmGrey, width: 1 } });
s.addText("→", { x: ax, y: 2.45, w: 0.14, h: 0.3, fontSize: 10, color: C.warmGrey, fontFace: "Calibri" });
}
});
s.addText("Our scenario sits in Storming – the nurse–doctor disagreement is a classic sign the team hasn't yet reached Norming.", {
x: 0.2, y: 4.2, w: 9.6, h: 0.32, fontSize: 9.5, italic: true, color: C.darkTeal, fontFace: "Calibri"
});
citationLine(s, "Tuckman (1965); Kivunja et al. (2019); British Journal of Nursing (2022)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 16 – Q4: BELBIN + IMPROVEMENT STRATEGIES
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question 4 – Belbin's Team Role Theory & Strategies to Improve Dynamics", "🎯");
// Belbin header
s.addShape("rect", { x: 0.2, y: 0.76, w: 9.6, h: 0.28, fill: { color: C.lightMint } });
s.addText("Belbin's Team Roles (1981) | Aranzabal et al. (2022)", { x: 0.3, y: 0.76, w: 9.4, h: 0.28, fontSize: 10, bold: true, color: C.darkTeal, fontFace: "Calibri", valign: "middle" });
const belbinRows = [
["Thinking Roles", "Plant – creative problem-solver | Monitor-Evaluator – critical thinker | Specialist – expert knowledge", C.blue],
["Social Roles", "Co-ordinator – chairs, delegates | Team Worker – supports morale | Resource Investigator – external links", C.midTeal],
["Action Roles", "Shaper – challenges | Implementer – turns plans into action | Completer Finisher – quality checks", C.amber],
];
belbinRows.forEach(([label, body, color], i) => {
const y = 1.08 + i * 0.42;
s.addShape("rect", { x: 0.2, y, w: 1.5, h: 0.38, fill: { color } });
s.addText(label, { x: 0.2, y, w: 1.5, h: 0.38, fontSize: 8.5, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addShape("rect", { x: 1.74, y, w: 8.06, h: 0.38, fill: { color: i % 2 === 0 ? C.lightMint : C.white } });
s.addText(body, { x: 1.84, y, w: 7.86, h: 0.38, fontSize: 8.5, color: C.black, fontFace: "Calibri", valign: "middle" });
});
// Strategies header
s.addShape("rect", { x: 0.2, y: 2.36, w: 9.6, h: 0.3, fill: { color: C.midTeal } });
s.addText("Strategies to Improve Group Dynamics", { x: 0.3, y: 2.36, w: 9.4, h: 0.3, fontSize: 10, bold: true, color: C.white, fontFace: "Calibri", valign: "middle" });
const strats = [
"Regular team meetings with an actual agenda – not just a catch-up",
"Time spent learning together across professions (inter-professional education)",
"An environment where people feel safe enough to say when something's wrong",
"Formal medication safety protocols – double-check systems for high-risk drugs in vulnerable patients",
"Leadership that reads the room and responds to how the team is feeling",
"Debriefing after near-miss incidents rather than just moving on",
];
strats.forEach((t, i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const x = col === 0 ? 0.2 : 5.1;
const y = 2.72 + row * 0.68;
s.addShape("ellipse", { x: x, y: y + 0.12, w: 0.22, h: 0.22, fill: { color: C.amber } });
s.addText("✓", { x: x, y: y + 0.12, w: 0.22, h: 0.22, fontSize: 7, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText(t, { x: x + 0.28, y, w: 4.52, h: 0.62, fontSize: 8.5, color: C.black, fontFace: "Calibri", wrap: true, valign: "middle" });
});
citationLine(s, "Belbin (1981); Aranzabal et al. (2022); RNAO (2012); Kivunja et al. (2019)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 17 – Q5: SKILLS TO OVERCOME CONFLICT
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question 5 – Skills & Behaviours to Overcome MDT Conflict (A&A 4.2)", "🧠");
s.addText("The personal skills that make the real difference", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const skills = [
["Communication", "Actually listening, confirming understanding, and being direct without getting aggressive. In our scenario, SBAR framing could have structured the nurse's concern clearly (Suarez et al., 2022)"],
["Emotional Intelligence", "Goleman's (1998) five domains – self-awareness, self-regulation, empathy, motivation and social skill – all matter here. Staying calm when dismissed is hard but essential"],
["Assertiveness & Compromise", "Finding a solution everyone can live with, not just 'winning' the argument. The nurse had a professional duty to persist (CMN, 2022; NMC, 2018)"],
["Respect for Diversity", "Recognising that doctors and nurses have different training frames and that's okay – neither side is automatically right"],
["Problem-Solving", "Staying focused on the problem (patient safety) rather than pointing fingers at who was right"],
["Professionalism", "Staying professional even when it's tense – and always keeping the patient at the centre (CNM, 2023)"],
];
skills.forEach(([label, body], i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const x = col === 0 ? 0.2 : 5.1;
const y = 1.08 + row * 1.0;
const colors = [C.blue, C.midTeal, C.amber, C.green, C.red, C.darkTeal];
s.addShape("rect", { x, y, w: 4.8, h: 0.94, fill: { color: C.white }, line: { color: colors[i], width: 1.5 } });
s.addShape("rect", { x, y, w: 0.06, h: 0.94, fill: { color: colors[i] } });
s.addText(label, { x: x + 0.12, y: y + 0.05, w: 4.6, h: 0.28, fontSize: 9.5, bold: true, color: colors[i], fontFace: "Calibri" });
s.addText(body, { x: x + 0.12, y: y + 0.34, w: 4.6, h: 0.56, fontSize: 8, color: C.warmGrey, fontFace: "Calibri", wrap: true });
});
citationLine(s, "Goleman (1998); RNAO (2012); CMN (2022); Suarez et al. (2022); NMC (2018)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 18 – Q6: STRATEGIES TABLE
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question 6 – Strategies to Resolve Conflict in the MDT (K&U 4.3)", "🕊️");
s.addText("Five ways conflict can be dealt with – each has trade-offs", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
// Table headers
const colX = [0.2, 3.0, 5.4, 7.2];
const colW = [2.78, 2.38, 1.78, 2.78];
const headers = ["Strategy", "Description", "Advantages", "Disadvantages"];
headers.forEach((h, i) => {
s.addShape("rect", { x: colX[i], y: 1.08, w: colW[i], h: 0.36, fill: { color: C.darkTeal } });
s.addText(h, { x: colX[i] + 0.05, y: 1.08, w: colW[i] - 0.1, h: 0.36, fontSize: 9.5, bold: true, color: C.white, fontFace: "Calibri", valign: "middle" });
});
const rows = [
["Negotiation / Collaborative", "Both sides talk it through and work toward something they both accept", "Keeps the working relationship intact", "Takes time; may need someone to guide it"],
["Mediation", "Someone outside the dispute helps facilitate", "More structured and objective", "Still takes time; no guaranteed result"],
["Compromise", "Both sides give something up", "Reaches a conclusion quickly", "Nobody's really happy with the outcome"],
["Formal Escalation", "Used when informal attempts have already failed", "Creates a formal record; more transparent", "Can seriously harm working relationships"],
["De-escalation", "Taking a step back, using calm language, acknowledging the other person's view", "Reduces the heat quickly", "Only treats the surface – doesn't fix the underlying problem"],
];
const rowBg = [C.lightMint, C.white, C.lightMint, C.white, C.lightMint];
rows.forEach((row, ri) => {
const y = 1.48 + ri * 0.68;
row.forEach((cell, ci) => {
s.addShape("rect", { x: colX[ci], y, w: colW[ci], h: 0.64, fill: { color: rowBg[ri] }, line: { color: "DDDDDD", width: 0.5 } });
s.addText(cell, { x: colX[ci] + 0.06, y: y + 0.03, w: colW[ci] - 0.12, h: 0.58, fontSize: 8, color: ci === 0 ? C.darkTeal : C.black, bold: ci === 0, fontFace: "Calibri", wrap: true, valign: "middle" });
});
});
citationLine(s, "RNAO (2012): Best strategy: Negotiation / Collaborative Problem-Solving");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 19 – Q6: BEST STRATEGY
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Question 6 – Which Strategy Is Best? (K&U 4.3)", "⭐");
s.addText("What the evidence recommends for the medication error disagreement", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
s.addShape("rect", { x: 0.2, y: 1.07, w: 9.6, h: 0.46, fill: { color: C.lightMint }, line: { color: C.midTeal, width: 1.5 } });
s.addText('The preferred approach: negotiation, with pharmacist verification and escalation only if needed\n"Start by talking it through directly and respectfully. Escalate only when that hasn\'t worked." – RNAO (2012)', {
x: 0.3, y: 1.09, w: 9.4, h: 0.42, fontSize: 9.5, italic: true, color: C.darkTeal, fontFace: "Calibri", valign: "middle"
});
const steps = [
["1", "RAISE CONCERN", "Nurse communicates the medication concern clearly using SBAR format – calm, factual, patient-focused", C.amber],
["2", "VERIFY WITH PHARMACIST", "Loop in the clinical pharmacist to independently verify the dose before escalating the interpersonal conflict", C.midTeal],
["3", "NEGOTIATE", "If the pharmacist confirms the concern, revisit the discussion with the doctor collaboratively – focus on patient safety, not blame", C.green],
["4", "ESCALATE IF NEEDED", "If the doctor still refuses to reconsider and the concern is validated, formal escalation becomes a professional and legal duty (NMC, 2018)", C.red],
];
steps.forEach(([num, title, body, color], i) => {
const y = 1.62 + i * 0.88;
s.addShape("rect", { x: 0.2, y, w: 0.5, h: 0.78, fill: { color } });
s.addText(num, { x: 0.2, y, w: 0.5, h: 0.78, fontSize: 16, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addShape("rect", { x: 0.74, y, w: 9.06, h: 0.78, fill: { color: i % 2 === 0 ? C.lightMint : C.white }, line: { color, width: 0.8 } });
s.addText(title, { x: 0.84, y: y + 0.05, w: 2.5, h: 0.3, fontSize: 10, bold: true, color, fontFace: "Calibri" });
s.addText(body, { x: 0.84, y: y + 0.36, w: 8.88, h: 0.38, fontSize: 8.5, color: C.warmGrey, fontFace: "Calibri", wrap: true });
});
citationLine(s, "RNAO (2012); Compton et al. (2012); NMC (2018)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 20 – PROFESSIONAL STANDARDS
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Professional Standards & Code of Conduct in MDT Practice", "📜");
s.addText("The professional codes that guide MDT practice", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const codes = [
["CNM (2023)", "Council for Nurses & Midwives – Malta", C.midTeal, [
"Respect each person's dignity – always",
"Stay within what you're trained and competent to do",
"Work with the rest of the team, not around them",
]],
["WHO (2024)", "World Health Organisation", C.amber, [
"Everything the team does should centre on the patient",
"Staff should feel safe to raise concerns without fearing consequences",
"Equal access and treatment regardless of background",
]],
["NMC (2018)", "Nursing & Midwifery Council", C.darkTeal, [
"You must act immediately if you believe a person is at risk",
"Escalate concerns when someone is in danger",
"Document clearly and be accountable for your actions",
]],
];
codes.forEach(([code, org, color, points], i) => {
const x = 0.2 + i * 3.27;
s.addShape("rect", { x, y: 1.08, w: 3.07, h: 0.46, fill: { color } });
s.addText(code, { x, y: 1.08, w: 3.07, h: 0.28, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText(org, { x, y: 1.36, w: 3.07, h: 0.18, fontSize: 7.5, color: C.white, fontFace: "Calibri", align: "center", italic: true });
points.forEach((pt, pi) => {
const y = 1.6 + pi * 0.88;
s.addShape("rect", { x, y, w: 3.07, h: 0.82, fill: { color: pi % 2 === 0 ? C.lightMint : C.white }, line: { color, width: 0.8 } });
s.addShape("rect", { x, y, w: 0.06, h: 0.82, fill: { color } });
s.addText(pt, { x: x + 0.12, y: y + 0.05, w: 2.88, h: 0.72, fontSize: 8.5, color: C.black, fontFace: "Calibri", wrap: true, valign: "middle" });
});
});
citationLine(s, "CNM (2023); WHO (2024); NMC (2018)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 21 – PATIENT-CENTRED CARE
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Patient-Centred Care: Liam's Perspective & Family Involvement", "❤️");
s.addText("How PCC actually plays out in Liam's situation", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
s.addShape("rect", { x: 0.2, y: 1.07, w: 9.6, h: 0.42, fill: { color: C.lightMint }, line: { color: C.midTeal, width: 1 } });
s.addText('"Good care for Liam means starting from what actually matters to him – football, friends and the fact he\'s terrified of needles."', {
x: 0.3, y: 1.09, w: 9.4, h: 0.38, fontSize: 9.5, italic: true, color: C.darkTeal, fontFace: "Calibri", valign: "middle"
});
const pcc = [
["Liam's Fear of Needles", "CBT from the psychologist, emla cream from the nurse, distraction tools – and taking it slowly rather than forcing it"],
["Football & Sport", "The exercise physiologist and DSN work together so Liam can play football safely – adjusting food and insulin around training"],
["School Integration", "The school nurse goes in, trains the staff and sets up a personal care plan with the school. Glucagon kit provided."],
["Family Education", "Before leaving hospital, parents are taught by the DSN and dietitian – injections, hypo signs, carb counting. All of it."],
["Emotional Wellbeing", "The psychologist and nurse help the family process the diagnosis. Support groups for kids with T1DM are flagged too (ISPAD, 2022)"],
];
pcc.forEach(([label, body], i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const x = col === 0 ? 0.2 : 5.1;
const y = 1.56 + row * 1.0;
const isFull = (col === 1 && row === 1);
s.addShape("rect", { x, y, w: isFull ? 9.6 : 4.8, h: 0.9, fill: { color: row % 2 === 0 ? C.lightMint : C.white }, line: { color: C.lightMint, width: 0.5 } });
s.addShape("rect", { x, y, w: 0.06, h: 0.9, fill: { color: C.midTeal } });
s.addText(label, { x: x + 0.12, y: y + 0.05, w: 4.6, h: 0.28, fontSize: 9.5, bold: true, color: C.midTeal, fontFace: "Calibri" });
s.addText(body, { x: x + 0.12, y: y + 0.34, w: (isFull ? 9.3 : 4.6), h: 0.52, fontSize: 8.5, color: C.warmGrey, fontFace: "Calibri", wrap: true });
});
citationLine(s, "ISPAD (2022); Suarez et al. (2022); Jennings & Evans (2020)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 22 – INTERPROFESSIONAL COMMUNICATION
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Interprofessional Communication in the MDT", "📡");
s.addText("Tools that help MDTs actually communicate well", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const tools = [
["SBAR Framework", "Situation, Background, Assessment, Recommendation", "Gives handovers a structure – so nothing important gets left out. In our case, the nurse should have used SBAR to raise the medication concern (NHS, 2023)"],
["Closed-Loop Communication", "Sender → Receiver confirms understanding → Sender verifies", "Especially important when prescribing doses – a misheard instruction can cause real harm, as our scenario shows"],
["Safety Huddles", "Quick daily team check-ins – usually five to ten minutes", "Spots risks early and keeps everyone on the same page – a daily huddle may have caught the dose issue before it became a conflict"],
["Electronic Health Records", "Digital notes everyone can access – e.g. Epic or SystmOne", "Everyone updates the same record, so nothing gets written twice and nothing gets missed"],
];
tools.forEach(([title, subtitle, body], i) => {
const y = 1.08 + i * 1.06;
const color = [C.amber, C.midTeal, C.green, C.blue][i];
s.addShape("rect", { x: 0.2, y, w: 9.6, h: 1.0, fill: { color: i % 2 === 0 ? C.lightMint : C.white }, line: { color, width: 1 } });
s.addShape("rect", { x: 0.2, y, w: 0.08, h: 1.0, fill: { color } });
s.addText(title, { x: 0.36, y: y + 0.04, w: 3.2, h: 0.28, fontSize: 10, bold: true, color, fontFace: "Calibri" });
s.addText(subtitle, { x: 0.36, y: y + 0.33, w: 3.2, h: 0.26, fontSize: 8.5, color: C.warmGrey, fontFace: "Calibri", italic: true });
s.addShape("line", { x: 3.7, y: y + 0.1, w: 0, h: 0.8, line: { color: C.lightMint, width: 1 } });
s.addText(body, { x: 3.8, y: y + 0.1, w: 5.9, h: 0.8, fontSize: 8.5, color: C.black, fontFace: "Calibri", wrap: true, valign: "middle" });
});
citationLine(s, "NHS (2023); Pelp et al. (2022); ISPAD (2022)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 23 – ETHICAL DIMENSIONS
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Ethical Dimensions of MDT Practice in Liam's Care", "⚖️");
s.addText("The ethical principles that shape every decision the MDT makes", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, fontFace: "Calibri" });
const ethics = [
["A", "Autonomy", "Liam and his parents both need to be part of every decision. Information must be explained in a way Liam can actually understand. His assent and his parents' consent are needed (CNM, 2023)", C.blue],
["B", "Beneficence", "Every person in that MDT is there to do what's best for Liam – not just managing his blood sugar, but his wellbeing too. Decisions should be grounded in evidence (ISPAD, 2022)", C.green],
["N", "Non-maleficence", "This means taking the needle fear seriously, not discharging until parents are genuinely confident, and making sure education is thorough enough to prevent hypos at home (RNAO, 2012)", C.red],
["J", "Justice", "Liam's access to the full MDT shouldn't depend on what his family can afford. Supplies, school support – all of it should be there for him (CNM, 2023; WHO, 2024)", C.amber],
];
ethics.forEach(([letter, principle, body, color], i) => {
const col = i % 2, row = Math.floor(i / 2);
const x = col === 0 ? 0.2 : 5.2;
const y = 1.1 + row * 2.0;
s.addShape("rect", { x, y, w: 4.7, h: 1.88, fill: { color: C.white }, line: { color, width: 1.5 } });
s.addShape("ellipse", { x: x + 0.15, y: y + 0.15, w: 0.56, h: 0.56, fill: { color } });
s.addText(letter, { x: x + 0.15, y: y + 0.15, w: 0.56, h: 0.56, fontSize: 16, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText(principle, { x: x + 0.82, y: y + 0.15, w: 3.7, h: 0.38, fontSize: 12, bold: true, color, fontFace: "Calibri", valign: "middle" });
s.addText(body, { x: x + 0.15, y: y + 0.76, w: 4.42, h: 1.06, fontSize: 8.5, color: C.warmGrey, fontFace: "Calibri", wrap: true });
});
citationLine(s, "CNM (2023); ISPAD (2022); RNAO (2012); WHO (2024)");
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 24 – REFERENCES
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
headerBand(s, "Reference List", "📚");
s.addText("Harvard Style – British Format", { x: 0.2, y: 0.76, w: 9.6, h: 0.26, fontSize: 11, color: C.midTeal, bold: true, italic: true, fontFace: "Calibri" });
const refs = [
"Aranzabal, A. et al. (2022) Belbin team roles and healthcare teams. Nurse Education Today, 110, p.105249.",
"Cerqueira, P., Pessoa, G. & Costa, R. (2024) Unlocking team potential: examining communication in palliative care. Cureus, 16(11).",
"CNM (2023) Code of Professional Conduct for Nurses and Midwives. Malta: CNM.",
"Compton, J. & Collins, A. (2012) Having Shared Decision-Making in Practice. London: King's Fund.",
"Danne/man, D. (2006) Type 1 Diabetes in Children: ISPAD Clinical Practice Consensus Guidelines 2006.",
"Elberzhagen, C. et al. (2022) Barriers & enablers to interprofessional teamwork. PLoS ONE, 16(4).",
"Goleman, D. (1998) Working with Emotional Intelligence. New York: Bantam Books.",
"He, H. et al. (2022) Effectiveness of MDT working in healthcare. British Journal of Nursing, 31(5).",
"ISPAD (2022) Clinical Practice Consensus Guidelines 2022. Available: ispad.org.",
"Jennings, G. & Evans, A. (2020) MDT working: a structured approach. Nursing in Practice. London.",
"Kivunja, C. & Kivunja, B.M. (2019) Understanding and applying Tuckman's model. Creative Education, 10(7).",
"NMC (2018) The Code: Professional Standards of Practice and Behaviour for Nurses and Midwives. London: NMC.",
"NHS (2023) Framework on Integrated, People-centred Health Services. Geneva: WHO.",
"Proessl, D. et al. (2021) Interprofessional collaboration in chronic disease. Health Policy, 125(2).",
"RNAO (2012) Managing & Mitigating Conflict in Healthcare Teams. Toronto: RNAO.",
"Suarez, K. et al. (2022) MDT barriers and approaches. Journal of Patient Safety, 18(3).",
"Tuckman, B.W. (1965) Developmental sequence in small groups. Psychological Bulletin, 63(6).",
"WHO (2024) Framework on Integrated, People-centred Health Services. Geneva: WHO.",
"WHO (2022) Medication Without Harm – WHO Global Patient Safety Challenge. Geneva: WHO.",
"CDC (2024) The Multidisciplinary DSMES Team. Available: www.cdc.gov.",
];
const col1 = refs.slice(0, 10), col2 = refs.slice(10);
[col1, col2].forEach((col, ci) => {
col.forEach((ref, ri) => {
const x = ci === 0 ? 0.2 : 5.1;
const y = 1.08 + ri * 0.4;
s.addShape("rect", { x: x, y: y, w: 0.08, h: 0.35, fill: { color: ri % 2 === 0 ? C.amber : C.midTeal } });
s.addText(ref, { x: x + 0.14, y: y, w: 4.7, h: 0.38, fontSize: 7.5, color: C.warmGrey, fontFace: "Calibri", wrap: true });
});
});
footerBar(s);
}
// ═══════════════════════════════════════════════════════════════════════════
// SLIDE 25 – THANK YOU
// ═══════════════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape("rect", { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkTeal } });
s.addShape("ellipse", { x: -1.5, y: -1.5, w: 5, h: 5, fill: { color: C.midTeal }, line: { color: C.midTeal } });
s.addShape("ellipse", { x: 7, y: 2.5, w: 4.5, h: 4.5, fill: { color: C.midTeal }, line: { color: C.midTeal } });
s.addShape("rect", { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: C.amber } });
s.addText("🎓", { x: 3.5, y: 0.5, w: 3, h: 0.7, fontSize: 32, align: "center", fontFace: "Segoe UI Emoji" });
s.addText("Thank You", { x: 1, y: 1.2, w: 8, h: 0.9, fontSize: 44, bold: true, color: C.amberLight, fontFace: "Calibri", align: "center" });
s.addText("Questions? Open discussion welcome.", { x: 1, y: 2.18, w: 8, h: 0.36, fontSize: 14, color: C.white, fontFace: "Calibri", align: "center" });
s.addShape("rect", { x: 3, y: 2.62, w: 4, h: 0.05, fill: { color: C.amberLight } });
s.addText("Key Takeaways", { x: 1, y: 2.74, w: 8, h: 0.3, fontSize: 12, bold: true, color: C.amberLight, fontFace: "Calibri", align: "center" });
const takeaways = [
["1", "Liam needs a big team – around 10 professionals – because his needs go far beyond insulin alone"],
["2", "Good MDT working comes down to clear communication, knowing your role and sharing the load"],
["3", "Conflict happens in every team. A nurse raising a medication concern is a patient safety act, not an attack"],
["4", "Tuckman and Belbin give us a useful language for understanding why teams behave the way they do"],
["5", "Use SBAR to raise concerns. Talk it out first. Escalate only when you have to."],
];
takeaways.forEach(([num, text], i) => {
const y = 3.1 + i * 0.44;
s.addShape("ellipse", { x: 1, y: y + 0.04, w: 0.28, h: 0.28, fill: { color: C.amber } });
s.addText(num, { x: 1, y: y + 0.04, w: 0.28, h: 0.28, fontSize: 9, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText(text, { x: 1.36, y: y, w: 7.6, h: 0.38, fontSize: 9.5, color: C.lightMint, fontFace: "Calibri", wrap: true });
});
footerBar(s);
}
// WRITE FILE
const outPath = "/home/daytona/workspace/medication-error-ppt/Group_Dynamics_Conflict_Updated.pptx";
pres.writeFile({ fileName: outPath }).then(() => {
console.log("Done: " + outPath);
}).catch(err => {
console.error("Error:", err);
process.exit(1);
});
cd /home/daytona/workspace/medication-error-ppt && node build.js 2>&1
python3 /home/daytona/skills/pptx/scripts/thumbnail.py "/home/daytona/workspace/medication-error-ppt/Group_Dynamics_Conflict_Updated.pptx" 2>&1
25 pages
Group Dynamics Conflict Updated
Presentation · PPTX
| Slides | Content |
|---|---|
| 1 | Title slide (teal-green + amber palette) |
| 2 | Who is Liam? (case overview) |
| 3 | TASK 1 banner |
| 4-9 | Task 1 – Questions A, A(1), A(2), B, C, D (kept exactly as original) |
| 10 | TASK 2 banner - now says Medication Error Disagreement |
| 11 | Q1 – Defining Conflict & Why It Occurs |
| 12 | Q2 – NEW case scenario: nurse vs doctor medication dose dispute in a medical ward |
| 13 | Q3 – Effects of conflict (negative + positive) |
| 14 | Q4 – Poor group dynamics causes |
| 15 | Q4 – Tuckman's model (Storming stage linked to the nurse-doctor scenario) |
| 16 | Q4 – Belbin roles + improvement strategies (includes double-check protocol) |
| 17 | Q5 – Skills to overcome conflict (SBAR framing, NMC duty to escalate) |
| 18 | Q6 – Resolution strategies table |
| 19 | Q6 – Best strategy (4-step: Raise → Verify with pharmacist → Negotiate → Escalate) |
| 20-25 | Professional standards, PCC, communication tools, ethics, references, Thank You |
References in pdf
python3 -c " from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm from reportlab.lib import colors from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, HRFlowable from reportlab.lib.enums import TA_LEFT, TA_CENTER refs = [ 'Aranzabal, A. et al. (2022) Belbin team roles and healthcare teams. <i>Nurse Education Today</i>, 110, p.105249.', 'Cerqueira, P., Pessoa, G. and Costa, R. (2024) Unlocking team potential: examining communication in palliative care. <i>Cureus</i>, 16(11).', 'CNM (2023) <i>Code of Professional Conduct for Nurses and Midwives</i>. Malta: Council for Nurses and Midwives.', 'Compton, J. and Collins, A. (2012) <i>Having Shared Decision-Making in Practice</i>. London: King\'s Fund.', 'Danne, T. et al. (2006) Type 1 Diabetes in Children: ISPAD Clinical Practice Consensus Guidelines 2006. <i>Pediatric Diabetes</i>, 7(Suppl 6), pp.1-8.', 'Davis, E.A. (2017) Nutritional management of type 1 diabetes in children. <i>Pediatric Clinics of North America</i>, 64(6), pp.1515-1527.', 'Elberzhagen, C. et al. (2022) Barriers and enablers to interprofessional teamwork in hospitals. <i>PLoS ONE</i>, 16(4), e0249492.', 'Fengsil, A. et al. (2006) Psychological aspects of paediatric diabetes. <i>Pediatric Diabetes</i>, 7(Suppl 6), pp.12-18.', 'Goleman, D. (1998) <i>Working with Emotional Intelligence</i>. New York: Bantam Books.', 'Guare, J. et al. (2022) Addressing professional tribalism in healthcare teams. <i>Journal of Interprofessional Care</i>, 36(3), pp.345-352.', 'He, H. et al. (2022) Effectiveness of multidisciplinary team working in healthcare. <i>British Journal of Nursing</i>, 31(5), pp.262-268.', 'ISPAD (2022) <i>Clinical Practice Consensus Guidelines 2022</i>. Berlin: International Society for Pediatric and Adolescent Diabetes. Available at: www.ispad.org (Accessed: 8 June 2026).', 'Jennings, G. and Evans, A. (2020) MDT working: a structured approach to team collaboration. <i>Nursing in Practice</i>. London.', 'Kivunja, C. and Kivunja, B.M. (2019) Understanding and applying Tuckman\'s forming, storming, norming and performing group development model. <i>Creative Education</i>, 10(7), pp.1895-1906.', 'NHS (2023) <i>NHS Framework on Integrated, People-centred Health Services</i>. Geneva: World Health Organisation.', 'NMC (2018) <i>The Code: Professional Standards of Practice and Behaviour for Nurses, Midwives and Nursing Associates</i>. London: Nursing and Midwifery Council.', 'Pelp, C. et al. (2022) Interprofessional communication and patient safety. <i>BMJ Open Quality</i>, 11(3), e001812.', 'Proessl, D. et al. (2021) Interprofessional collaboration in chronic disease management. <i>Health Policy</i>, 125(2), pp.198-206.', 'RNAO (2012) <i>Managing and Mitigating Conflict in Healthcare Teams</i>. Toronto: Registered Nurses\' Association of Ontario.', 'Suarez, K. et al. (2022) MDT barriers and approaches to effective teamwork. <i>Journal of Patient Safety</i>, 18(3), pp.212-219.', 'Tuckman, B.W. (1965) Developmental sequence in small groups. <i>Psychological Bulletin</i>, 63(6), pp.384-399.', 'WHO (2022) <i>Medication Without Harm – WHO Global Patient Safety Challenge</i>. Geneva: World Health Organisation.', 'WHO (2024) <i>Framework on Integrated, People-centred Health Services</i>. Geneva: World Health Organisation.', 'CDC (2024) <i>The Multidisciplinary DSMES Team</i>. Atlanta: Centers for Disease Control and Prevention. Available at: www.cdc.gov (Accessed: 8 June 2026).', ] out = '/home/daytona/workspace/medication-error-ppt/References.pdf' doc = SimpleDocTemplate(out, pagesize=A4, leftMargin=2.5*cm, rightMargin=2.5*cm, topMargin=2.5*cm, bottomMargin=2.5*cm) teal = colors.HexColor('#1B4F5A') amber = colors.HexColor('#C8852A') grey = colors.HexColor('#6B6B6B') mint = colors.HexColor('#D4EDE8') styles = getSampleStyleSheet() title_style = ParagraphStyle('title', fontSize=18, fontName='Helvetica-Bold', textColor=teal, alignment=TA_CENTER, spaceAfter=4) sub_style = ParagraphStyle('sub', fontSize=10, fontName='Helvetica-Oblique', textColor=grey, alignment=TA_CENTER, spaceAfter=14) ref_style = ParagraphStyle('ref', fontSize=9.5, fontName='Helvetica', textColor=colors.HexColor('#1A1A1A'), leftIndent=18, firstLineIndent=-18, leading=14, spaceAfter=6) num_style = ParagraphStyle('num', fontSize=9.5, fontName='Helvetica-Bold', textColor=amber) story = [] story.append(Paragraph('Reference List', title_style)) story.append(Paragraph('Harvard Style – British Format | Multidisciplinary Approaches in Health & Social Care', sub_style)) story.append(HRFlowable(width='100%', thickness=2, color=amber, spaceAfter=14)) for i, ref in enumerate(refs): num = f'<font color=\"#C8852A\"><b>{i+1}.</b></font> ' story.append(Paragraph(num + ref, ref_style)) if i < len(refs) - 1: story.append(HRFlowable(width='100%', thickness=0.3, color=colors.HexColor('#D4EDE8'), spaceAfter=2)) story.append(Spacer(1, 0.4*cm)) story.append(HRFlowable(width='100%', thickness=1.5, color=teal, spaceAfter=6)) story.append(Paragraph('Undergraduate Certificate in Nursing Studies | Lecturer: Ms Dorianne Cachia | June 2026', sub_style)) doc.build(story) print('Done:', out) "
References
PDF Document · PDF