attachment
attachment

Describe it

analyse_media
Here is a full description and transcription of the document:

Oscar Medical Center - Operation Notes

Hospital: Oscar Medical Center ("आम आदमी का अस्पताल" - Hospital for the Common Man), Sector-25, Panchkula | Tel: 90538-93331

Patient Details

FieldValue
Patient NameMr. Rohit
UHID No.5008
IP No.883
Age29 years
SexMale
Anesthesia TypeBrachial Block

Operation Details

  • Date of Operation: 19/07/26
  • Pre-op Diagnosis: # Radial Head (L) closed - meaning a closed fracture of the left radial head
  • Operation Proposed: Radial Head Excision + Arthrolysis of Elbow
  • Operation Performed:
    "A lateral S-shaped skin incision for lateral approach to elbow. Subcutaneous dissection then made between the tissue. Small comminuted fragments excised and (partial radial head excised). Radius found stable and elbow ROM increased using arthrolysis. Wound washed and closed in layers. ASD done."
    "Post-op distal neurovascular status found intact."

Surgical Team

RoleName
SurgeonDr. Aashrya Mali
AnesthesiologistDr. Megha
Scrub NurseHappy

Clinical Summary

This is a post-operative record for a 29-year-old male who underwent surgery for a comminuted closed fracture of the left radial head. The procedure involved a lateral S-shaped incision, excision of comminuted bone fragments with partial radial head excision, and arthrolysis (surgical release of joint stiffness) to restore elbow range of motion (ROM). The procedure was performed under a brachial block (regional nerve block). Post-operatively, the distal neurovascular status was found intact, confirming no nerve or vascular injury.

Create a summary document of this surgical procedure

Reading File
Running Command

mkdir -p /home/daytona/workspace/surgical-summary && ls /home/daytona/workspace/surgical-summary/

Writing File

~/surgical-summary/create_doc.js

const {
  Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
  HeadingLevel, AlignmentType, BorderStyle, WidthType, VerticalAlign,
  ShadingType
} = require('docx');
const fs = require('fs');

// --- Helpers ---
function heading1(text) {
  return new Paragraph({
    text,
    heading: HeadingLevel.HEADING_1,
    spacing: { before: 300, after: 120 },
  });
}

function heading2(text) {
  return new Paragraph({
    text,
    heading: HeadingLevel.HEADING_2,
    spacing: { before: 200, after: 80 },
  });
}

function body(text, bold = false) {
  return new Paragraph({
    children: [new TextRun({ text, bold, size: 22 })],
    spacing: { after: 80 },
  });
}

function labelValue(label, value) {
  return new Paragraph({
    children: [
      new TextRun({ text: label + ': ', bold: true, size: 22 }),
      new TextRun({ text: value, size: 22 }),
    ],
    spacing: { after: 80 },
  });
}

function emptyLine() {
  return new Paragraph({ text: '', spacing: { after: 80 } });
}

// Table helper: array of [label, value] pairs
function infoTable(rows) {
  const tableRows = rows.map(([label, value]) =>
    new TableRow({
      children: [
        new TableCell({
          children: [new Paragraph({
            children: [new TextRun({ text: label, bold: true, size: 22 })],
          })],
          width: { size: 35, type: WidthType.PERCENTAGE },
          shading: { type: ShadingType.CLEAR, fill: 'E8F0FE' },
          margins: { top: 80, bottom: 80, left: 120, right: 120 },
        }),
        new TableCell({
          children: [new Paragraph({
            children: [new TextRun({ text: value, size: 22 })],
          })],
          width: { size: 65, type: WidthType.PERCENTAGE },
          margins: { top: 80, bottom: 80, left: 120, right: 120 },
        }),
      ],
    })
  );

  return new Table({
    rows: tableRows,
    width: { size: 100, type: WidthType.PERCENTAGE },
    borders: {
      top: { style: BorderStyle.SINGLE, size: 1, color: 'AAAAAA' },
      bottom: { style: BorderStyle.SINGLE, size: 1, color: 'AAAAAA' },
      left: { style: BorderStyle.SINGLE, size: 1, color: 'AAAAAA' },
      right: { style: BorderStyle.SINGLE, size: 1, color: 'AAAAAA' },
      insideH: { style: BorderStyle.SINGLE, size: 1, color: 'CCCCCC' },
      insideV: { style: BorderStyle.SINGLE, size: 1, color: 'CCCCCC' },
    },
  });
}

