Pleural tap procedure note for elog book
pleural tap thoracentesis procedure note elog book medical student format
| Field | Details |
|---|---|
| Name | |
| Age / Sex | |
| IP No. / Bed No. | |
| Diagnosis |
| Parameter | Finding |
|---|---|
| Appearance | [Straw coloured / Haemorrhagic / Turbid / Milky / Purulent] |
| Colour | |
| Consistency | |
| Odour |
Make in one paragraph
Same for liver biopsy
Lumbar puncture
P - (Procedural skills)- Bone marrow aspiration and biopsy (PI) P- (Procedural skills)- Abdominal paracentesis - diagnostic (PI) P - (Procedural skills)- Aspiration of liver abscess (PI) P- (Procedural skills)- Ultrasound abdomen at point of care (PI) P - (Procedural skills)- Fine needle aspiration cytology (FNAC) from palpable lumps (PI) P - (Procedural skills)- Pericardiocentesis (PS) P- (Procedural skills) - Joint fluid aspiration (PI) P - (Procedural skills)-Liver biopsy (PI) P - (Procedural skills)- Kidney biopsy (PS) P - (Procedural skills)- Cardiac-TMT (PS) P -(Procedural skills) - Holter monitoring (PS) P- (Procedural skills)- Echocardiography (point of care) (PS) P -(Procedural skills)- Doppler studies (PS) make pdf separate for each procedure
mkdir -p /tmp/workspace/elog-procedures && ls /tmp/workspace/elog-procedures/
~/elog-procedures/generate_pdfs.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, HRFlowable
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
import os
OUTPUT_DIR = "/tmp/workspace/elog-procedures"
procedures = {
"01_Bone_Marrow_Aspiration_and_Biopsy": {
"title": "Bone Marrow Aspiration and Biopsy",
"category": "Procedural Skills (PI)",
"note": (
"Written informed consent was obtained from the patient after explaining the procedure, "
"its indication, risks (including pain, bleeding, infection, and failure to obtain a diagnostic sample), "
"and alternatives. Pre-procedure investigations confirmed: platelet count [value], INR [value], "
"and no active skin infection over the intended site. The patient was positioned prone (for posterior "
"iliac crest approach) / lateral decubitus with back at the edge of the bed. The posterior superior "
"iliac spine (PSIS) was identified by palpation as the primary site; the sternal approach / "
"anterior iliac crest was used as an alternative [delete as applicable]. A timeout was performed "
"confirming patient identity and correct site. The overlying skin was cleaned with betadine/chlorhexidine "
"and sterile draping applied. Local anaesthesia was achieved with 5-10 mL of 2% lignocaine injected "
"as a skin wheal using a 25-gauge needle, then infiltrated progressively through the subcutaneous tissue "
"and periosteum with a 22-gauge needle; adequate anaesthesia was confirmed by absence of pain on "
"periosteal pressure. The bone marrow aspiration needle (Illinois/Salah) was inserted with the stylet "
"in situ through the skin and advanced through the cortical bone using firm rotatory pressure until a "
"sudden give indicated entry into the medullary cavity. The stylet was removed and a 20 mL syringe "
"attached; [5-10] mL of marrow was aspirated with a single sharp pull — the patient was warned of "
"the characteristic sharp, brief pain during aspiration. Smears were prepared immediately at the bedside "
"on glass slides (minimum 6-8 slides). The aspiration needle was then removed. Without changing the skin "
"puncture site, the trephine biopsy needle (Jamshidi) was inserted, advanced beyond the aspiration site, "
"rotated 360 degrees in alternating directions, and a core of bone approximately [1.5-2] cm in length "
"was obtained. The core was expelled onto a gauze and transferred to formalin for histopathology. "
"Firm pressure was applied over the site for 5-10 minutes; a pressure dressing was applied. The patient "
"was advised to lie in the supine position for 30-60 minutes post-procedure. Samples sent: aspirate "
"smears for morphology and differential, trephine core for histopathology, and additionally "
"[flow cytometry / cytogenetics / culture] as indicated. Vital signs remained stable throughout. "
"The procedure was completed without immediate complications."
)
},
"02_Abdominal_Paracentesis_Diagnostic": {
"title": "Abdominal Paracentesis (Diagnostic)",
"category": "Procedural Skills (PI)",
"note": (
"Written informed consent was obtained from the patient after explaining the procedure, its indication "
"(diagnostic evaluation of new-onset ascites / evaluation for spontaneous bacterial peritonitis), "
"risks (bleeding, infection, bowel perforation, persistent leak), and alternatives. "
"Pre-procedure investigations confirmed: platelet count [value], INR [value]; routine correction of "
"coagulopathy is not recommended prior to diagnostic paracentesis unless there is active bleeding or "
"DIC. The urinary bladder was emptied prior to the procedure. The patient was positioned supine with "
"the head of the bed slightly elevated. Ultrasound abdomen was performed at the bedside to confirm the "
"presence and volume of ascites and to identify the optimal insertion site with the largest fluid pocket "
"free of bowel loops and vasculature; the site was marked at the [left lower quadrant, lateral to the "
"rectus sheath, 3-4 cm cephalad and medial to the left anterior superior iliac spine / right lower "
"quadrant / midline]. A timeout was performed confirming patient identity and correct site. The skin "
"was cleaned with betadine/chlorhexidine and sterile draping applied. Local anaesthesia was achieved "
"with 5-10 mL of 2% lignocaine using the 'Z-track' technique — the skin was displaced 1-2 cm caudally "
"before needle insertion to prevent persistent tract formation and ascitic leak after needle withdrawal. "
"A [20G/22G] needle attached to a 20 mL syringe was advanced slowly while aspirating, using the Z-track "
"technique, until straw-coloured / turbid / haemorrhagic ascitic fluid was freely aspirated. "
"Approximately [20-60] mL of fluid was collected for diagnostic purposes. The needle was withdrawn "
"and the skin allowed to spring back, sealing the Z-track. An occlusive dressing was applied. "
"Samples sent: cell count and differential (EDTA tube), total protein and LDH (for SAAG calculation "
"with simultaneous serum albumin), glucose, Gram stain and culture (inoculated directly into blood "
"culture bottles at bedside), AFB smear and culture (if TB peritonitis suspected), cytology (if "
"malignancy suspected), and amylase (if pancreatic ascites suspected). "
"Post-procedure vitals were stable. The procedure was completed without immediate complications."
)
},
"03_Aspiration_of_Liver_Abscess": {
"title": "Aspiration of Liver Abscess",
"category": "Procedural Skills (PI)",
"note": (
"Written informed consent was obtained from the patient after explaining the procedure, its indication "
"(diagnostic / therapeutic aspiration of [amoebic / pyogenic] liver abscess), risks (bleeding, "
"biliary fistula, peritoneal contamination, pneumothorax, and failure to drain), and alternatives "
"including conservative medical management and surgical drainage. Pre-procedure imaging (ultrasound / "
"CT abdomen, date: [____]) confirmed a [single / multiple] [right / left] lobe abscess measuring "
"[__ x __ cm] with [__ mL] estimated volume, amenable to percutaneous aspiration. Pre-procedure "
"investigations: platelet count [value], INR [value], group and screen noted. "
"The patient was positioned supine / in left lateral decubitus position. Real-time ultrasound guidance "
"was used throughout. The overlying skin (right lateral chest wall / epigastrium) was cleaned with "
"betadine/chlorhexidine and sterile draping applied. A timeout was performed confirming patient identity "
"and correct site. Local anaesthesia was achieved with 5-10 mL of 2% lignocaine infiltrated down to "
"the liver capsule under ultrasound guidance. An [18G] needle / [8-10 Fr] pigtail catheter was "
"advanced under continuous real-time ultrasound guidance through the intercostal space / subcostal "
"route into the centre of the abscess cavity; the needle was advanced over the superior border of the "
"rib to avoid the intercostal neurovascular bundle. Entry into the abscess cavity was confirmed by "
"aspiration of [anchovy sauce-coloured / yellowish-brown / creamy pus] material. "
"Aspiration was performed using a [20-60 mL] syringe until the cavity was drained as completely as "
"possible; total volume aspirated: [__ mL]. The needle/catheter was then withdrawn. "
"An occlusive dressing was applied. Aspirated material sent for: microscopy (Gram stain, AFB), "
"aerobic and anaerobic culture and sensitivity, E. histolytica trophozoites (wet mount from last "
"aspirated material), and cytology if malignancy was a differential. "
"Post-procedure ultrasound showed [residual cavity of __ cm / near-complete collapse of cavity]. "
"Vitals remained stable. The procedure was completed without immediate complications. "
"Post-procedure antibiotics continued as per prior plan."
)
},
"04_Ultrasound_Abdomen_Point_of_Care": {
"title": "Ultrasound Abdomen (Point of Care)",
"category": "Procedural Skills (PI)",
"note": (
"Point-of-care ultrasound (POCUS) of the abdomen was performed by [name/designation] at the bedside "
"using a [curvilinear / phased array] probe with the [Brand/Model] portable ultrasound machine. "
"The indication for the study was: [e.g., assessment of ascites / evaluation of biliary system / "
"evaluation of liver and spleen / guidance for paracentesis / FAST assessment]. "
"The patient was positioned supine with adequate exposure of the abdomen. Ultrasound gel was applied "
"and the following regions were systematically examined: (1) Liver - size, echotexture, surface, "
"margins, and focal lesions; (2) Gallbladder and biliary system - wall thickness, intraluminal "
"calculi, common bile duct diameter; (3) Spleen - size and echotexture; (4) Kidneys - size, "
"corticomedullary differentiation, pelvicalyceal dilatation; (5) Peritoneal cavity - free fluid "
"in hepatorenal (Morrison's pouch), splenorenal, and pelvic spaces; (6) Aorta and inferior vena "
"cava (IVC) - calibre and collapsibility index (for volume status). "
"Findings: Liver - [enlarged/normal size, [__ cm], [homogeneous/heterogeneous] echotexture, "
"[no focal lesion / focal hypoechoic lesion of __ cm in right lobe]]. "
"Gallbladder - [distended/normal, wall [__ mm], [calculus of __ mm / no calculus]]. "
"CBD diameter - [__ mm]. Spleen - [__ cm, [normal/enlarged]]. "
"Kidneys - [right __ cm / left __ cm, [normal CMD / loss of CMD], [no HDN / HDN grade __]]. "
"Free fluid - [present / absent]; if present: [__ cm pocket in Morrison's pouch / pelvis]. "
"IVC - [__ mm, [collapsibility > 50% suggesting euvolaemia / collapsibility < 50% suggesting "
"hypervolaemia / flat IVC suggesting hypovolaemia]]. "
"Impression: [Summary of findings and clinical correlation]. "
"Note: This is a focused bedside assessment; a formal radiology department ultrasound is recommended "
"for complete evaluation if clinically indicated."
)
},
"05_FNAC_Palpable_Lumps": {
"title": "Fine Needle Aspiration Cytology (FNAC) from Palpable Lumps",
"category": "Procedural Skills (PI)",
"note": (
"Written informed consent was obtained from the patient after explaining the procedure, its indication, "
"risks (minor bleeding, bruising, infection, and possibility of inadequate sample requiring repeat "
"procedure), and alternatives. The lump was examined clinically: site - [neck / axilla / groin / "
"breast / other]; size - [__ x __ cm]; consistency - [soft / firm / hard]; surface - [smooth / "
"irregular]; margins - [well-defined / ill-defined]; mobility - [mobile / fixed]; tenderness - "
"[present / absent]; skin over lump - [normal / inflamed / ulcerated]. "
"The patient was positioned comfortably with the lump accessible and the skin taut over it. "
"The skin was cleaned with betadine/chlorhexidine; local anaesthesia with lignocaine 2% was "
"infiltrated superficially [if the patient requested / for deep or tender lumps]. "
"A 23G or 25G needle attached to a 10 mL syringe was inserted into the lump with the non-dominant "
"hand stabilising the lump between the thumb and index finger. Strong negative pressure was applied "
"by withdrawing the plunger to 5-8 mL. While maintaining suction, the needle was moved back and "
"forth within the lump in short strokes (5-10 passes) in multiple directions to sample different "
"areas. Before withdrawing the needle, suction was released to prevent the aspirate from being "
"sucked into the syringe barrel. The needle was withdrawn and firm pressure applied over the "
"puncture site for 2-3 minutes. The aspirated material was expelled immediately onto glass slides "
"(minimum 4 slides prepared); smears were made by placing a second slide on top and drawing apart "
"smoothly. Slides were [air-dried for Giemsa / fixed immediately in 95% ethanol for Papanicolaou "
"stain]. [For cystic lesions: fluid was collected in a plain tube and sent for cytospin / cell "
"block preparation.] The procedure was tolerated well. Preliminary adequacy on air-dried smear "
"showed [cellular material / bloody smear / scant material]. Final cytology report is awaited. "
"The procedure was completed without immediate complications."
)
},
"06_Pericardiocentesis": {
"title": "Pericardiocentesis",
"category": "Procedural Skills (PS)",
"note": (
"Written informed consent was obtained from the patient (or next of kin in an emergency) after "
"explaining the procedure, its indication (cardiac tamponade / diagnostic pericardial effusion), "
"risks (cardiac chamber puncture, coronary artery laceration, pneumothorax, pneumopericardium, "
"air embolism, dysrhythmia, and death), and alternatives including surgical pericardiectomy/window. "
"Pre-procedure 12-lead ECG, bedside echocardiography (confirming pericardial effusion size, "
"location, and tamponade physiology), and coagulation screen were reviewed. Continuous cardiac "
"monitoring, pulse oximetry, and IV access were established. Crash cart and defibrillator were "
"at bedside. The patient was positioned semi-recumbent at 45 degrees (to bring the heart closer "
"to the anterior chest wall and allow dependent pooling of fluid inferiorly). A timeout was "
"performed. The subxiphoid region was cleaned with betadine/chlorhexidine and sterile draping "
"applied. Local anaesthesia was achieved with 5-10 mL of 2% lignocaine using a 25-gauge needle, "
"infiltrating from just below the xiphoid process toward the left shoulder. An [18G] needle "
"attached to a [20 mL] syringe with a three-way stopcock was inserted at the angle between the "
"left costal margin and the xiphoid process (subxiphoid/subcostal approach), directed at 45 degrees "
"to the skin toward the left shoulder. The needle was advanced slowly while continuously aspirating "
"and with continuous ECG monitoring via an alligator clip attached to the needle hub. "
"Echocardiographic guidance was used in real time to visualise needle tip in the pericardial space. "
"A scratching or current-of-injury pattern on the ECG monitor indicated contact with myocardium and "
"the needle was withdrawn slightly. Entry into the pericardial space was confirmed by aspiration of "
"[serous / haemorrhagic / turbid] fluid. A total of [__ mL] of pericardial fluid was aspirated. "
"The needle was withdrawn and an occlusive dressing applied. Repeat ECG and bedside echocardiogram "
"post-procedure showed [resolution of tamponade physiology / residual effusion of __ mm]. "
"Samples sent: cell count and differential, protein, LDH, glucose, Gram stain and culture, "
"AFB smear and culture, cytology, and [ADA / viral studies] as indicated. "
"Vitals improved post-procedure: BP [__/__] mmHg, HR [__] bpm, SpO2 [__%]. "
"The procedure was completed without immediate complications."
)
},
"07_Joint_Fluid_Aspiration": {
"title": "Joint Fluid Aspiration (Arthrocentesis)",
"category": "Procedural Skills (PI)",
"note": (
"Written informed consent was obtained from the patient after explaining the procedure, its indication "
"(diagnostic aspiration of [knee / wrist / ankle / shoulder / elbow] joint effusion / therapeutic "
"drainage for symptomatic relief / septic arthritis workup), risks (infection, bleeding, "
"post-aspiration flare, cartilage damage, and vasovagal episode), and alternatives. "
"Pre-procedure clinical examination confirmed a [moderate / large] effusion in the [right / left] "
"[joint] with [ballottement / patellar tap / bulge sign] positive. No overlying skin infection "
"was noted. The patient was positioned [supine with the knee extended and quadriceps relaxed "
"for knee aspiration / seated with the joint in neutral for other joints]. "
"The skin over the joint was cleaned with betadine/chlorhexidine using strict aseptic technique "
"and sterile draping applied. The approach used was: [medial / lateral parapatellar approach for "
"knee; other approach for other joints]. Local anaesthesia was achieved with 2-3 mL of 2% "
"lignocaine using a 25-gauge needle to create a skin wheal followed by deeper infiltration to "
"the joint capsule. A [18G / 21G] needle attached to a [20 mL] syringe was inserted through the "
"anaesthetised track into the joint space; entry was confirmed by the reduced resistance on "
"entering the joint cavity and free flow of synovial fluid. [__ mL] of [clear / turbid / "
"haemorrhagic / yellowish / milky] synovial fluid was aspirated until the joint was adequately "
"decompressed / dry. The needle was withdrawn and firm pressure applied. A sterile dressing was "
"applied. The joint was rested post-procedure. Samples sent: cell count and differential "
"(EDTA tube - if WBC > 50,000/mm3 with > 90% neutrophils, septic arthritis strongly suspected), "
"Gram stain and culture (aerobic and anaerobic), crystal microscopy under polarised light "
"(negatively birefringent needle-shaped crystals in gout; positively birefringent rhomboid "
"crystals in pseudogout), glucose, protein, and LDH. "
"Post-procedure the patient reported [significant relief of pain / improved range of motion]. "
"The procedure was completed without immediate complications."
)
},
"08_Liver_Biopsy": {
"title": "Liver Biopsy (Percutaneous)",
"category": "Procedural Skills (PI)",
"note": (
"Written informed consent was obtained from the patient after explaining the procedure, its "
"indications, risks (including bleeding, biliary leak, visceral perforation, and mortality risk "
"of approximately 0.01%), and alternatives including non-invasive fibrosis assessment. "
"Pre-procedure investigations confirmed suitability: INR [value] (less than 1.4), platelet count "
"[value] (greater than 60,000/mm3), and no significant ascites. Ultrasound abdomen was performed "
"immediately prior to the procedure to identify the optimal biopsy site, confirm liver size and "
"echotexture, rule out vascular lesions in the needle path, and measure depth of needle insertion "
"required. A timeout was performed confirming patient identity and correct site. The patient was "
"positioned supine with the right arm abducted and placed behind the head. The right lateral chest "
"wall over the area of maximum hepatic dullness (at the [8th/9th] intercostal space in the "
"mid-axillary line) was identified and marked. The skin was cleaned with betadine/chlorhexidine "
"and sterile draping applied. Local anaesthesia was achieved with 5-10 mL of 2% lignocaine "
"infiltrated through the intercostal space down to the liver capsule, walking the needle over the "
"superior rib border. The patient was instructed to hold their breath in mid-expiration throughout "
"the actual needle pass. A [16G spring-loaded automated / Tru-Cut / Menghini] biopsy needle was "
"rapidly advanced into the liver parenchyma during the breath-hold and a core of liver tissue was "
"obtained in a single pass. The needle was withdrawn promptly; the patient resumed normal breathing. "
"A total of [1/2] passes were made. The specimen measured approximately [__ cm] in length and was "
"placed immediately in 10% formalin. An occlusive dressing was applied. The patient was instructed "
"to lie on the right side for 2 hours. Vital signs were monitored every 15 minutes for the first "
"2 hours, then half-hourly for 4 hours. Post-procedure ultrasound at [__ hours] showed [no "
"haematoma / subcapsular haematoma of __ cm]. Specimen sent for histopathology with H&E, Masson's "
"trichrome, reticulin, PAS, Prussian blue for iron, and special stains as indicated. "
"The procedure was completed without immediate complications."
)
},
"09_Kidney_Biopsy": {
"title": "Kidney Biopsy (Percutaneous)",
"category": "Procedural Skills (PS)",
"note": (
"Written informed consent was obtained from the patient after explaining the procedure, its "
"indication (evaluation of [glomerulonephritis / unexplained renal failure / nephrotic syndrome / "
"renal transplant dysfunction]), risks (haematuria, perinephric haematoma, arteriovenous fistula, "
"need for blood transfusion [<1%], nephrectomy [<0.1%], and death [<0.1%]), and alternatives. "
"Pre-procedure investigations: platelet count [value] (target >100,000/mm3), INR [value] "
"(target <1.4), APTT [value], blood pressure controlled (target <140/90 mmHg), group and save "
"done. Antiplatelet agents and anticoagulants were withheld as appropriate. Ultrasound kidneys "
"was performed to confirm kidney size, position, depth, and to identify the lower pole of the "
"[right / left] kidney (preferred site - more accessible, less risk of hilar injury) and exclude "
"a solitary kidney or structural abnormality. The patient was positioned prone with a firm pillow "
"under the abdomen to reduce lumbar lordosis and bring the kidney superficially (alternatively, "
"supine for transplant kidney biopsy). A timeout was performed. The overlying skin (posterior "
"flank at the level of the lower pole of the [right] kidney) was cleaned with betadine/ "
"chlorhexidine and sterile draping applied. Local anaesthesia was achieved with 10-20 mL of 2% "
"lignocaine infiltrated from skin to the renal capsule under continuous ultrasound guidance. "
"The patient was instructed to hold their breath in full inspiration (to bring the kidney "
"caudally and fix it during the pass). A [16G / 18G] spring-loaded automated biopsy needle was "
"advanced under real-time ultrasound guidance to the lower pole cortex, fired during the "
"breath-hold, and a core of renal tissue obtained. A minimum of 2 cores (ideally containing "
">10 glomeruli per core) were obtained. The needle was withdrawn; the patient resumed breathing. "
"Firm pressure was applied over the biopsy site for 10-15 minutes. An occlusive dressing was "
"applied. Bed rest for 6-24 hours post-procedure. Urine monitored for haematuria; vital signs "
"monitored hourly. Post-procedure ultrasound at [__ hours] showed [no perinephric haematoma / "
"haematoma of __ cm]. Specimens sent in formalin (light microscopy), Michel's medium "
"(immunofluorescence), and glutaraldehyde (electron microscopy). "
"The procedure was completed without immediate complications."
)
},
"10_Cardiac_TMT": {
"title": "Cardiac Treadmill Test (TMT / Exercise Stress Test)",
"category": "Procedural Skills (PS)",
"note": (
"The patient underwent a standard Bruce Protocol Treadmill Test (TMT) for the indication of "
"[evaluation of chest pain / risk stratification of known CAD / evaluation of exercise-induced "
"arrhythmia / post-MI functional assessment / evaluation before cardiac rehabilitation]. "
"Pre-test clinical assessment confirmed: resting BP [__/__] mmHg, resting HR [__] bpm, "
"resting 12-lead ECG [normal sinus rhythm / LBBB / ST changes at baseline - documented]. "
"Absolute and relative contraindications were excluded: no acute MI within 2 days, no unstable "
"angina, no uncontrolled arrhythmia, no decompensated heart failure, no severe symptomatic aortic "
"stenosis, and no acute PE or myocarditis. Informed consent was obtained. The patient was "
"instructed to fast for 3 hours prior and to withhold [beta-blockers / nitrates] as per the "
"physician's instructions. Ten-lead ECG electrodes were applied using the Mason-Likar modification "
"and a continuous real-time ECG display was monitored throughout. The standard Bruce Protocol was "
"followed: Stage I - 1.7 mph / 10% grade (3 min); Stage II - 2.5 mph / 12% grade (3 min); "
"Stage III - 3.4 mph / 14% grade (3 min); and so on. BP and 12-lead ECG were recorded at the end "
"of each stage and every minute during recovery. The patient exercised for a total of [__ minutes] "
"reaching Stage [__]. The test was [terminated / continued to maximum predicted heart rate (MPHR)]. "
"Target HR achieved: [__] bpm ([__%] of MPHR). Reason for test termination: [target HR reached / "
"patient fatigue / chest pain / significant ST changes / arrhythmia / hypotension]. "
"Maximum BP during exercise: [__/__] mmHg. ECG findings during exercise: [no significant ST "
"changes / horizontal or downsloping ST depression of [__ mm] in leads [__] at [__ METs] / "
"ST elevation]. Symptoms during exercise: [none / chest discomfort / dyspnoea / dizziness]. "
"Recovery: HR and BP returned to baseline within [__ minutes] of recovery. "
"Interpretation: [POSITIVE for inducible ischaemia (Duke Treadmill Score: [__]) / NEGATIVE / "
"NON-DIAGNOSTIC due to inadequate HR response]. The patient was monitored for 10 minutes "
"post-test before being discharged from the testing area. No adverse events occurred."
)
},
"11_Holter_Monitoring": {
"title": "Holter Monitoring",
"category": "Procedural Skills (PS)",
"note": (
"The patient was set up for ambulatory [24-hour / 48-hour / 72-hour] Holter ECG monitoring "
"for the indication of [evaluation of palpitations / syncope or presyncope / evaluation of "
"arrhythmia burden / assessment of antiarrhythmic drug efficacy / evaluation for AF in "
"cryptogenic stroke]. The Holter device used was: [Brand/Model - __ channel recorder]. "
"The patient's skin was prepared by cleaning with alcohol swab and light abrasion to ensure "
"good electrode contact and reduce motion artefact. [5 / 7] electrodes were placed in standard "
"positions (modified bipolar lead system): RA electrode below the right clavicle, LA electrode "
"below the left clavicle, RL electrode on the right lower chest (ground), LL electrode on the "
"left lower chest, and V1/V5 precordial electrodes as appropriate for the channel configuration. "
"Lead quality was confirmed on the device display showing clear P waves, QRS complexes, and "
"T waves with minimal noise. The recorder was secured to the patient's waist with a belt/pouch. "
"The patient was given a diary card and instructed to: (1) record the time and nature of any "
"symptoms (palpitations, chest pain, dizziness, syncope) and activities throughout the monitoring "
"period; (2) avoid bathing, showering, or swimming during the study; (3) avoid strong magnetic "
"fields (MRI, electric motors); (4) continue normal daily activities to maximise diagnostic yield; "
"and (5) return after [24/48/72] hours for device removal. The device was removed at the end of "
"the monitoring period; electrodes were removed and skin inspected. The data were downloaded and "
"analysed by the [cardiologist / reporting physician] using automated analysis with manual "
"overread. Total recording duration: [__ hours]. Total beats analysed: [__]. "
"Findings: dominant rhythm - [sinus rhythm / AF / flutter], mean HR [__] bpm (range [__]-[__] bpm), "
"[no significant pauses / longest pause [__] sec], [no significant arrhythmias / PACs: [__] / "
"PVCs: [__] / runs of SVT / VT: [details]]. Symptom-rhythm correlation: [symptoms correlated with "
"[sinus rhythm / arrhythmia] / no symptoms during monitoring]. "
"Impression: [Summary and clinical recommendation]. Report filed in the patient's record."
)
},
"12_Echocardiography_Point_of_Care": {
"title": "Echocardiography (Point of Care / Focused Echo)",
"category": "Procedural Skills (PS)",
"note": (
"Point-of-care focused echocardiography (FOCUS) was performed by [name/designation] at the bedside "
"using a [phased array] probe with the [Brand/Model] portable ultrasound machine for the indication "
"of [haemodynamic assessment / evaluation of cardiac tamponade / assessment of LV function in "
"shock / evaluation of pericardial effusion / guidance for pericardiocentesis]. "
"The patient was positioned in the left lateral decubitus position where possible. "
"Ultrasound gel was applied and the following standard views were obtained systematically: "
"(1) Parasternal Long Axis (PLAX) - LV size, LV function, mitral and aortic valves, pericardial "
"effusion; (2) Parasternal Short Axis (PSAX) at the level of the papillary muscles - LV wall "
"motion, RV size, septal position; (3) Apical 4-Chamber (A4C) - LV and RV size and function, "
"mitral and tricuspid valves, IAS, pericardial effusion; (4) Subcostal 4-Chamber - LV and RV "
"function, pericardial effusion (particularly posteriorly and inferiorly), IVC diameter and "
"collapsibility. "
"Findings: LV size - [normal / dilated, LVIDD [__ mm]]; LV systolic function - [normal / "
"mildly / moderately / severely reduced, estimated EF [__%]]; LV wall motion - [normal / "
"regional wall motion abnormality in [territory]]; RV - [normal size and function / dilated / "
"pressure overloaded]; Valves - [no significant valvular abnormality / mitral regurgitation "
"[grade] / aortic stenosis]; Pericardial effusion - [absent / present, [__ mm] in [location], "
"[no tamponade physiology / tamponade: RV diastolic collapse + RA systolic collapse noted, "
"IVC plethoric]]; IVC - [__ mm, [>50% / <50%] collapsibility with respiration]. "
"Impression: [Summary of findings and clinical correlation]. "
"Note: This is a focused bedside assessment; formal comprehensive echocardiography by the "
"cardiology department is recommended for complete evaluation."
)
},
"13_Doppler_Studies": {
"title": "Doppler Studies",
"category": "Procedural Skills (PS)",
"note": (
"Doppler ultrasound studies were performed by [name/designation] using the [Brand/Model] "
"ultrasound machine for the indication of [evaluation of deep vein thrombosis (DVT) / "
"peripheral arterial disease / carotid artery stenosis / renal artery stenosis / portal "
"hypertension / hepatic vasculature]. The relevant vessel(s) examined: [specify]. "
"The patient was positioned [supine / prone / sitting] as appropriate for the vessel examined. "
"A [linear high-frequency (7-15 MHz) probe for superficial vessels / curvilinear (2-5 MHz) "
"probe for deep vessels] was used. B-mode (greyscale) ultrasound was performed first to "
"identify vessel anatomy, wall characteristics, lumen diameter, and any echogenic material "
"(thrombus / plaque). Colour flow Doppler was then applied to assess the direction and "
"character of blood flow; absence of colour fill, non-compressibility, and echogenic "
"intraluminal material was sought for DVT assessment. Pulsed wave (spectral) Doppler "
"was used to obtain velocity waveforms and measure: peak systolic velocity (PSV), "
"end diastolic velocity (EDV), and resistive index (RI = [PSV-EDV]/PSV). "
"Findings: [For DVT - right/left [femoral / popliteal / tibial] vein: [compressible, "
"no intraluminal thrombus, colour fill present / non-compressible with echogenic thrombus, "
"absent colour fill - DVT confirmed]]. "
"[For carotid - right/left CCA, ICA, ECA: intima-media thickness [__ mm], [no significant "
"plaque / [__ mm] echogenic plaque with [__ %] stenosis by velocity criteria]; "
"PSV in ICA [__ cm/s], ICA/CCA ratio [__]]. "
"[For portal vein - diameter [__ mm], flow direction [hepatopetal/hepatofugal], "
"mean velocity [__ cm/s]]. "
"[For renal arteries - PSV [__ cm/s], RI [right __ / left __]]. "
"Impression: [Summary of Doppler findings and clinical correlation]. "
"Report filed in the patient's record."
)
}
}
def create_pdf(filename, title, category, note_text):
filepath = os.path.join(OUTPUT_DIR, filename + ".pdf")
doc = SimpleDocTemplate(
filepath,
pagesize=A4,
rightMargin=2*cm, leftMargin=2*cm,
topMargin=2*cm, bottomMargin=2*cm
)
styles = getSampleStyleSheet()
title_style = ParagraphStyle(
'CustomTitle',
parent=styles['Title'],
fontSize=16,
textColor=colors.HexColor('#1a3a5c'),
spaceAfter=6,
fontName='Helvetica-Bold',
alignment=TA_LEFT
)
subtitle_style = ParagraphStyle(
'SubTitle',
parent=styles['Normal'],
fontSize=10,
textColor=colors.HexColor('#555555'),
spaceAfter=4,
fontName='Helvetica-Oblique'
)
label_style = ParagraphStyle(
'Label',
parent=styles['Normal'],
fontSize=10,
textColor=colors.HexColor('#1a3a5c'),
fontName='Helvetica-Bold',
spaceAfter=2
)
body_style = ParagraphStyle(
'Body',
parent=styles['Normal'],
fontSize=10.5,
leading=16,
spaceAfter=10,
fontName='Helvetica',
alignment=TA_JUSTIFY
)
footer_style = ParagraphStyle(
'Footer',
parent=styles['Normal'],
fontSize=8,
textColor=colors.grey,
fontName='Helvetica-Oblique',
alignment=TA_CENTER
)
story = []
# Header block
story.append(Paragraph(title, title_style))
story.append(Paragraph(f"Elog Book — {category}", subtitle_style))
story.append(HRFlowable(width="100%", thickness=1.5, color=colors.HexColor('#1a3a5c'), spaceAfter=10))
# Procedure Note label
story.append(Paragraph("PROCEDURE NOTE", label_style))
story.append(Spacer(1, 4))
# Fields row
fields = [
("Date:", "_______________________"),
("Time:", "_______________________"),
("Patient Name:", "_______________________"),
("Age / Sex:", "_______________________"),
("IP No. / Bed:", "_______________________"),
("Diagnosis:", "_______________________"),
("Operator:", "_______________________"),
("Supervisor:", "_______________________"),
]
field_style = ParagraphStyle(
'Field', parent=styles['Normal'],
fontSize=9.5, fontName='Helvetica', spaceAfter=2
)
for label, blank in fields:
story.append(Paragraph(f"<b>{label}</b> {blank}", field_style))
story.append(Spacer(1, 8))
story.append(HRFlowable(width="100%", thickness=0.5, color=colors.grey, spaceAfter=8))
story.append(Paragraph(note_text, body_style))
story.append(Spacer(1, 10))
story.append(HRFlowable(width="100%", thickness=0.5, color=colors.grey, spaceAfter=6))
# Signature blocks
sig_style = ParagraphStyle('Sig', parent=styles['Normal'], fontSize=9.5, fontName='Helvetica', spaceAfter=2)
story.append(Paragraph("<b>Signature of Operator:</b> _________________________________", sig_style))
story.append(Spacer(1, 4))
story.append(Paragraph("<b>Signature of Supervisor:</b> _________________________________", sig_style))
story.append(Spacer(1, 12))
story.append(Paragraph("Generated for Elog Book — Procedure Note | Internal Medicine", footer_style))
doc.build(story)
return filepath
created = []
for key, val in procedures.items():
path = create_pdf(key, val["title"], val["category"], val["note"])
created.append(path)
print(f"Created: {path}")
print("\nAll PDFs created successfully.")
cd /tmp/workspace/elog-procedures && python generate_pdfs.py
01 Bone Marrow Aspiration and Biopsy
PDF Document · PDF
02 Abdominal Paracentesis Diagnostic
PDF Document · PDF
03 Aspiration of Liver Abscess
PDF Document · PDF
04 Ultrasound Abdomen Point of Care
PDF Document · PDF
05 FNAC Palpable Lumps
PDF Document · PDF
06 Pericardiocentesis
PDF Document · PDF
07 Joint Fluid Aspiration
PDF Document · PDF
08 Liver Biopsy
PDF Document · PDF
09 Kidney Biopsy
PDF Document · PDF
10 Cardiac TMT
PDF Document · PDF
11 Holter Monitoring
PDF Document · PDF
12 Echocardiography Point of Care
PDF Document · PDF
13 Doppler Studies
PDF Document · PDF
Create a master index PDF linking all 13 procedure notes 13 pdf
ls /tmp/workspace/elog-procedures/*.pdf
~/elog-procedures/create_master_index.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, HRFlowable, Table, TableStyle
)
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
from pypdf import PdfWriter, PdfReader
import os
OUTPUT_DIR = "/tmp/workspace/elog-procedures"
# ── 1. Build the index page ────────────────────────────────────────────────────
index_path = os.path.join(OUTPUT_DIR, "_index_page.pdf")
procedures = [
("01", "Bone Marrow Aspiration and Biopsy", "PI", "01_Bone_Marrow_Aspiration_and_Biopsy.pdf"),
("02", "Abdominal Paracentesis (Diagnostic)", "PI", "02_Abdominal_Paracentesis_Diagnostic.pdf"),
("03", "Aspiration of Liver Abscess", "PI", "03_Aspiration_of_Liver_Abscess.pdf"),
("04", "Ultrasound Abdomen (Point of Care)", "PI", "04_Ultrasound_Abdomen_Point_of_Care.pdf"),
("05", "Fine Needle Aspiration Cytology (FNAC)", "PI", "05_FNAC_Palpable_Lumps.pdf"),
("06", "Pericardiocentesis", "PS", "06_Pericardiocentesis.pdf"),
("07", "Joint Fluid Aspiration (Arthrocentesis)", "PI", "07_Joint_Fluid_Aspiration.pdf"),
("08", "Liver Biopsy (Percutaneous)", "PI", "08_Liver_Biopsy.pdf"),
("09", "Kidney Biopsy (Percutaneous)", "PS", "09_Kidney_Biopsy.pdf"),
("10", "Cardiac TMT / Treadmill Test", "PS", "10_Cardiac_TMT.pdf"),
("11", "Holter Monitoring", "PS", "11_Holter_Monitoring.pdf"),
("12", "Echocardiography (Point of Care)", "PS", "12_Echocardiography_Point_of_Care.pdf"),
("13", "Doppler Studies", "PS", "13_Doppler_Studies.pdf"),
]
doc = SimpleDocTemplate(
index_path,
pagesize=A4,
rightMargin=2.2*cm, leftMargin=2.2*cm,
topMargin=2*cm, bottomMargin=2*cm
)
styles = getSampleStyleSheet()
header_style = ParagraphStyle(
'Header',
fontSize=20, fontName='Helvetica-Bold',
textColor=colors.HexColor('#1a3a5c'),
spaceAfter=4, alignment=TA_LEFT
)
sub_style = ParagraphStyle(
'Sub',
fontSize=11, fontName='Helvetica-Oblique',
textColor=colors.HexColor('#444444'),
spaceAfter=2, alignment=TA_LEFT
)
meta_style = ParagraphStyle(
'Meta',
fontSize=9, fontName='Helvetica',
textColor=colors.grey,
spaceAfter=14, alignment=TA_LEFT
)
section_style = ParagraphStyle(
'Section',
fontSize=11, fontName='Helvetica-Bold',
textColor=colors.HexColor('#1a3a5c'),
spaceBefore=10, spaceAfter=6
)
footer_style = ParagraphStyle(
'Footer',
fontSize=8, fontName='Helvetica-Oblique',
textColor=colors.grey, alignment=TA_CENTER
)
legend_style = ParagraphStyle(
'Legend',
fontSize=9, fontName='Helvetica',
textColor=colors.HexColor('#555555'),
spaceAfter=14
)
story = []
# Title block
story.append(Paragraph("Procedural Skills — Elog Book", header_style))
story.append(Paragraph("Master Index of Procedure Notes", sub_style))
story.append(Paragraph("Internal Medicine | Postgraduate Training", meta_style))
story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1a3a5c'), spaceAfter=10))
story.append(Paragraph("PI = Performed Independently | PS = Performed under Supervision", legend_style))
# Build table
col_widths = [1.1*cm, 9.5*cm, 2.2*cm, 4.0*cm]
header_row = [
Paragraph("<b>#</b>", ParagraphStyle('th', fontName='Helvetica-Bold', fontSize=10, textColor=colors.white, alignment=TA_CENTER)),
Paragraph("<b>Procedure</b>", ParagraphStyle('th', fontName='Helvetica-Bold', fontSize=10, textColor=colors.white)),
Paragraph("<b>Level</b>", ParagraphStyle('th', fontName='Helvetica-Bold', fontSize=10, textColor=colors.white, alignment=TA_CENTER)),
Paragraph("<b>File Name</b>", ParagraphStyle('th', fontName='Helvetica-Bold', fontSize=10, textColor=colors.white)),
]
table_data = [header_row]
even_bg = colors.HexColor('#eaf2fb')
odd_bg = colors.white
pi_color = colors.HexColor('#1a6e3a') # dark green for PI
ps_color = colors.HexColor('#8b1a1a') # dark red for PS
num_style = ParagraphStyle('num', fontName='Helvetica-Bold', fontSize=10, alignment=TA_CENTER)
proc_style = ParagraphStyle('proc', fontName='Helvetica', fontSize=10)
level_style_pi = ParagraphStyle('lpi', fontName='Helvetica-Bold', fontSize=10,
textColor=pi_color, alignment=TA_CENTER)
level_style_ps = ParagraphStyle('lps', fontName='Helvetica-Bold', fontSize=10,
textColor=ps_color, alignment=TA_CENTER)
file_style = ParagraphStyle('file', fontName='Helvetica-Oblique', fontSize=8.5,
textColor=colors.HexColor('#2a5080'))
row_styles = []
for i, (num, name, level, fname) in enumerate(procedures):
lvl_s = level_style_pi if level == "PI" else level_style_ps
row = [
Paragraph(num, num_style),
Paragraph(name, proc_style),
Paragraph(level, lvl_s),
Paragraph(fname, file_style),
]
table_data.append(row)
bg = even_bg if i % 2 == 0 else odd_bg
row_styles.append(('BACKGROUND', (0, i+1), (-1, i+1), bg))
t = Table(table_data, colWidths=col_widths, repeatRows=1)
ts = TableStyle([
# Header
('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#1a3a5c')),
('ROWBACKGROUNDS', (0, 0), (-1, -1), [colors.white]),
('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
('FONTSIZE', (0, 0), (-1, 0), 10),
('TOPPADDING', (0, 0), (-1, -1), 6),
('BOTTOMPADDING',(0,0), (-1, -1), 6),
('LEFTPADDING', (0, 0), (-1, -1), 8),
('RIGHTPADDING',(0, 0), (-1, -1), 8),
('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#cccccc')),
('ROWBACKGROUNDS', (0, 1), (-1, -1), [even_bg, odd_bg]),
('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
('LINEBELOW', (0, 0), (-1, 0), 1.5, colors.HexColor('#1a3a5c')),
])
t.setStyle(ts)
story.append(t)
story.append(Spacer(1, 20))
story.append(HRFlowable(width="100%", thickness=0.5, color=colors.grey, spaceAfter=6))
# How-to-use note
usage_style = ParagraphStyle('usage', fontName='Helvetica', fontSize=9,
textColor=colors.HexColor('#333333'),
leading=14, spaceAfter=10, alignment=TA_JUSTIFY)
story.append(Paragraph(
"<b>How to use this book:</b> Each procedure note is saved as an individual PDF file with the "
"filename shown above. Open the relevant file before or after performing the procedure. "
"Fill in the patient details, operator/supervisor names, and all bracketed [fields] at the time "
"of the procedure. Obtain the supervisor's signature to validate the elog entry. "
"<b>PI</b> entries indicate the procedure was performed independently; "
"<b>PS</b> entries indicate the procedure was performed under supervision.",
usage_style
))
story.append(Spacer(1, 6))
story.append(Paragraph(
"Elog Book — Procedural Skills | Internal Medicine Postgraduate Training",
footer_style
))
doc.build(story)
print(f"Index page created: {index_path}")
# ── 2. Merge: index page first, then all 13 PDFs ──────────────────────────────
writer = PdfWriter()
# Add index page
reader = PdfReader(index_path)
for page in reader.pages:
writer.add_page(page)
# Add each procedure PDF
for num, name, level, fname in procedures:
fpath = os.path.join(OUTPUT_DIR, fname)
reader = PdfReader(fpath)
for page in reader.pages:
writer.add_page(page)
master_path = os.path.join(OUTPUT_DIR, "MASTER_Elog_Procedural_Skills.pdf")
with open(master_path, "wb") as f:
writer.write(f)
print(f"Master PDF created: {master_path}")
total_pages = sum(1 for _ in PdfReader(master_path).pages)
print(f"Total pages: {total_pages}")
cd /tmp/workspace/elog-procedures && python create_master_index.py
MASTER Elog Procedural Skills
PDF Document · PDF
Make all 13 procedure note in word format and fill all the details of measurement/size
~/elog-procedures/generate_docx.py
from docx import Document
from docx.shared import Pt, Inches, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
import os
OUTPUT_DIR = "/tmp/workspace/elog-procedures/docx"
os.makedirs(OUTPUT_DIR, exist_ok=True)
NAVY = RGBColor(0x1a, 0x3a, 0x5c)
BLACK = RGBColor(0x00, 0x00, 0x00)
GREY = RGBColor(0x55, 0x55, 0x55)
def set_cell_bg(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)
def add_hr(doc):
p = doc.add_paragraph()
pPr = p._p.get_or_add_pPr()
pb = OxmlElement('w:pBdr')
bot = OxmlElement('w:bottom')
bot.set(qn('w:val'), 'single')
bot.set(qn('w:sz'), '6')
bot.set(qn('w:space'), '1')
bot.set(qn('w:color'), '1a3a5c')
pb.append(bot)
pPr.append(pb)
p.paragraph_format.space_after = Pt(4)
def make_doc(filename, title, category, fields_table, note_text):
doc = Document()
# ── page margins ──────────────────────────────────────────────────────
for section in doc.sections:
section.top_margin = Inches(1.0)
section.bottom_margin = Inches(1.0)
section.left_margin = Inches(1.1)
section.right_margin = Inches(1.1)
# ── default style ─────────────────────────────────────────────────────
normal = doc.styles['Normal']
normal.font.name = 'Calibri'
normal.font.size = Pt(11)
# ── title ─────────────────────────────────────────────────────────────
h = doc.add_heading(title, level=1)
h.runs[0].font.color.rgb = NAVY
h.runs[0].font.size = Pt(18)
h.runs[0].font.bold = True
sub = doc.add_paragraph(f"Elog Book — {category}")
sub.runs[0].font.color.rgb = GREY
sub.runs[0].font.size = Pt(10)
sub.runs[0].font.italic = True
sub.paragraph_format.space_after = Pt(2)
add_hr(doc)
# ── PROCEDURE NOTE label ──────────────────────────────────────────────
lbl = doc.add_paragraph("PROCEDURE NOTE")
lbl.runs[0].font.bold = True
lbl.runs[0].font.color.rgb = NAVY
lbl.runs[0].font.size = Pt(11)
lbl.paragraph_format.space_after = Pt(4)
# ── patient/operator fields table ─────────────────────────────────────
tbl = doc.add_table(rows=len(fields_table), cols=2)
tbl.style = 'Table Grid'
for i, (lbl_txt, val_txt) in enumerate(fields_table):
lc = tbl.rows[i].cells[0]
rc = tbl.rows[i].cells[1]
lc.width = Inches(2.0)
rc.width = Inches(4.5)
set_cell_bg(lc, 'EAF2FB')
lp = lc.paragraphs[0]
lp.clear()
run = lp.add_run(lbl_txt)
run.bold = True
run.font.size = Pt(10)
run.font.color.rgb = NAVY
rp = rc.paragraphs[0]
rp.clear()
rv = rp.add_run(val_txt)
rv.font.size = Pt(10)
doc.add_paragraph().paragraph_format.space_after = Pt(4)
# ── note body ─────────────────────────────────────────────────────────
bp = doc.add_paragraph(note_text)
bp.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY
bp.runs[0].font.size = Pt(11)
bp.paragraph_format.space_after = Pt(10)
bp.paragraph_format.line_spacing = Pt(17)
add_hr(doc)
# ── signature blocks ──────────────────────────────────────────────────
for label in ("Signature of Operator:", "Signature of Supervisor:"):
sig = doc.add_paragraph()
r1 = sig.add_run(label + " ")
r1.bold = True
r1.font.size = Pt(10)
r2 = sig.add_run("_________________________________")
r2.font.size = Pt(10)
sig.paragraph_format.space_after = Pt(6)
doc.add_paragraph()
ft = doc.add_paragraph("Generated for Elog Book — Procedure Notes | Internal Medicine")
ft.alignment = WD_ALIGN_PARAGRAPH.CENTER
ft.runs[0].font.size = Pt(8)
ft.runs[0].font.italic = True
ft.runs[0].font.color.rgb = GREY
path = os.path.join(OUTPUT_DIR, filename + ".docx")
doc.save(path)
print(f"Saved: {path}")
return path
# ═══════════════════════════════════════════════════════════════════════════════
# PROCEDURE DATA — all blanks filled with standard clinical values
# ═══════════════════════════════════════════════════════════════════════════════
FIELDS_COMMON = [
("Date:", "16/07/2026"),
("Time:", "09:00 AM"),
("Patient Name:", "Mr. / Ms. _______________"),
("Age / Sex:", "___ years / Male / Female"),
("IP No. / Bed:", "________________"),
("Diagnosis:", "________________"),
("Operator:", "Dr. _______________ (PG Year ___)"),
("Supervisor:", "Dr. _______________ (Consultant)"),
]
procedures = [
# ── 01 ───────────────────────────────────────────────────────────────────────
("01_Bone_Marrow_Aspiration_and_Biopsy",
"Bone Marrow Aspiration and Biopsy",
"Procedural Skills (PI)",
FIELDS_COMMON,
"Written informed consent was obtained from the patient after explaining the procedure, its indication, "
"risks (including pain, bleeding, infection, and failure to obtain a diagnostic sample), and alternatives. "
"Pre-procedure investigations confirmed: platelet count 85,000/mm³, INR 1.1, and no active skin infection "
"over the intended site. The patient was positioned prone for the posterior superior iliac spine (PSIS) "
"approach. The PSIS was identified by palpation as the primary biopsy site. A timeout was performed "
"confirming patient identity and correct site. The overlying skin was cleaned with 10% povidone-iodine "
"solution and sterile draping applied. Local anaesthesia was achieved with 8 mL of 2% lignocaine "
"injected as a skin wheal using a 25-gauge needle, then infiltrated progressively through the "
"subcutaneous tissue and periosteum with a 22-gauge needle; adequate anaesthesia was confirmed by "
"absence of pain on periosteal pressure. The bone marrow aspiration needle (Salah, 16G, 3 cm) "
"was inserted with the stylet in situ through the skin and advanced through the cortical bone "
"using firm rotatory pressure until a sudden give indicated entry into the medullary cavity "
"(depth of penetration approximately 1.5 cm). The stylet was removed and a 20 mL syringe attached; "
"5 mL of marrow was aspirated with a single sharp pull — the patient experienced the expected brief "
"sharp pain during aspiration. Eight smears were prepared immediately at the bedside on glass slides. "
"The aspiration needle was removed. Without changing the skin puncture site, the Jamshidi trephine "
"biopsy needle (11G, 4 cm) was inserted, advanced 2 cm beyond the aspiration site, rotated 360 degrees "
"in alternating directions, and a core of bone 1.8 cm in length and 3 mm in diameter was obtained. "
"The core was transferred to 10% buffered formalin for histopathology. Firm pressure was applied "
"over the site for 8 minutes; a pressure dressing was applied. The patient was advised to lie supine "
"for 60 minutes post-procedure. Samples sent: aspirate smears (8 slides) for morphology and "
"differential cell count, trephine core for histopathology with H&E and reticulin stains, "
"flow cytometry (10 mL in EDTA), and cytogenetics (5 mL in sodium heparin). "
"Vital signs remained stable throughout. The procedure was completed without immediate complications."),
# ── 02 ───────────────────────────────────────────────────────────────────────
("02_Abdominal_Paracentesis_Diagnostic",
"Abdominal Paracentesis (Diagnostic)",
"Procedural Skills (PI)",
FIELDS_COMMON,
"Written informed consent was obtained from the patient after explaining the procedure, its indication "
"(diagnostic evaluation of new-onset ascites / evaluation for spontaneous bacterial peritonitis), "
"risks (bleeding, infection, bowel perforation, persistent leak), and alternatives. "
"Pre-procedure investigations confirmed: platelet count 92,000/mm³, INR 1.3. Routine correction of "
"coagulopathy was not performed as this is a diagnostic tap. The urinary bladder was emptied prior to "
"the procedure. The patient was positioned supine with the head of the bed elevated to 30 degrees. "
"Bedside ultrasound confirmed a large volume of free ascitic fluid. The optimal insertion site was "
"identified in the left lower quadrant, 3 cm cephalad and medial to the left anterior superior iliac "
"spine, lateral to the rectus sheath, with a fluid pocket depth of 6 cm free of bowel loops. "
"The site was marked. A timeout was performed. The skin was cleaned with 10% povidone-iodine and "
"sterile draping applied. Local anaesthesia was achieved with 8 mL of 2% lignocaine using the "
"Z-track technique — the skin was displaced 1.5 cm caudally before needle insertion. "
"A 21-gauge needle on a 20 mL syringe was advanced slowly using the Z-track technique, aspirating "
"continuously, until straw-coloured ascitic fluid was obtained at a depth of 3.5 cm. "
"A total of 60 mL of straw-coloured, slightly turbid fluid was collected. The needle was withdrawn "
"and the skin allowed to spring back, sealing the Z-track. An occlusive dressing was applied. "
"Samples sent: cell count and differential (EDTA tube — total WBC 480/mm³, neutrophils 52%), "
"total protein 12 g/L, albumin 8 g/L (serum albumin 28 g/L; SAAG = 20 g/L, consistent with portal "
"hypertension), LDH 180 U/L, glucose 4.2 mmol/L, Gram stain and culture (inoculated directly into "
"blood culture bottles at bedside), AFB smear and culture, and cytology. "
"Post-procedure vitals remained stable. The procedure was completed without immediate complications."),
# ── 03 ───────────────────────────────────────────────────────────────────────
("03_Aspiration_of_Liver_Abscess",
"Aspiration of Liver Abscess",
"Procedural Skills (PI)",
FIELDS_COMMON,
"Written informed consent was obtained from the patient after explaining the procedure, its indication "
"(therapeutic aspiration of right lobe amoebic liver abscess), risks (bleeding, biliary fistula, "
"peritoneal contamination, pneumothorax), and alternatives including conservative medical management. "
"Pre-procedure ultrasound abdomen confirmed a single right lobe abscess in segment VI/VII measuring "
"8 x 7 cm with estimated volume of 200 mL, showing internal echoes and thin septations, amenable "
"to percutaneous aspiration. Pre-procedure investigations: platelet count 1,40,000/mm³, INR 1.2, "
"blood group O positive noted. The patient was positioned supine. Real-time ultrasound guidance was "
"used throughout. The right lateral chest wall over the 9th intercostal space in the mid-axillary "
"line was cleaned with 10% povidone-iodine and sterile draping applied. A timeout was performed. "
"Local anaesthesia was achieved with 10 mL of 2% lignocaine infiltrated from skin down to the liver "
"capsule under ultrasound guidance, walking the needle over the superior border of the 9th rib. "
"An 18-gauge needle was advanced under continuous real-time ultrasound guidance through the "
"intercostal space into the centre of the abscess cavity at a depth of 7 cm. Entry into the abscess "
"was confirmed by aspiration of characteristic anchovy sauce-coloured (chocolate-brown), odourless "
"fluid. Aspiration was performed using a 50 mL syringe; total volume aspirated 180 mL over 4 passes. "
"The needle was withdrawn. An occlusive dressing was applied. Aspirated material sent for: "
"microscopy (Gram stain negative; wet mount — E. histolytica trophozoites not seen in the last "
"aspirate, consistent with amoebic abscess), aerobic and anaerobic culture and sensitivity (culture "
"negative at 48 hours, consistent with sterile amoebic pus), and cytology (no malignant cells). "
"Post-procedure ultrasound showed residual cavity of 3 x 2.5 cm with near-complete drainage. "
"Vitals remained stable. Patient continued on oral metronidazole 800 mg three times daily. "
"The procedure was completed without immediate complications."),
# ── 04 ───────────────────────────────────────────────────────────────────────
("04_Ultrasound_Abdomen_Point_of_Care",
"Ultrasound Abdomen (Point of Care)",
"Procedural Skills (PI)",
FIELDS_COMMON,
"Point-of-care ultrasound (POCUS) of the abdomen was performed at the bedside using a curvilinear "
"3.5 MHz probe with a portable ultrasound machine. The indication was assessment of new-onset "
"ascites and hepatosplenomegaly in a patient with suspected chronic liver disease. "
"The patient was positioned supine with adequate exposure. Ultrasound gel was applied and all "
"regions were systematically examined. Liver: enlarged at 17 cm in the mid-clavicular line, "
"coarse heterogeneous echotexture, nodular surface, rounded margins — consistent with cirrhosis; "
"no discrete focal lesion identified. Gallbladder: contracted, wall thickness 4 mm, no intraluminal "
"calculi; common bile duct 5 mm (normal). Spleen: enlarged at 16 cm (splenomegaly); homogeneous "
"echotexture; no focal lesion. Right kidney: 11 cm, preserved corticomedullary differentiation, "
"no hydronephrosis, no calculi. Left kidney: 10.5 cm, preserved corticomedullary differentiation, "
"no hydronephrosis. Free fluid: present — 5 cm free-fluid pocket in Morrison's hepatorenal pouch, "
"4 cm in the splenorenal space, and 6 cm in the pelvis, consistent with moderate-to-large ascites. "
"Portal vein diameter: 14 mm (dilated, normal < 13 mm) with hepatopetal flow at reduced mean "
"velocity of 12 cm/s — consistent with portal hypertension. IVC diameter: 18 mm with "
"collapsibility index < 50%, suggesting euvolaemia. Impression: Cirrhotic liver morphology with "
"portal hypertension, splenomegaly, and moderate-to-large volume ascites. Formal radiology "
"department ultrasound with Doppler recommended for complete assessment."),
# ── 05 ───────────────────────────────────────────────────────────────────────
("05_FNAC_Palpable_Lumps",
"Fine Needle Aspiration Cytology (FNAC) from Palpable Lumps",
"Procedural Skills (PI)",
FIELDS_COMMON,
"Written informed consent was obtained from the patient after explaining the procedure, its indication, "
"risks (minor bleeding, bruising, infection, and possibility of inadequate sample), and alternatives. "
"Clinical examination of the lump: Site — right anterior cervical triangle (level III lymph node); "
"Size — 3 x 2.5 cm; Consistency — firm; Surface — smooth; Margins — well-defined; "
"Mobility — mobile; Tenderness — non-tender; Overlying skin — normal. "
"The patient was positioned supine with the neck mildly extended and head turned to the left. "
"The skin was cleaned with 70% isopropyl alcohol. No local anaesthesia was required. "
"A 23-gauge needle attached to a 10 mL syringe was inserted into the lump, which was stabilised "
"between the left thumb and index finger. Strong negative pressure of 8 mL was applied by "
"withdrawing the plunger. While maintaining suction, the needle was moved back and forth within "
"the lump in 10 short strokes in three different directions to sample adequately. Before withdrawal, "
"suction was released. The needle was withdrawn and firm pressure applied over the puncture site "
"for 3 minutes. Aspirated material was expelled immediately onto 6 glass slides: 3 were air-dried "
"for MGG/Giemsa staining, and 3 were fixed immediately in 95% ethanol for Papanicolaou staining. "
"Preliminary assessment of air-dried smear showed cellular material with clusters of cells. "
"Final cytology report awaited. The procedure was tolerated well without immediate complications. "
"No haematoma formation noted. Patient was advised to apply ice over the site if any swelling "
"developed."),
# ── 06 ───────────────────────────────────────────────────────────────────────
("06_Pericardiocentesis",
"Pericardiocentesis",
"Procedural Skills (PS)",
FIELDS_COMMON,
"Written informed consent was obtained from the patient after explaining the procedure, its indication "
"(cardiac tamponade secondary to large pericardial effusion), risks (cardiac chamber puncture, "
"coronary artery laceration, pneumothorax, arrhythmia, and death), and alternatives including "
"surgical pericardial window. Pre-procedure 12-lead ECG showed sinus tachycardia at 118 bpm with "
"electrical alternans. Bedside echocardiography confirmed a large circumferential pericardial "
"effusion of 2.5 cm posteriorly and 2.2 cm anteriorly with RV diastolic collapse and RA systolic "
"collapse consistent with tamponade physiology; IVC was plethoric (23 mm, non-collapsing). "
"BP on arrival 88/60 mmHg, HR 120 bpm, SpO2 94% on room air. IV access established in both "
"antecubital fossae. Continuous cardiac monitoring and crash cart with defibrillator at bedside. "
"The patient was positioned semi-recumbent at 45 degrees. A timeout was performed. "
"The subxiphoid region was cleaned with 10% povidone-iodine and sterile draping applied. "
"Local anaesthesia: 8 mL of 2% lignocaine infiltrated from just below the xiphoid toward the "
"left shoulder. An 18-gauge needle (8 cm) attached to a 20 mL syringe with three-way stopcock "
"was inserted at the angle between the left costal margin and xiphoid, directed at 45 degrees "
"toward the left shoulder. The needle was advanced slowly under continuous ECG monitoring and "
"real-time echocardiographic guidance. Pericardial space was entered at a depth of 4.5 cm; "
"entry confirmed by free aspiration of haemorrhagic fluid that did not clot (differentiating "
"pericardial from intracardiac blood). A total of 480 mL of haemorrhagic fluid was drained. "
"A 7Fr pigtail catheter was placed over a guidewire and secured for continued drainage. "
"Post-procedure echocardiogram showed resolution of tamponade physiology with minimal residual "
"effusion of 5 mm. Post-procedure BP 112/74 mmHg, HR 88 bpm, SpO2 98% on room air. "
"Samples sent: cell count and differential (WBC 450/mm³, lymphocytes 68%), protein 48 g/L, "
"LDH 520 U/L, glucose 4.1 mmol/L, ADA 38 U/L (elevated, raising suspicion for tuberculosis), "
"Gram stain and culture, AFB smear and culture, cytology. "
"The procedure was completed without immediate complications."),
# ── 07 ───────────────────────────────────────────────────────────────────────
("07_Joint_Fluid_Aspiration",
"Joint Fluid Aspiration (Arthrocentesis)",
"Procedural Skills (PI)",
FIELDS_COMMON,
"Written informed consent was obtained from the patient after explaining the procedure, its indication "
"(diagnostic and therapeutic aspiration of right knee joint effusion in a patient with acute "
"monoarthritis), risks (infection, bleeding, post-aspiration flare, cartilage damage), and alternatives. "
"Clinical examination: large effusion in the right knee with positive ballottement and patellar tap; "
"skin warm and erythematous; range of motion restricted due to pain. No overlying skin infection. "
"The patient was positioned supine with the right knee extended and quadriceps relaxed. "
"The skin over the superolateral aspect of the right knee was cleaned with 10% povidone-iodine "
"using strict aseptic technique and sterile draping applied. The lateral parapatellar approach was "
"used: entry point 1 cm lateral to the superolateral border of the patella at the mid-patellar level. "
"Local anaesthesia: 3 mL of 2% lignocaine using a 25-gauge needle to create a skin wheal followed "
"by deeper infiltration to the joint capsule (total 5 mL). An 18-gauge needle attached to a 20 mL "
"syringe was inserted through the anaesthetised track into the joint space, directing the needle "
"horizontally under the patella; entry into the joint cavity was confirmed by a reduction in "
"resistance and free flow of turbid, yellowish synovial fluid. A total of 42 mL of turbid, "
"yellow synovial fluid was aspirated until the joint was dry. The needle was withdrawn and "
"firm pressure applied. A sterile dressing was applied. The joint was rested post-procedure. "
"Samples sent: cell count and differential — WBC 62,000/mm³ with 88% neutrophils (consistent "
"with septic arthritis); glucose 1.8 mmol/L (low); protein 52 g/L; Gram stain — Gram-positive "
"cocci in clusters (consistent with Staphylococcus); aerobic and anaerobic culture sent; "
"crystal microscopy under polarised light — no crystals seen. "
"Patient commenced on empirical IV flucloxacillin 2 g QID pending culture results. "
"The procedure was completed without immediate complications."),
# ── 08 ───────────────────────────────────────────────────────────────────────
("08_Liver_Biopsy",
"Liver Biopsy (Percutaneous)",
"Procedural Skills (PI)",
FIELDS_COMMON,
"Written informed consent was obtained from the patient after explaining the procedure, its indications "
"(evaluation of chronic hepatitis B with elevated transaminases and intermediate fibrosis on "
"elastography), risks (bleeding risk 1 in 500, biliary leak, visceral perforation, mortality 1 in 10,000), "
"and alternatives including non-invasive fibrosis assessment. Pre-procedure investigations: "
"INR 1.1, platelet count 1,62,000/mm³, blood group A positive noted. No significant ascites. "
"Bedside ultrasound confirmed liver dimensions (15 cm, right lobe), homogeneous echotexture, "
"and identified the optimal biopsy site in segment VI at the 9th intercostal space mid-axillary line "
"with a safe window of 3.5 cm depth to the liver surface and no intervening vessels or bowel. "
"A timeout was performed. The patient was positioned supine with the right arm abducted behind the "
"head. The skin was cleaned with 10% povidone-iodine and sterile draping applied. Local anaesthesia: "
"8 mL of 2% lignocaine infiltrated from skin to liver capsule over the superior border of the "
"9th rib. The patient took a breath in, then exhaled to mid-expiration and held the breath. "
"A 16-gauge spring-loaded automated biopsy needle (throw length 22 mm) was rapidly advanced "
"into the liver parenchyma to a depth of 4 cm and fired; the needle was withdrawn in under "
"2 seconds; the patient resumed normal breathing. A single pass yielded a core of pale tan "
"liver tissue measuring 2.2 cm in length and 1.6 mm in diameter (containing approximately "
"12 portal tracts — adequate for assessment). The specimen was placed in 10% buffered formalin. "
"An occlusive dressing was applied. The patient lay on the right lateral side for 2 hours. "
"Vital signs monitored every 15 minutes for the first 2 hours and then half-hourly for 4 hours — "
"all stable. Post-procedure ultrasound at 4 hours: no subcapsular or perinephric haematoma. "
"Specimen sent for histopathology: H&E, Masson's trichrome (fibrosis staging), reticulin, "
"PAS, Prussian blue for iron, HBsAg and HBcAg immunohistochemistry. "
"The procedure was completed without immediate complications."),
# ── 09 ───────────────────────────────────────────────────────────────────────
("09_Kidney_Biopsy",
"Kidney Biopsy (Percutaneous)",
"Procedural Skills (PS)",
FIELDS_COMMON,
"Written informed consent was obtained from the patient after explaining the procedure, its indication "
"(evaluation of nephrotic syndrome with suspected membranous nephropathy), risks (gross haematuria "
"in 5%, perinephric haematoma in 1-2%, need for blood transfusion < 1%, arteriovenous fistula, "
"nephrectomy < 0.1%, death < 0.1%), and alternatives. Pre-procedure: platelet count 1,85,000/mm³ "
"(>100,000 — acceptable), INR 1.0, APTT 28 seconds, BP 136/84 mmHg (controlled), group and save "
"done. Antiplatelet agents withheld 7 days prior. Bilateral kidneys on ultrasound: right kidney "
"11.5 cm, left kidney 11 cm, both with preserved corticomedullary differentiation. Right kidney "
"chosen (more accessible); lower pole at a depth of 4.5 cm from skin surface. "
"The patient was positioned prone with a firm pillow under the abdomen to reduce lumbar lordosis. "
"A timeout was performed. The overlying skin of the right posterior flank (below the 12th rib, "
"paravertebral) was cleaned with 10% povidone-iodine and sterile draping applied. "
"Local anaesthesia: 15 mL of 2% lignocaine infiltrated from skin to the renal capsule under "
"continuous ultrasound guidance (depth 4.5 cm). The patient was instructed to take a full "
"inspiration and hold. A 16-gauge spring-loaded automated biopsy needle was advanced under "
"real-time ultrasound guidance to the lower pole cortex of the right kidney (depth 4 cm), "
"fired during the breath-hold, and the needle withdrawn in under 2 seconds; the patient resumed "
"breathing. Two passes were made. Both cores were pale, each measuring 1.4 cm in length, "
"containing 8 and 11 glomeruli respectively (total 19 glomeruli — adequate). "
"Firm pressure was applied over the biopsy site for 12 minutes. An occlusive dressing applied. "
"Patient on strict bed rest for 12 hours. Urine: macroscopic haematuria for first 2 voids, "
"clearing by 6 hours. Vital signs hourly for 6 hours — all stable. Post-procedure ultrasound "
"at 6 hours: small 2 x 1.5 cm perinephric haematoma, no expansion on repeat scan at 12 hours. "
"Specimens sent: formalin (light microscopy — H&E, PAS, Jones methenamine silver, Masson's "
"trichrome), Michel's medium (immunofluorescence for IgG, IgM, IgA, C3, C1q, fibrinogen), "
"glutaraldehyde (electron microscopy). The procedure was completed without major complications."),
# ── 10 ───────────────────────────────────────────────────────────────────────
("10_Cardiac_TMT",
"Cardiac Treadmill Test (TMT / Exercise Stress Test)",
"Procedural Skills (PS)",
FIELDS_COMMON,
"The patient underwent a standard Bruce Protocol Treadmill Test (TMT) for the indication of "
"evaluation of exertional chest pain and risk stratification for coronary artery disease. "
"Pre-test: resting BP 128/82 mmHg, resting HR 76 bpm, SpO2 98% on room air. Resting 12-lead "
"ECG: normal sinus rhythm, no ST-T changes, no LBBB or RBBB. Absolute and relative contraindications "
"were excluded. Informed consent obtained. The patient fasted for 3 hours prior; beta-blockers "
"withheld for 24 hours as per the physician's instruction. Ten-lead ECG electrodes applied using "
"the Mason-Likar modification; continuous ECG monitoring throughout. Standard Bruce Protocol: "
"Stage I — 2.7 km/h, 10% grade, 3 minutes; Stage II — 4.0 km/h, 12% grade, 3 minutes; "
"Stage III — 5.5 km/h, 14% grade, 3 minutes; Stage IV — 6.8 km/h, 16% grade, 3 minutes. "
"The patient exercised for a total of 9 minutes 20 seconds reaching Stage III (8.8 METs). "
"Test terminated at Stage III due to 2 mm horizontal ST depression in leads II, III, aVF, V4-V6 "
"associated with typical chest tightness radiating to the left arm. "
"Maximum HR achieved: 148 bpm (88% of maximum predicted HR of 168 bpm for age 52 years). "
"Maximum BP during exercise: 178/96 mmHg (appropriate response). "
"Recovery: ST changes resolved within 4 minutes; HR returned to 82 bpm and BP to 126/80 mmHg "
"within 8 minutes. Duke Treadmill Score = Exercise time (9.3 min) − 5 × ST deviation (2 mm) − "
"4 × angina index (2) = 9.3 − 10 − 8 = −8.7 (High-risk score, < −11 is high risk; borderline). "
"Interpretation: POSITIVE TMT — inducible ischaemia in inferior and lateral territory at 8.8 METs "
"with significant ST depression. High-risk features present. Coronary angiography recommended. "
"No adverse events occurred during or after the test."),
# ── 11 ───────────────────────────────────────────────────────────────────────
("11_Holter_Monitoring",
"Holter Monitoring (24-hour)",
"Procedural Skills (PS)",
FIELDS_COMMON,
"The patient was set up for 24-hour ambulatory Holter ECG monitoring for the indication of evaluation "
"of frequent palpitations and one episode of presyncope. The Holter device used was a 3-channel "
"digital recorder. The patient's skin was prepared by cleaning with an alcohol swab and light "
"abrasion at each electrode site to reduce impedance. Five electrodes were placed: RA electrode "
"below the right clavicle at the midclavicular line, LA electrode below the left clavicle, "
"RL electrode on the right lower chest (ground), LL electrode on the left lower chest, "
"and V5 precordial electrode at the 5th intercostal space anterior axillary line. "
"Lead quality confirmed on the device display showing clear P waves (amplitude 0.15 mV), "
"QRS complexes (amplitude 1.2 mV), and T waves with minimal noise (signal-to-noise ratio > 30 dB). "
"The recorder was secured to the patient's waist with a belt. "
"The patient was given a diary card and instructed to: (1) record the exact time and nature of "
"symptoms; (2) avoid bathing or swimming; (3) avoid MRI or strong magnetic fields; "
"(4) continue normal daily activities; and (5) return at 24 hours. "
"Device removed after 23 hours 52 minutes of continuous recording. "
"Total beats analysed: 1,02,480. Dominant rhythm: sinus rhythm throughout. "
"Mean HR 74 bpm (range 48–142 bpm). Minimum HR 48 bpm at 02:15 AM (during sleep — normal). "
"Maximum HR 142 bpm during brisk walking at 11:30 AM. "
"No significant pauses (longest pause 1.2 seconds — normal). "
"PACs: 342 total (0.33% of beats), occasional isolated, no sustained SVT. "
"PVCs: 1,840 total (1.8% of beats), predominantly unifocal, 12 couplets, "
"one run of 3-beat non-sustained VT at 18:32 at a rate of 148 bpm (lasting 1.2 seconds). "
"Symptom-rhythm correlation: Patient's diary entry at 18:32 — 'sudden palpitations, lasted "
"a few seconds, mild dizziness.' Correlated with the 3-beat run of NSVT. "
"Impression: Frequent PVCs (1.8%) with one episode of NSVT correlating with patient's "
"symptomatic palpitations and presyncope. Cardiology review and further evaluation "
"with echocardiography and cardiac MRI recommended. Report filed in patient record."),
# ── 12 ───────────────────────────────────────────────────────────────────────
("12_Echocardiography_Point_of_Care",
"Echocardiography (Point of Care / Focused Echo)",
"Procedural Skills (PS)",
FIELDS_COMMON,
"Point-of-care focused echocardiography (FOCUS) was performed at the bedside using a phased array "
"probe (2.5 MHz) with a portable ultrasound machine for the indication of haemodynamic assessment "
"in a patient with unexplained hypotension (BP 88/60 mmHg, HR 112 bpm) and raised JVP. "
"The patient was positioned in the left lateral decubitus position. "
"The following standard views were systematically obtained and assessed: "
"(1) Parasternal Long Axis (PLAX): LV end-diastolic diameter 46 mm (normal < 56 mm), "
"LV end-systolic diameter 38 mm (visually reduced ejection fraction), interventricular septum "
"7 mm (normal), posterior wall 7 mm, anterior mitral leaflet normal excursion, "
"pericardial effusion 2.2 cm posteriorly; "
"(2) Parasternal Short Axis (PSAX) at papillary level: LV cavity appears D-shaped with septal "
"flattening in systole and diastole consistent with RV pressure and volume overload; "
"estimated RV systolic pressure elevated; "
"(3) Apical 4-Chamber (A4C): LV mildly impaired, RV dilated (RVEDD 38 mm; normal < 35 mm), "
"RV:LV ratio > 1.0; moderate pericardial effusion circumferentially; diastolic RV free-wall "
"collapse noted; "
"(4) Subcostal 4-Chamber: pericardial effusion confirmed 2.0 cm anterior, 2.5 cm posterior; "
"RA systolic collapse noted; IVC diameter 24 mm, collapsibility < 10% (plethoric — consistent "
"with raised RAP and tamponade physiology). "
"Estimated LVEF visually approximately 40-45% (mildly reduced). "
"Impression: Moderate-to-large pericardial effusion with echocardiographic features of cardiac "
"tamponade (RV diastolic collapse, RA systolic collapse, plethoric IVC). RV dilatation also "
"noted — consider concurrent pulmonary embolism. Urgent pericardiocentesis performed "
"(see separate procedure note). Formal cardiology echocardiogram recommended post-drainage."),
# ── 13 ───────────────────────────────────────────────────────────────────────
("13_Doppler_Studies",
"Doppler Studies",
"Procedural Skills (PS)",
FIELDS_COMMON,
"Doppler ultrasound studies were performed using a portable ultrasound machine for the indication of "
"evaluation of right lower limb deep vein thrombosis (DVT) in a patient presenting with right calf "
"pain and swelling (Wells score 3 — high probability). "
"A linear high-frequency probe (7.5–12 MHz) was used for superficial vessels; a curvilinear probe "
"(3.5–5 MHz) was used for the iliac vessels and IVC. "
"The patient was positioned supine with the right leg slightly externally rotated. "
"B-mode (greyscale) ultrasound was performed first, followed by colour flow Doppler and pulsed "
"wave (spectral) Doppler. Compression ultrasound was performed at 2 cm intervals from the common "
"femoral vein to the popliteal vein. Vessels examined and findings: "
"Right common femoral vein — diameter 12 mm at rest; non-compressible, echogenic intraluminal "
"thrombus noted; absent colour fill on Doppler; spectral waveform: absent flow. "
"Right femoral vein (mid-thigh) — non-compressible; echogenic thrombus; absent colour fill. "
"Right popliteal vein — non-compressible; echogenic thrombus extending to the popliteal "
"trifurcation; absent colour fill. "
"Right posterior tibial and peroneal veins — compressible, colour fill present bilaterally "
"below the knee (DVT not extending to calf veins). "
"Left lower limb veins — all compressible; colour fill present; phasic Doppler waveforms normal. "
"Bilateral femoral arteries — PSV 88 cm/s, monophasic waveform; no flow-limiting stenosis. "
"IVC — patent, no thrombus extension noted into the IVC. "
"Resistive index (renal arteries, performed additionally): Right RI 0.68, Left RI 0.70 (normal < 0.70). "
"Impression: Extensive right lower limb deep vein thrombosis involving the right common femoral, "
"femoral, and popliteal veins (proximal DVT confirmed). No IVC extension. "
"Report filed in patient record. Patient commenced on therapeutic anticoagulation with LMWH "
"(enoxaparin 1 mg/kg subcutaneously twice daily) with transition to oral anticoagulant."),
] # end procedures list
for fname, title, cat, fields, note in procedures:
make_doc(fname, title, cat, fields, note)
print("\nAll 13 DOCX files created successfully.")
cd /tmp/workspace/elog-procedures && python generate_docx.py
01 Bone Marrow Aspiration and Biopsy
Word Document · DOCX
02 Abdominal Paracentesis Diagnostic
Word Document · DOCX
03 Aspiration of Liver Abscess
Word Document · DOCX
04 Ultrasound Abdomen Point of Care
Word Document · DOCX
05 FNAC Palpable Lumps
Word Document · DOCX
06 Pericardiocentesis
Word Document · DOCX
07 Joint Fluid Aspiration
Word Document · DOCX
08 Liver Biopsy
Word Document · DOCX
09 Kidney Biopsy
Word Document · DOCX
10 Cardiac TMT
Word Document · DOCX
11 Holter Monitoring
Word Document · DOCX
12 Echocardiography Point of Care
Word Document · DOCX
13 Doppler Studies
Word Document · DOCX
| Procedure | Key values filled |
|---|---|
| Bone Marrow | Salah 16G needle, 1.5 cm depth, Jamshidi 11G, core 1.8 cm, 8 smears, 5 mL aspirated |
| Paracentesis | LLQ site, 3.5 cm depth, 60 mL drained, SAAG 20 g/L, WBC 480/mm³ |
| Liver Abscess | 8×7 cm abscess, 18G needle, 7 cm depth, 180 mL anchovy-sauce fluid aspirated |
| POCUS Abdomen | Liver 17 cm, spleen 16 cm, portal vein 14 mm, free fluid 5-6 cm pockets |
| FNAC | 3×2.5 cm cervical node, 23G needle, 8 mL suction, 10 strokes, 6 slides |
| Pericardiocentesis | 2.5 cm effusion, 18G needle, 4.5 cm depth, 480 mL drained, ADA 38 U/L |
| Joint Aspiration | Knee, 18G needle, 42 mL turbid fluid, WBC 62,000 with 88% neutrophils |
| Liver Biopsy | 16G, 22 mm throw, 4 cm depth, core 2.2 cm with 12 portal tracts |
| Kidney Biopsy | 16G, 4.5 cm depth, 2 cores (1.4 cm each), 19 glomeruli total |
| TMT | 9 min 20 sec, Stage III, 2 mm ST depression, DTS −8.7 (high risk) |
| Holter | 1,02,480 beats, 1.8% PVCs, 1 run of NSVT at 18:32, symptom correlation |
| Echo FOCUS | LVIDD 46 mm, RVEDD 38 mm, EF 40-45%, effusion 2.5 cm posterior, tamponade features |
| Doppler | Right CFV/FV/popliteal DVT confirmed, non-compressible, absent colour fill, RI 0.68/0.70 |