Translate in English. In short format. That word format in 5 pages
cd /home/daytona/workspace && pandoc --track-changes=all "/home/daytona/workspac…
ls /home/daytona/workspace/
~/create_medical_doc.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
AlignmentType, HeadingLevel, BorderStyle, WidthType, VerticalAlign,
PageBreak, ShadingType
} = require('docx');
const fs = require('fs');
const heading1 = (text) => new Paragraph({
text,
heading: HeadingLevel.HEADING_1,
spacing: { before: 240, after: 120 },
});
const heading2 = (text) => new Paragraph({
text,
heading: HeadingLevel.HEADING_2,
spacing: { before: 180, after: 80 },
});
const para = (text, bold = false) => new Paragraph({
children: [new TextRun({ text, bold, size: 20, font: 'Calibri' })],
spacing: { after: 80 },
});
const bullet = (text) => new Paragraph({
children: [new TextRun({ text, size: 20, font: 'Calibri' })],
bullet: { level: 0 },
spacing: { after: 60 },
});
const pageBreak = () => new Paragraph({ children: [new PageBreak()] });
// Shared table border style
const cellBorders = {
top: { style: BorderStyle.SINGLE, size: 1, color: '999999' },
bottom: { style: BorderStyle.SINGLE, size: 1, color: '999999' },
left: { style: BorderStyle.SINGLE, size: 1, color: '999999' },
right: { style: BorderStyle.SINGLE, size: 1, color: '999999' },
};
const makeCell = (text, bold = false, shade = false) => new TableCell({
children: [new Paragraph({ children: [new TextRun({ text, bold, size: 18, font: 'Calibri' })] })],
borders: cellBorders,
shading: shade ? { type: ShadingType.SOLID, color: 'E8EFF7' } : undefined,
margins: { top: 60, bottom: 60, left: 80, right: 80 },
});
const labTable = (headers, rows) => new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({
children: headers.map(h => makeCell(h, true, true)),
tableHeader: true,
}),
...rows.map(r => new TableRow({ children: r.map(c => makeCell(c)) })),
],
});
// ── PAGE 1: Cover + Administrative + Patient Details ──────────────────────────
const page1 = [
new Paragraph({
children: [new TextRun({ text: 'MEDICAL RECORD No. 2165', bold: true, size: 32, font: 'Calibri' })],
alignment: AlignmentType.CENTER,
spacing: { after: 80 },
}),
new Paragraph({
children: [new TextRun({ text: 'Inpatient Record — Infectious Disease Ward', size: 22, font: 'Calibri', color: '555555' })],
alignment: AlignmentType.CENTER,
spacing: { after: 60 },
}),
new Paragraph({
children: [new TextRun({ text: 'BUZOO "ICH No. 1 named after Dalmatov D.M." | Omsk, Russia', size: 20, font: 'Calibri', color: '777777' })],
alignment: AlignmentType.CENTER,
spacing: { after: 240 },
}),
heading1('1. ADMINISTRATIVE INFORMATION'),
labTable(
['Field', 'Details'],
[
['Onset of illness', '18 April 2025'],
['Date of first visit', '21 April 2025'],
['Admission date & time', '21 April 2025, 12:30'],
['Discharge date & time', '25 April 2025, 14:00'],
['Department', 'Infectious Disease Ward No. 1'],
['Room No.', '14'],
['Bed-days', '4'],
['Transport mode', 'Ambulatory'],
['Blood type', 'II (A), Rh+'],
['Adverse drug reactions', 'None'],
]
),
new Paragraph({ spacing: { after: 120 } }),
heading1('2. PATIENT DETAILS'),
labTable(
['Field', 'Details'],
[
['Name', '(Confidential)'],
['Sex', 'Female'],
['Age / DOB', '24 years (03 July 2000)'],
['Residence', 'Omsk, Vzletnaya St. 13, Apt. 154'],
['Occupation', 'Unemployed'],
['Referred by', 'Emergency Medical Services Station'],
['Emergency admission', 'Yes'],
]
),
];
// ── PAGE 2: Diagnosis, Complaints, History, Epidemiology ────────────────────
const page2 = [
pageBreak(),
heading1('3. DIAGNOSES'),
heading2('Referral Diagnosis'),
para('A04.9. Bacterial intestinal infection, unspecified.'),
heading2('Admission Diagnosis'),
para('A04.9. Bacterial intestinal infection, unspecified. Acute gastroenteritis.'),
heading2('Final Clinical Diagnosis'),
para('Primary: A08.1. Norovirus infection (Norovirus RNA in stool +), gastroenterocolitis, moderate severity. Dehydration grade II (2b).', true),
para('Complications: None | Concurrent diagnosis: None'),
para('Outcome: Discharged with improvement. Work capacity fully restored.'),
heading1('4. COMPLAINTS'),
heading2('On Admission'),
para('General weakness, nausea, vomiting, loose stools, abdominal rumbling, fever up to 39 °C.'),
heading1('5. HISTORY OF PRESENT ILLNESS'),
para('Patient felt unwell since 18 April 2025 with weakness, nausea, loose stools (5–6 ×/day, no abnormal admixtures), abdominal rumbling, and fever to 39 °C. Self-medicated with antipyretics and sorbents without improvement. Called ambulance on 21 April 2025 and was admitted as emergency.'),
heading1('6. PAST MEDICAL HISTORY'),
para('No chronic diseases, surgeries, or injuries. No HIV, hepatitis, or tuberculosis. No drug allergies. Obstetric history: 2 pregnancies, 2 vaginal deliveries, 0 abortions. Last menstruation: 12 February 2025. Denies current pregnancy, smoking, alcohol, or substance use.'),
heading1('7. EPIDEMIOLOGICAL HISTORY'),
para('Good personal hygiene; drinks boiled water; eats at home. No known contact with intestinal infection patients. No travel outside city in past month.'),
para('Epidemiological conclusion:', true),
bullet('Presumed source: sick individual or asymptomatic virus shedder'),
bullet('Mechanism: fecal-oral'),
bullet('Routes: contact-household, food-borne, waterborne'),
bullet('Susceptibility: high'),
];
// ── PAGE 3: Physical Examination + Laboratory Results ────────────────────────
const page3 = [
pageBreak(),
heading1('8. PHYSICAL EXAMINATION ON ADMISSION'),
para('Condition: Moderate severity. GCS 15. Temp 38.4 °C. Height 165 cm, Weight 71 kg, BMI 26.1 kg/m². Skin pale-pink; sclerae white; no rash. Tongue moist, white-coated. Skin turgor preserved. No peripheral edema.'),
para('Respiratory: Vesicular breathing, no wheezing. RR 17/min. SpO₂ 98%.'),
para('Cardiovascular: HR 118/min. BP 134/82 mmHg. Heart sounds clear, rhythmic.'),
para('Abdomen: Soft, tender in epigastrium, periumbilical area, and iliac regions; rumbling. No peritoneal irritation signs. Liver/spleen not enlarged.'),
para('Dehydration scale: 2 points → Grade II Dehydration.'),
heading1('9. KEY LABORATORY RESULTS'),
heading2('Complete Blood Count'),
labTable(
['Parameter', '21 Apr 2025', '25 Apr 2025', 'Reference'],
[
['Hemoglobin (g/L)', '135', '138', '130–164'],
['Leukocytes (×10⁹/L)', '13.8 ↑', '5.2', '4–9'],
['Hematocrit (%)', '40.45', '34.9 ↓', '40–48'],
['Segmented neutrophils (%)', '85.2 ↑', '71', '45–72'],
['Lymphocytes (%)', '7.6 ↓', '23', '18–40'],
['ESR (mm/h)', '31 ↑', '28 ↑', '1–10'],
['Platelets (×10⁹/L)', '329', '304', '150–400'],
]
),
new Paragraph({ spacing: { after: 100 } }),
heading2('Urinalysis'),
labTable(
['Parameter', '21 Apr 2025', '25 Apr 2025', 'Reference'],
[
['Protein (g/L)', '0.9 ↑', 'Absent', 'Up to 0.3'],
['Erythrocytes (per HPF)', '5–6 ↑', 'Absent', '0–2'],
['Leukocytes (per HPF)', '2–3', 'Occasional', '0–5'],
['Conclusion', 'Proteinuria + microhematuria', 'Normal', ''],
]
),
];
// ── PAGE 4: Biochemistry + Microbiology + Differential Diagnosis ────────────
const page4 = [
pageBreak(),
heading2('Biochemical Blood Panel'),
labTable(
['Parameter', '21 Apr 2025', '25 Apr 2025', 'Reference'],
[
['Glucose (mmol/L)', '8.1 ↑', '4.8', '4.0–6.1'],
['AST (U/L)', '45.8 ↑', '16.7', 'Up to 31'],
['ALT (U/L)', '24.9', '41.4 ↑', 'Up to 31'],
['Total bilirubin (µmol/L)', '12.1', '22.5 ↑', '8.5–20.5'],
['Indirect bilirubin (µmol/L)', '—', '20.1 ↑', '3.4–18.3'],
['Creatinine (µmol/L)', '76.8', '59.4', '35–110'],
['Urea (mmol/L)', '2.4', '3.0', '2.7–7.5'],
]
),
new Paragraph({ spacing: { after: 100 } }),
heading2('Microbiology & Virology'),
labTable(
['Test', 'Date', 'Result'],
[
['HIV antibody + p24 antigen (ELISA)', '21 Apr 2025', 'Negative'],
['HBs-Ag, aHCV IgM/IgG', '21 Apr 2025', 'All negative'],
['SARS-CoV-2 rapid antigen', '21 Apr 2025', 'Negative'],
['Stool bacteriology (salmonella, shigella, coli)', '22 Apr 2025', 'No pathogens isolated'],
['Rotavirus type 2 antigen (ELISA)', '23 Apr 2025', 'Negative'],
['Rotavirus Group A RNA (PCR)', '23 Apr 2025', 'Not detected'],
['Norovirus Genotype 2 RNA (PCR)', '23 Apr 2025', 'DETECTED ✓'],
['Astrovirus RNA (PCR)', '23 Apr 2025', 'Not detected'],
['Coprogram', '22 Apr 2025', 'Liquid stool, alkaline pH, leukocytes 50–60/HPF'],
]
),
new Paragraph({ spacing: { after: 120 } }),
heading2('ECG (21 Apr 2025)'),
para('Sinus rhythm, regular. HR 69/min. No axis deviation. Shortened PQ interval.'),
heading1('10. DIFFERENTIAL DIAGNOSIS'),
para('Norovirus infection was distinguished from:'),
labTable(
['Condition', 'Similar Features', 'Distinguishing Features'],
[
['Salmonellosis (gastroenterocolitis)', 'Acute onset, fever, vomiting, loose stools, dehydration', 'Cramping pain, greenish "swamp slime" stool, tenesmus; negative stool culture here'],
['Intestinal yersiniosis', 'Acute onset, fever, dyspeptic syndrome, dehydration', '"Gloves and socks" rash, hepatomegaly, scleritis, polyadenopathy; negative stool culture here'],
['Chronic pancreatitis', 'Nausea, vomiting, loose stools', 'Dull epigastric pain to back, steatorrhea, long history, no fever; normal amylase here'],
]
),
];
// ── PAGE 5: Treatment + Progress + Discharge Summary + Recommendations ───────
const page5 = [
pageBreak(),
heading1('11. TREATMENT'),
heading2('Regimen & Diet'),
para('Semi-bed rest. Bland diet: 5–6 small meals/day. Exclude spicy, fatty, fried, smoked, pickled foods and raw fruit/vegetables.'),
heading2('Pathogenetic Therapy'),
bullet('IV rehydration: Acesol (NaCl + KCl + Na acetate) 400 mL IV once daily × 4 days'),
bullet('Oral rehydration: Rehydron (Rehydration salts + dextrose) 1000 mL orally once daily × 5 days'),
bullet('Enzyme therapy: Pancreatin 10,000 U (1 capsule) × 3/day orally before meals × 5 days'),
bullet('Probiotics: Bifidumbacterin 5 doses (1 sachet) × 2/day orally × 5 days'),
bullet('Adsorbent: Dioctahedral smectite 3.0 g (1 sachet) × 3/day orally × 5 days'),
heading2('Symptomatic Therapy'),
bullet('Antispasmodic: Drotaverine 40 mg × 3/day orally × 5 days'),
bullet('Antidiarrheal: Calcium gluconate 0.5 g × 3/day orally × 3 days'),
heading1('12. PROGRESS NOTES'),
labTable(
['Date', 'Clinical Status'],
[
['22 Apr 2025', 'Moderate severity. Temp 37.0 °C. HR 89/min, BP 120/80. Abdomen tender periumbilically. Stool loose, 5×/day. SpO₂ 98%.'],
['23 Apr 2025', 'Moderate severity. Temp 36.5 °C. HR 80/min, BP 110/70. Abdomen tender periumbilically. Stool loose. SpO₂ 98%.'],
['24 Apr 2025', 'Satisfactory. Temp 36.8 °C. HR 72/min, BP 110/70. Abdomen soft, non-tender. Stool semi-formed 1×/day, no admixtures. SpO₂ 98%.'],
]
),
new Paragraph({ spacing: { after: 120 } }),
heading1('13. DISCHARGE SUMMARY'),
para('Patient (24 y/o female) admitted 21 April 2025 as emergency with fever, vomiting, and watery diarrhea. Diagnosed with Norovirus Genotype 2 infection (PCR confirmed), gastroenterocolitis, moderate severity, with Grade II dehydration. Treated with IV/oral rehydration, adsorbents, enzymes, probiotics, and antispasmodics for 4 days. Symptoms resolved progressively. Discharged in satisfactory condition on 25 April 2025.'),
heading1('14. DISCHARGE RECOMMENDATIONS'),
bullet('Bland diet for 7–10 days'),
bullet('Pancreatin 1 capsule (10,000 U) × 3/day before meals for 10–14 days'),
bullet('Bifidumbacterin 5 doses (1 sachet) × 2/day for 2–3 weeks'),
bullet('Multivitamins 1 tablet once daily for 1 month'),
bullet('Repeat CBC, urinalysis, biochemistry, and blood glucose at outpatient clinic in 7 days'),
bullet('Follow-up with general practitioner at place of residence'),
new Paragraph({
children: [new TextRun({ text: 'Physician signature: ________________________', size: 18, font: 'Calibri', color: '555555' })],
spacing: { before: 400 },
}),
];
const doc = new Document({
styles: {
paragraphStyles: [
{
id: 'Heading1',
name: 'Heading 1',
basedOn: 'Normal',
next: 'Normal',
run: { bold: true, size: 26, color: '1F3864', font: 'Calibri' },
paragraph: { spacing: { before: 240, after: 120 } },
},
{
id: 'Heading2',
name: 'Heading 2',
basedOn: 'Normal',
next: 'Normal',
run: { bold: true, size: 22, color: '2E74B5', font: 'Calibri' },
paragraph: { spacing: { before: 160, after: 80 } },
},
],
},
sections: [{
properties: {
page: {
margin: { top: 720, bottom: 720, left: 900, right: 900 },
},
},
children: [
...page1,
...page2,
...page3,
...page4,
...page5,
],
}],
});
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync('/home/daytona/workspace/Medical_History_Souvick_EN.docx', buffer);
console.log('Done: Medical_History_Souvick_EN.docx');
});
cd /home/daytona/workspace && node create_medical_doc.js 2>&1
ls -lh /home/daytona/workspace/Medical_History_Souvick_EN.docx && python /home/d…
cd /home/daytona/workspace && python3 -c "import zipfile; z=zipfile.ZipFile('Med…
Medical History Souvick EN
Word Document · DOCX
| Page | Content |
|---|---|
| Page 1 | Cover header, Administrative info table, Patient details table |
| Page 2 | Diagnoses (referral → admission → final), Complaints, History of illness, Epidemiological history |
| Page 3 | Physical examination, CBC table (both dates), Urinalysis table |
| Page 4 | Biochemistry table, Microbiology/virology results, ECG, Differential diagnosis table |
| Page 5 | Treatment plan (IV/oral rehydration, drugs, doses), Progress notes (3 days), Discharge summary, Outpatient recommendations |
Translate this with in 5 pages
cd /home/daytona/workspace && pandoc --track-changes=all "/home/daytona/workspac…
~/create_hasanur_doc.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
AlignmentType, HeadingLevel, BorderStyle, WidthType, ShadingType, PageBreak
} = require('docx');
const fs = require('fs');
// ── Helpers ──────────────────────────────────────────────────────────────────
const h1 = (text) => new Paragraph({
text, heading: HeadingLevel.HEADING_1,
spacing: { before: 240, after: 100 },
});
const h2 = (text) => new Paragraph({
text, heading: HeadingLevel.HEADING_2,
spacing: { before: 160, after: 80 },
});
const p = (text, bold = false) => new Paragraph({
children: [new TextRun({ text, bold, size: 20, font: 'Calibri' })],
spacing: { after: 80 },
});
const bullet = (text) => new Paragraph({
children: [new TextRun({ text, size: 20, font: 'Calibri' })],
bullet: { level: 0 },
spacing: { after: 60 },
});
const gap = () => new Paragraph({ spacing: { after: 100 } });
const pb = () => new Paragraph({ children: [new PageBreak()] });
const 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' },
};
const cell = (text, bold = false, shade = false) => new TableCell({
children: [new Paragraph({ children: [new TextRun({ text, bold, size: 18, font: 'Calibri' })] })],
borders,
shading: shade ? { type: ShadingType.SOLID, color: 'DCE6F1' } : undefined,
margins: { top: 55, bottom: 55, left: 80, right: 80 },
});
const tbl = (headers, rows) => new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({ children: headers.map(h => cell(h, true, true)), tableHeader: true }),
...rows.map(r => new TableRow({ children: r.map(c => cell(c)) })),
],
});
// ── PAGE 1: Cover + Administrative + Patient Details ─────────────────────────
const page1 = [
new Paragraph({
children: [new TextRun({ text: 'MEDICAL RECORD No. 1487', bold: true, size: 32, font: 'Calibri' })],
alignment: AlignmentType.CENTER, spacing: { after: 80 },
}),
new Paragraph({
children: [new TextRun({ text: 'Inpatient Record — Infectious Disease Ward', size: 22, font: 'Calibri', color: '444444' })],
alignment: AlignmentType.CENTER, spacing: { after: 60 },
}),
new Paragraph({
children: [new TextRun({ text: 'BUZOO "ICH No. 1 named after Dalmatov D.M." | Omsk, Russia', size: 20, font: 'Calibri', color: '777777' })],
alignment: AlignmentType.CENTER, spacing: { after: 60 },
}),
new Paragraph({
children: [new TextRun({ text: 'Department of Phthisiology, Pulmonology and Infectious Diseases', size: 18, font: 'Calibri', color: '888888', italics: true })],
alignment: AlignmentType.CENTER, spacing: { after: 200 },
}),
h1('1. ADMINISTRATIVE INFORMATION'),
tbl(['Field', 'Details'], [
['Date of illness onset', 'Night of 21 April 2025'],
['Date of admission', '21 April 2025 (emergency, within 2 hours of onset)'],
['Date of discharge', '25 April 2025'],
['Department', 'Infectious Disease Ward'],
['Transport to ward', 'Ambulatory (patient walked)'],
['Blood type / Rh', 'Not specified / Not specified'],
['Adverse drug reactions', 'None'],
['Sick leave certificate No.', '910190064849 (21.04.2025 – 25.04.2025)'],
['Outcome', 'Discharged with improvement'],
['Work capacity', 'Reduced (temporarily)'],
]),
gap(),
h1('2. PATIENT DETAILS'),
tbl(['Field', 'Details'], [
['Name', '(Confidential)'],
['Sex', 'Female'],
['Age', '22 years'],
['Residence', 'Omsk, city'],
['Occupation', 'Nurse — SPARTAMED PREMIUM LLC'],
['Referred by','Emergency medical services (ambulance)'],
['Admission', 'Emergency — YES'],
]),
];
// ── PAGE 2: Diagnoses, Complaints, History, Epidemiology ─────────────────────
const page2 = [
pb(),
h1('3. DIAGNOSES'),
h2('Referral Diagnosis'),
p('A04.9. Bacterial intestinal infection, unspecified.'),
h2('Admission Diagnosis'),
p('A02.9. Salmonella infection, unspecified. Acute gastroenteritis, moderate severity. Dehydration grade 0–1.'),
h2('Preliminary Clinical Diagnosis'),
p('A02.9. Salmonella infection, unspecified. Acute gastroenteritis, moderate severity. Dehydration grade 0–1. (Date: 21 April 2025)'),
h2('Final Clinical Diagnosis'),
p('Primary: A08.1. Norovirus infection (Norovirus RNA positive), gastroenteritis, moderate severity. Dehydration grade 1 (2 points).', true),
p('Complications: None | Concurrent diagnosis: None'),
p('Hospitalized for this condition: First time (1 total). Surgical operations: None.'),
gap(),
h1('4. COMPLAINTS'),
h2('On Admission and During Supervision'),
p('General weakness, nausea, vomiting, cramping abdominal pain, loose stools, fever.'),
h1('5. HISTORY OF PRESENT ILLNESS'),
p('Patient felt ill from the night of 21 April 2025 with general weakness, nausea, vomiting (up to 3 times), cramping abdominal pain, watery loose stools without admixtures (up to 6 times/day), and fever to 37.8 °C. Due to persistence of symptoms, she called an ambulance and was hospitalized at BUZOO ICH No. 1.'),
h1('6. PERSONAL & SOCIAL HISTORY'),
p('Born in Omsk, second child, full-term. Normal physical and mental development. Completed 9 years of school. Started working at age 18; 8-hour shift schedule (5/2), no occupational hazards, 44-day annual leave.'),
p('Menarche at age 14, regular menstrual cycles. Sexual activity since age 18 (barrier contraception). Pregnancies: 0. Last menstruation: 12 April 2025. Denies smoking, alcohol, or substance use.'),
p('Family of 4. Adequate living conditions and nutrition (3 meals/day). No hereditary diseases. Past illnesses: ARVI and influenza only. Denies tuberculosis, viral hepatitis, STDs, surgeries, or blood transfusions.'),
p('Allergies: Food allergy to stone fruits and nuts. Denies drug allergies.'),
h1('7. EPIDEMIOLOGICAL HISTORY'),
p('Good personal hygiene; drinks boiled/tap water; eats at home. Denies contact with intestinal infection patients. Associates illness with consumption of fried eggs purchased at a shop. Also consumes carp-family river fish. No travel outside the city in past month. Household contacts: 2 adults + 1 child (age 9).'),
p('Epidemiological conclusion:', true),
bullet('Presumed source: contaminated eggs'),
bullet('Mechanism: fecal-oral'),
bullet('Route: food-borne'),
bullet('Susceptibility: moderate'),
];
// ── PAGE 3: Physical Examination + Lab Results ───────────────────────────────
const page3 = [
pb(),
h1('8. PHYSICAL EXAMINATION ON ADMISSION'),
p('Condition: Moderate severity. Conscious, GCS 15. Active position. Temp 38.0 °C. No meningeal signs.'),
p('Skin: Normal color, warm, moderately moist, no rash, no cyanosis. Turgor preserved. Visible mucosae pink, no rash. Oropharynx normal, no coatings. Peripheral lymph nodes not enlarged, non-tender. Tongue dry, white-coated.'),
p('Anthropometry: Height 171 cm, Weight 71 kg, BMI 24.3 (normal).'),
p('Subcutaneous fat: Normal. No edema. Musculoskeletal system: No pathology.'),
p('Respiratory: Vesicular breathing, no wheezing. RR 18/min. SpO₂ 96%.'),
p('Cardiovascular: Heart borders normal on percussion; heart sounds muffled, rhythmic; no murmurs. HR 125/min. BP 159/72 mmHg.'),
p('Abdomen: Soft, moderately tender in epigastrium, periumbilical area, and iliac regions (more on left); bowel rumbling. No masses. Liver at costal margin. Spleen not palpable. No peritoneal irritation signs.'),
p('Renal: No CVA tenderness. Urination free, voluntary, painless. No edema.'),
p('Stool: Liquid, unformed, no abnormal admixtures, 6×/day.'),
gap(),
h1('9. LABORATORY RESULTS'),
h2('Complete Blood Count'),
tbl(
['Parameter', '21 Apr 2025', '24 Apr 2025', 'Reference'],
[
['Hemoglobin (g/L)', '147', '138', '—'],
['ESR (mm/h)', '7', '8', '—'],
['Erythrocytes (×10¹²/L)', '4.7', '4.53', '—'],
['Leukocytes (×10⁹/L)', '14.0 ↑', '4.1', '4–9'],
['Platelets (×10⁹/L)', '231', '203', '150–400'],
['Band neutrophils (%)', '3', '—', '0–6'],
['Segmented neutrophils (%)', '89 ↑', '51', '45–72'],
['Lymphocytes (%)', '5 ↓', '42', '18–40'],
['Monocytes (%)', '2', '2', '2–9'],
['Eosinophils (%)', '—', '5', '0–5'],
['Microreaction (syphilis)', 'Negative', '—', 'Negative'],
]
),
gap(),
h2('Urinalysis (24 Apr 2025)'),
tbl(
['Parameter', 'Result', 'Reference'],
[
['Specific gravity', '1025', '1010–1025'],
['pH', 'Acidic', 'Acidic'],
['Leukocytes/HPF', '1–3', '0–5'],
['Epithelium/HPF', '1–3', 'Occasional'],
['Erythrocytes/HPF', '1–2', '0–2'],
]
),
gap(),
h2('Stool (Coprogram — 24 Apr 2025)'),
tbl(
['Parameter', 'Result'],
[
['Consistency', 'Mushy (semi-formed)'],
['Leukocytes', '1 per HPF'],
['Stool for helminth eggs', 'Not detected'],
['Perianal scraping', 'Negative'],
['Mucus', 'Present (+)'],
]
),
];
// ── PAGE 4: Biochemistry + Microbiology + Differential Diagnosis ─────────────
const page4 = [
pb(),
h2('Biochemical Blood Panel (24 Apr 2025)'),
tbl(
['Parameter', 'Result', 'Reference'],
[
['Total bilirubin (µmol/L)', '31.7 ↑', '8.20–20.5'],
['ALT (U/L)', '22.1', 'Up to 31 (F)'],
['AST (U/L)', '39.3 ↑', 'Up to 31 (F)'],
['Glucose (mmol/L)', '5.2', '4.0–6.1'],
['Urea (mmol/L)', '3.3', '2.5–8.3'],
['Creatinine (µmol/L)', '108.9 ↑', '53–106 (F)'],
['Serum alpha-amylase (U/L)', '33.0 ↓', '40–100'],
]
),
gap(),
h2('Blood Electrolytes (24 Apr 2025)'),
tbl(
['Parameter', 'Result', 'Reference'],
[
['Sodium (mmol/L)', '140.1', '130–156'],
['Potassium (mmol/L)','5.15', '3.4–5.3'],
['Chloride (mmol/L)', '103.5', '95–108'],
]
),
gap(),
h2('Microbiology & Virology'),
tbl(
['Test', 'Date', 'Result'],
[
['HBs-Ag, aHCV IgM/IgG (ELISA)', '24 Apr 2025', 'All negative'],
['HIV antibody ELISA', '24 Apr 2025', 'Pending (in progress)'],
['SARS-CoV-2 antigen (rapid test) No. 4094', '24 Apr 2025', 'Not detected'],
['Rotavirus antigen ELISA No. 186', '24 Apr 2025', 'Not detected'],
['Intestinal virus PCR No. 117 (Norovirus GT2 RNA)', '24 Apr 2025', 'DETECTED ✓'],
['Stool bacteriology (intestinal pathogens)', '24 Apr 2025', 'Pending (in progress)'],
]
),
gap(),
h2('ECG (24 Apr 2025)'),
p('Sinus rhythm, regular. HR 67/min. No axis deviation. Normal ECG.'),
gap(),
h1('10. DIFFERENTIAL DIAGNOSIS'),
p('Norovirus infection was differentiated from: cholera, rotavirus gastroenteritis, and abdominal form of myocardial infarction (MI).'),
tbl(
['Feature', 'Cholera', 'Rotavirus Gastroenteritis', 'Norovirus Infection'],
[
['Stool', 'Watery, colorless ("rice-water"), fish odor', 'Watery, frothy, often bright yellow', 'Watery, yellow or green'],
['Defecation', 'Painless', 'Painless', 'Painless'],
['Abdominal pain', 'Not typical', 'Moderate', 'Intense, cramping'],
['Vomiting', 'Profuse, watery, no relief', 'Up to 3–4×/day, often with diarrhea', 'Repeated, no relief'],
['Rumbling', 'Loud, constant', 'Loud', 'Mild, occasional'],
['Severe dehydration (grade 3–4)', 'Typical', 'Not typical', 'Rare'],
]
),
gap(),
p('vs. Abdominal MI: MI causes sharp ("dagger") pain vs. cramping in norovirus; ST-segment depression on ECG in MI (ECG here was normal); fever is rare in MI but present (38 °C) here; stool changes may or may not occur in MI.'),
];
// ── PAGE 5: Final Diagnosis + Progress Notes + Treatment + Discharge ─────────
const page5 = [
pb(),
h1('11. FINAL CLINICAL DIAGNOSIS'),
p('Primary: A08.1. Norovirus infection (Norovirus RNA positive), gastroenteritis, moderate severity. Dehydration grade 1 (2 points).', true),
p('Complications: None | Concurrent: None'),
gap(),
h2('Basis for Diagnosis'),
p('Established on the basis of:'),
bullet('Complaints: general weakness, nausea, cramping abdominal pain, loose stools, vomiting'),
bullet('Typical course: acute onset, multiple defecations (up to 6×/day), vomiting up to 3×/day, low-grade fever, cramping pain'),
bullet('Epidemiology: consumption of possibly under-washed/under-cooked food (fried eggs from shop)'),
bullet('Physical findings: temp 38 °C, dry white-coated tongue, moderate abdominal tenderness in epigastrium/periumbilical/iliac areas, bowel rumbling'),
bullet('Labs: leukocytosis with neutrophilia on admission; elevated bilirubin, AST, creatinine (mild); Norovirus Genotype 2 RNA detected by PCR'),
gap(),
h1('12. PROGRESS NOTES'),
tbl(
['Date', 'Clinical Status'],
[
['21 Apr 2025',
'Moderate severity. Temp 38.0 °C. HR 125/min, BP 159/72. Tongue dry, white-coated. Abdomen tender (epigastric/periumbilical/iliac, more left), rumbling. Stool liquid, 6×/day. SpO₂ 96%. No peritoneal signs.'],
['22 Apr 2025',
'Satisfactory. Temp 37.0 °C. HR 95/min, BP 130/70. Tongue dry, no coating. Abdomen tender (epigastric/periumbilical/iliac, more left). Stool liquid, 3×/day. SpO₂ 98%. Improving.'],
['23 Apr 2025',
'Satisfactory. Temp 36.8 °C. HR 76/min, BP 120/80. Tongue moist, no coating. Abdomen soft, painless. Stool semi-formed, 1×/day, no admixtures. SpO₂ 98%. Near full recovery.'],
]
),
gap(),
h1('13. TREATMENT'),
h2('General / Base Therapy'),
p('Regimen: Semi-bed rest. Diet: Bland diet for 7–10 days.'),
h2('Etiotropic Therapy'),
p('None.'),
h2('Pathogenetic Therapy'),
bullet('Rehydron (oral rehydration salts) 1000 mL orally'),
bullet('Acesol (NaCl + KCl + Na acetate) 800 mL IV drip'),
bullet('Sodium chloride 0.9% solution 500 mL IV drip'),
bullet('Calcium gluconate 500 mg × 3/day orally'),
h2('Symptomatic Therapy'),
bullet('Drotaverine 40 mg × 3/day orally (antispasmodic)'),
bullet('Pancreatin 25 U × 3/day orally (enzyme therapy)'),
bullet('Dioctahedral smectite 3.0 g × 3/day orally (adsorbent)'),
bullet('Bifidobacterium bifidum 5 doses × 2/day orally (probiotic)'),
gap(),
h1('14. DISCHARGE SUMMARY'),
p('Patient (22-year-old female nurse) admitted 21 April 2025 as an emergency with fever, vomiting, cramping abdominal pain, and watery diarrhea (6×/day). PCR confirmed Norovirus Genotype 2. Diagnosed with norovirus gastroenteritis, moderate severity, with Grade 1 dehydration. Treated with IV/oral rehydration, adsorbents, enzymes, probiotics, and antispasmodics. Progressive improvement over 4 days with resolution of symptoms. Discharged in satisfactory condition.'),
h1('15. DISCHARGE RECOMMENDATIONS'),
bullet('Bland diet for 7–10 days'),
bullet('Bifidobacterium bifidum 5 doses × 2/day for 2–3 weeks'),
bullet('Pancreatin 1 tablet × 3/day before meals for 10–14 days'),
bullet('Multivitamins 1 tablet × 1/day for 1 month'),
bullet('Repeat CBC, serum iron, urinalysis, biochemistry, and blood glucose at outpatient clinic in 7 days'),
bullet('Follow-up with general practitioner at polyclinic'),
gap(),
new Paragraph({
children: [new TextRun({ text: 'Physician signature: ________________________', size: 18, font: 'Calibri', color: '555555' })],
spacing: { before: 300 },
}),
];
// ── Build Document ────────────────────────────────────────────────────────────
const doc = new Document({
styles: {
paragraphStyles: [
{
id: 'Heading1', name: 'Heading 1', basedOn: 'Normal', next: 'Normal',
run: { bold: true, size: 26, color: '1F3864', font: 'Calibri' },
paragraph: { spacing: { before: 240, after: 100 } },
},
{
id: 'Heading2', name: 'Heading 2', basedOn: 'Normal', next: 'Normal',
run: { bold: true, size: 22, color: '2E74B5', font: 'Calibri' },
paragraph: { spacing: { before: 160, after: 80 } },
},
],
},
sections: [{
properties: {
page: { margin: { top: 720, bottom: 720, left: 900, right: 900 } },
},
children: [...page1, ...page2, ...page3, ...page4, ...page5],
}],
});
Packer.toBuffer(doc).then(buf => {
fs.writeFileSync('/home/daytona/workspace/Medical_History_Hasanur_EN.docx', buf);
console.log('Done.');
});
cd /home/daytona/workspace && node create_hasanur_doc.js 2>&1
python3 -c "import zipfile; z=zipfile.ZipFile('/home/daytona/workspace/Medical_H…
Medical History Hasanur EN
Word Document · DOCX
| Page | Content |
|---|---|
| Page 1 | Cover header, Administrative info table, Patient details table |
| Page 2 | Diagnoses (referral → admission → preliminary → final), Complaints, History of illness, Personal/social history, Epidemiological history |
| Page 3 | Physical examination on admission, CBC table (both dates), Urinalysis, Coprogram |
| Page 4 | Biochemistry panel, Blood electrolytes, Microbiology/virology results, ECG, Differential diagnosis comparison table (Cholera vs Rotavirus vs Norovirus vs MI) |
| Page 5 | Final diagnosis with justification, Progress notes (3 days), Treatment plan with doses, Discharge summary, Outpatient recommendations |
Translate in English
Transfer
Translate in English
cd /home/daytona/workspace && pandoc --track-changes=all "/home/daytona/workspac…
Medical History Hasanur EN
Word Document · DOCX
| Parameter | 21.04.2025 | 24.04.2025 |
|---|---|---|
| Hemoglobin (g/L) | 147 | 138 |
| ESR (mm/h) | 7 | 8 |
| Erythrocytes (×10¹²/L) | 4.7 | 4.53 |
| Leukocytes (×10⁹/L) | 14.0 ↑ | 4.1 |
| Platelets (×10⁹/L) | 231 | 203 |
| Band neutrophils (%) | 3 | — |
| Segmented neutrophils (%) | 89 ↑ | 51 |
| Lymphocytes (%) | 5 ↓ | 42 |
| Monocytes (%) | 2 | 2 |
| Eosinophils (%) | — | 5 |
| Microreaction (syphilis) | Negative | — |
| Parameter | Result | Reference |
|---|---|---|
| Total bilirubin (µmol/L) | 31.7 ↑ | 8.20–20.5 |
| ALT (U/L) | 22.1 | Up to 31 (F) |
| AST (U/L) | 39.3 ↑ | Up to 31 (F) |
| Glucose (mmol/L) | 5.2 | 4.0–6.1 |
| Urea (mmol/L) | 3.3 | 2.5–8.3 |
| Creatinine (µmol/L) | 108.9 ↑ | 53–106 (F) |
| Serum alpha-amylase (U/L) | 33.0 ↓ | 40–100 |
| Feature | Cholera | Rotavirus Gastroenteritis | Norovirus Infection |
|---|---|---|---|
| Stool | Watery, colorless "rice-water," fish odor | Watery, frothy, bright yellow | Watery, yellow or green |
| Defecation | Painless | Painless | Painless |
| Abdominal pain | Not typical | Moderate | Intense, cramping |
| Vomiting | Profuse, no relief | Up to 3–4×/day, with diarrhea | Repeated, no relief |
| Bowel rumbling | Loud, constant | Loud | Mild, occasional |
| Severe dehydration (grade 3–4) | Typical | Not typical | Rare |
| Date | Clinical Status | Treatment |
|---|---|---|
| 21.04.2025 | Moderate severity. Temp 38.0 °C. HR 125/min, BP 159/72. Skin warm, no rash. Tongue dry, white-coated. RR 18/min, SpO₂ 96%. Abdomen tender (epigastric/periumbilical/iliac, more left), rumbling. Stool liquid, 6×/day. No peritoneal signs. | Per prescription sheet, unchanged |
| 22.04.2025 | Satisfactory. Temp 37.0 °C. HR 95/min, BP 130/70. Tongue dry, no coating. SpO₂ 98%. Abdomen still tender (epigastric/periumbilical/iliac, more left). Stool liquid, 3×/day. | Per prescription sheet, unchanged |
| 23.04.2025 | Satisfactory. Temp 36.8 °C. HR 76/min, BP 120/80. Tongue moist, no coating. SpO₂ 98%. Abdomen soft, painless. Stool semi-formed, 1×/day, no admixtures. | Per prescription sheet, unchanged |