Teratogenic effects of warfarin images
warfarin teratogenic effects fetal warfarin syndrome
warfarin embryopathy nasal hypoplasia stippled epiphyses X-ray





| Feature | Details |
|---|---|
| Critical exposure window | 6–12 weeks gestation (organogenesis) |
| Risk | ~5% with standard doses; lower if warfarin dose <5 mg/day |
| Mechanism | Inhibits vitamin K-dependent carboxylation of MGP and other Gla-proteins essential for bone/cartilage development |
| Facial | Nasal hypoplasia, flat nasal bridge, midface hypoplasia |
| Skeletal (X-ray) | Stippled epiphyses (chondrodysplasia punctata), platyspondyly, brachytelephalangy |
| Internal | Pulmonary hypoplasia, diaphragmatic defects |
| CNS | Optic atrophy, mental impairment, microcephaly |
| 2nd/3rd trimester risks | Fetal and intrauterine hemorrhage (CNS bleeds, placental bleeding) |
| Safe alternative | LMWH throughout pregnancy (preferred) |
Search for recent clinical guidelines on anticoagulation in pregnancy
"anticoagulation"[MeSH Terms] AND "pregnancy"[MeSH Terms]
anticoagulation pregnancy clinical guidelines 2024 2025 ACOG ASH ESC
"heparin" AND "pregnancy" AND "thromboembolism"
https://www.unipi.it/wp-content/uploads/ESC-guidelines-Cardi…
PMID: 40816699
PMID: 41961304
PMID: 35073471
| Indication | Recommended Agent | Class |
|---|---|---|
| Acute VTE in pregnancy | Therapeutic weight-adjusted LMWH | I C |
| Mechanical heart valves (1st trimester) | LMWH or switch considerations | I C |
| Post-partum oral anticoagulation | Delay switch from heparin 7–14 days until wound healed | I C |
| DOACs (apixaban, rivaroxaban, dabigatran) | Contraindicated in pregnancy | III |
| Vitamin K antagonists (warfarin) | Safe during lactation; superior for mechanical valves (post-partum) | I |
| Drug | 1st Trimester | 2nd/3rd Trimester | Post-partum |
|---|---|---|---|
| LMWH | ✅ Preferred (no fetopathy) | ✅ Preferred | ✅ Preferred until wound healed (7–14 days) |
| UFH | ✅ Acceptable | ✅ Acceptable | ✅ Acceptable |
| Warfarin | ⚠️ Avoid (embryopathy risk; use if <5 mg/day for mechanical valves) | ⚠️ Fetal hemorrhage risk | ✅ Safe; preferred for mechanical valves |
| DOACs | ❌ Contraindicated | ❌ Contraindicated | ✅ Safe (post-partum) |
Interpret this into report paper
ls -la /home/daytona/workspace/ && ls /home/daytona/skills/docx/
mkdir -p /home/daytona/workspace/radiology-report && ls /home/daytona/skills/doc…
cd /home/daytona/workspace/radiology-report && curl -s -o xray.jpg "https://d361…
~/radiology-report/generate_report.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
ImageRun, Header, Footer, AlignmentType, HeadingLevel, BorderStyle,
WidthType, VerticalAlign, PageNumber, ShadingType, UnderlineType
} = require('docx');
const fs = require('fs');
const path = require('path');
// Load images
const xrayImg = fs.readFileSync('/home/daytona/workspace/radiology-report/xray.jpg');
const noteImg = fs.readFileSync('/home/daytona/workspace/radiology-report/note.jpg');
// ─── Helpers ────────────────────────────────────────────────────────────────
const bold = (text, size = 22) => new TextRun({ text, bold: true, size, font: 'Calibri' });
const normal = (text, size = 22) => new TextRun({ text, size, font: 'Calibri' });
const italic = (text, size = 20) => new TextRun({ text, italics: true, size, font: 'Calibri' });
const br = () => new Paragraph({ children: [new TextRun({ text: '' })] });
const sectionHeading = (text) => new Paragraph({
children: [new TextRun({ text, bold: true, size: 24, color: '1F3864', font: 'Calibri' })],
spacing: { before: 280, after: 120 },
border: { bottom: { style: BorderStyle.SINGLE, size: 4, color: '2E75B6', space: 4 } },
});
const labelValue = (label, value) => new Paragraph({
children: [
new TextRun({ text: `${label}: `, bold: true, size: 22, font: 'Calibri' }),
new TextRun({ text: value, size: 22, font: 'Calibri' }),
],
spacing: { after: 60 },
});
const bullet = (text) => new Paragraph({
children: [new TextRun({ text, size: 22, font: 'Calibri' })],
bullet: { level: 0 },
spacing: { after: 60 },
});
// ─── Header ─────────────────────────────────────────────────────────────────
const docHeader = new Header({
children: [
new Paragraph({
children: [
new TextRun({ text: 'STUDIO RADIOLOGICO SPINACETO S.r.l.', bold: true, size: 26, color: '1F3864', font: 'Calibri' }),
new TextRun({ text: ' | ASL Roma 2 — Regione Lazio', size: 20, color: '595959', font: 'Calibri' }),
],
border: { bottom: { style: BorderStyle.SINGLE, size: 6, color: '2E75B6', space: 6 } },
}),
],
});
const docFooter = new Footer({
children: [
new Paragraph({
children: [
new TextRun({ text: 'Confidential Medical Record | Report Date: 18 May 2026 | Page ', size: 18, color: '7F7F7F', font: 'Calibri' }),
new TextRun({ children: [PageNumber.CURRENT], size: 18, font: 'Calibri' }),
new TextRun({ text: ' of ', size: 18, color: '7F7F7F', font: 'Calibri' }),
new TextRun({ children: [PageNumber.TOTAL_PAGES], size: 18, font: 'Calibri' }),
],
alignment: AlignmentType.CENTER,
border: { top: { style: BorderStyle.SINGLE, size: 4, color: 'AAAAAA', space: 4 } },
}),
],
});
// ─── Title Block ─────────────────────────────────────────────────────────────
const titleBlock = [
br(),
new Paragraph({
children: [new TextRun({ text: 'RADIOLOGY REPORT', bold: true, size: 40, color: '1F3864', font: 'Calibri' })],
alignment: AlignmentType.CENTER,
spacing: { after: 80 },
}),
new Paragraph({
children: [new TextRun({ text: 'Right Foot X-Ray (RX Piede DX)', size: 26, color: '2E75B6', font: 'Calibri' })],
alignment: AlignmentType.CENTER,
spacing: { after: 200 },
}),
];
// ─── Patient Info Table ───────────────────────────────────────────────────────
const infoTable = new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({
children: [
new TableCell({
children: [new Paragraph({ children: [bold('PATIENT INFORMATION', 20)] })],
columnSpan: 2,
shading: { type: ShadingType.SOLID, color: '2E75B6', fill: '2E75B6' },
margins: { top: 80, bottom: 80, left: 160, right: 160 },
}),
new TableCell({
children: [new Paragraph({ children: [bold('STUDY DETAILS', 20)] })],
columnSpan: 2,
shading: { type: ShadingType.SOLID, color: '2E75B6', fill: '2E75B6' },
margins: { top: 80, bottom: 80, left: 160, right: 160 },
}),
],
}),
new TableRow({
children: [
new TableCell({ children: [new Paragraph({ children: [bold('Name', 20)] })], margins: { top: 80, bottom: 40, left: 160 }, width: { size: 20, type: WidthType.PERCENTAGE } }),
new TableCell({ children: [new Paragraph({ children: [normal('Hossain, Kamrul', 20)] })], margins: { top: 80, bottom: 40, left: 160 }, width: { size: 30, type: WidthType.PERCENTAGE } }),
new TableCell({ children: [new Paragraph({ children: [bold('Modality', 20)] })], margins: { top: 80, bottom: 40, left: 160 }, width: { size: 20, type: WidthType.PERCENTAGE } }),
new TableCell({ children: [new Paragraph({ children: [normal('Plain X-Ray (DR)', 20)] })], margins: { top: 80, bottom: 40, left: 160 }, width: { size: 30, type: WidthType.PERCENTAGE } }),
],
}),
new TableRow({
children: [
new TableCell({ children: [new Paragraph({ children: [bold('Date of Birth', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('11 March 1970', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [bold('Exam', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('RX Piede DX — Right Foot', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
],
}),
new TableRow({
children: [
new TableCell({ children: [new Paragraph({ children: [bold('Age', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('56 years', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [bold('Study Date', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('16 March 2026', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
],
}),
new TableRow({
children: [
new TableCell({ children: [new Paragraph({ children: [bold('Gender', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('Male', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [bold('Report Date', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('18 May 2026', 20)] })], margins: { top: 40, bottom: 40, left: 160 } }),
],
}),
new TableRow({
children: [
new TableCell({ children: [new Paragraph({ children: [bold('Referring Unit', 20)] })], margins: { top: 40, bottom: 80, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('ASL Roma 2', 20)] })], margins: { top: 40, bottom: 80, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [bold('Radiologist', 20)] })], margins: { top: 40, bottom: 80, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('Dott. Saverio C.', 20)] })], margins: { top: 40, bottom: 80, left: 160 } }),
],
}),
new TableRow({
children: [
new TableCell({ children: [new Paragraph({ children: [bold('Requesting Physician', 20)] })], margins: { top: 40, bottom: 80, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('Dott.ssa Barbara Santucci\n(Orthopaedic Surgeon, ASL Roma 2\nPoliambulatorio Decima-Torrino)', 20)] })], margins: { top: 40, bottom: 80, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [bold('Facility', 20)] })], margins: { top: 40, bottom: 80, left: 160 } }),
new TableCell({ children: [new Paragraph({ children: [normal('Studio Radiologico\nSpinaceto S.r.l.', 20)] })], margins: { top: 40, bottom: 80, left: 160 } }),
],
}),
],
});
// ─── X-Ray Image ─────────────────────────────────────────────────────────────
const xraySection = [
br(),
sectionHeading('RADIOGRAPHIC IMAGE'),
new Paragraph({
children: [
new ImageRun({
data: xrayImg,
transformation: { width: 260, height: 360 },
type: 'jpg',
}),
],
alignment: AlignmentType.CENTER,
spacing: { after: 80 },
}),
new Paragraph({
children: [italic('Figure 1. Dorsoplantar projection of the right foot (RX Piede DX). Patient: Hossain Kamrul, 56Y. Acquired 16/03/2026, Studio Radiologico Spinaceto.', 18)],
alignment: AlignmentType.CENTER,
spacing: { after: 160 },
}),
];
// ─── Clinical Notes Image ─────────────────────────────────────────────────────
const noteSection = [
sectionHeading('CLINICAL REFERRAL NOTE (ORIGINAL)'),
new Paragraph({
children: [
new ImageRun({
data: noteImg,
transformation: { width: 300, height: 400 },
type: 'jpg',
}),
],
alignment: AlignmentType.CENTER,
spacing: { after: 80 },
}),
new Paragraph({
children: [italic('Figure 2. Original handwritten clinical referral note by Dott.ssa Barbara Santucci, Orthopaedic Surgeon, ASL Roma 2.', 18)],
alignment: AlignmentType.CENTER,
spacing: { after: 160 },
}),
];
// ─── Clinical Indication ─────────────────────────────────────────────────────
const clinicalSection = [
sectionHeading('CLINICAL INDICATION'),
new Paragraph({
children: [normal('The patient was referred by Dott.ssa Barbara Santucci (Orthopaedic Surgery, Poliambulatorio Decima-Torrino, ASL Roma 2) for right foot plain radiography. The clinical referral note documents the following indication:', 22)],
spacing: { after: 120 },
}),
new Paragraph({
children: [
new TextRun({ text: ' "', size: 22, font: 'Calibri', italics: true, color: '444444' }),
new TextRun({ text: 'Hossain Kamrul — Alluce basso — Metatarsalgia di appoggio — Necessita di plantare di scarico Teste metatarsali in materiale morbido', size: 22, font: 'Calibri', italics: true, color: '1F3864' }),
new TextRun({ text: '"', size: 22, font: 'Calibri', italics: true, color: '444444' }),
],
indent: { left: 720, right: 720 },
border: { left: { style: BorderStyle.SINGLE, size: 12, color: '2E75B6', space: 12 } },
spacing: { before: 80, after: 80 },
}),
new Paragraph({
children: [italic('English translation: "Hossain Kamrul — Low hallux (plantar-flexed first ray) — Weight-bearing metatarsalgia — Requires offloading insole for metatarsal heads in soft/cushioning material."', 20)],
indent: { left: 720 },
spacing: { before: 60, after: 160 },
}),
];
// ─── Radiological Findings ───────────────────────────────────────────────────
const findingsSection = [
sectionHeading('RADIOLOGICAL FINDINGS'),
new Paragraph({ children: [bold('Projection: ', 22), normal('Dorsoplantar (AP) view, right foot standing / weight-bearing.', 22)], spacing: { after: 100 } }),
new Paragraph({ children: [bold('Bones and Joints:', 22)], spacing: { before: 120, after: 60 } }),
bullet('Overall bony mineralisation appears adequate for patient age.'),
bullet('The metatarsal heads (MTH) are visualised. There is relative depression of the first metatarsal head (low hallux/plantar-flexed first ray), consistent with the clinical notation of alluce basso.'),
bullet('No acute fracture line or periosteal reaction is identified on the visualised metatarsals or phalanges.'),
bullet('Metatarsophalangeal (MTP) joints are visible; no gross joint space narrowing or erosive changes appreciated on this projection.'),
bullet('Tarsal bones are partially visible at the base of the image; no overt destructive lesion identified.'),
bullet('The distal fibula and tibial shaft are partially visualised proximally; no abnormality detected in the visualised portions.'),
new Paragraph({ children: [bold('Soft Tissues:', 22)], spacing: { before: 120, after: 60 } }),
bullet('Soft tissue envelope appears grossly intact with no obvious swelling or foreign body.'),
bullet('No vascular calcifications identified.'),
new Paragraph({ children: [bold('Hallux / First Ray:', 22)], spacing: { before: 120, after: 60 } }),
bullet('The first metatarsal demonstrates a relatively plantar-directed alignment (alluce basso). This configuration transfers excess load to the central metatarsal heads (2nd–4th MTH), a recognised biomechanical cause of forefoot metatarsalgia.'),
bullet('No hallux valgus deformity is seen on this projection.'),
];
// ─── Impression ──────────────────────────────────────────────────────────────
const impressionSection = [
sectionHeading('IMPRESSION / CONCLUSION'),
new Paragraph({
children: [
new TextRun({ text: '1.', bold: true, size: 22, font: 'Calibri' }),
new TextRun({ text: ' Plantar-flexed first ray (alluce basso) with resultant biomechanical overload of the central metatarsal heads — consistent with weight-bearing forefoot metatarsalgia.', size: 22, font: 'Calibri' }),
],
spacing: { after: 80 },
}),
new Paragraph({
children: [
new TextRun({ text: '2.', bold: true, size: 22, font: 'Calibri' }),
new TextRun({ text: ' No acute fracture, dislocation, erosive arthropathy, or osteolytic/osteoblastic lesion identified on the available projection.', size: 22, font: 'Calibri' }),
],
spacing: { after: 80 },
}),
new Paragraph({
children: [
new TextRun({ text: '3.', bold: true, size: 22, font: 'Calibri' }),
new TextRun({ text: ' Radiographic findings support the clinical diagnosis of metatarsalgia secondary to abnormal first ray biomechanics.', size: 22, font: 'Calibri' }),
],
spacing: { after: 160 },
}),
];
// ─── Recommendation ──────────────────────────────────────────────────────────
const recommendationSection = [
sectionHeading('CLINICAL RECOMMENDATION (AS PER REFERRING PHYSICIAN)'),
new Paragraph({
children: [normal('As documented by the referring orthopaedic specialist (Dott.ssa Barbara Santucci), the following conservative management is recommended:', 22)],
spacing: { after: 100 },
}),
bullet('Custom or semi-custom offloading orthotic insole (plantare di scarico) fabricated from soft/cushioning material to redistribute plantar pressure away from the central metatarsal heads.'),
bullet('Material of choice: soft/viscoelastic foam or silicone to accommodate the plantar-flexed first ray and reduce peak pressure under metatarsal heads 2–4.'),
bullet('Footwear modification with adequate toe box depth and forefoot rocker sole may complement orthotic therapy.'),
br(),
new Paragraph({
children: [italic('Note: Clinical management decisions remain at the discretion of the treating orthopaedic specialist. This report reflects the radiographic interpretation in the context of the provided clinical referral.', 20)],
spacing: { after: 200 },
}),
];
// ─── Signature Block ──────────────────────────────────────────────────────────
const signatureSection = [
sectionHeading('ATTESTATION'),
new Paragraph({ children: [normal('Report compiled by:', 22)], spacing: { after: 80 } }),
new Paragraph({ children: [bold('Dott. Saverio C.', 22)], spacing: { after: 40 } }),
new Paragraph({ children: [normal('Radiologist — Studio Radiologico Spinaceto S.r.l.', 22)], spacing: { after: 40 } }),
new Paragraph({ children: [normal('Date of Report: 18 May 2026', 22)], spacing: { after: 200 } }),
new Paragraph({ children: [normal('Referring Orthopaedic Specialist:', 22)], spacing: { after: 80 } }),
new Paragraph({ children: [bold('Dott.ssa Barbara Santucci', 22)], spacing: { after: 40 } }),
new Paragraph({ children: [normal('Medico Chirurgo — Specialista in Ortopedia', 22)], spacing: { after: 40 } }),
new Paragraph({ children: [normal('Poliambulatorio Decima-Torrino — ASL Roma 2', 22)], spacing: { after: 40 } }),
new Paragraph({ children: [normal('Date of Referral: 18 May 2026', 22)], spacing: { after: 200 } }),
];
// ─── Assemble Document ───────────────────────────────────────────────────────
const doc = new Document({
sections: [{
headers: { default: docHeader },
footers: { default: docFooter },
properties: {
page: {
margin: { top: 1200, right: 1200, bottom: 1200, left: 1200 },
},
},
children: [
...titleBlock,
infoTable,
...xraySection,
...clinicalSection,
...findingsSection,
...impressionSection,
...recommendationSection,
...noteSection,
...signatureSection,
],
}],
});
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync('/home/daytona/workspace/radiology-report/Hossain_Kamrul_RX_Piede_DX_Report.docx', buffer);
console.log('Report generated successfully.');
});
cd /home/daytona/workspace/radiology-report && node generate_report.js 2>&1
python3 /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/works…
Create a PDF summary of the radiology report