Make a ppt
~/
mkdir -p "/tmp/workspace/irb-presentation/src" "/tmp/workspace/irb-presentation/output" && python -c "from pypdf import PdfReader; p='/tmp/workspace/attachments/0bf030a1-237c-4299-9e46-1a83a71ba516/Ayushi irb.pdf'; r=PdfReader(p); print('PAGES',len(r)); [print('\\n--- PAGE',i+1,'---\\n'+(pg.extract_text() or '')) for i,pg in enumerate(r.pages)]"
python -c "from pypdf import PdfReader; p='/tmp/workspace/attachments/0bf030a1-237c-4299-9e46-1a83a71ba516/Ayushi irb.pdf'; r=PdfReader(p); print('PAGES',len(r.pages)); [print('\\n--- PAGE',i+1,'---\\n'+(pg.extract_text() or '')) for i,pg in enumerate(r.pages)]"
Make a PPT with the guidelines My pdf of irb is attached kindly make ppt with *Guidelines for Preparing PowerPoint 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. 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) 3️⃣ Aims & Objectives (1 slide) Clearly mention Primary and Secondary Objectives 4️⃣ Methodology (3-4 slides) Study Design Sample Size & Sampling Method Inclusion & Exclusion Criteria Study Procedures Outcome Measures 5️⃣ Ethical Considerations (1 slide) 6️⃣ Data Analysis (1 slide) 7️⃣ Proforma (1 slide) Provide a structured format of the data collection tool 8️⃣ Informed Consent Form (ICF) in 3 Languages (1 slide each) 9️⃣ References (1 slide, Vancouver Style) Cite references as per Vancouver style ❌ 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. Make a ppt from this approved data pdf and keep references and consent seperate
python - <<'PY' from pathlib import Path 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 from pptx.enum.dml import MSO_LINE outdir=Path('/tmp/workspace/irb-presentation/output') outdir.mkdir(parents=True,exist_ok=True) out=outdir/'Ayushi_Agrawal_IRB_RDW_Heart_Failure.pptx' 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(225,225,225) FONT='Calibri' def rect(slide,x,y,w,h,fill=WHITE,line=BLACK, lw=1): sh=slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h)) sh.fill.solid(); sh.fill.fore_color.rgb=fill sh.line.color.rgb=line; sh.line.width=Pt(lw) return sh def text(slide,x,y,w,h,txt,size=20,bold=False,align=PP_ALIGN.LEFT, valign=MSO_ANCHOR.TOP, bullets=False, spacing=6): tb=slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)) tf=tb.text_frame; tf.clear(); tf.word_wrap=True tf.margin_left=Inches(.05); tf.margin_right=Inches(.05); tf.margin_top=Inches(.03); tf.margin_bottom=Inches(.03) tf.vertical_anchor=valign lines=txt if isinstance(txt,list) else [txt] for i,line in enumerate(lines): p=tf.paragraphs[0] if i==0 else tf.add_paragraph() p.text=line p.alignment=align p.space_after=Pt(spacing) p.font.name=FONT; p.font.size=Pt(size); p.font.bold=bold; p.font.color.rgb=BLACK if bullets: p.level=0 p.text='• '+line return tb def base(title, num): s=prs.slides.add_slide(blank) # purely white default, black rules rect(s,.45,.34,12.43,.02,BLACK,BLACK,0) text(s,.55,.47,12.1,.5,title,24,True) rect(s,.45,6.96,12.43,.012,BLACK,BLACK,0) text(s,.55,7.05,10.5,.2,'IRB Presentation | Smt. NHL Municipal Medical College, Ahmedabad',10) text(s,12.15,7.03,.55,.22,str(num),10,align=PP_ALIGN.RIGHT) return s def bullets_slide(title, items, num, columns=1, note=None): s=base(title,num) if columns==1: text(s,.8,1.35,11.75,5.2,items,20,bullets=True,spacing=13) else: half=(11.5-(columns-1)*.4)/columns chunks=[items[i::columns] for i in range(columns)] for j,ch in enumerate(chunks): text(s,.75+j*(half+.4),1.35,half,5.25,ch,20,bullets=True,spacing=12) if note: text(s,.8,6.55,11.5,.25,note,14) return s # 1 s=prs.slides.add_slide(blank) rect(s,.5,.38,12.33,.025,BLACK,BLACK,0) text(s,.75,1.25,11.8,1.6,'A STUDY OF RED CELL DISTRIBUTION WIDTH\nAS A PROGNOSTIC MARKER IN PATIENTS WITH HEART FAILURE',28,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) rect(s,3.05,3.2,7.25,.02,BLACK,BLACK,0) text(s,1.2,3.65,10.9,.55,'Principal Investigator: Dr. Ayushi Agrawal',20,align=PP_ALIGN.CENTER) text(s,1.2,4.28,10.9,.8,['P.G. Guide: Dr. P. N. Palat (Head of Unit)','Co-guides: Dr. Rajkamal Chaudhary (Associate Professor); Dr. Dhwani Shah (Assistant Professor)'],20,align=PP_ALIGN.CENTER,spacing=9) text(s,1.2,5.55,10.9,.8,['Department of General Medicine','Smt. NHL Municipal Medical College, Ellis Bridge, Ahmedabad - 380006, India'],20,align=PP_ALIGN.CENTER,spacing=9) text(s,.75,7.05,11.2,.2,'IRB Study Presentation',10) text(s,12.15,7.03,.55,.22,'1',10,align=PP_ALIGN.RIGHT) # 2 bullets_slide('Introduction: Heart Failure',[ 'Heart failure is a clinical syndrome caused by structural and/or functional cardiac abnormality.', 'It results in impaired ventricular filling or ejection, with reduced cardiac output and/or raised intracardiac pressures.', 'Diagnosis is supported by raised BNP/NT-proBNP and/or objective evidence of cardiogenic congestion.', 'In India, heart failure often presents at a younger age and coexists with rheumatic heart disease and diabetes.' ],2) # 3 bullets_slide('Introduction: Why Red Cell Distribution Width?',[ 'RDW is a routinely reported complete blood count parameter that reflects anisocytosis.', 'Raised RDW may be associated with chronic inflammation, iron dysregulation, nutritional deficiency, and bone-marrow dysfunction.', 'RDW is readily available and inexpensive compared with many prognostic tests.', 'This study assesses whether RDW can support risk stratification in Indian patients with heart failure.' ],3) #4 s=base('Aim and Objectives',4) text(s,.75,1.3,2.2,.35,'Aim',24,True) rect(s,.75,1.78,11.6,1.0) text(s,.95,1.99,11.15,.55,'To evaluate the role of red cell distribution width (RDW) as a prognostic marker in patients with heart failure.',20,False,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) text(s,.75,3.2,4,.35,'Primary Objective',24,True) text(s,.95,3.72,11.1,.6,'To assess the association between baseline RDW and clinical outcomes in patients with heart failure.',20) text(s,.75,4.75,4.5,.35,'Secondary Objectives',24,True) text(s,.95,5.25,11.1,1.1,['To measure RDW levels in patients diagnosed with heart failure.','To determine the prognostic value of RDW for disease severity and adverse outcomes.'],20,bullets=True,spacing=13) #5 s=base('Methodology: Study Design and Setting',5) labels=[('Design','Prospective observational study'),('Duration','1 year from IRB approval'),('Setting','Tertiary care hospital'),('Population','Adults (>18 years) with heart failure')] for i,(a,b) in enumerate(labels): y=1.35+i*1.22; rect(s,.85,y,2.7,.75); text(s,.98,y+.2,2.4,.3,a,20,True,PP_ALIGN.CENTER); rect(s,3.55,y,8.7,.75); text(s,3.8,y+.18,8.2,.38,b,20) #6 s=base('Methodology: Sample Size and Sampling',6) text(s,.8,1.38,3.3,.35,'Sample Size',24,True) rect(s,.8,1.9,11.4,1.0); text(s,1.0,2.14,11,.5,'Patients meeting eligibility criteria will be enrolled during the 1-year study period.',20,False,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) text(s,.8,3.5,4.0,.35,'Sampling Method',24,True) rect(s,.8,4.02,11.4,1.0); text(s,1.0,4.26,11,.5,'Consecutive enrollment of eligible consenting patients presenting to the tertiary care hospital.',20,False,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) text(s,.8,5.7,11.4,.55,'Recruitment is governed by the study period and eligibility criteria specified in the approved protocol.',18) #7 s=base('Methodology: Eligibility Criteria',7) text(s,.75,1.25,5.5,.35,'Inclusion Criteria',24,True); text(s,6.95,1.25,5.5,.35,'Exclusion Criteria',24,True) inc=['Age ≥18 years','Heart failure diagnosed on standard clinical, laboratory and echocardiographic criteria','Written informed consent','Routine complete blood count at enrolment'] exc=['Hematological disorder affecting RBC indices','Hemoglobin <9 g/dL','Blood transfusion within previous 3 months','Active infection, inflammatory disease, malignancy, chronic liver disease or end-stage renal disease','Pregnancy or lactation','Unable or unwilling to consent'] text(s,.8,1.82,5.45,4.8,inc,20,bullets=True,spacing=13); text(s,6.95,1.82,5.45,4.9,exc,20,bullets=True,spacing=10) #8 s=base('Methodology: Study Procedures',8) steps=['Screen eligible adults','Obtain written consent','Record baseline data and investigations','Document RDW from routine CBC','Prospective follow-up for outcomes','Analyse association with outcomes'] for i,st in enumerate(steps): row=i//3; col=i%3; x=.75+col*4.08; y=1.55+row*2.15 rect(s,x,y,3.45,.82); text(s,x+.15,y+.18,3.15,.4,f'{i+1}. {st}',20,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) if i%3<2: text(s,x+3.5,y+.18,.3,.35,'→',24,True,PP_ALIGN.CENTER) text(s,.8,6.15,11.5,.4,'All investigations are part of routine clinical care; no additional invasive procedure is undertaken solely for research.',18) #9 bullets_slide('Methodology: Outcome Measures',[ 'Disease severity, including New York Heart Association (NYHA) functional classification.', 'Hospital readmission during the follow-up period.', 'Mortality during the follow-up period.', 'Association of baseline RDW with severity and adverse clinical outcomes.' ],9) #10 bullets_slide('Ethical Considerations',[ 'Minimal-risk prospective observational study using data from routine clinical evaluation and laboratory investigations.', 'Written informed consent will be obtained before study inclusion.', 'Participation is voluntary; patients may withdraw consent at any time without affecting routine treatment.', 'Participant confidentiality will be maintained and study data will be accessible only to investigators.', 'No additional invasive procedure or intervention is performed solely for research purposes.', 'Potential benefit: evidence for a simple, cost-effective prognostic marker for future heart failure care.' ],10) #11 s=base('Data Analysis Plan',11) rows=[('Descriptive analysis','Summarize demographics, clinical variables, RDW, and outcomes.'),('Association testing','Assess relationship of RDW with disease severity, readmission, and mortality using appropriate statistical tests.'),('Prognostic assessment','Evaluate the ability of RDW to predict adverse outcomes.'),('Reporting','Present effect estimates and statistical significance, as applicable.')] for i,(a,b) in enumerate(rows): y=1.26+i*1.27; rect(s,.75,y,3.15,.76); text(s,.93,y+.2,2.8,.35,a,20,True,PP_ALIGN.CENTER); rect(s,3.9,y,8.35,.76); text(s,4.12,y+.17,7.95,.4,b,20) text(s,.8,6.45,11.2,.28,'Final tests and models will be selected according to variable type, distribution, and outcome data.',18) #12 s=base('Clinical Proforma: Data Collection Tool',12) headers=['Section','Key variables'] rows=[('Patient information','Patient ID, age, gender'),('Symptoms and history','Dyspnea, edema, chest pain, palpitations, orthopnea, PND, fatigue, syncope; risk factors; addiction; family history'),('Examination','Weight, height, BMI, vital signs, pallor, edema, JVP, crackles, S3, hepatojugular reflux; systemic examination'),('Investigations','ECG, chest X-ray, echocardiography, abdominal USG, CBC including RDW, NT-proBNP, troponin I, renal function tests'),('Severity and outcome','NYHA class, prior admissions/hospitalization, readmission and mortality outcome')] # Table manual x1,x2=.75,3.2; y=1.25 for w,label in [(2.45,'Section'),(9.0,'Key variables')]: pass rect(s,x1,y,2.45,.52,GREY); rect(s,x2,y,9.0,.52,GREY); text(s,x1+.12,y+.12,2.1,.25,'Section',18,True,PP_ALIGN.CENTER); text(s,x2+.12,y+.12,8.7,.25,'Key variables',18,True,PP_ALIGN.CENTER); y+=.52 for a,b in rows: h=.88 if a!='Symptoms and history' else 1.08 rect(s,x1,y,2.45,h); rect(s,x2,y,9.0,h); text(s,x1+.1,y+.1,2.2,h-.15,a,18,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE); text(s,x2+.14,y+.09,8.7,h-.14,b,18,False); y+=h # consent helper def consent_slide(title, language, body, num): s=base(title,num) text(s,.75,1.2,11.8,.4,language,24,True,PP_ALIGN.CENTER) rect(s,.8,1.75,11.65,3.9) text(s,1.0,1.98,11.25,3.42,body,20,False,PP_ALIGN.LEFT,MSO_ANCHOR.TOP,False,12) text(s,1.0,6.05,5.2,.38,'Participant / Representative Signature: __________________',18) text(s,7.05,6.05,5.0,.38,'Investigator Signature: __________________',18) text(s,1.0,6.5,3.4,.3,'Date: __________________',18) return s consent_slide('Informed Consent Form', 'English', [ 'I have been explained the study, “A Study of Red Cell Distribution Width as a Prognostic Marker in Patients with Heart Failure.”', 'I understand that the information collected will be kept confidential and accessible only to the investigators.', 'This study will not affect the regular standard treatment decided by my treating physician and is for educational purposes.', 'My participation is voluntary. I may withdraw my consent at any time without affecting my treatment.', 'I voluntarily provide written informed consent to participate in this study.' ],13) consent_slide('सूचित सहमति पत्र', 'Hindi', [ 'मुझे “हृदय विफलता के मरीजों में रोग के पूर्वानुमान संकेतक के तौर पर रेड सेल डिस्ट्रीब्यूशन विड्थ का अध्ययन” के बारे में समझाया गया है।', 'मैं समझता/समझती हूँ कि एकत्रित जानकारी गोपनीय रखी जाएगी और केवल शोधकर्ताओं को उपलब्ध होगी।', 'इस अध्ययन से मेरे उपचार करने वाले चिकित्सक द्वारा निर्धारित नियमित मानक उपचार पर कोई प्रभाव नहीं पड़ेगा।', 'इस अध्ययन में मेरी भागीदारी स्वैच्छिक है। मैं किसी भी समय अपनी सहमति वापस ले सकता/सकती हूँ।', 'मैं इस अध्ययन में भाग लेने के लिए अपनी लिखित सूचित सहमति देता/देती हूँ।' ],14) consent_slide('માહિતીપૂર્ણ સંમતિ પત્રક', 'Gujarati', [ 'મને “હૃદય નિષ્ફળતા ધરાવતા દર્દીઓમાં પૂર્વાનુમાન સૂચક તરીકે રેડ સેલ ડિસ્ટ્રિબ્યુશન વિડ્થનો અભ્યાસ” વિશે સમજાવવામાં આવ્યું છે।', 'હું સમજું છું કે એકત્રિત માહિતી ગોપનીય રાખવામાં આવશે અને માત્ર સંશોધકોને જ ઉપલબ્ધ રહેશે।', 'આ અભ્યાસથી મારા સારવાર કરનાર તબીબ દ્વારા નક્કી કરાયેલ નિયમિત માનક સારવાર પર કોઈ અસર થશે નહીં।', 'આ અભ્યાસમાં મારી ભાગીદારી સ્વૈચ્છિક છે અને હું કોઈપણ સમયે મારી સંમતિ પાછી ખેંચી શકું છું।', 'હું આ અભ્યાસમાં ભાગ લેવા માટે મારી લેખિત માહિતીપૂર્ણ સંમતિ આપું છું।' ],15) # refs s=base('References',16) 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. doi: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-168. doi: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-136. doi: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-108. doi: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-238. doi: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). doi: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. doi:10.4103/ijam.ijam_146_24.' ] text(s,.7,1.12,12.0,5.95,refs,18,False,PP_ALIGN.LEFT,MSO_ANCHOR.TOP,False,5) # all slide backgrounds explicitly white and metadata prs.core_properties.title='RDW as a Prognostic Marker in Heart Failure' prs.core_properties.author='Dr. Ayushi Agrawal' prs.save(out) print(out) print('slides',len(prs.slides)) PY python -c "from pptx import Presentation; p='/tmp/workspace/irb-presentation/output/Ayushi_Agrawal_IRB_RDW_Heart_Failure.pptx'; r=Presentation(p); print('verified slides:',len(r.slides)); print('title:',r.core_properties.title)"
python - <<'PY' from pptx import Presentation p='/tmp/workspace/irb-presentation/output/Ayushi_Agrawal_IRB_RDW_Heart_Failure.pptx' prs=Presentation(p) fonts=set(); sizes=[] for slide in prs.slides: for shape in slide.shapes: if shape.has_text_frame: for para in shape.text_frame.paragraphs: for run in para.runs: if run.text.strip(): fonts.add(run.font.name) if run.font.size: sizes.append(round(run.font.size.pt,1)) print('slides=',len(prs.slides)) print('fonts=',fonts) print('sizes=',sorted(set(sizes))) print('file bytes=',__import__('os').path.getsize(p)) PY
~/irb-presentation
Ayushi Agrawal IRB RDW Heart Failure
Presentation · PPTX
Review the PPT for formatting and content accuracy
"heart failure" AND "red cell distribution width"
2022 AHA ACC HFSA heart failure guideline diagnosis natriuretic peptide signs congestion
python - <<'PY' from pptx import Presentation from pptx.enum.shapes import MSO_SHAPE_TYPE from pptx.oxml.ns import qn from pathlib import Path p=Path('/tmp/workspace/irb-presentation/output/Ayushi_Agrawal_IRB_RDW_Heart_Failure.pptx') prs=Presentation(p) print('PPT:',p.name,'slides:',len(prs.slides),'size_inches:',round(prs.slide_width/914400,3),'x',round(prs.slide_height/914400,3)) for i,slide in enumerate(prs.slides,1): texts=[]; issues=[]; fonts=[]; sizes=[] for sh in slide.shapes: if not sh.has_text_frame: continue txt=' | '.join(x.text.strip().replace('\n',' / ') for x in sh.text_frame.paragraphs if x.text.strip()) if txt: texts.append(txt) # slide margins / content zones if sh.top+sh.height > prs.slide_height: issues.append('extends below slide') for para in sh.text_frame.paragraphs: ppr=para._p.pPr if ppr is not None: d=ppr.find(qn('a:defRPr')) if d is not None: fonts.append(d.get('typeface')); sizes.append(d.get('sz')) for run in para.runs: rpr=run._r.rPr if rpr is not None: fonts.append(rpr.get('typeface')); sizes.append(rpr.get('sz')) print('\nSLIDE',i, 'issues=',issues or 'none') print('fonts:',sorted(set(x for x in fonts if x)) or ['inherited/default'], 'sizes:',sorted(set(x for x in sizes if x)) or ['inherited/default']) print('TEXT:', ' || '.join(texts)[:900]) PY
ICMR National Ethical Guidelines informed consent compensation research-related injury participant voluntary consent 2017
"heart failure" AND "red cell distribution width"
fc-match Calibri; fc-match 'Nirmala UI'; python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/irb-presentation/output/Ayushi_Agrawal_IRB_RDW_Heart_Failure.pptx') prs=Presentation(p) for n in [7,12,13,14,15,16]: s=prs.slides[n-1] print('\nSlide',n) for shape in s.shapes: if shape.has_text_frame and shape.text.strip(): h=shape.height/914400; w=shape.width/914400; y=shape.top/914400 chars=len(shape.text) print(f'y={y:.2f}, h={h:.2f}, w={w:.2f}, chars={chars}: {shape.text[:45].replace(chr(11)," ").replace(chr(10)," ")}') PY
python - <<'PY' from zipfile import ZipFile from lxml import etree p='/tmp/workspace/irb-presentation/output/Ayushi_Agrawal_IRB_RDW_Heart_Failure.pptx' ns={'a':'http://schemas.openxmlformats.org/drawingml/2006/main'} with ZipFile(p) as z: theme=etree.fromstring(z.read('ppt/theme/theme1.xml')) major=theme.xpath('.//a:themeElements/a:fontScheme/a:majorFont/a:latin', namespaces=ns)[0].get('typeface') minor=theme.xpath('.//a:themeElements/a:fontScheme/a:minorFont/a:latin', namespaces=ns)[0].get('typeface') print('Theme major/minor Latin fonts:', major, '/', minor) for i in [1,2,14,15,16]: root=etree.fromstring(z.read(f'ppt/slides/slide{i}.xml')) latin=sorted(set(x.get('typeface') for x in root.xpath('.//a:rPr/a:latin | .//a:defRPr/a:latin',namespaces=ns) if x.get('typeface'))) ea=sorted(set(x.get('typeface') for x in root.xpath('.//a:rPr/a:ea | .//a:defRPr/a:ea',namespaces=ns) if x.get('typeface'))) cs=sorted(set(x.get('typeface') for x in root.xpath('.//a:rPr/a:cs | .//a:defRPr/a:cs',namespaces=ns) if x.get('typeface'))) print('Slide',i,'explicit latin:',latin,'EA:',ea,'CS:',cs) PY
| Area | Status | Review comments |
|---|---|---|
| White background / black text | Pass | Consistent across slides. |
| Calibri font | Partial pass | The PPTX explicitly specifies Calibri. However, Hindi and Gujarati require font fallback because Calibri does not contain all Devanagari and Gujarati glyphs. The rendered deck may display a substitute font on different computers. |
| Title / headings | Pass | Title uses 28 pt; headings use 24 pt bold. |
| Body font size | Partial pass | Most body content is 20 pt. Slides 6, 8, 11 and 12 use 18 pt explanatory text, which conflicts with the stated 20 pt body-text requirement. |
| References | Pass | Reference text is 18 pt, as requested. |
| Slide alignment | Pass | No shapes extend outside slide boundaries. Footer and slide numbering are consistently positioned. |
| Readability | Needs revision | Slide 7 has crowded exclusion criteria. Slides 12 to 16, especially the references slide, may be too dense for comfortable display. |
| References slide | Needs revision | Seven full Vancouver references at 18 pt on one slide are likely to be crowded or overflow when rendered. A second reference slide is advisable, even though the original request said one slide. Do not reduce below 18 pt. |
| Consent slides | Needs revision | Consent content is summarized rather than reproducing the approved ICF. For an IRB presentation this may be acceptable as a “key ICF elements” summary, but the slide should be clearly titled as such. If it is presented as the actual ICF, it should match the approved text exactly. Hindi and Gujarati slides still use English signature labels. |
“Heart failure is diagnosed from symptoms/signs together with evidence of structural or functional cardiac abnormality. In patients with LVEF >40%, evidence of raised filling pressures, supported by natriuretic peptides and echocardiography, is required for confirmation.”
“Consecutive enrollment of eligible consenting patients...”
“Eligible consenting patients will be enrolled during the 1-year study period, as per the approved protocol.”
“No fixed sample size is specified in the approved protocol; enrolment will occur during the study period.”