My pdf of irb is attached kindly make ppt with *READ CAREFULLY* *Guidelines for Preparing PowerPoint Presentations for NHLIRB Meetings* To ensure clarity and professionalism, all presenters must strictly follow these guidelines while preparing their PowerPoint slides. 1. General Formatting ✅ Background: Plain white background (no patterns, gradients, or images). ✅ Font Type: Use only Calibri. ✅ Font Size: Title: 28pt (Bold) Headings: 24pt (Bold) Body Text: 20pt References: 18 pt (Vancouver style) ✅ Text Formatting: Use black text only; avoid excessive underlining, italics, or colors. ✅ Slide Layout: Keep slides clean and organized—no excessive text; use bullet points. 2. Content Structure Your PowerPoint must be structured as follows: 1️⃣ Title Slide Title of the Study Name of Principal Investigator & Co-investigators Department & Institution 2️⃣ Introduction (1-2 slides) Background & Rationale Research Question & Hypothesis 3️⃣ Aims & Objectives (1 slide) Clearly mention Primary and Secondary Objectives 4️⃣ Methodology (3-4 slides) Study Design & Setting Inclusion & Exclusion Criteria Sample Size & Sampling Method Study Procedures Outcome Measures 5️⃣ Ethical Considerations (1 slide) Informed Consent Process Confidentiality Measures 6️⃣ Data Analysis (1 slide) Statistical Methods 7️⃣ Proforma/Case Record Form (1 slide) Provide a structured format of the data collection tool 8️⃣ Informed Consent Form (ICF) in All Languages (1 slide each) Ensure that the ICF is available in all required languages 9️⃣ References (1 slide, Vancouver Style) Cite references as per Vancouver style 3. Additional Instructions ❌ DO NOT copy and paste your Word file into slides. Summarize and present key points. ❌ DO NOT use dense paragraphs. Use short bullet points. You can increase the number of slides but do not decrease the font size and try to accommodate all points in one slide. ✅ Use charts/tables where applicable for clarity. ✅ Ensure proper alignment and spacing for readability. ✅ Practice your presentation to ensure smooth delivery.
~/
~/attachments
ICH E6(R3) informed consent confidentiality clinical research ethics guidelines
Your IRB deck contains several sections. Which should I prioritize in detail first?
This is IRB of my theisis make a ppt
python - <<'PY' import pdfplumber p='/tmp/workspace/attachments/0227fd80-183e-4577-bfc2-2d615d6cc492/Ayushi irb.pdf' with pdfplumber.open(p) as pdf: print('PAGES',len(pdf.pages)) for i,page in enumerate(pdf.pages,1): text=page.extract_text(x_tolerance=1,y_tolerance=3) or '' print(f'\n===== PAGE {i} =====\n{text[:12000]}') PY
"heart failure"[MeSH Terms] AND "red cell distribution width"
~/
mkdir -p "/tmp/workspace/irb_ppt/src" "/tmp/workspace/irb_ppt/output" && python - <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR from pptx.enum.dml import MSO_LINE from pptx.enum.text import MSO_AUTO_SIZE from pptx.enum.shapes import MSO_SHAPE_TYPE from pptx.enum.text import MSO_VERTICAL_ANCHOR OUT='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation.pptx' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5) blank=prs.slide_layouts[6] WHITE=RGBColor(255,255,255); BLACK=RGBColor(0,0,0); GREY=RGBColor(110,110,110) FONT='Calibri' def rect(slide,x,y,w,h,fill=None,line=BLACK,width=1): s=slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h)) s.fill.solid(); s.fill.fore_color.rgb=fill or WHITE s.line.color.rgb=line; s.line.width=Pt(width) return s def text(slide,x,y,w,h,content,size=20,bold=False,align=PP_ALIGN.LEFT, valign=MSO_ANCHOR.TOP, color=BLACK, bullets=False, level=0, font=FONT): box=slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=box.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=content if isinstance(content,list) else [content] for i,line in enumerate(lines): p=tf.paragraphs[0] if i==0 else tf.add_paragraph() p.text=line p.alignment=align p.level=level p.space_after=Pt(7 if bullets else 3) p.font.name=font; p.font.size=Pt(size); p.font.bold=bold; p.font.color.rgb=color if bullets: p.text='• '+line return box def base(title, subtitle=None): s=prs.slides.add_slide(blank) s.background.fill.solid(); s.background.fill.fore_color.rgb=WHITE text(s,.55,.35,12.2,.45,title,24,True) # understated black rule line=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(.55), Inches(.95), Inches(12.78), Inches(.95)); line.line.color.rgb=BLACK; line.line.width=Pt(1.2) if subtitle: text(s,.55,7.12,12.2,.18,subtitle,18,False,PP_ALIGN.RIGHT,color=GREY) return s def footer(s,n): text(s,.55,7.12,1,.18,str(n),18,False,color=GREY) def bullet_slide(title, lead, bullets, n): s=base(title); text(s,.7,1.25,11.8,.55,lead,20,True) text(s,.9,2.0,11.5,4.7,bullets,20,False,bullets=True) footer(s,n); return s # 1 s=prs.slides.add_slide(blank); s.background.fill.solid(); s.background.fill.fore_color.rgb=WHITE text(s,.8,1.0,11.7,1.45,'A Study of Red Cell Distribution Width as a Prognostic Marker in Patients with Heart Failure',28,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) line=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(2.1), Inches(2.85), Inches(11.2), Inches(2.85)); line.line.color.rgb=BLACK; line.line.width=Pt(1.25) text(s,1.4,3.25,10.6,2.6,['Principal Investigator: Dr. Ayushi Agrawal','2nd Year Resident, General Medicine','P.G. Guide: Dr. P. N. Palat, Head of Unit','Co-guides: Dr. Rajkamal Chaudhary, Associate Professor; Dr. Dhwani Shah, Assistant Professor','Smt. NHL Municipal Medical College, Ahmedabad'],20,False,PP_ALIGN.CENTER) text(s,1.4,6.6,10.6,.3,'Institutional Review Board Presentation',20,False,PP_ALIGN.CENTER) #2 bullet_slide('Background and Rationale','Heart failure needs accessible prognostic markers in routine care.',[ 'Heart failure is a clinical syndrome caused by structural and/or functional cardiac abnormalities.', 'Red cell distribution width (RDW) is a routine complete blood count parameter that reflects anisocytosis.', 'Elevated RDW may reflect inflammation, iron dysregulation, nutritional deficiency, or bone marrow dysfunction.', 'RDW is inexpensive and readily available, but its prognostic utility in local heart failure populations requires evaluation.' ],2) #3 bullet_slide('Research Question and Hypothesis','Research question: Can baseline RDW predict adverse clinical outcomes in adults with heart failure?',[ 'Hypothesis: Higher baseline RDW is associated with greater disease severity and a higher risk of adverse outcomes.', 'Adverse outcomes assessed during follow-up: hospital readmission and/or mortality.', 'Clinical value: a simple biomarker may support risk stratification in resource-constrained settings.' ],3) #4 s=base('Aim and Objectives'); text(s,.75,1.25,11.5,.55,'Aim',24,True); text(s,.75,1.85,11.5,.5,'To evaluate RDW as a prognostic marker in patients with heart failure.',20) text(s,.75,2.8,11.5,.55,'Objectives',24,True) text(s,.9,3.45,11.5,2.7,[ 'Primary: Measure RDW levels in patients diagnosed with heart failure.', 'Secondary: Assess the association of RDW with clinical outcomes in heart failure.', 'Secondary: Determine the prognostic value of RDW for disease severity and adverse outcomes.' ],20,False,bullets=True); footer(s,4) #5 design s=base('Methodology: Study Design and Setting') labels=[('Design','Prospective observational study'),('Duration','1 year from IRB approval'),('Setting','Tertiary care hospital'),('Population','Adults with heart failure')] for i,(a,b) in enumerate(labels): x=.8+(i%2)*6.15; y=1.45+(i//2)*2.35 rect(s,x,y,5.45,1.6); text(s,x+.25,y+.22,4.9,.35,a,24,True); text(s,x+.25,y+.75,4.9,.55,b,20) text(s,.8,6.3,11.4,.5,'Diagnosis based on standard clinical and echocardiographic criteria.',20,False); footer(s,5) #6 s=base('Methodology: Eligibility Criteria') text(s,.7,1.2,5.6,.45,'Inclusion Criteria',24,True); text(s,.9,1.85,5.2,4.4,[ 'Age ≥18 years', 'Heart failure diagnosed by standard clinical, laboratory, and echocardiographic criteria', 'Written informed consent', 'Routine complete blood count at enrolment' ],20,False,bullets=True) text(s,6.85,1.2,5.7,.45,'Exclusion Criteria',24,True); text(s,7.05,1.85,5.4,4.9,[ 'Hematological disorders affecting red cell indices', 'Hemoglobin <9 g/dL', 'Blood transfusion within 3 months', 'Active infection, inflammatory disease, malignancy, chronic liver disease, or end-stage renal disease', 'Pregnant or lactating women', 'Unable or unwilling to consent' ],20,False,bullets=True); footer(s,6) #7 flow s=base('Methodology: Recruitment and Study Procedures') steps=[('Screening','Adults with heart failure'),('Eligibility','Apply inclusion/exclusion criteria'),('Consent','Written informed consent'),('Baseline','Clinical data + routine CBC including RDW'),('Follow-up','Severity, readmission and/or mortality')] for i,(a,b) in enumerate(steps): x=.45+i*2.56; y=2.45 rect(s,x,y,2.25,1.4); text(s,x+.12,y+.2,2.0,.32,a,24,True,PP_ALIGN.CENTER); text(s,x+.12,y+.68,2.0,.5,b,20,False,PP_ALIGN.CENTER) if i<4: line=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(x+2.25), Inches(3.15), Inches(x+2.52), Inches(3.15)); line.line.color.rgb=BLACK; line.line.width=Pt(1) text(s,.75,5.1,11.7,.55,'Sampling: eligible patients enrolled during the study period, according to the submitted protocol.',20,False); footer(s,7) #8 s=base('Methodology: Variables and Outcome Measures') text(s,.75,1.25,5.65,.45,'Baseline Data',24,True) text(s,.95,1.9,5.3,3.9,['Demographics and clinical history','Physical examination and vital signs','Investigations: CBC with RDW, ECG, chest X-ray, echocardiography, NT-proBNP, renal function tests and other routine tests','NYHA functional classification and prior hospitalisation'],20,False,bullets=True) text(s,6.85,1.25,5.65,.45,'Outcome Measures',24,True) text(s,7.05,1.9,5.25,3.5,['Disease severity','Hospital readmission during follow-up','Mortality during follow-up'],20,False,bullets=True) footer(s,8) #9 bullet_slide('Data Analysis Plan','Data will be analysed after completion of data collection.',[ 'Descriptive statistics for baseline demographic, clinical, and laboratory variables.', 'Participants will be analysed according to RDW values and clinical outcome status.', 'Appropriate statistical tests will assess associations between RDW, disease severity, readmission, and mortality.', 'Prognostic performance will be evaluated using suitable regression and discrimination analyses, where data permit.', 'Statistical significance threshold and final methods will be specified in the statistical analysis plan.' ],9) #10 s=base('Ethical Considerations, Risks and Benefits') text(s,.75,1.2,5.6,.45,'Participant Protection',24,True); text(s,.95,1.85,5.25,4.2,['Written informed consent prior to enrolment','Participation is voluntary; withdrawal is permitted at any time','No change to regular treatment decided by the treating physician','Data accessible only to investigators and handled confidentially'],20,False,bullets=True) text(s,6.85,1.2,5.6,.45,'Risk-Benefit Assessment',24,True); text(s,7.05,1.85,5.2,4.2,['Minimal risk: investigations, including RDW, are part of routine clinical care','No additional invasive procedure solely for research','No assured direct participant benefit','Potential societal benefit: improved future risk stratification in heart failure'],20,False,bullets=True); footer(s,10) #11 proforma s=base('Clinical Proforma / Case Record Form') headers=['Domain','Key data fields'] rows=[('Identification','Patient ID, age, gender'),('Clinical history','Symptoms, risk factors, addictions, family history'),('Examination','Weight, height, BMI, vital signs, signs of congestion'),('Investigations','ECG, chest X-ray, echocardiography, CBC/RDW, NT-proBNP, troponin, RFT'),('Classification and outcome','NYHA class, prior admission, follow-up outcome')] # simple table shape=s.shapes.add_table(len(rows)+1,2, Inches(.7), Inches(1.3), Inches(11.9), Inches(4.9)); table=shape.table; table.columns[0].width=Inches(3.15); table.columns[1].width=Inches(8.75) for j,h in enumerate(headers): c=table.cell(0,j); c.text=h; c.fill.solid(); c.fill.fore_color.rgb=WHITE for i,row in enumerate(rows,1): for j,val in enumerate(row): c=table.cell(i,j); c.text=val; c.fill.solid(); c.fill.fore_color.rgb=WHITE for r in table.rows: for c in r.cells: c.margin_left=Inches(.08); c.margin_right=Inches(.08); c.margin_top=Inches(.04); c.margin_bottom=Inches(.04) for p in c.text_frame.paragraphs: p.font.name=FONT; p.font.size=Pt(20); p.font.color.rgb=BLACK for c in table.rows[0].cells: for p in c.text_frame.paragraphs: p.font.bold=True; p.font.size=Pt(20) footer(s,11) #12 icf s=base('Informed Consent Form: Available Languages') text(s,.75,1.2,11.6,.45,'The submitted consent form is available in three languages.',24,True) langs=[('English','Participant information, confidentiality, voluntary participation, withdrawal, signatures and date'),('Hindi','Same consent elements in Hindi'),('Gujarati','Same consent elements in Gujarati')] for i,(a,b) in enumerate(langs): y=2.0+i*1.35; rect(s,.85,y,11.55,1.0); text(s,1.1,y+.15,2.2,.35,a,24,True); text(s,3.2,y+.18,8.8,.5,b,20) text(s,.85,6.3,11.5,.35,'Consent is obtained in writing before inclusion in the study.',20); footer(s,12) #13 refs s=base('References') refs=[ '1. Felker GM, Allen LA, Pocock SJ, et al. Red cell distribution width as a novel prognostic marker in heart failure: data from the CHARM Program and the Duke Databank. J Am Coll Cardiol. 2007;50(1):40-47.', '2. Tonelli M, Sacks F, Arnold M, et al. Relation between red blood cell distribution width and cardiovascular event rate in people with coronary disease. Circulation. 2008;117(2):163-168.', '3. van Kimmenade RRJ, Mohammed AA, Uthamalingam S, et al. Red blood cell distribution width and 1-year mortality in acute heart failure. Eur J Heart Fail. 2010;12(2):129-136.', '4. Allen LA, Felker GM, Mehra MR, et al. Validation and potential mechanisms of red cell distribution width as a prognostic marker in heart failure. J Card Fail. 2010;16(3):230-238.', '5. Kumar V, Ramamoorthi K, Shridhar M. Red cell distribution width as a prognostic marker for patients with heart failure. Int J Acad Med. 2024;10(4):217-223.' ] text(s,.75,1.25,11.8,5.9,refs,18,False); footer(s,13) # all enforce black + Calibri where possible for slide in prs.slides: for shape in slide.shapes: if shape.has_text_frame: for p in shape.text_frame.paragraphs: for r in p.runs: r.font.name=FONT r.font.color.rgb=BLACK prs.core_properties.title='RDW as a Prognostic Marker in Heart Failure - IRB Presentation' prs.core_properties.author='Dr. Ayushi Agrawal' prs.save(OUT) print(OUT) PY python - <<'PY' from pptx import Presentation p='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation.pptx' prs=Presentation(p) print('slides=',len(prs.slides)) for i,s in enumerate(prs.slides,1): txt=' '.join(sh.text.replace('\n',' | ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()) print(i, txt[:150]) PY
python - <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR p='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation.pptx' prs=Presentation(p) # Remove combined consent-language slide, 0-based index 11. slide=prs.slides._sldIdLst[11] rel_id=slide.rId prs.part.drop_rel(rel_id) del prs.slides._sldIdLst[11] blank=prs.slide_layouts[6] BLACK=RGBColor(0,0,0); WHITE=RGBColor(255,255,255); GREY=RGBColor(110,110,110) def text(s,x,y,w,h,content,size=20,bold=False,align=PP_ALIGN.LEFT,color=BLACK): box=s.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=box.text_frame tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=tf.margin_top=tf.margin_bottom=0 for i,line in enumerate(content if isinstance(content,list) else [content]): q=tf.paragraphs[0] if i==0 else tf.add_paragraph(); q.text=line; q.alignment=align; q.space_after=Pt(8) q.font.name='Calibri'; q.font.size=Pt(size); q.font.bold=bold; q.font.color.rgb=color return box def base(title): s=prs.slides.add_slide(blank); s.background.fill.solid(); s.background.fill.fore_color.rgb=WHITE text(s,.55,.35,12.2,.45,title,24,True) l=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(.55), Inches(.95), Inches(12.78), Inches(.95)); l.line.color.rgb=BLACK; l.line.width=Pt(1.2) return s def consent(title, language, statements): s=base(title) text(s,.75,1.2,11.7,.38,language,24,True) text(s,.85,1.85,11.5,4.7,statements,20,False) text(s,.75,6.7,11.6,.25,'Participant/representative signature or thumbprint | Investigator signature | Date',18,False) return s consent('Informed Consent Form: English','Key participant-consent statements',[ 'I have been informed about the study: “A Study of Red Cell Distribution Width as a Prognostic Marker in Patients with Heart Failure.”', 'The information collected will be confidential and accessible only to the investigators.', 'The study will not affect my regular standard treatment, which will be decided by my treating physician.', 'My participation is voluntary. I may withdraw my consent at any time.', 'I give my written informed consent to participate in this educational research study.' ]) consent('Informed Consent Form: Hindi','मुख्य प्रतिभागी-सहमति कथन',[ 'मुझे इस अध्ययन के बारे में समझाया गया है: “हृदय विफलता के मरीजों में रोग के पूर्वानुमान के संकेतक के तौर पर लाल रक्त कोशिका वितरण चौड़ाई का अध्ययन।”', 'एकत्रित जानकारी गोपनीय रखी जाएगी और केवल अनुसंधानकर्ताओं के लिए उपलब्ध होगी।', 'इस अध्ययन से मेरे चिकित्सक द्वारा तय नियमित उपचार पर कोई प्रभाव नहीं पड़ेगा।', 'अध्ययन में मेरी भागीदारी स्वैच्छिक है और मैं किसी भी समय अपनी सहमति वापस ले सकता/सकती हूँ।', 'मैं अध्ययन में शामिल होने के लिए अपनी लिखित सूचित सहमति देता/देती हूँ।' ]) consent('Informed Consent Form: Gujarati','મુખ્ય સહમતિ નિવેદનો',[ 'મને અભ્યાસ વિશે સમજાવવામાં આવ્યું છે: “હૃદય નિષ્ફળતાવાળા દર્દીઓમાં પૂર્વાનુમાનના સૂચક તરીકે રેડ સેલ ડિસ્ટ્રિબ્યુશન વિડ્થનો અભ્યાસ।”', 'એકત્રિત માહિતી ગોપનીય રાખવામાં આવશે અને માત્ર સંશોધકોને ઉપલબ્ધ રહેશે।', 'આ અભ્યાસથી મારા સારવાર કરનાર તબીબ દ્વારા નક્કી કરાયેલ નિયમિત સારવાર પર કોઈ અસર થશે નહીં।', 'અભ્યાસમાં મારી ભાગીદારી સ્વૈચ્છિક છે અને હું કોઈપણ સમયે મારી સંમતિ પાછી ખેંચી શકું છું।', 'હું અભ્યાસમાં ભાગ લેવા માટે મારી લેખિત સૂચિત સંમતિ આપું છું।' ]) # Reorder: new slides now appended after references. Move references (currently before append) to last. # Initial after deletion: 12 slides, refs at index 11; appended consent at 12,13,14 sldIdLst=prs.slides._sldIdLst ref=sldIdLst[11] del sldIdLst[11] sldIdLst.append(ref) # renumber slide footers as displayed including consent/ref slides for i,slide in enumerate(prs.slides,1): # identify a lone numeric footer only based y > 6.9 for sh in slide.shapes: if getattr(sh,'has_text_frame',False) and sh.top > Inches(6.9) and sh.text.strip().isdigit(): sh.text_frame.paragraphs[0].text=str(i) rr=sh.text_frame.paragraphs[0].runs[0]; rr.font.name='Calibri'; rr.font.size=Pt(18); rr.font.color.rgb=GREY # Add footer on new consent slides for i in (11,12,13): text(prs.slides[i],.55,7.12,1,.18,str(i+1),18,False,color=GREY) # ensure all fonts Calibri black except numeric grey can remain for sl in prs.slides: for sh in sl.shapes: if sh.has_text_frame: for para in sh.text_frame.paragraphs: for run in para.runs: run.font.name='Calibri' prs.save(p) print('saved', len(prs.slides)) PY python - <<'PY' from pptx import Presentation from pptx.util import Pt p='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation.pptx' prs=Presentation(p) print('Slide count:',len(prs.slides)) 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',' | ')) print(f'{i:02}: {texts[0][:90] if texts else "[table-only]"}') # formatting audit for text runs allowed={18.0,20.0,24.0,28.0} issues=[] for i,s in enumerate(prs.slides,1): for sh in s.shapes: if getattr(sh,'has_text_frame',False): for para in sh.text_frame.paragraphs: for r in para.runs: if r.font.size and r.font.size.pt not in allowed: issues.append((i,r.text,r.font.size.pt)) print('font-size issues',issues[:10], 'count',len(issues)) PY
python - <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN from pptx.enum.shapes import MSO_CONNECTOR src='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation.pptx' out='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation_FINAL.pptx' prs=Presentation(src) # remove last corrupted duplicate el=prs.slides._sldIdLst[-1]; rid=el.rId; prs.part.drop_rel(rid); del prs.slides._sldIdLst[-1] # add fresh reference slide s=prs.slides.add_slide(prs.slide_layouts[6]); s.background.fill.solid(); s.background.fill.fore_color.rgb=RGBColor(255,255,255) def tx(x,y,w,h,content,size,bold=False,align=PP_ALIGN.LEFT,color=RGBColor(0,0,0)): b=s.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=b.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=tf.margin_top=tf.margin_bottom=0 for i,line in enumerate(content if isinstance(content,list) else [content]): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=line; p.alignment=align; p.space_after=Pt(8); p.font.name='Calibri'; p.font.size=Pt(size); p.font.bold=bold; p.font.color.rgb=color return b tx(.55,.35,12.2,.45,'References',24,True) l=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(.55), Inches(.95), Inches(12.78), Inches(.95)); l.line.color.rgb=RGBColor(0,0,0); l.line.width=Pt(1.2) refs=['1. Felker GM, Allen LA, Pocock SJ, et al. Red cell distribution width as a novel prognostic marker in heart failure: data from the CHARM Program and the Duke Databank. J Am Coll Cardiol. 2007;50(1):40-47.','2. Tonelli M, Sacks F, Arnold M, et al. Relation between red blood cell distribution width and cardiovascular event rate in people with coronary disease. Circulation. 2008;117(2):163-168.','3. van Kimmenade RRJ, Mohammed AA, Uthamalingam S, et al. Red blood cell distribution width and 1-year mortality in acute heart failure. Eur J Heart Fail. 2010;12(2):129-136.','4. Allen LA, Felker GM, Mehra MR, et al. Validation and potential mechanisms of red cell distribution width as a prognostic marker in heart failure. J Card Fail. 2010;16(3):230-238.','5. Kumar V, Ramamoorthi K, Shridhar M. Red cell distribution width as a prognostic marker for patients with heart failure. Int J Acad Med. 2024;10(4):217-223.'] tx(.75,1.25,11.8,5.8,refs,18) tx(.55,7.12,1,.18,'15',18,False,color=RGBColor(110,110,110)) prs.save(out) print(out, len(prs.slides)) PY python - <<'PY' from pptx import Presentation p='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation_FINAL.pptx' prs=Presentation(p) print('slides',len(prs.slides)) for i,s in enumerate(prs.slides,1): t=[x.text.replace('\n',' ') for x in s.shapes if getattr(x,'has_text_frame',False) and x.text.strip()] print(i, t[0][:70] if t else 'NO TEXT') PY
python - <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN from pptx.enum.shapes import MSO_CONNECTOR src='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation_FINAL.pptx' out='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation_NHLIRB.pptx' prs=Presentation(src) # Remove both erroneous reference slides at positions 15 and 12, reverse order for idx in [14,11]: element=prs.slides._sldIdLst[idx] prs.part.drop_rel(element.rId) del prs.slides._sldIdLst[idx] BLACK=RGBColor(0,0,0); WHITE=RGBColor(255,255,255); GREY=RGBColor(110,110,110) def make_base(title): s=prs.slides.add_slide(prs.slide_layouts[6]); s.background.fill.solid(); s.background.fill.fore_color.rgb=WHITE def add(x,y,w,h,items,size,bold=False,align=PP_ALIGN.LEFT,color=BLACK): box=s.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=box.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=tf.margin_top=tf.margin_bottom=0 for i,it in enumerate(items if isinstance(items,list) else [items]): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=it; p.alignment=align; p.space_after=Pt(8); p.font.name='Calibri'; p.font.size=Pt(size); p.font.bold=bold; p.font.color.rgb=color return box add(.55,.35,12.2,.45,title,24,True) line=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(.55),Inches(.95),Inches(12.78),Inches(.95)); line.line.color.rgb=BLACK; line.line.width=Pt(1.2) return s,add # English slide s,add=make_base('Informed Consent Form: English') add(.75,1.2,11.7,.38,'Key participant-consent statements',24,True) add(.85,1.85,11.5,4.7,['I have been informed about the study: “A Study of Red Cell Distribution Width as a Prognostic Marker in Patients with Heart Failure.”','The information collected will be confidential and accessible only to the investigators.','The study will not affect my regular standard treatment, which will be decided by my treating physician.','My participation is voluntary. I may withdraw my consent at any time.','I give my written informed consent to participate in this educational research study.'],20) add(.75,6.7,11.6,.25,'Participant/representative signature or thumbprint | Investigator signature | Date',18) add(.55,7.12,1,.18,'14',18,False,color=GREY) # Reference slide s,add=make_base('References') refs=['1. Felker GM, Allen LA, Pocock SJ, et al. Red cell distribution width as a novel prognostic marker in heart failure: data from the CHARM Program and the Duke Databank. J Am Coll Cardiol. 2007;50(1):40-47.','2. Tonelli M, Sacks F, Arnold M, et al. Relation between red blood cell distribution width and cardiovascular event rate in people with coronary disease. Circulation. 2008;117(2):163-168.','3. van Kimmenade RRJ, Mohammed AA, Uthamalingam S, et al. Red blood cell distribution width and 1-year mortality in acute heart failure. Eur J Heart Fail. 2010;12(2):129-136.','4. Allen LA, Felker GM, Mehra MR, et al. Validation and potential mechanisms of red cell distribution width as a prognostic marker in heart failure. J Card Fail. 2010;16(3):230-238.','5. Kumar V, Ramamoorthi K, Shridhar M. Red cell distribution width as a prognostic marker for patients with heart failure. Int J Acad Med. 2024;10(4):217-223.'] add(.75,1.25,11.8,5.8,refs,18) add(.55,7.12,1,.18,'15',18,False,color=GREY) # Current sequence: slides 1-11 + Hindi + Gujarati + English + refs. Reorder English index13 to position 11 (after clinical proforma). lst=prs.slides._sldIdLst english=lst[13] del lst[13] lst.insert(11,english) # Renumber numeric footer labels where present across all slides for i,slide in enumerate(prs.slides,1): for sh in slide.shapes: if getattr(sh,'has_text_frame',False) and sh.top > Inches(6.9) and sh.text.strip().isdigit(): p=sh.text_frame.paragraphs[0]; p.text=str(i); p.font.name='Calibri'; p.font.size=Pt(18); p.font.color.rgb=GREY prs.save(out) print('wrote',out) # Audit exact order/fonts p2=Presentation(out); print('slides',len(p2.slides)) for i,slide in enumerate(p2.slides,1): texts=[sh.text for sh in slide.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(i,texts[0] if texts else 'none') PY
python - <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN from pptx.enum.shapes import MSO_CONNECTOR src='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation_NHLIRB.pptx' out='/tmp/workspace/irb_ppt/output/Ayushi_Agrawal_IRB_Presentation_FINAL.pptx' prs=Presentation(src) # Retain the first 11 protocol slides only. while len(prs.slides) > 11: e=prs.slides._sldIdLst[-1] prs.part.drop_rel(e.rId) del prs.slides._sldIdLst[-1] BLACK=RGBColor(0,0,0); WHITE=RGBColor(255,255,255); GREY=RGBColor(110,110,110) def new_slide(title, subtitle, statements, slide_num, signature=True): s=prs.slides.add_slide(prs.slide_layouts[6]); s.background.fill.solid(); s.background.fill.fore_color.rgb=WHITE def add(x,y,w,h,items,size,bold=False,color=BLACK): b=s.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=b.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=tf.margin_top=tf.margin_bottom=0 for i,it in enumerate(items if isinstance(items,list) else [items]): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=it; p.font.name='Calibri'; p.font.size=Pt(size); p.font.bold=bold; p.font.color.rgb=color; p.space_after=Pt(8) return b add(.55,.35,12.2,.45,title,24,True) line=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(.55),Inches(.95),Inches(12.78),Inches(.95)); line.line.color.rgb=BLACK; line.line.width=Pt(1.2) add(.75,1.2,11.7,.38,subtitle,24,True) add(.85,1.85,11.5,4.7,statements,20) if signature: add(.75,6.7,11.6,.25,'Participant/representative signature or thumbprint | Investigator signature | Date',18) add(.55,7.12,1,.18,str(slide_num),18,False,GREY) return s new_slide('Informed Consent Form: English','Key participant-consent statements',[ 'I have been informed about the study: “A Study of Red Cell Distribution Width as a Prognostic Marker in Patients with Heart Failure.”', 'The information collected will be confidential and accessible only to the investigators.', 'The study will not affect my regular standard treatment, which will be decided by my treating physician.', 'My participation is voluntary. I may withdraw my consent at any time.', 'I give my written informed consent to participate in this educational research study.'],12) new_slide('Informed Consent Form: Hindi','मुख्य प्रतिभागी-सहमति कथन',[ 'मुझे इस अध्ययन के बारे में समझाया गया है: “हृदय विफलता के मरीजों में रोग के पूर्वानुमान के संकेतक के तौर पर लाल रक्त कोशिका वितरण चौड़ाई का अध्ययन।”', 'एकत्रित जानकारी गोपनीय रखी जाएगी और केवल अनुसंधानकर्ताओं के लिए उपलब्ध होगी।', 'इस अध्ययन से मेरे चिकित्सक द्वारा तय नियमित उपचार पर कोई प्रभाव नहीं पड़ेगा।', 'अध्ययन में मेरी भागीदारी स्वैच्छिक है और मैं किसी भी समय अपनी सहमति वापस ले सकता/सकती हूँ।', 'मैं अध्ययन में शामिल होने के लिए अपनी लिखित सूचित सहमति देता/देती हूँ।'],13) new_slide('Informed Consent Form: Gujarati','મુખ્ય સહમતિ નિવેદનો',[ 'મને અભ્યાસ વિશે સમજાવવામાં આવ્યું છે: “હૃદય નિષ્ફળતાવાળા દર્દીઓમાં પૂર્વાનુમાનના સૂચક તરીકે રેડ સેલ ડિસ્ટ્રિબ્યુશન વિડ્થનો અભ્યાસ।”', 'એકત્રિત માહિતી ગોપનીય રાખવામાં આવશે અને માત્ર સંશોધકોને ઉપલબ્ધ રહેશે।', 'આ અભ્યાસથી મારા સારવાર કરનાર તબીબ દ્વારા નક્કી કરાયેલ નિયમિત સારવાર પર કોઈ અસર થશે નહીં।', 'અભ્યાસમાં મારી ભાગીદારી સ્વૈચ્છિક છે અને હું કોઈપણ સમયે મારી સંમતિ પાછી ખેંચી શકું છું।', 'હું અભ્યાસમાં ભાગ લેવા માટે મારી લેખિત સૂચિત સંમતિ આપું છું।'],14) # references s=prs.slides.add_slide(prs.slide_layouts[6]); s.background.fill.solid(); s.background.fill.fore_color.rgb=WHITE def addref(x,y,w,h,items,size,bold=False,color=BLACK): b=s.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=b.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=tf.margin_top=tf.margin_bottom=0 for i,it in enumerate(items if isinstance(items,list) else [items]): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=it; p.font.name='Calibri'; p.font.size=Pt(size); p.font.bold=bold; p.font.color.rgb=color; p.space_after=Pt(8) return b addref(.55,.35,12.2,.45,'References',24,True) line=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(.55),Inches(.95),Inches(12.78),Inches(.95)); line.line.color.rgb=BLACK; line.line.width=Pt(1.2) addref(.75,1.25,11.8,5.8,['1. Felker GM, Allen LA, Pocock SJ, et al. Red cell distribution width as a novel prognostic marker in heart failure: data from the CHARM Program and the Duke Databank. J Am Coll Cardiol. 2007;50(1):40-47.','2. Tonelli M, Sacks F, Arnold M, et al. Relation between red blood cell distribution width and cardiovascular event rate in people with coronary disease. Circulation. 2008;117(2):163-168.','3. van Kimmenade RRJ, Mohammed AA, Uthamalingam S, et al. Red blood cell distribution width and 1-year mortality in acute heart failure. Eur J Heart Fail. 2010;12(2):129-136.','4. Allen LA, Felker GM, Mehra MR, et al. Validation and potential mechanisms of red cell distribution width as a prognostic marker in heart failure. J Card Fail. 2010;16(3):230-238.','5. Kumar V, Ramamoorthi K, Shridhar M. Red cell distribution width as a prognostic marker for patients with heart failure. Int J Acad Med. 2024;10(4):217-223.'],18) addref(.55,7.12,1,.18,'15',18,False,GREY) prs.core_properties.title='RDW as a Prognostic Marker in Heart Failure - IRB Presentation' prs.core_properties.author='Dr. Ayushi Agrawal' prs.save(out) print('saved',out) # reopen audit check=Presentation(out) print('COUNT',len(check.slides)) for i,sl in enumerate(check.slides,1): tx=[sh.text for sh in sl.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(i,tx[0] if tx else 'NONE') PY
Ayushi Agrawal IRB Presentation FINAL
Presentation · PPTX
My pdf of irb is attached kindly make ppt with *READ CAREFULLY* *Guidelines for Preparing PowerPoint Presentations for NHLIRB Meetings* To ensure clarity and professionalism, all presenters must strictly follow these guidelines while preparing their PowerPoint slides. 1. General Formatting ✅ Background: Plain white background (no patterns, gradients, or images). ✅ Font Type: Use only Calibri. ✅ Font Size: Title: 28pt (Bold) Headings: 24pt (Bold) Body Text: 20pt References: 18 pt (Vancouver style) ✅ Text Formatting: Use black text only; avoid excessive underlining, italics, or colors. ✅ Slide Layout: Keep slides clean and organized—no excessive text; use bullet points. 2. Content Structure Your PowerPoint must be structured as follows: 1️⃣ Title Slide Title of the Study Name of Principal Investigator & Co-investigators Department & Institution 2️⃣ Introduction (1-2 slides) Background & Rationale Research Question & Hypothesis 3️⃣ Aims & Objectives (1 slide) Clearly mention Primary and Secondary Objectives 4️⃣ Methodology (3-4 slides) Study Design & Setting Inclusion & Exclusion Criteria Sample Size & Sampling Method Study Procedures Outcome Measures 5️⃣ Ethical Considerations (1 slide) Informed Consent Process Confidentiality Measures 6️⃣ Data Analysis (1 slide) Statistical Methods 7️⃣ Proforma/Case Record Form (1 slide) Provide a structured format of the data collection tool 8️⃣ Informed Consent Form (ICF) in All Languages (1 slide each) Ensure that the ICF is available in all required languages 9️⃣ References (1 slide, Vancouver Style) Cite references as per Vancouver style 3. Additional Instructions ❌ DO NOT copy and paste your Word file into slides. Summarize and present key points. ❌ DO NOT use dense paragraphs. Use short bullet points. You can increase the number of slides but do not decrease the font size and try to accommodate all points in one slide. ✅ Use charts/tables where applicable for clarity. ✅ Ensure proper alignment and spacing for readability. ✅ Practice your presentation to ensure smooth delivery.
Ayushi Agrawal IRB Presentation FINAL
Presentation · PPTX
Keep the data same as presented in pef provided as it is approved data i cant add additional information
~/irb_ppt/output
~/
mkdir -p "/tmp/workspace/irb_ppt_approved/src" "/tmp/workspace/irb_ppt_approved/assets" "/tmp/workspace/irb_ppt_approved/output" && python - <<'PY' import fitz pdf='/tmp/workspace/attachments/0227fd80-183e-4577-bfc2-2d615d6cc492/Ayushi irb.pdf' doc=fitz.open(pdf) for page_num,name in [(12,'hindi_icf_p13.png'),(13,'icf_p14.png'),(14,'gujarati_icf_p15.png')]: pg=doc[page_num] pix=pg.get_pixmap(matrix=fitz.Matrix(2,2),alpha=False) pix.save('/tmp/workspace/irb_ppt_approved/assets/'+name) print('rendered') PY cat > "/tmp/workspace/irb_ppt_approved/src/build_ppt.py" <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR from PIL import Image OUT='/tmp/workspace/irb_ppt_approved/output/Ayushi_Agrawal_IRB_Approved_Data_Only.pptx' ASSET='/tmp/workspace/irb_ppt_approved/assets/' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5) blank=prs.slide_layouts[6] BLACK=RGBColor(0,0,0); WHITE=RGBColor(255,255,255); GREY=RGBColor(100,100,100) def textbox(slide,x,y,w,h,items,size=20,bold=False,align=PP_ALIGN.LEFT,bullets=False,color=BLACK): b=slide.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=b.text_frame tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=tf.margin_top=tf.margin_bottom=0 tf.vertical_anchor=MSO_ANCHOR.TOP vals=items if isinstance(items,list) else [items] for i,val in enumerate(vals): p=tf.paragraphs[0] if i==0 else tf.add_paragraph() p.text=('• '+val) if bullets else val p.alignment=align; p.space_after=Pt(7 if bullets else 4) p.font.name='Calibri'; p.font.size=Pt(size); p.font.bold=bold; p.font.color.rgb=color return b def base(title,n): s=prs.slides.add_slide(blank); s.background.fill.solid(); s.background.fill.fore_color.rgb=WHITE textbox(s,.55,.35,12.2,.45,title,24,True) line=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(.55),Inches(.95),Inches(12.78),Inches(.95)); line.line.color.rgb=BLACK; line.line.width=Pt(1.1) textbox(s,.55,7.12,1,.18,str(n),18,False,color=GREY) return s def bulslide(title, lead, points, n): s=base(title,n); textbox(s,.75,1.25,11.7,.45,lead,20,True); textbox(s,.95,2.0,11.35,4.75,points,20,False,bullets=True); return s # 1 title s=prs.slides.add_slide(blank); s.background.fill.solid(); s.background.fill.fore_color.rgb=WHITE textbox(s,.85,.95,11.65,1.55,'A STUDY OF RED CELL\nDISTRIBUTION WIDTH AS A\nPROGNOSTIC MARKER IN PATIENTS\nWITH HEART FAILURE',28,True,PP_ALIGN.CENTER) line=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(2),Inches(3.05),Inches(11.3),Inches(3.05)); line.line.color.rgb=BLACK; line.line.width=Pt(1.1) textbox(s,1.2,3.45,10.9,2.5,['Investigator: Dr. Ayushi Agrawal','2nd Year Resident, General Medicine','P.G. Guide: Dr. P.N. Palat (Head of unit)','Co-guide: Dr. Rajkamal Chaudhary (Associate Professor)','Dr. Dhwani Shah (Assistant Professor)','Smt. NHL Municipal Medical College, Ahmedabad'],20,False,PP_ALIGN.CENTER) # 2-3 introduction exact approved content bulslide('INTRODUCTION','Heart failure (HF) is a clinical syndrome:',[ 'Structural and/or functional cardiac abnormalities impair ventricular filling or blood ejection.', 'It results in reduced cardiac output and/or elevated intracardiac pressures.', 'Diagnosis requires elevated natriuretic peptides (BNP/NT-proBNP) and/or objective evidence of cardiogenic congestion.', 'Heart failure disproportionately affects India, with younger age at onset, a high prevalence of rheumatic heart disease, and a rapidly rising diabetes burden.' ],2) bulslide('INTRODUCTION','Red cell distribution width (RDW):',[ 'RDW is a routine complete blood count parameter and a potential prognostic biomarker in cardiovascular disease.', 'Elevated RDW reflects anisocytosis and may indicate chronic inflammation, iron dysregulation, nutritional deficiencies, or bone marrow dysfunction observed in heart failure.', 'Simple, cost-effective biomarkers such as RDW remain underutilized in routine practice.', 'This study aims to evaluate the prognostic value of RDW in patients with heart failure.' ],3) # 4 aim objs s=base('AIM AND OBJECTIVES',4); textbox(s,.75,1.25,11.5,.4,'AIM',24,True); textbox(s,.75,1.85,11.5,.55,'To evaluate the role of Red Cell Distribution Width (RDW) as a prognostic marker in patients with heart failure.',20) textbox(s,.75,2.85,11.5,.4,'OBJECTIVES',24,True); textbox(s,.95,3.45,11.25,2.7,['To measure RDW levels in patients diagnosed with heart failure.','To assess the association between RDW levels and clinical outcomes in patients with heart failure.','To determine the prognostic value of RDW in predicting disease severity and adverse outcomes in heart failure patients.'],20,False,bullets=True) # 5 study design s=base('METHODOLOGY: STUDY DESIGN AND SETTING',5) items=[('Study Design','Prospective observational study.'),('Study Duration','1 year from the IRB approval date.'),('Study Center','Tertiary Care Hospital.'),('Study Population','Adult patients (Age >18 years) diagnosed with heart failure based on standard clinical and echocardiographic criteria.')] for i,(h,b) in enumerate(items): x=.75+(i%2)*6.1; y=1.35+(i//2)*2.35 sh=s.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(x),Inches(y),Inches(5.6),Inches(1.7)); sh.fill.solid(); sh.fill.fore_color.rgb=WHITE; sh.line.color.rgb=BLACK; sh.line.width=Pt(.8) textbox(s,x+.22,y+.18,5.1,.35,h,24,True); textbox(s,x+.22,y+.72,5.05,.8,b,20) # 6 collection analysis bulslide('METHODOLOGY: SAMPLE SIZE, DATA COLLECTION AND ANALYSIS','Sample Size',[ 'Patients will be enrolled according to study duration.', 'Baseline demographic, clinical, and laboratory data including RDW (from routine complete blood count) will be collected at enrollment.', 'Patients will be followed prospectively for predefined clinical outcomes.', 'Appropriate statistical tests will be used to assess the association and prognostic value of RDW.' ],6) # 7 outcome inclusion s=base('METHODOLOGY: OUTCOME MEASURES AND INCLUSION CRITERIA',7) textbox(s,.75,1.2,11.5,.35,'OUTCOME MEASURES',24,True); textbox(s,.95,1.75,11.2,.4,'Disease severity, hospital readmissions, and/or mortality during the follow-up period.',20) textbox(s,.75,2.65,11.5,.35,'INCLUSION CRITERIA',24,True); textbox(s,.95,3.2,11.2,2.6,['Adult patients aged ≥18 years.','Patients diagnosed with heart failure based on standard clinical, laboratory, and echocardiographic criteria.','Patients willing to provide written informed consent.','Patients undergoing routine laboratory investigations, including complete blood count, at the time of enrollment.'],20,False,bullets=True) # 8 exclusion bulslide('METHODOLOGY: EXCLUSION CRITERIA','Patients with:',[ 'Acute or chronic hematological disorders affecting red blood cell indices (e.g., hemolytic anemia, thalassemia).','Hemoglobin levels < 9 gm/dl at the time of enrollment.','Recent blood transfusion (within the last 3 months).','Active infection, inflammatory disease, or malignancy, chronic liver disease or end-stage renal disease at the time of enrollment.','Pregnant or lactating women.','Unwillingness or inability to provide informed consent.' ],8) # 9 ethical s=base('ETHICAL CONSIDERATIONS: RISKS AND BENEFITS',9) textbox(s,.75,1.2,11.5,.5,'The study involves minimal risk, as all investigations are part of routine clinical care. Written informed consent will be obtained, and patient confidentiality will be maintained.',20) textbox(s,.75,2.25,5.6,.35,'POTENTIAL RISKS',24,True); textbox(s,.95,2.8,5.2,2.65,['All clinical evaluations and laboratory investigations, including RDW estimation, are part of routine standard care.','No additional invasive procedures are performed solely for research purposes.'],20,False,bullets=True) textbox(s,6.8,2.25,5.6,.35,'POTENTIAL BENEFITS',24,True); textbox(s,7.0,2.8,5.2,2.65,['Participants may not derive direct immediate benefit.','The study may help identify RDW as a simple and cost-effective prognostic marker in heart failure.','Anticipated benefits outweigh the minimal risk involved.'],20,False,bullets=True) # 10 proforma 1 bulslide('CLINICAL PROFORMA: PATIENT INFORMATION AND HISTORY','Patient Information',[ 'Patient ID Number; Age (years); Gender.','Presenting complaints: dyspnea on exertion, pedal oedema, chest pain, palpitation, orthopnea, paroxysmal nocturnal dyspnea, cough and wheezing, fatigue and weakness, syncope/loss of consciousness.','Known risk factors: hypertension, diabetes mellitus, hypothyroidism, anemia, OSA/obesity, coronary artery disease, chronic kidney disease, COPD, dyslipidemia.','Addiction: smoking, alcohol, tobacco, others.','Family history: cardiovascular disease, hypertension, diabetes mellitus, others.' ],10) #11 proforma2 bulslide('CLINICAL PROFORMA: EXAMINATION, INVESTIGATIONS AND OUTCOME','General and systemic examination',[ 'Weight; height; body mass index; vital signs: blood pressure, heart rate, respiratory rate, SpO2.','Pallor; clubbing; cyanosis; pedal edema; JVP; pulmonary crackles (rales); S3 gallop; hepatojugular reflex.','Systemic examinations: CVS, RS, other.','Diagnostic investigations: ECG, chest X-ray, echocardiography, USG abdomen, complete blood count, NT-proBNP, troponin I, renal function tests, others.','New York Heart Association functional classification; prior admission/hospitalisation; outcome.' ],11) #12 English consent approved exact words s=base('INFORMED CONSENT FORM: ENGLISH',12) textbox(s,.75,1.2,11.7,.45,'I, The Undersigned, Mr./Mrs. ________________________________ Have Been Explained About The Study:',20) textbox(s,.75,1.9,11.7,.45,'“A STUDY OF RED CELL DISTRIBUTION WIDTH AS A PROGNOSTIC MARKER IN PATIENTS WITH HEART FAILURE”',20,True) textbox(s,.75,2.65,11.7,3.7,['I Understand That The Data Collected Will Be Kept Confidential, Accessible To The Investigators Only.','This Study Will Not Affect My Regular Standard Treatment As Decided By The Treating Physician. It Is Only For Education Purposes.','I Also Understand That My Participation In The Study Is Voluntary. During The Study I Can Withdraw My Consent At Any Time.','I Hereby Give My Written Informed Consent To Be Included In The Study.','Patient’s (Representative) Signature / Thumbprint Investigator’s Signature Date'],20) # 13 Hindi approved page page image s=base('INFORMED CONSENT FORM: HINDI',13) img=ASSET+'hindi_icf_p13.png'; im=Image.open(img); ratio=im.width/im.height # original page proportional size w=5.5; h=w/ratio s.shapes.add_picture(img,Inches((13.333-w)/2),Inches(1.05),Inches(w),Inches(h)) #14 Gujarati extracted source page screenshot (page15 shows actual Gujarati) s=base('INFORMED CONSENT FORM: GUJARATI',14) img=ASSET+'gujarati_icf_p15.png'; im=Image.open(img); ratio=im.width/im.height; w=5.5; h=w/ratio s.shapes.add_picture(img,Inches((13.333-w)/2),Inches(1.05),Inches(w),Inches(h)) #15 refs s=base('REFERENCES',15) refs=['1. Felker GM, Allen LA, Pocock SJ, et al. Red cell distribution width as a novel prognostic marker in heart failure: data from the CHARM Program and the Duke Databank. J Am Coll Cardiol. 2007;50(1):40-7. https://doi.org/10.1016/j.jacc.2007.02.067','2. Tonelli M, Sacks F, Arnold M, et al. Relation between red blood cell distribution width and cardiovascular event rate in people with coronary disease. Circulation. 2008;117(2):163-8. https://doi.org/10.1161/CIRCULATIONAHA.107.727545','3. van Kimmenade RRJ, Mohammed AA, Uthamalingam S, et al. Red cell distribution width and 1-year mortality in acute heart failure. Eur J Heart Fail. 2010;12(2):129-36. https://doi.org/10.1093/eurjhf/hfp179','4. Ani C, Ovbiagele B. Elevated red blood cell distribution width predicts mortality in persons with known stroke. J Neurol Sci. 2009;277(1-2):103-8. https://doi.org/10.1016/j.jns.2008.10.024','5. Allen LA, Felker GM, Mehra MR, et al. Validation and potential mechanisms of red cell distribution width as a prognostic marker in heart failure. J Card Fail. 2010;16(3):230-8. https://doi.org/10.1016/j.cardfail.2009.11.003','6. Rudresh MG, Vivek KU. Relationship between red cell distribution width and heart failure. Int J Med Res Rev. 2016;4(2). https://doi.org/10.17511/ijmrr.2016.i02.003.','7. Kumar V, Ramamoorthi K, Shridhar M. Red cell distribution width as a prognostic marker for patients with heart failure. Int J Acad Med. 2024;10(4):217-223. https://doi.org/10.4103/ijam.ijam_146_24.'] textbox(s,.75,1.2,11.85,5.9,refs,18) # Harden default fonts/colors for sl in prs.slides: for shape in sl.shapes: if getattr(shape,'has_text_frame',False): for p in shape.text_frame.paragraphs: for r in p.runs: r.font.name='Calibri' prs.core_properties.title='A Study of Red Cell Distribution Width as a Prognostic Marker in Patients with Heart Failure' prs.core_properties.author='Dr. Ayushi Agrawal' prs.save(OUT) print(OUT, len(prs.slides)) PY python "/tmp/workspace/irb_ppt_approved/src/build_ppt.py" python - <<'PY' from pptx import Presentation p='/tmp/workspace/irb_ppt_approved/output/Ayushi_Agrawal_IRB_Approved_Data_Only.pptx' prs=Presentation(p) print('Slides:',len(prs.slides)) for i,s in enumerate(prs.slides,1): t=[sh.text.replace('\n',' ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(i, t[0][:100] if t else 'image slide') PY
python - <<'PY' mods=['pypdfium2','pdf2image','wand.image','pymupdf'] for m in mods: try: __import__(m); print(m,'OK') except Exception as e: print(m,'NO',str(e)[:60]) PY
python - <<'PY' import pypdfium2 as pdfium pdf='/tmp/workspace/attachments/0227fd80-183e-4577-bfc2-2d615d6cc492/Ayushi irb.pdf' doc=pdfium.PdfDocument(pdf) for idx,name in [(12,'hindi_icf_p13.png'),(14,'gujarati_icf_p15.png')]: page=doc[idx] img=page.render(scale=2).to_pil() img.save('/tmp/workspace/irb_ppt_approved/assets/'+name) print('rendered') PY python "/tmp/workspace/irb_ppt_approved/src/build_ppt.py" python - <<'PY' from pptx import Presentation p='/tmp/workspace/irb_ppt_approved/output/Ayushi_Agrawal_IRB_Approved_Data_Only.pptx' prs=Presentation(p) print('Slides:',len(prs.slides)) for i,s in enumerate(prs.slides,1): t=[sh.text.replace('\n',' ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(f'{i:02}',t[0][:85] if t else 'image') # Audit fonts and colors for editable text sizes=[]; noncalibri=[]; nonblack=[] for i,s in enumerate(prs.slides,1): for sh in s.shapes: if getattr(sh,'has_text_frame',False): for para in sh.text_frame.paragraphs: for r in para.runs: if r.font.name and r.font.name!='Calibri': noncalibri.append((i,r.font.name)) if r.font.size: sizes.append(r.font.size.pt) print('font sizes',sorted(set(sizes))); print('nonCalibri',noncalibri[:5]) PY
~/irb_ppt_approved/output
python - <<'PY' p='/tmp/workspace/irb_ppt_approved/src/build_ppt.py' s=open(p,encoding='utf-8').read() s=s.replace("'I Hereby Give My Written Informed Consent To Be Included In The Study.','Patient’s (Representative) Signature / Thumbprint Investigator’s Signature Date'", "'Doctor/Hospital Won\'t Be Liable To Give Any Compensation.','I Hereby Give My Written Informed Consent To Be Included In The Study.','Patient’s (Representative) Signature / Thumbprint Investigator’s Signature Date'") s=s.replace("w=5.5; h=w/ratio\ns.shapes.add_picture(img,Inches((13.333-w)/2),Inches(1.05),Inches(w),Inches(h))", "h=5.85; w=h*ratio\ns.shapes.add_picture(img,Inches((13.333-w)/2),Inches(1.05),Inches(w),Inches(h))") s=s.replace("w=5.5; h=w/ratio\ns.shapes.add_picture(img,Inches((13.333-w)/2),Inches(1.05),Inches(w),Inches(h))", "h=5.85; w=h*ratio\ns.shapes.add_picture(img,Inches((13.333-w)/2),Inches(1.05),Inches(w),Inches(h))") open(p,'w',encoding='utf-8').write(s) PY python "/tmp/workspace/irb_ppt_approved/src/build_ppt.py" python - <<'PY' from pptx import Presentation p='/tmp/workspace/irb_ppt_approved/output/Ayushi_Agrawal_IRB_Approved_Data_Only.pptx' prs=Presentation(p) print('Slide count:',len(prs.slides)) for no in [12,13,14,15]: s=prs.slides[no-1] print(no, [sh.text[:75].replace('\n',' ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()]) # Ensure picts are contained within slide bounds for i,s in enumerate(prs.slides,1): for sh in s.shapes: if sh.shape_type==13 and (sh.left+sh.width>prs.slide_width or sh.top+sh.height>prs.slide_height): print('overflow',i) PY
~/irb_ppt_approved/src/build_ppt.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/irb_ppt_approved/src/build_ppt.py'
python "/tmp/workspace/irb_ppt_approved/src/build_ppt.py" && python - <<'PY' from pptx import Presentation p='/tmp/workspace/irb_ppt_approved/output/Ayushi_Agrawal_IRB_Approved_Data_Only.pptx' prs=Presentation(p) print('slides',len(prs.slides)) for i,s in enumerate(prs.slides,1): t=[sh.text.replace('\n',' ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(i,t[0][:100] if t else 'image-only') errors=[] for i,s in enumerate(prs.slides,1): for sh in s.shapes: if sh.left<0 or sh.top<0 or sh.left+sh.width>prs.slide_width or sh.top+sh.height>prs.slide_height: errors.append((i,sh.left,sh.top,sh.width,sh.height)) print('overflow',errors) PY
Ayushi Agrawal IRB Approved Data Only
Presentation · PPTX
Improvise the slide as consent slide also has reference
~/irb_ppt_approved
~/irb_ppt_approved/src
ICH informed consent form voluntary participation confidentiality withdrawal consent process
python - <<'PY' import pypdfium2 as pdfium from PIL import Image pdf='/tmp/workspace/attachments/0227fd80-183e-4577-bfc2-2d615d6cc492/Ayushi irb.pdf' doc=pdfium.PdfDocument(pdf) for idx,name in [(13,'icf_p14.png')]: im=doc[idx].render(scale=2).to_pil(); im.save('/tmp/workspace/irb_ppt_approved/assets/'+name); print(name,im.size) for n in ['hindi_icf_p13.png','icf_p14.png','gujarati_icf_p15.png']: im=Image.open('/tmp/workspace/irb_ppt_approved/assets/'+n); print(n,im.size) PY
python - <<'PY' import pypdfium2 as pdfium pdf='/tmp/workspace/attachments/0227fd80-183e-4577-bfc2-2d615d6cc492/Ayushi irb.pdf' doc=pdfium.PdfDocument(pdf) for idx,name in [(10,'english_icf_p11.png'),(11,'english_icf_p12.png'),(12,'hindi_icf_p13.png'),(13,'icf_p14.png'),(14,'gujarati_icf_p15.png')]: doc[idx].render(scale=2).to_pil().save('/tmp/workspace/irb_ppt_approved/assets/'+name) print('ICF pages rendered') PY python - <<'PY' p='/tmp/workspace/irb_ppt_approved/src/build_ppt.py' s=open(p,encoding='utf-8').read() prefix=s.split('#12 English consent approved exact words')[0] append=r'''# 12 Consent overview: exact approved English ICF statements s=base('INFORMED CONSENT FORM: ENGLISH',12) textbox(s,.75,1.2,11.7,.45,'Approved consent statements',24,True) textbox(s,.75,1.9,11.7,.45,'“A STUDY OF RED CELL DISTRIBUTION WIDTH AS A PROGNOSTIC MARKER IN PATIENTS WITH HEART FAILURE”',20,True) textbox(s,.9,2.7,11.3,3.7,['The Data Collected Will Be Kept Confidential, Accessible To The Investigators Only.','This Study Will Not Affect My Regular Standard Treatment As Decided By The Treating Physician. It Is Only For Education Purposes.','My Participation In The Study Is Voluntary. During The Study I Can Withdraw My Consent At Any Time.','Doctor/Hospital Won\'t Be Liable To Give Any Compensation.','I Hereby Give My Written Informed Consent To Be Included In The Study.'],20,False,bullets=True) textbox(s,.75,6.55,11.7,.25,'Patient’s (Representative) Signature / Thumbprint Investigator’s Signature Date',18) # Source ICF pages retained as presented in the approved PDF def source_page(title, filename, number): s=base(title,number) img=ASSET+filename im=Image.open(img); ratio=im.width/im.height h=5.85; w=h*ratio s.shapes.add_picture(img,Inches((13.333-w)/2),Inches(1.05),Inches(w),Inches(h)) source_page('APPROVED ICF: ENGLISH (PAGE 1)', 'english_icf_p11.png', 13) source_page('APPROVED ICF: ENGLISH (PAGE 2)', 'english_icf_p12.png', 14) source_page('APPROVED ICF: HINDI (PAGE 1)', 'hindi_icf_p13.png', 15) source_page('APPROVED ICF: HINDI (PAGE 2)', 'icf_p14.png', 16) source_page('APPROVED ICF: GUJARATI (PAGE 1)', 'icf_p14.png', 17) source_page('APPROVED ICF: GUJARATI (PAGE 2)', 'gujarati_icf_p15.png', 18) # References - split into two slides to preserve 18 point Vancouver formatting refs1=['1. Felker GM, Allen LA, Pocock SJ, et al. Red cell distribution width as a novel prognostic marker in heart failure: data from the CHARM Program and the Duke Databank. J Am Coll Cardiol. 2007;50(1):40-7. https://doi.org/10.1016/j.jacc.2007.02.067','2. Tonelli M, Sacks F, Arnold M, et al. Relation between red blood cell distribution width and cardiovascular event rate in people with coronary disease. Circulation. 2008;117(2):163-8. https://doi.org/10.1161/CIRCULATIONAHA.107.727545','3. van Kimmenade RRJ, Mohammed AA, Uthamalingam S, et al. Red blood cell distribution width and 1-year mortality in acute heart failure. Eur J Heart Fail. 2010;12(2):129-36. https://doi.org/10.1093/eurjhf/hfp179','4. Ani C, Ovbiagele B. Elevated red blood cell distribution width predicts mortality in persons with known stroke. J Neurol Sci. 2009;277(1-2):103-8. https://doi.org/10.1016/j.jns.2008.10.024'] refs2=['5. Allen LA, Felker GM, Mehra MR, et al. Validation and potential mechanisms of red cell distribution width as a prognostic marker in heart failure. J Card Fail. 2010;16(3):230-8. https://doi.org/10.1016/j.cardfail.2009.11.003','6. Rudresh MG, Vivek KU. Relationship between red cell distribution width and heart failure. Int J Med Res Rev. 2016;4(2). https://doi.org/10.17511/ijmrr.2016.i02.003.','7. Kumar V, Ramamoorthi K, Shridhar M. Red cell distribution width as a prognostic marker for patients with heart failure. Int J Acad Med. 2024;10(4):217-223. https://doi.org/10.4103/ijam.ijam_146_24.'] s=base('REFERENCES',19); textbox(s,.75,1.25,11.8,5.85,refs1,18) s=base('REFERENCES (CONTINUED)',20); textbox(s,.75,1.25,11.8,5.85,refs2,18) # Harden default fonts/colors for sl in prs.slides: for shape in sl.shapes: if getattr(shape,'has_text_frame',False): for p in shape.text_frame.paragraphs: for r in p.runs: r.font.name='Calibri' prs.core_properties.title='A Study of Red Cell Distribution Width as a Prognostic Marker in Patients with Heart Failure' prs.core_properties.author='Dr. Ayushi Agrawal' prs.save(OUT) print(OUT, len(prs.slides)) ''' open(p,'w',encoding='utf-8').write(prefix+append) PY python "/tmp/workspace/irb_ppt_approved/src/build_ppt.py" python - <<'PY' from pptx import Presentation p='/tmp/workspace/irb_ppt_approved/output/Ayushi_Agrawal_IRB_Approved_Data_Only.pptx' prs=Presentation(p); print('Slides:',len(prs.slides)) for i,sl in enumerate(prs.slides,1): tx=[sh.text.replace('\n',' ') for sh in sl.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(f'{i:02}: {tx[0][:80] if tx else "source ICF"}') # boundary audit bounds=[] for i,sl in enumerate(prs.slides,1): for sh in sl.shapes: if sh.left<0 or sh.top<0 or sh.left+sh.width>prs.slide_width or sh.top+sh.height>prs.slide_height: bounds.append(i) print('out-of-bounds:',bounds) PY
Ayushi Agrawal IRB Approved Data Only
Presentation · PPTX
Check every slide against the approved IRB PDF and remove reference from consent slide and one consent in one page
~/irb_ppt_approved
~/irb_ppt_approved/src
~/irb_ppt_approved/assets
python - <<'PY' from PIL import Image, ImageChops assets='/tmp/workspace/irb_ppt_approved/assets/' # Preserve approved source material while creating a single-source-page visual for each non-English consent slide. # Hindi: approved Hindi page followed by its continuation on page 14 (top section). # Gujarati: Gujarati text begins on page 14 (lower section) and continues on page 15. def crop(im, box): return im.crop(box) # all dimensions 1224 x 1584 p13=Image.open(assets+'hindi_icf_p13.png').convert('RGB') p14=Image.open(assets+'icf_p14.png').convert('RGB') p15=Image.open(assets+'gujarati_icf_p15.png').convert('RGB') # Hindi content page plus continuation block, no alteration to the wording hi1=crop(p13,(80,130,1145,1450)); hi2=crop(p14,(80,80,1145,640)) canvas=Image.new('RGB',(1120,hi1.height+hi2.height+24),'white'); canvas.paste(hi1,(25,0)); canvas.paste(hi2,(25,hi1.height+24)); canvas.save(assets+'hindi_icf_one_slide.png') # Gujarati content begins in lower part of p14 and continues on p15 gu1=crop(p14,(75,650,1150,1510)); gu2=crop(p15,(75,80,1150,1250)) canvas=Image.new('RGB',(1125,gu1.height+gu2.height+24),'white'); canvas.paste(gu1,(25,0)); canvas.paste(gu2,(25,gu1.height+24)); canvas.save(assets+'gujarati_icf_one_slide.png') print('created consent composites') PY python - <<'PY' p='/tmp/workspace/irb_ppt_approved/src/build_ppt.py' s=open(p,encoding='utf-8').read() prefix=s.split('# 12 Consent overview:')[0] tail=r'''# Informed consent forms: one slide per approved language. No reference text appears on these slides. s=base('INFORMED CONSENT FORM: ENGLISH',12) textbox(s,.75,1.2,11.7,.45,'I, The Undersigned, Mr./Mrs. ________________________________ Have Been Explained About The Study:',20) textbox(s,.75,1.9,11.7,.45,'“A STUDY OF RED CELL DISTRIBUTION WIDTH AS A PROGNOSTIC MARKER IN PATIENTS WITH HEART FAILURE”',20,True) textbox(s,.75,2.65,11.7,3.7,['I Understand That The Data Collected Will Be Kept Confidential, Accessible To The Investigators Only.','This Study Will Not Affect My Regular Standard Treatment As Decided By The Treating Physician. It Is Only For Education Purposes.','I Also Understand That My Participation In The Study Is Voluntary. During The Study I Can Withdraw My Consent At Any Time.',"Doctor/Hospital Won't Be Liable To Give Any Compensation.",'I Hereby Give My Written Informed Consent To Be Included In The Study.','Patient’s (Representative) Signature / Thumbprint Investigator’s Signature Date'],20) def consent_source_slide(title, filename, number): s=base(title,number) img=ASSET+filename im=Image.open(img); ratio=im.width/im.height h=5.85; w=h*ratio s.shapes.add_picture(img, Inches((13.333-w)/2), Inches(1.05), Inches(w), Inches(h)) consent_source_slide('INFORMED CONSENT FORM: HINDI', 'hindi_icf_one_slide.png', 13) consent_source_slide('INFORMED CONSENT FORM: GUJARATI', 'gujarati_icf_one_slide.png', 14) # References remain separate from consent forms and are split to maintain 18 point text. refs1=['1. Felker GM, Allen LA, Pocock SJ, et al. Red cell distribution width as a novel prognostic marker in heart failure: data from the CHARM Program and the Duke Databank. J Am Coll Cardiol. 2007;50(1):40-7. https://doi.org/10.1016/j.jacc.2007.02.067','2. Tonelli M, Sacks F, Arnold M, et al. Relation between red blood cell distribution width and cardiovascular event rate in people with coronary disease. Circulation. 2008;117(2):163-8. https://doi.org/10.1161/CIRCULATIONAHA.107.727545','3. van Kimmenade RRJ, Mohammed AA, Uthamalingam S, et al. Red cell distribution width and 1-year mortality in acute heart failure. Eur J Heart Fail. 2010;12(2):129-36. https://doi.org/10.1093/eurjhf/hfp179','4. Ani C, Ovbiagele B. Elevated red blood cell distribution width predicts mortality in persons with known stroke. J Neurol Sci. 2009;277(1-2):103-8. https://doi.org/10.1016/j.jns.2008.10.024'] refs2=['5. Allen LA, Felker GM, Mehra MR, et al. Validation and potential mechanisms of red cell distribution width as a prognostic marker in heart failure. J Card Fail. 2010;16(3):230-8. https://doi.org/10.1016/j.cardfail.2009.11.003','6. Rudresh MG, Vivek KU. Relationship between red cell distribution width and heart failure. Int J Med Res Rev. 2016;4(2). https://doi.org/10.17511/ijmrr.2016.i02.003.','7. Kumar V, Ramamoorthi K, Shridhar M. Red cell distribution width as a prognostic marker for patients with heart failure. Int J Acad Med. 2024;10(4):217-223. https://doi.org/10.4103/ijam.ijam_146_24.'] s=base('REFERENCES',15); textbox(s,.75,1.25,11.8,5.85,refs1,18) s=base('REFERENCES (CONTINUED)',16); textbox(s,.75,1.25,11.8,5.85,refs2,18) for sl in prs.slides: for shape in sl.shapes: if getattr(shape,'has_text_frame',False): for p in shape.text_frame.paragraphs: for r in p.runs: r.font.name='Calibri' prs.core_properties.title='A Study of Red Cell Distribution Width as a Prognostic Marker in Patients with Heart Failure' prs.core_properties.author='Dr. Ayushi Agrawal' prs.save(OUT) print(OUT, len(prs.slides)) ''' open(p,'w',encoding='utf-8').write(prefix+tail) PY python "/tmp/workspace/irb_ppt_approved/src/build_ppt.py" python - <<'PY' from pptx import Presentation p='/tmp/workspace/irb_ppt_approved/output/Ayushi_Agrawal_IRB_Approved_Data_Only.pptx' prs=Presentation(p) print('slide count:',len(prs.slides)) for i,sl in enumerate(prs.slides,1): txt=[sh.text.replace('\n',' ') for sh in sl.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(f'{i:02} | {txt[0][:100] if txt else "SOURCE-IMAGE CONTENT"}') print('Consent slides contain reference word:', [i for i in [12,13,14] if any('reference' in sh.text.lower() for sh in prs.slides[i-1].shapes if getattr(sh,'has_text_frame',False))]) # Validate all shapes remain within page. over=[] for i,sl in enumerate(prs.slides,1): for sh in sl.shapes: if sh.left<0 or sh.top<0 or sh.left+sh.width>prs.slide_width or sh.top+sh.height>prs.slide_height: over.append(i) print('out of bounds:',over) PY
Ayushi Agrawal IRB Approved Data Only
Presentation · PPTX
Slide 14 has references in gujarati consent slide remove that image and re enter
~/irb_ppt_approved/output
~/irb_ppt_approved/assets
Ayushi Agrawal IRB Presentation FINAL
Presentation · PPTX
Ayushi Agrawal IRB Presentation FINAL
Presentation · PPTX
Ayushi Agrawal IRB Approved Data Only
Presentation · PPTX
Ayushi Agrawal IRB Approved Data Only
Presentation · PPTX
Ayushi Agrawal IRB Approved Data Only
Presentation · PPTX
An error occurred (ValidationException) when calling the InvokeCodeInterpreter operation: Code interpreter session 01M13Q2Q66V2PJ2ZR98THWHRMD is not active
We encountered an error while processing your request. Please try again or reach out to us for help.
An error occurred (ValidationException) when calling the InvokeCodeInterpreter operation: Code interpreter session 01M13Q2Q66V2PJ2ZR98THWHRMD is not active
We encountered an error while processing your request. Please try again or reach out to us for help.
Slide 14 has references in gujarati consent slide remove that image and re enter
Slide 14 has references in gujarati consent slide remove that image and re enter