What's your speciality?
See these files And tell me trough level of IgG
python3 << 'EOF' import pdfplumber files = [ "/tmp/workspace/attachments/068722be-d2e7-4673-896c-427d6d5d5677/Vishal CVID July 26.pdf", "/tmp/workspace/attachments/068722be-d2e7-4673-896c-427d6d5d5677/Vishal CVID Aug 25.pdf" ] for f in files: print(f"\n{'='*60}") print(f"FILE: {f.split('/')[-1]}") print('='*60) with pdfplumber.open(f) as pdf: for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f"\n--- Page {i+1} ---") print(text) EOF
| Date | IgG Trough Level | Cut-off |
|---|---|---|
| Jan 2023 | 328.85 mg/dL | 700 mg/dL |
| Jun 2023 | 393.59 mg/dL | 700 mg/dL |
| 22 Jun (year not specified) | 292.01 mg/dL | 700 mg/dL |
| 5 January 2025 | 405.54 mg/dL | 700 mg/dL |
| 19 March 2025 | 308.52 mg/dL | 700 mg/dL |
| 16 September 2025 | 479.4 mg/dL | 700 mg/dL |
| 26 July 2025 | 417.98 mg/dL | 700 mg/dL |
| 22 December 2025 | 559.38 mg/dL | 700 mg/dL |
| 23 April 2026 | 506 mg/dL | 700 mg/dL |
Create a chart tracking IgG trends over time
python3 << 'EOF' import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import matplotlib.dates as mdates from datetime import datetime import numpy as np # IgG trough data points data = [ ("Jan 2023", datetime(2023, 1, 15), 328.85), ("Jun 2023", datetime(2023, 6, 22), 292.01), ("Jun 2023", datetime(2023, 6, 23), 393.59), ("Jan 2025", datetime(2025, 1, 5), 405.54), ("Mar 2025", datetime(2025, 3, 19), 308.52), ("Jul 2025", datetime(2025, 7, 26), 417.98), ("Sep 2025", datetime(2025, 9, 16), 479.40), ("Dec 2025", datetime(2025, 12, 22), 559.38), ("Apr 2026", datetime(2026, 4, 23), 506.00), ] dates = [d[1] for d in data] values = [d[2] for d in data] labels = [d[0] for d in data] fig, ax = plt.subplots(figsize=(13, 6)) fig.patch.set_facecolor('#f8f9fa') ax.set_facecolor('#f8f9fa') # Target threshold line ax.axhline(y=700, color='#e74c3c', linewidth=2, linestyle='--', label='Target trough (700 mg/dL)', zorder=2) ax.fill_between([dates[0], dates[-1]], 700, 900, color='#e74c3c', alpha=0.07, label='Above target zone') # Shade below-target region ax.fill_between(dates, values, 700, where=[v < 700 for v in values], color='#e67e22', alpha=0.12, label='Sub-therapeutic range') # Main trend line ax.plot(dates, values, color='#2c7be5', linewidth=2.5, zorder=4, marker='o', markersize=9, markerfacecolor='white', markeredgecolor='#2c7be5', markeredgewidth=2.5, label='IgG trough level') # Trend line (linear fit) x_num = mdates.date2num(dates) z = np.polyfit(x_num, values, 1) p = np.poly1d(z) x_trend = np.linspace(x_num[0], x_num[-1], 200) ax.plot(mdates.num2date(x_trend), p(x_trend), color='#2c7be5', linewidth=1.2, linestyle=':', alpha=0.5, label='Trend (linear fit)') # Annotate each point for i, (dt, val, lbl) in enumerate(zip(dates, values, labels)): offset = 18 if i % 2 == 0 else -28 ax.annotate(f'{val:.0f}', xy=(dt, val), xytext=(0, offset), textcoords='offset points', ha='center', va='bottom' if offset > 0 else 'top', fontsize=9, fontweight='bold', color='#2c7be5') # Axes formatting ax.set_xlim(datetime(2022, 10, 1), datetime(2026, 8, 1)) ax.set_ylim(200, 780) ax.xaxis.set_major_formatter(mdates.DateFormatter('%b\n%Y')) ax.xaxis.set_major_locator(mdates.MonthLocator(interval=3)) plt.xticks(rotation=0, fontsize=9) plt.yticks(fontsize=10) ax.set_xlabel('Date', fontsize=12, labelpad=8) ax.set_ylabel('IgG Level (mg/dL)', fontsize=12, labelpad=8) ax.set_title('Vishal – IgG Trough Levels Over Time (CVID, IVIG 700 mg/kg q4w)', fontsize=13, fontweight='bold', pad=14) ax.legend(loc='lower right', fontsize=9.5, framealpha=0.85) ax.grid(axis='y', linestyle='--', alpha=0.4) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) plt.tight_layout() import os os.makedirs('/tmp/workspace/vishal-cvid', exist_ok=True) plt.savefig('/tmp/workspace/vishal-cvid/IgG_trough_trend.png', dpi=150, bbox_inches='tight') print("Saved.") EOF