// --- Document ---
const doc = new Document({
  styles: {
    paragraphStyles: [
      {
        id: 'Heading1',
        name: 'Heading 1',
        basedOn: 'Normal',
        next: 'Normal',
        run: { bold: true, size: 28, color: '1A3A6B' },
        paragraph: { spacing: { before: 300, after: 120 } },
      },
      {
        id: 'Heading2',
        name: 'Heading 2',
        basedOn: 'Normal',
        next: 'Normal',
        run: { bold: true, size: 24, color: '2E6DA4' },
        paragraph: { spacing: { before: 200, after: 80 } },
      },
    ],
  },
  sections: [
    {
      properties: {
        page: {
          margin: { top: 1000, bottom: 1000, left: 1200, right: 1200 },
        },
      },
      children: [
        // ── HEADER BLOCK ──
        new Paragraph({
          children: [new TextRun({ text: 'OSCAR MEDICAL CENTER', bold: true, size: 36, color: '1A3A6B' })],
          alignment: AlignmentType.CENTER,
          spacing: { after: 60 },
        }),
        new Paragraph({
          children: [new TextRun({ text: 'आम आदमी का अस्पताल', size: 22, color: '555555' })],
          alignment: AlignmentType.CENTER,
          spacing: { after: 60 },
        }),
        new Paragraph({
          children: [new TextRun({ text: 'Sector-25, Panchkula  |  Tel: 90538-93331', size: 20, color: '555555' })],
          alignment: AlignmentType.CENTER,
          spacing: { after: 200 },
        }),

        // Title
        new Paragraph({
          children: [new TextRun({ text: 'SURGICAL PROCEDURE SUMMARY', bold: true, size: 30, color: 'FFFFFF' })],
          alignment: AlignmentType.CENTER,
          shading: { type: ShadingType.CLEAR, fill: '1A3A6B' },
          spacing: { before: 100, after: 100 },
          indent: { left: 0, right: 0 },
        }),

        emptyLine(),

        // ── SECTION 1: Patient Details ──
        heading1('1. Patient Information'),
        infoTable([
          ['Patient Name', 'Mr. Rohit'],
          ['UHID No.', '5008'],
          ['IP No.', '883'],
          ['Age', '29 Years'],
          ['Sex', 'Male'],
          ['Blood Group', 'Not recorded'],
          ['Anesthesia Type', 'Brachial Block'],
        ]),

        emptyLine(),

        // ── SECTION 2: Operative Details ──
        heading1('2. Operative Details'),
        infoTable([
          ['Date of Operation', '19 July 2026'],
          ['Pre-operative Diagnosis', 'Fracture Radial Head (Left) - Closed'],
          ['Operation Proposed', 'Radial Head Excision + Arthrolysis of Elbow'],
        ]),

        emptyLine(),

        // ── SECTION 3: Procedure Description ──
        heading1('3. Operative Procedure'),
        body(
          'A lateral S-shaped skin incision was made for a lateral approach to the left elbow. ' +
          'Subcutaneous dissection was then carried out between the tissue planes. ' +
          'Small comminuted bone fragments were identified and excised. A partial radial head excision was performed. ' +
          'The radius was found to be stable following excision. ' +
          'Arthrolysis was performed, which resulted in an increased range of motion (ROM) at the elbow. ' +
          'The wound was thoroughly washed and closed in layers. An ASD (Antiseptic Sterile Dressing) was applied.'
        ),

        emptyLine(),

        // ── SECTION 4: Intraoperative Findings ──
        heading1('4. Intraoperative Findings'),
        body('- Comminuted fracture fragments at the left radial head.'),
        body('- Radius found stable after partial radial head excision.'),
        body('- Elbow range of motion improved after arthrolysis.'),
        body('- Post-operative distal neurovascular status: Intact (no vascular or nerve injury).'),

        emptyLine(),

        // ── SECTION 5: Surgical Approach ──
        heading1('5. Surgical Approach & Technique'),
        labelValue('Approach', 'Lateral (Kocher\'s approach) to the elbow'),
        labelValue('Incision', 'Lateral S-shaped skin incision'),
        labelValue('Key Procedure', 'Partial Radial Head Excision'),
        labelValue('Adjunct Procedure', 'Arthrolysis (surgical release to improve ROM)'),
        labelValue('Wound Closure', 'Closed in layers with ASD dressing applied'),

        emptyLine(),

        // ── SECTION 6: Surgical Team ──
        heading1('6. Surgical Team'),
        infoTable([
          ['Surgeon', 'Dr. Aashrya Mali'],
          ['Assistant Surgeon', 'Not recorded'],
          ['Anesthesiologist', 'Dr. Megha'],
          ['Scrub Nurse', 'Happy'],
        ]),

        emptyLine(),

        // ── SECTION 7: Post-operative Status ──
        heading1('7. Post-operative Status'),
        body(
          'Post-operatively, the distal neurovascular status of the left upper limb was assessed and found to be intact, ' +
          'confirming no injury to the distal nerves or blood vessels during the procedure.'
        ),

        emptyLine(),

        // ── SECTION 8: Clinical Notes ──
        heading1('8. Clinical Notes'),
        body(
          'Radial head fractures are among the most common elbow fractures in adults. ' +
          'Comminuted radial head fractures that are not amenable to fixation are typically managed with radial head excision. ' +
          'Arthrolysis is performed concurrently when elbow stiffness (limited ROM) is present intraoperatively. ' +
          'A brachial block (regional anesthesia) was used, which is standard for upper limb procedures and avoids general anesthesia risks.'
        ),

        emptyLine(),

        // Footer note
        new Paragraph({
          children: [
            new TextRun({ text: 'Document generated from operation notes dated 19/07/2026  |  Oscar Medical Center, Panchkula', size: 18, color: '888888', italics: true }),
          ],
          alignment: AlignmentType.CENTER,
          spacing: { before: 400 },
        }),
      ],
    },
  ],
});