IgG trough trend
Image · PNG
Are you available on ios too
It's a patient informed sheet and informed consent Provide summary points wise for the primary investigatior to convey to patient and
python3 << 'EOF' import pdfplumber f = "/tmp/workspace/attachments/068722be-d2e7-4673-896c-427d6d5d5677/4. Informed Consent Form_V1.0_03_30-oct-0225.pdf" with pdfplumber.open(f) as pdf: print(f"Total pages: {len(pdf.pages)}") for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f"\n--- Page {i+1} ---") print(text) EOF
| Procedure | Main Risks |
|---|---|
| Blood draw | Bruising, mild pain, rare infection at site |
| ECG | Skin irritation from adhesive pads |
| X-ray | Very low radiation exposure |
| Role | Contact |
|---|---|
| Principal Investigator | Dr. Avinash Jain - +91 9602045584 |
| Ethics Committee Chair | Dr. Shashi Singhvi - +91 9166663311 |
| IEC Member Secretary | Dr. Amitabh Dube - +91 9414984818 |
PI Note: After explaining all points above, ask the patient to initial each of the 6 consent statements (i-vi) on the consent form and sign/date it. Provide a copy to the patient. Complete the Investigator Certificate (Page 15) with your signature and date.
I wnat the patient information part summary for pI The summary youbsend is ookay can it be shorter or is it the minimum
I prfer above one more can you convert above one into word file
python3 << 'EOF' from docx import Document from docx.shared import Pt, RGBColor, Inches from docx.enum.text import WD_ALIGN_PARAGRAPH doc = Document() # --- Page margins --- from docx.oxml.ns import qn from docx.oxml import OxmlElement section = doc.sections[0] section.top_margin = Inches(0.9) section.bottom_margin = Inches(0.9) section.left_margin = Inches(1.0) section.right_margin = Inches(1.0) # --- Normal style --- normal = doc.styles['Normal'] normal.font.name = 'Arial' normal.font.size = Pt(11) # ---- Helper functions ---- def add_heading(doc, text, level=1, color=None): p = doc.add_heading(text, level=level) p.alignment = WD_ALIGN_PARAGRAPH.LEFT for run in p.runs: run.font.name = 'Arial' if color: run.font.color.rgb = RGBColor(*color) return p def add_body(doc, text, bold=False, indent=False): p = doc.add_paragraph() if indent: p.paragraph_format.left_indent = Inches(0.25) run = p.add_run(text) run.font.name = 'Arial' run.font.size = Pt(11) run.bold = bold return p def add_bullet(doc, text): p = doc.add_paragraph(style='List Bullet') p.paragraph_format.left_indent = Inches(0.25) run = p.add_run(text) run.font.name = 'Arial' run.font.size = Pt(11) return p def add_divider(doc): p = doc.add_paragraph() p.paragraph_format.space_after = Pt(2) pPr = p._p.get_or_add_pPr() pBdr = OxmlElement('w:pBdr') bottom = OxmlElement('w:bottom') bottom.set(qn('w:val'), 'single') bottom.set(qn('w:sz'), '4') bottom.set(qn('w:space'), '1') bottom.set(qn('w:color'), 'CCCCCC') pBdr.append(bottom) pPr.append(pBdr) return p # ============================ # TITLE BLOCK # ============================ title = doc.add_paragraph() title.alignment = WD_ALIGN_PARAGRAPH.CENTER tr = title.add_run("Patient Information – PI Quick Summary") tr.font.name = 'Arial' tr.font.size = Pt(15) tr.bold = True tr.font.color.rgb = RGBColor(0x1A, 0x4F, 0x8A) sub = doc.add_paragraph() sub.alignment = WD_ALIGN_PARAGRAPH.CENTER sr = sub.add_run("IVIG in Primary Immunodeficiency | BSV_IVIG_PID_2023_03 | SMS Medical College, Jaipur") sr.font.name = 'Arial' sr.font.size = Pt(10) sr.font.color.rgb = RGBColor(0x55, 0x55, 0x55) doc.add_paragraph() add_divider(doc) doc.add_paragraph() # ============================ # SECTIONS # ============================ sections_data = [ ("1. What is this study?", "BSV is testing their IVIG medicine for safety and effectiveness in PID patients. ~52 adults and children enrolled across multiple centers.", []), ("2. Why this patient?", "The patient has PID and needs, or is already on, IVIG.", []), ("3. What will happen?", None, [ "14 months total – IVIG drip every 3-4 weeks for 12 months, then one follow-up visit.", "14-18 clinic visits; first visit includes Chest X-ray and ECG.", "Small blood and urine samples at each visit; daily health diary to maintain.", "Dose: 400–800 mg/kg to start, then 200–800 mg/kg every 21 or 28 days (IV infusion).", ]), ("4. Side Effects", None, [ "Common: Headache, fever, infusion site reactions.", "Serious but rare: Allergic reactions, blood clots (higher risk if obese/diabetic/hypertensive), kidney injury.", "Vaccine note: Avoid live vaccines (MMR, varicella) for 3 months after IVIG; 1 year gap for measles.", ]), ("5. Benefits", "Free medicine, tests, and travel reimbursement. May benefit the patient directly; also helps future PID patients.", []), ("6. Pregnancy", "Do not participate if pregnant or breastfeeding. Two contraceptive methods required throughout. Inform the doctor immediately if pregnancy occurs during the study.", []), ("7. Patient Rights", None, [ "Fully voluntary – withdraw anytime, no reason needed, no impact on regular care.", "Alternative treatments exist and will be discussed.", "Data kept confidential under a subject ID; stored for 5 years post-study.", ]), ("8. Costs & Compensation", "Everything is free. Travel reimbursed. Study-related injuries covered by BSV insurance. In case of death, compensation provided to legal heirs.", []), ] for heading, body_text, bullets in sections_data: add_heading(doc, heading, level=2, color=(0x1A, 0x4F, 0x8A)) if body_text: add_body(doc, body_text) for b in bullets: add_bullet(doc, b) # ============================ # CONTACTS # ============================ add_divider(doc) doc.add_paragraph() add_heading(doc, "Key Contacts", level=2, color=(0x1A, 0x4F, 0x8A)) contacts = [ ("Principal Investigator", "Dr. Avinash Jain", "+91 9602045584"), ("Ethics Committee Chair", "Dr. Shashi Singhvi", "+91 9166663311"), ("IEC Member Secretary", "Dr. Amitabh Dube", "+91 9414984818"), ] table = doc.add_table(rows=1, cols=3) table.style = 'Table Grid' hdr = table.rows[0].cells for i, h in enumerate(["Role", "Name", "Contact"]): hdr[i].text = h for run in hdr[i].paragraphs[0].runs: run.bold = True run.font.name = 'Arial' run.font.size = Pt(10) run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) from docx.oxml.ns import qn as _qn tc = hdr[i]._tc tcPr = tc.get_or_add_tcPr() shd = OxmlElement('w:shd') shd.set(_qn('w:val'), 'clear') shd.set(_qn('w:color'), 'auto') shd.set(_qn('w:fill'), '1A4F8A') tcPr.append(shd) for role, name, phone in contacts: row = table.add_row().cells row[0].text = role row[1].text = name row[2].text = phone for cell in row: for para in cell.paragraphs: for run in para.runs: run.font.name = 'Arial' run.font.size = Pt(10) # ============================ # FOOTER NOTE # ============================ doc.add_paragraph() note = doc.add_paragraph() note_run = note.add_run("After explaining all points, ask the patient to initial each of the 6 consent statements and sign the consent form. Provide a copy to the patient. Complete the Investigator Certificate (Page 15) with your signature and date.") note_run.font.name = 'Arial' note_run.font.size = Pt(9) note_run.italic = True note_run.font.color.rgb = RGBColor(0x77, 0x77, 0x77) # ============================ # SAVE # ============================ import os os.makedirs('/tmp/workspace/vishal-cvid', exist_ok=True) out = '/tmp/workspace/vishal-cvid/PI_Patient_Info_Summary.docx' doc.save(out) print(f"Saved: {out}") EOF
PI Patient Info Summary
Word Document · DOCX
Nake word file of above one the more detailed one summary
python3 << 'EOF' from docx import Document from docx.shared import Pt, RGBColor, Inches from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.oxml.ns import qn from docx.oxml import OxmlElement doc = Document() # --- Page margins --- section = doc.sections[0] section.top_margin = Inches(0.9) section.bottom_margin = Inches(0.9) section.left_margin = Inches(1.0) section.right_margin = Inches(1.0) # --- Normal style --- normal = doc.styles['Normal'] normal.font.name = 'Arial' normal.font.size = Pt(11) # ---- Helpers ---- def add_heading(doc, text, level=2, color=(0x1A, 0x4F, 0x8A)): p = doc.add_heading(text, level=level) p.alignment = WD_ALIGN_PARAGRAPH.LEFT for run in p.runs: run.font.name = 'Arial' run.font.color.rgb = RGBColor(*color) return p def add_body(doc, text, italic=False, small=False, grey=False): p = doc.add_paragraph() run = p.add_run(text) run.font.name = 'Arial' run.font.size = Pt(9.5) if small else Pt(11) run.italic = italic if grey: run.font.color.rgb = RGBColor(0x77, 0x77, 0x77) return p def add_bullet(doc, text, bold_prefix=None): p = doc.add_paragraph(style='List Bullet') p.paragraph_format.left_indent = Inches(0.25) if bold_prefix: rb = p.add_run(bold_prefix) rb.bold = True rb.font.name = 'Arial' rb.font.size = Pt(11) rest = p.add_run(text) rest.font.name = 'Arial' rest.font.size = Pt(11) else: run = p.add_run(text) run.font.name = 'Arial' run.font.size = Pt(11) return p def add_divider(doc): p = doc.add_paragraph() p.paragraph_format.space_after = Pt(2) pPr = p._p.get_or_add_pPr() pBdr = OxmlElement('w:pBdr') bottom = OxmlElement('w:bottom') bottom.set(qn('w:val'), 'single') bottom.set(qn('w:sz'), '4') bottom.set(qn('w:space'), '1') bottom.set(qn('w:color'), 'CCCCCC') pBdr.append(bottom) pPr.append(pBdr) def shade_cell(cell, hex_color): tc = cell._tc tcPr = tc.get_or_add_tcPr() shd = OxmlElement('w:shd') shd.set(qn('w:val'), 'clear') shd.set(qn('w:color'), 'auto') shd.set(qn('w:fill'), hex_color) tcPr.append(shd) # ============================ # TITLE BLOCK # ============================ title = doc.add_paragraph() title.alignment = WD_ALIGN_PARAGRAPH.CENTER tr = title.add_run("Patient Information & Informed Consent") tr.font.name = 'Arial'; tr.font.size = Pt(16); tr.bold = True tr.font.color.rgb = RGBColor(0x1A, 0x4F, 0x8A) sub1 = doc.add_paragraph() sub1.alignment = WD_ALIGN_PARAGRAPH.CENTER s1 = sub1.add_run("PI Summary Sheet | For verbal conveyance to patient") s1.font.name = 'Arial'; s1.font.size = Pt(10); s1.italic = True s1.font.color.rgb = RGBColor(0x55, 0x55, 0x55) sub2 = doc.add_paragraph() sub2.alignment = WD_ALIGN_PARAGRAPH.CENTER s2 = sub2.add_run("Study: BSV_IVIG_PID_2023_03 | SMS Medical College, Jaipur") s2.font.name = 'Arial'; s2.font.size = Pt(10) s2.font.color.rgb = RGBColor(0x55, 0x55, 0x55) doc.add_paragraph() add_divider(doc) doc.add_paragraph() # ============================ # 1. WHAT IS THIS STUDY? # ============================ add_heading(doc, "1. What is This Study?") add_body(doc, "Bharat Serums and Vaccines Limited (BSV) is conducting a Phase III clinical trial to test the effectiveness, safety, and how the body handles IVIG (Human Normal Immunoglobulin IV) in patients with Primary Immunodeficiency Disease (PID). Approximately 52 patients (adults and children) will be enrolled across multiple centers.") # ============================ # 2. WHY ARE YOU BEING ASKED? # ============================ add_heading(doc, "2. Why Are You Being Asked to Participate?") add_body(doc, "You have been diagnosed with PID and are either already on IVIG or need to start it. You fall into one of two groups:") add_bullet(doc, "Already stable on IVIG.", bold_prefix="Group A: ") add_bullet(doc, "New to IVIG (will receive at least 3 months of treatment before formal enrollment).", bold_prefix="Group B: ") # ============================ # 3. WHAT WILL HAPPEN? # ============================ add_heading(doc, "3. What Will Happen to You?") add_bullet(doc, "Total participation: ~14 months") add_bullet(doc, "Screening: up to 28 days") add_bullet(doc, "Treatment: 12 months of IVIG infusions") add_bullet(doc, "Follow-up: 21–28 days after last dose") add_bullet(doc, "IVIG dose: 400–800 mg/kg starting dose, then 200–800 mg/kg every 21 or 28 days (IV infusion)") add_bullet(doc, "Total visits: 14–18 visits (every 3–4 weeks)") add_bullet(doc, "Blood drawn: 30 mL total over the entire study (10 mL for children)") # ============================ # 4. TESTS & PROCEDURES # ============================ add_heading(doc, "4. Tests and Procedures at Each Visit") add_bullet(doc, "Physical examination and vital signs (every visit)") add_bullet(doc, "Blood tests: CBC, blood chemistry, Coombs test, viral markers") add_bullet(doc, "Urine tests") add_bullet(doc, "First visit only: Chest X-ray and ECG") add_bullet(doc, "Pregnancy test at every visit (if applicable)") add_bullet(doc, "Daily health diary to be maintained by the patient") # ============================ # 5. RISKS OF PROCEDURES # ============================ add_heading(doc, "5. Risks of Procedures") risk_table = doc.add_table(rows=1, cols=2) risk_table.style = 'Table Grid' hdr = risk_table.rows[0].cells for i, h in enumerate(["Procedure", "Main Risks"]): hdr[i].text = h shade_cell(hdr[i], '1A4F8A') for run in hdr[i].paragraphs[0].runs: run.bold = True; run.font.name = 'Arial' run.font.size = Pt(10) run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) risks = [ ("Blood draw", "Bruising, mild pain, rare infection at site"), ("ECG", "Skin irritation from adhesive pads"), ("X-ray", "Very low radiation exposure"), ] for proc, risk in risks: row = risk_table.add_row().cells row[0].text = proc; row[1].text = risk for cell in row: for para in cell.paragraphs: for run in para.runs: run.font.name = 'Arial'; run.font.size = Pt(10) doc.add_paragraph() # ============================ # 6. SIDE EFFECTS # ============================ add_heading(doc, "6. Possible Side Effects of IVIG") se_table = doc.add_table(rows=1, cols=2) se_table.style = 'Table Grid' hdr2 = se_table.rows[0].cells for i, h in enumerate(["Frequency", "Side Effect"]): hdr2[i].text = h shade_cell(hdr2[i], '1A4F8A') for run in hdr2[i].paragraphs[0].runs: run.bold = True; run.font.name = 'Arial' run.font.size = Pt(10) run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) side_effects = [ ("Common", "Headache, fever, infusion site reaction"), ("Common", "Blood pressure changes, dizziness, cough/wheezing"), ("Uncommon", "Nausea/vomiting, rashes, back/joint pain, weakness"), ("Uncommon", "Severe allergic reactions"), ("Special risk", "Blood clots – higher risk if obese, diabetic, or hypertensive"), ("Special risk", "Sudden kidney injury – higher risk with pre-existing kidney disease, diabetes, obesity"), ] for freq, se in side_effects: row = se_table.add_row().cells row[0].text = freq; row[1].text = se for cell in row: for para in cell.paragraphs: for run in para.runs: run.font.name = 'Arial'; run.font.size = Pt(10) doc.add_paragraph() add_body(doc, "Vaccine interaction: IVIG can reduce effectiveness of live vaccines (measles, MMR, varicella). Maintain a gap of at least 3 months after last IVIG dose (1 year for measles).", italic=True) # ============================ # 7. BENEFITS # ============================ add_heading(doc, "7. Possible Benefits") add_bullet(doc, "Free blood tests and health check-ups throughout the study") add_bullet(doc, "Study medicine provided at no cost") add_bullet(doc, "Travel expenses reimbursed") add_bullet(doc, "Patient may directly benefit from effective treatment") add_bullet(doc, "Participation helps generate evidence for future PID patients") # ============================ # 8. PREGNANCY # ============================ add_heading(doc, "8. Pregnancy") add_bullet(doc, "Do not participate if pregnant or breastfeeding.") add_bullet(doc, "Women of childbearing age must use two forms of contraception during the study.") add_bullet(doc, "If pregnancy occurs during the study, stop IVIG immediately and inform the study doctor right away.") add_bullet(doc, "The sponsor may follow up on the pregnancy outcome with the patient's consent.") # ============================ # 9. PATIENT RESPONSIBILITIES # ============================ add_heading(doc, "9. Patient Responsibilities") add_bullet(doc, "Attend all scheduled visits") add_bullet(doc, "Take medicine as directed and maintain the daily diary") add_bullet(doc, "Inform the study team before taking any new medicines") add_bullet(doc, "Report any side effects, illnesses, or injuries promptly") add_bullet(doc, "Do not enroll in any other research study simultaneously") # ============================ # 10. RIGHTS # ============================ add_heading(doc, "10. Patient Rights – Key Points") add_bullet(doc, "Participation is completely voluntary – can withdraw at any time, for any reason, without affecting regular medical care.") add_bullet(doc, "Will be informed of any new information that may affect the decision to continue.") add_bullet(doc, "Alternative treatments for PID exist and will be discussed if the patient chooses not to participate.") add_bullet(doc, "The study doctor or sponsor can also withdraw the patient if needed (e.g., serious side effect, non-compliance, pregnancy).") # ============================ # 11. CONFIDENTIALITY # ============================ add_heading(doc, "11. Confidentiality") add_bullet(doc, "Data labeled with a subject ID number only – name will not appear in any externally shared research records.") add_bullet(doc, "Data stored for up to 5 years after study completion.") add_bullet(doc, "Regulatory authorities and ethics committees may access coded data.") add_bullet(doc, "Results may be published, but patient identity will remain confidential.") # ============================ # 12. COMPENSATION & INSURANCE # ============================ add_heading(doc, "12. Compensation and Insurance") add_bullet(doc, "No payment for participation; no cost to patient.") add_bullet(doc, "Study-related injury: Full free medical treatment provided by BSV.") add_bullet(doc, "Study-related death: Financial compensation to legal heirs as per regulatory guidelines.") add_bullet(doc, "BSV has taken out an insurance policy covering study-related injuries.") add_bullet(doc, "Patient should check with their personal health insurer as study participation may affect existing policies.") # ============================ # CONTACTS # ============================ doc.add_paragraph() add_divider(doc) doc.add_paragraph() add_heading(doc, "Key Contacts", level=2) con_table = doc.add_table(rows=1, cols=3) con_table.style = 'Table Grid' hdr3 = con_table.rows[0].cells for i, h in enumerate(["Role", "Name", "Contact"]): hdr3[i].text = h shade_cell(hdr3[i], '1A4F8A') for run in hdr3[i].paragraphs[0].runs: run.bold = True; run.font.name = 'Arial' run.font.size = Pt(10) run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) contacts = [ ("Principal Investigator", "Dr. Avinash Jain", "+91 9602045584"), ("Ethics Committee Chair", "Dr. Shashi Singhvi", "+91 9166663311"), ("IEC Member Secretary", "Dr. Amitabh Dube", "+91 9414984818"), ] for role, name, phone in contacts: row = con_table.add_row().cells row[0].text = role; row[1].text = name; row[2].text = phone for cell in row: for para in cell.paragraphs: for run in para.runs: run.font.name = 'Arial'; run.font.size = Pt(10) # ============================ # FOOTER NOTE # ============================ doc.add_paragraph() note = doc.add_paragraph() nr = note.add_run("PI Note: After explaining all points above, ask the patient to initial each of the 6 consent statements (i–vi) on the consent form and sign/date it. Provide a signed copy to the patient. Complete the Investigator Certificate (Page 15) with your signature and date.") nr.font.name = 'Arial'; nr.font.size = Pt(9); nr.italic = True nr.font.color.rgb = RGBColor(0x77, 0x77, 0x77) # ============================ # SAVE # ============================ import os os.makedirs('/tmp/workspace/vishal-cvid', exist_ok=True) out = '/tmp/workspace/vishal-cvid/PI_Patient_Info_Detailed_Summary.docx' doc.save(out) print(f"Saved: {out}") EOF
PI Patient Info Detailed Summary
Word Document · DOCX
It is important to tell your Study Doctor about all of the medicines you are taking now or have previously taken, as there may be risks associated with those medicines. If you are overweight, have diabetes, and/or have high blood pressure, and also if you are taking medications for some of these conditions, you may be at risk of thromboembolic events (blood clotting within the blood vessels). Sudden or short-term kidney failure has also been reported in patients who already have conditions such as being overweight, having diabetes mellitus, or if kidneys are not properly functioning. You must also inform your Study Doctor of any potential changes in your medications prior to changing or adding to your medications. You will be monitored for the duration of your time in the study, and you should tell your Study Doctor about any changes in your health while taking part in the study. The study medicine can also reduce the effect of some vaccines, such as those for measles, rubella, mumps, and varicella. If you plan to take any of these medications, you should keep at least a 3-month gap after the last treatment with IVIG. In the case of measles, you should keep a gap of about a year. Summaries this in short for risk