Packer.toBuffer(doc).then((buffer) => {
  fs.writeFileSync('/home/daytona/workspace/surgical-summary/Surgical_Summary_Mr_Rohit.docx', buffer);
  console.log('Document created successfully.');
});
Running Command

cd /home/daytona/workspace/surgical-summary && node create_doc.js

Running Command

ls -lh /home/daytona/workspace/surgical-summary/Surgical_Summary_Mr_Rohit.docx && python3 /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/workspace/surgical-summary/Surgical_Summary_Mr_Rohit.docx

Running Command

cd /home/daytona/workspace/surgical-summary && python3 -c "import zipfile; z=zipfile.ZipFile('Surgical_Summary_Mr_Rohit.docx'); print('\n'.join(z.namelist()))"

The surgical summary document is ready. Here is your download link:

Surgical Summary Mr Rohit

Word Document · DOCX

The document is structured into 8 sections:
  1. Patient Information - Name, UHID, IP No., age, sex, anesthesia type
  2. Operative Details - Date, pre-op diagnosis, proposed procedure
  3. Operative Procedure - Full narrative description of the surgery
  4. Intraoperative Findings - Key findings including neurovascular status
  5. Surgical Approach & Technique - Incision type, approach, key steps, wound closure
  6. Surgical Team - Surgeon, anesthesiologist, scrub nurse
  7. Post-operative Status - Distal neurovascular assessment
  8. Clinical Notes - Brief contextual notes on radial head fractures and the procedures used
This is a shared conversation. Sign in to Orris to start your own chat.