Fever differential diagnosis approach flowchart

Reading File
Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Reading File
Loading Image
Reading File
Finding Sources
Loading Image
Loading Image
Reading File
I now have all three textbook flowcharts plus detailed content. Let me compile the full response.

Here is a structured fever differential diagnosis approach, supported directly by textbook flowcharts and evidence from Rosen's Emergency Medicine, Goldman-Cecil Medicine, and Frameworks for Internal Medicine.

Fever: Differential Diagnosis Approach

Definition

Fever = core temp >38.0°C (100.4°F); most authorities use >38.3°C (100.9°F) as clinically significant. Distinguish from hyperthermia (failure of heat dissipation - no reset of hypothalamic set point).

Step 1 - Initial Triage: Stable vs. Unstable

(Fig. 8.1 - Rosen's Emergency Medicine)
Fig. 8.1 Approach to the Critically Ill Febrile Adult Patient
Unstable signs - any of:
  • Altered mental status
  • Respiratory distress
  • Hemodynamic instability (tachycardia, hypotension)
If unstable: Rapid resuscitation first (airway, O2, cardiac monitoring, IV fluids), then consider empirical broad-spectrum antibiotics + antivirals + antifungals, then complete H&P.
If stable: Proceed to full history and physical examination (Fig. 8.2 below).

Step 2 - Approach to the Stable Febrile Patient

(Fig. 8.2 - Rosen's Emergency Medicine)
Fig. 8.2 Approach to the Stable Adult With an Acute Febrile Illness
Key branches:
  • Positive localizing findings on H&P - Order targeted diagnostic tests; treat/refer accordingly.
  • No localizing findings - Screen with UA, CBC, CXR.
    • Positive results - targeted workup/treatment.
    • Negative results - reassess clinical status:
      • Improved - Watchful waiting, symptomatic care.
      • Unchanged - Assign to most likely diagnostic category (Infectious / Autoimmune / Malignancy / Miscellaneous). Consider ANA, RF, ESR for autoimmune; blood/urine cultures; CT for occult infection.
      • Worsened - Additional diagnostics (LP, CT abdomen/pelvis, blood cultures) + empirical broad-spectrum coverage.

Step 3 - Differential Diagnosis Categories

A. Infectious Causes (most common treatable causes)

Organ SystemCriticalEmergentNonemergent
RespiratoryBacterial pneumonia with respiratory failurePneumonia, peritonsillar abscess, epiglottitisOtitis media, sinusitis, pharyngitis, bronchitis, influenza, TB, COVID-19
Cardiovascular-Endocarditis, pericarditis-
GIPeritonitisAppendicitis, cholecystitis, diverticulitis, intra-abdominal abscessColitis, enteritis
GU-Pyelonephritis, tubo-ovarian abscess, PIDCystitis, epididymitis, prostatitis
NeurologicMeningitis, cavernous sinus thrombosisEncephalitis, brain abscess-
Skin/Soft tissue-Cellulitis, infected decubitus ulcer, soft tissue abscess-
SystemicSepsis/septic shock, meningococcemiaInfluenza, COVID-19-

B. Noninfectious Causes (Box 8.1 - Rosen's EM)

Critical noninfectious diagnoses:
  • Acute MI, pulmonary embolism/infarction
  • Intracranial hemorrhage, CVA
  • Neuroleptic malignant syndrome
  • Thyroid storm, acute adrenal insufficiency
  • Transfusion reaction, pulmonary edema
Emergent noninfectious:
  • CHF, dehydration, recent seizure
  • Sickle cell disease, transplant rejection, pancreatitis, DVT
Nonemergent noninfectious:
  • Drug fever, malignancy, gout, sarcoidosis, Crohn disease

Step 4 - Fever of Unknown Origin (FUO)

Classic definition: Temp >38.3°C on multiple occasions, lasting >3 weeks, no diagnosis after 1 week of inpatient investigation (or 3 outpatient visits).
(Frameworks for Internal Medicine)
FUO Differential Diagnosis Categories
CategoryExamples
InfectiousOccult abscess, TB (especially miliary), endocarditis (culture-negative), osteomyelitis, viral infections, zoonoses
Noninfectious inflammatoryStill's disease, RA, SLE, reactive arthritis, sarcoidosis, vasculitis, polymyalgia rheumatica, IBD, Familial Mediterranean Fever
MalignantLymphoma, leukemia, myelodysplastic syndrome; renal cell carcinoma, metastatic carcinoma, colon cancer, HCC, atrial myxoma
OtherDrug fever, factitious fever, undiagnosed in ~20% of cases

Key History Clues

FeatureConsider
Travel historyMalaria, typhoid, viral hemorrhagic fevers, leishmaniasis
Zoonotic exposureBrucellosis, Q fever, tularemia, bartonellosis (cat scratch)
MedicationsDrug fever (often with eosinophilia, rash, ALP elevation)
IV drug use / prosthetic valveEndocarditis
Indwelling catheter / surgeryHospital-acquired: C. diff, wound infection, vascular catheter infection
Morning stiffness >1 hourRheumatoid arthritis, Still's disease
B symptoms (night sweats, weight loss)Lymphoma, TB, endocarditis
Periodic/recyclical patternMalaria, Familial Mediterranean Fever, lymphoma (Pel-Ebstein)
Immunocompromised (HIV, chemo)Opportunistic infections, broader organism coverage

Lab & Imaging Approach

Initial workup (all patients without clear source): CBC with differential, metabolic panel, UA + urine culture, blood cultures x2, CXR
Guided by clinical findings:
  • Respiratory: sputum culture, PCR panel, procalcitonin
  • Meningeal signs: LP (cell count, glucose, protein, culture, PCR)
  • GI/abdominal: CT abdomen/pelvis
  • Cardiac murmur: Echocardiogram, serial blood cultures
  • Prolonged FUO: ANA, RF, ESR, CRP, ferritin (markedly elevated in Still's), SPEP, LDH, HIV, hepatitis serologies, PPD/IGRA, CT chest/abdomen/pelvis, PET scan if malignancy suspected

Sources:
  • Rosen's Emergency Medicine: Concepts and Clinical Practice (Table 8.1, Box 8.1, Figs. 8.1-8.2)
  • Goldman-Cecil Medicine, Ch. 259 (Diagnosis of fever, inpatient vs. outpatient approach)
  • Frameworks for Internal Medicine (FUO categories and clinical reasoning framework)

seizure management with proper pathway with doctors order case sheet

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Loading Image
Reading File
Reading File
Finding Sources
Here's a summary of what's covered in the complete reference above:

What's included:
Part 1 - Algorithm image (Tintinalli's EM Fig. 171-1) - the full 3-tier treatment flowchart from active seizure through refractory SE, with drug names and doses at each level.
Part 2 - Time-based pathway broken into 4 phases:
  • Phase 0 (0-2 min): Safety, positioning, call for help
  • Phase 1 (0-5 min): ABCs, O2, IV access, glucose, labs
  • Phase 2 (5-20 min): 1st-line benzodiazepines with doses and route selection
  • Phase 3/4 (20-60 min): 2nd-line AEDs (fosphenytoin, levetiracetam, valproate, lacosamide) then refractory SE agents (midazolam infusion, propofol, ketamine, phenobarbital, pentobarbital)
Part 3 - Doctor's Order Sheet - a ready-to-use formatted order sheet covering monitoring, labs, fluids, phased drug orders (benzodiazepines → AEDs → refractory agents), RSI orders, imaging, consultations, and cause-specific treatments.
Part 4 - Differential diagnosis of new-onset seizure (metabolic, infectious, toxic, structural, vascular, autoimmune, eclampsia).
Part 5 - Seizure type classification with preferred AEDs for each type.
Part 6 - Post-seizure checklist including discharge planning and driving restrictions.

explain with a seizure case

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
I have all the clinical content needed. Now I'll build a rich, realistic case walkthrough applying everything from the previous management framework.

Case-Based Seizure Management Walkthrough


THE CASE

Mr. Arjun R., 34-year-old male Brought to the Emergency Department by his wife at 10:05 AM Chief complaint (per wife): "He collapsed and started shaking while having breakfast. He hasn't woken up properly."

SCENE: ARRIVAL - T = 0 min

The patient is wheeled in on a stretcher. He is actively convulsing - rhythmic jerking of all four limbs, eyes deviated upward, jaw clenched, frothing at the mouth.
Wife's history (bystander account):
  • Seizure started approximately 8 minutes ago (so this is already established status epilepticus on arrival)
  • No prior history of seizures or epilepsy
  • No known drug allergies
  • Not on any regular medications
  • Had complained of headache for 2 days and appeared feverish last night
  • No alcohol or drug use
  • No recent travel
  • Weight approximately 70 kg
Triage vitals:
ParameterValue
BP148/92 mmHg
HR118 bpm
RR22 breaths/min
SpO289% on room air
Temperature38.7°C (101.7°F)
GCSE1V1M2 = 4 (unresponsive, posturing)

STEP 1 - IMMEDIATE TEAM RESPONSE (T = 0-2 min)

The moment the patient arrives, the team activates the seizure protocol simultaneously:
Nursing actions:
  • Lateral (recovery) position - right lateral decubitus
  • Pad side rails, lower bed
  • Suction pooled secretions from oropharynx
  • Place on cardiac monitor, pulse oximeter
  • Two large-bore IVs inserted (right antecubital + left forearm)
  • BP cuff - continuous cycling q5 min
Doctor notes:
  • Seizure started ~8 min ago = already status epilepticus (>5 min threshold crossed)
  • Fever + headache for 2 days + new-onset seizure = bacterial meningitis must be on the differential until proven otherwise
  • SpO2 89% - immediate O2 required
Oxygen order written:
O2 via non-rebreather mask at 15 L/min - target SpO2 > 94%
POC glucose result: 82 mg/dL (normal - no glucose bolus needed)

STEP 2 - FIRST-LINE: BENZODIAZEPINE (T = 2-5 min)

IV access is now established. The doctor writes the first order:
╔══════════════════════════════════════════════════════════╗
║  ORDER 1 - FIRST-LINE BENZODIAZEPINE                     ║
║                                                           ║
║  Lorazepam (Ativan) 0.1 mg/kg IV slow push              ║
║  = 0.1 × 70 kg = 7 mg → give 4 mg IV (max per dose)     ║
║                                                           ║
║  Administer over 2 minutes                               ║
║  If seizure continues at 5 min → REPEAT x1               ║
║  Repeat dose: Lorazepam 4 mg IV                          ║
╚══════════════════════════════════════════════════════════╝
Why lorazepam? IV access is established; lorazepam is the preferred agent because its duration of action is 12-24 hours (vs. diazepam's 15-60 min), reducing seizure recurrence risk.
T = 7 min: Lorazepam 4 mg given at T=2 min. Second dose 4 mg given at T=7 min.
Result: Seizure DOES NOT stop. Convulsions continue.
Clinical reasoning: Two full doses of benzodiazepines have been given without effect. Per protocol, additional doses are unlikely to succeed and will increase respiratory depression risk. Move immediately to 2nd-line AED.

STEP 3 - SECOND-LINE AED (T = 10-20 min)

Doctor now writes the second order. Patient has fever, no prior seizures, no known epilepsy - levetiracetam is chosen because:
  • No cardiac monitoring needed (unlike fosphenytoin/phenytoin)
  • Safe in patients with unknown cardiac status
  • Can be given rapidly
  • No interaction with planned meningitis antibiotics
╔══════════════════════════════════════════════════════════╗
║  ORDER 2 - SECOND-LINE AED                               ║
║                                                           ║
║  Levetiracetam (Keppra) 60 mg/kg IV                     ║
║  = 60 × 70 kg = 4200 mg IV                              ║
║  → Give 4000 mg IV in 100 mL NS over 15 minutes         ║
║                                                           ║
║  Rate: 267 mL/h via infusion pump                        ║
╚══════════════════════════════════════════════════════════╝
Simultaneously, the doctor orders:
╔══════════════════════════════════════════════════════════╗
║  ORDER 3 - EMPIRIC MENINGITIS TREATMENT                  ║
║  (Fever + Headache 2 days + New seizure = HIGH SUSPICION ║
║   Do NOT wait for LP - treat immediately)                ║
║                                                           ║
║  Ceftriaxone 2 g IV q12h - STAT first dose               ║
║  Vancomycin 25 mg/kg IV (= 1750 mg) q8-12h - STAT       ║
║  Dexamethasone 0.15 mg/kg IV q6h x4 days                ║
║    = 10.5 mg → give 10 mg IV (before or with 1st abx)   ║
║  Acyclovir 10 mg/kg IV q8h (= 700 mg) - cover HSV       ║
╚══════════════════════════════════════════════════════════╝
T = 22 min: Levetiracetam infusion completed.
Result: Convulsions CONTINUE. Patient is now in refractory status epilepticus.

STEP 4 - REFRACTORY STATUS EPILEPTICUS (T = 22-30 min)

The doctor makes the critical decision: intubate and start continuous anesthetic infusion.
Reasoning:
  • Seizure has now lasted >22 minutes total
  • Two adequate AED agents failed (lorazepam x2 + levetiracetam)
  • SpO2 is falling despite O2 - 88% now
  • Patient cannot protect airway
  • Continuous EEG monitoring needed

RSI Orders:

╔══════════════════════════════════════════════════════════╗
║  ORDER 4 - RSI (RAPID SEQUENCE INTUBATION)               ║
║                                                           ║
║  Pre-oxygenation: 100% O2 via BVM x3-5 min               ║
║                                                           ║
║  INDUCTION:                                               ║
║  Ketamine 2 mg/kg IV = 140 mg IV push                    ║
║    (chosen: hemodynamically stable, may reduce seizures) ║
║                                                           ║
║  PARALYTIC (SHORT-ACTING ONLY):                          ║
║  Succinylcholine 1.5 mg/kg IV = 105 mg IV push           ║
║    *** SHORT-ACTING - duration 10 min ***                ║
║    *** DO NOT use vecuronium/rocuronium long-acting ***  ║
║    *** Paralysis will MASK ongoing seizure activity ***  ║
║                                                           ║
║  Post-intubation: Continuous EEG monitoring - STAT       ║
║  ETT confirmed by waveform capnography + CXR             ║
╚══════════════════════════════════════════════════════════╝
Why short-acting paralytic only? Long-acting paralytics stop the visible shaking but seizure activity continues silently in the brain (non-convulsive SE). EEG is the only way to detect ongoing seizure after paralysis.

Continuous Infusion for Refractory SE:

╔══════════════════════════════════════════════════════════╗
║  ORDER 5 - REFRACTORY SE INFUSION                        ║
║                                                           ║
║  Midazolam (Versed):                                     ║
║    Loading dose: 0.2 mg/kg IV = 14 mg IV bolus           ║
║    Then infusion: start at 0.05 mg/kg/h = 3.5 mg/h      ║
║    Titrate by 0.05 mg/kg/h q15 min to seizure cessation  ║
║    on EEG (max 2 mg/kg/h)                                ║
║                                                           ║
║  Vasopressor on standby (hypotension anticipated):       ║
║  Norepinephrine 0.05-0.3 mcg/kg/min if MAP < 65 mmHg    ║
╚══════════════════════════════════════════════════════════╝
T = 35 min: Continuous EEG shows seizure activity stops after midazolam load + infusion at 0.1 mg/kg/h.

STEP 5 - DIAGNOSTIC WORKUP (now seizure is controlled)

Orders:
╔══════════════════════════════════════════════════════════╗
║  ORDER 6 - STAT LABS & IMAGING                           ║
║                                                           ║
║  Blood:                                                   ║
║  - CBC with differential                                 ║
║  - CMP: Na, K, Ca, Mg, Cl, CO2, BUN, Creatinine, glucose║
║  - LFTs + ammonia                                        ║
║  - Serum lactate                                         ║
║  - Blood cultures x2 (BEFORE antibiotics if possible,   ║
║     but DO NOT delay antibiotics for cultures)           ║
║  - HIV screen                                            ║
║  - CRP, ESR, procalcitonin                               ║
║  - ABG (patient intubated)                               ║
║                                                           ║
║  Imaging:                                                 ║
║  - CT brain non-contrast STAT                            ║
║  - CT brain with contrast (after non-contrast)           ║
║                                                           ║
║  Lumbar Puncture:                                        ║
║  - AFTER CT brain clears herniation risk                 ║
║  - CSF: cell count, glucose, protein, Gram stain,       ║
║    culture, HSV PCR, cryptococcal antigen, VDRL          ║
╚══════════════════════════════════════════════════════════╝

STEP 6 - RESULTS & DIAGNOSIS

Labs return at T = 50 min:
TestResultInterpretation
WBC18,400/μL (84% neutrophils, bands 12%)Marked neutrophilia - bacterial infection
Na128 mEq/LHyponatremia (SIADH from meningitis)
Ca9.1 mg/dLNormal
Mg1.9 mg/dLNormal
Glucose79 mg/dLNormal
CRP142 mg/LMarkedly elevated
Procalcitonin8.4 ng/mLStrongly suggests bacterial infection
Blood culturesPending-
CT brain (T = 45 min): No hemorrhage, no mass lesion, no midline shift, no herniation. Meningeal enhancement on contrast scan.
Lumbar puncture (T = 60 min):
CSF ParameterResultNormal
Opening pressure28 cm H2O<20
AppearanceCloudy, turbidClear
WBC2,800/μL (95% PMNs)<5
Glucose22 mg/dL>60% serum glucose
Protein385 mg/dL15-45
Gram stainGram-positive diplococci-
DIAGNOSIS: Bacterial Meningitis (Streptococcus pneumoniae) with seizure as the presenting feature

STEP 7 - ONGOING MANAGEMENT & ICU ORDERS

╔══════════════════════════════════════════════════════════╗
║  FINAL STANDING ORDERS - NEURO ICU                       ║
║                                                           ║
║  ANTIBIOTIC REGIMEN (continue):                          ║
║  Ceftriaxone 2 g IV q12h x14 days                       ║
║  Vancomycin - dose by pharmacy per levels                ║
║    (target AUC/MIC 400-600)                              ║
║  Dexamethasone 0.15 mg/kg IV q6h x4 days (COMPLETE)     ║
║    (reduces neurologic complications in pneumococcal)    ║
║  Acyclovir - STOP once HSV PCR returns negative          ║
║                                                           ║
║  SEIZURE PROPHYLAXIS / MAINTENANCE:                      ║
║  Levetiracetam 500 mg IV q12h (maintenance dose)         ║
║  Continue until seizure-free x48h then reassess          ║
║                                                           ║
║  MIDAZOLAM WEAN:                                         ║
║  When EEG seizure-free x24h: decrease by 25% q4-6h      ║
║                                                           ║
║  HYPONATREMIA CORRECTION (Na 128):                       ║
║  Fluid restrict to 1000 mL/24h                          ║
║  3% NaCl NOT needed (Na not < 120, no herniation)        ║
║  Recheck Na q6h; correct no faster than 8-10 mEq/L/day  ║
║  (rapid correction → osmotic demyelination syndrome)     ║
║                                                           ║
║  VENTILATOR SETTINGS (post-intubation):                  ║
║  Mode: Volume AC  TV: 6 mL/kg IBW (= 420 mL)            ║
║  PEEP: 5 cmH2O  FiO2: 0.4  RR: 14                       ║
║  Target: SpO2 >94%, PaCO2 35-40 mmHg                     ║
║                                                           ║
║  MONITORING:                                             ║
║  Continuous EEG x48h minimum                             ║
║  Neuro checks q1h (pupils, GCS as assessable)           ║
║  ICP monitoring if clinical deterioration               ║
║  HOB elevation 30° (reduce ICP)                          ║
╚══════════════════════════════════════════════════════════╝

CASE TIMELINE SUMMARY

T = 0 min    → Patient arrives, actively seizing (~8 min into seizure)
               → O2, monitors, IV access, POC glucose
               → STATUS EPILEPTICUS declared

T = 2 min    → Lorazepam 4 mg IV (1st dose)

T = 7 min    → Lorazepam 4 mg IV (2nd dose)
               → No response → move to 2nd-line

T = 10 min   → Levetiracetam 4000 mg IV started (over 15 min)
               → EMPIRIC MENINGITIS antibiotics started (ceftriaxone,
                  vancomycin, dexamethasone, acyclovir)

T = 22 min   → Levetiracetam complete, seizure CONTINUES
               → REFRACTORY SE declared → intubation decision

T = 25 min   → RSI: Ketamine 140 mg IV + Succinylcholine 105 mg IV
               → Intubated; continuous EEG attached

T = 28 min   → Midazolam 14 mg IV bolus + infusion started 0.05 mg/kg/h

T = 35 min   → EEG confirms SEIZURE CESSATION
               → Midazolam titrated to 0.1 mg/kg/h

T = 45 min   → CT brain: meningeal enhancement, no herniation

T = 60 min   → LP performed: CSF confirms bacterial meningitis

T = 90 min   → Patient in Neuro-ICU, sedated but hemodynamically stable
               → Blood cultures growing Gram-positive diplococci
               → Antibiotics narrowed to high-dose ceftriaxone

Day 3        → EEG seizure-free; midazolam weaned and discontinued
               → Extubated; following commands
               → Na corrected to 136 mEq/L

Day 7        → Transfer to step-down; levetiracetam continued orally
               → Neurology follow-up arranged
               → Outpatient EEG in 4 weeks

KEY TEACHING POINTS FROM THIS CASE

PointLesson
Fever + new seizure = meningitis until proven otherwiseDo not delay antibiotics waiting for LP or CT
Treat empirically before diagnosis is confirmedAntibiotics + antivirals started at T=10 min, diagnosis confirmed at T=60 min
Benzodiazepines: max 2 doses then escalateMore doses = more respiratory depression, not more seizure control
Short-acting paralytic only during RSILong-acting masks ongoing electrical seizure activity
Hyponatremia contributed to seizureNa 128 from SIADH (meningitis) lowers seizure threshold
Never delay treatment to do LPLP is done AFTER CT clears herniation AND after antibiotics are started
Levetiracetam preferred 2nd-line hereNo cardiac monitoring needed, rapid administration, safe with unknown cardiac history
Continuous EEG is mandatory post-intubationNCSE (non-convulsive SE) is present in up to 24% of comatose patients

Sources: Tintinalli's Emergency Medicine (Ch. 171), Frameworks for Internal Medicine (Ch. 42), Rosen's Emergency Medicine (Ch. 14), Goldman-Cecil Medicine (Ch. 259/372)

Pregnancy safe Drugs with Frequency, case wise & tips tricks, clinical pearls

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
I now have rich, textbook-sourced content across all major drug categories. Let me compile the full comprehensive reference.

Pregnancy-Safe Drugs: Complete Clinical Reference

Understanding Drug Safety in Pregnancy

The FDA replaced the old A/B/C/D/X letter categories in 2015 with the Pregnancy and Lactation Labeling Rule (PLLR), which provides narrative risk summaries. However, the classic categories remain widely used clinically:
Old FDA CategoryMeaning
AControlled studies show no fetal risk - safest
BAnimal studies show no risk; no adequate human studies, OR animal risk not confirmed in humans
CAnimal studies show adverse effects; no adequate human data; give only if benefit outweighs risk
DEvidence of human fetal risk; benefit may outweigh risk in serious conditions
XFetal risk clearly outweighs any benefit - CONTRAINDICATED
Golden Rule: Untreated maternal disease is often MORE dangerous to the fetus than treating it with a relatively safe drug.

SECTION 1: ANTIBIOTICS IN PREGNANCY

Safe (Preferred):

DrugFDA CategorySafe TrimesterFrequencyUse
Penicillin G/AmoxicillinBAll trimestersAmox: 500 mg TID x7dUTI, strep throat, dental infections, syphilis
Amoxicillin-ClavulanateBAll (caution T1)875/125 mg BID x7dSkin infections, sinusitis, UTI - avoid in 1st trimester if possible
Cephalexin (1st gen)BAll trimesters500 mg QID x7dUTI, cellulitis, skin infections
CeftriaxoneBAll trimesters1-2 g IV/IM once dailySevere infections, gonorrhea, meningitis
AzithromycinBAll trimesters500 mg x1, then 250 mg OD x4dAtypical pneumonia, chlamydia
ErythromycinBAll trimesters500 mg QID x7dAlternative for penicillin allergy
ClindamycinBAll trimesters300 mg TID x7dBV, anaerobic infections, skin infections
NitrofurantoinBT1, T2 only100 mg ER BID x5dUncomplicated UTI - AVOID at term (>36 wk)
MetronidazoleBT2, T3 (caution T1)500 mg BID x7dBV, trichomoniasis, anaerobic infections

Use with Caution / Conditional:

DrugFDA CategoryConcernAlternative
Trimethoprim-Sulfamethoxazole (TMP-SMX)C/DT1: folate antagonist (NTD risk); T3: neonatal jaundice, kernicterusUse only if no alternative; avoid T1 and T3
Ciprofloxacin/FluoroquinolonesCCartilage damage in animal studies; avoid if possibleUse only for serious infections with no safer option
Gentamicin/AminoglycosidesDFetal ototoxicity, nephrotoxicityShort course acceptable for life-threatening sepsis

CONTRAINDICATED:

DrugRisk
Tetracyclines (doxy, minocycline)Dental discoloration, inhibits fetal bone growth
Chloramphenicol (T3)Gray baby syndrome
LinezolidInsufficient safety data

📋 CASE 1: UTI in Pregnancy

Patient: Priya, 26-year-old, 18 weeks pregnant. Dysuria, frequency, urgency x2 days. Urine dipstick: nitrites +, leukocyte esterase +, no fever.
Diagnosis: Uncomplicated UTI (cystitis) in pregnancy
Treatment:
Cephalexin (Keflex) 500 mg PO QID x 7 days
   (cephalosporins - Category B, safe all trimesters)
OR
Nitrofurantoin (Macrobid) 100 mg ER PO BID x 5 days
   (Category B - safe T1 and T2; AVOID if > 36 weeks)
NEVER use:
  • Ciprofloxacin (fluoroquinolone - avoid)
  • TMP-SMX in T1 (folate antagonist, NTD risk) or T3 (neonatal jaundice)
Clinical Pearls:
  • All pregnant women should be screened for asymptomatic bacteriuria at first prenatal visit - UTI in pregnancy is a serious condition that can ascend to pyelonephritis
  • Treat even asymptomatic bacteriuria in pregnancy (unlike non-pregnant adults)
  • Repeat urine culture 7 days after treatment to confirm cure
  • Consider suppressive prophylaxis (nitrofurantoin 50-100 mg at bedtime) if recurrent UTIs

SECTION 2: ANTIHYPERTENSIVES IN PREGNANCY

Safe (First-Line):

DrugFDA CategoryDoseMechanismNotes
Methyldopa (Aldomet)B250 mg PO q6-8h; max 3 g/dayCentral α2 agonistOldest, most studied; drug of choice historically; can cause depression/fatigue
LabetalolC100-400 mg PO BID; IV: 20 mg bolusα+β blockerFirst-line for chronic HTN in pregnancy; also used IV for acute severe HTN
Nifedipine (extended-release)C30-90 mg PO ODCCBAdd-on to labetalol/methyldopa; also used for preterm labor (tocolysis)
HydralazineC5-10 mg IV/IM q20-40 min (acute); 10-50 mg PO QID (chronic)Direct vasodilatorUsed IV in acute hypertensive emergency; can cause reflex tachycardia
Nifedipine (immediate-release, oral)C10-30 mg PO (acute)CCBFor acute severe HTN in ED - not FDA-approved for this indication but used

ABSOLUTELY CONTRAINDICATED:

DrugRisk
ACE inhibitors (lisinopril, enalapril, ramipril)Fetal renal tubular dysplasia, oligohydramnios, IUGR, neonatal renal failure, skull defects - teratogenic in T2/T3
ARBs (losartan, valsartan, olmesartan)Same as ACEi - contraindicated
AtenololIUGR, bradycardia in neonate
Sodium nitroprussideCyanide toxicity to fetus
BP targets in pregnancy:
  • Chronic HTN: target 140-150/90-100 mmHg (not too tight - avoid uteroplacental insufficiency)
  • Severe HTN (≥160/110 mmHg): treat urgently - risk of maternal stroke/eclampsia

📋 CASE 2: Hypertensive Emergency in Pregnancy

Patient: Sunita, 32-year-old, 34 weeks pregnant. BP 178/114 mmHg on 2 readings 15 min apart. Severe headache, epigastric pain. Urine protein +++. Platelet count 88,000. LFTs elevated 2x normal.
Diagnosis: Preeclampsia with severe features (HELLP syndrome)
Immediate Treatment Orders:
1. Labetalol 20 mg IV push over 2 min
   If BP still ≥160/110 after 10 min → Labetalol 40 mg IV
   If still not controlled → Hydralazine 5-10 mg IV q20 min
   OR
   Nifedipine 10-20 mg PO, may repeat in 30 min
   TARGET: BP 140-150/90-100 mmHg

2. MAGNESIUM SULFATE - seizure prophylaxis:
   MgSO4 4-6 g IV over 20 min (loading dose)
   Then 1-2 g/h IV continuous infusion
   Monitor: respiratory rate, urine output, reflexes, Mg levels

3. Delivery planning: definitive treatment for HELLP is delivery
   Dexamethasone 12 mg IM q12h x2 doses (fetal lung maturity if <34 wk)
Clinical Pearls:
  • Magnesium sulfate is NOT an antihypertensive - it is specifically for seizure prevention in preeclampsia
  • Toxicity signs of Mg: loss of DTRs (first sign), respiratory depression, cardiac arrest
  • Antidote for Mg toxicity: Calcium gluconate 1 g IV push
  • NEVER use ACEi or ARB - even a single dose in T2/T3 can cause fetal renal failure

SECTION 3: ANALGESICS & ANTIPYRETICS

DrugFDA CategorySafe TrimesterNotes
Paracetamol/AcetaminophenBAll trimesters (short-term)Drug of choice for pain and fever in all trimesters; recent data on prolonged use showing possible ADHD link but short-term use acceptable
Opioids (codeine, morphine, oxycodone)C (T1/T2) / D (T3)Short-term use onlyRisk of NAS (neonatal abstinence syndrome) with prolonged use; avoid at term

CONTRAINDICATED:

DrugTrimesterRisk
NSAIDs (ibuprofen, diclofenac, naproxen)T3 - AVOIDPremature closure of ductus arteriosus, oligohydramnios, fetal renal impairment. T1 use: possible increased miscarriage risk
Aspirin (full dose >150 mg/day)T3Antiplatelet effects, neonatal bleeding. LOW-DOSE aspirin 75-150 mg OD is actually recommended to prevent preeclampsia
Special use of low-dose aspirin: Recommended from 12-36 weeks in women at risk of preeclampsia (chronic HTN, pre-existing renal disease, multifetal pregnancy, previous preeclampsia)

📋 CASE 3: Acute Pain in Pregnancy (Headache/Back Pain)

Patient: Asha, 28-year-old, 24 weeks pregnant. Severe tension headache and low back pain.
Safe Approach:
1. Paracetamol 500-1000 mg PO q6-8h PRN (max 4 g/day) - FIRST LINE
2. Warm compress for back pain (not hot - no heating pads directly on abdomen)
3. Non-pharmacologic: physiotherapy, support belt for back pain
NOT acceptable:
  • Ibuprofen/diclofenac at 24 weeks - although T2 is technically the grey zone, NSAIDs are generally avoided as a habit-forming risk
  • Aspirin >150 mg - antiplatelet risk

SECTION 4: ANTIEMETICS (Nausea/Vomiting in Pregnancy)

DrugFDA CategoryDoseNotes
Pyridoxine (Vitamin B6)A10-25 mg TIDFirst-line; safest; take 30 min before meals
Doxylamine + Pyridoxine (Diclegis/Bonjesta)A2 tabs at bedtime (delayed-release)FDA-approved combination; gold standard for NVP
Ginger (non-pharmacologic)-250 mg QID or ginger teaShown effective in multiple trials; safe
MetoclopramideB10 mg IV/PO TIDSafe; risk of extrapyramidal effects with prolonged use
PromethazineC12.5-25 mg PO/IV/IM q4-6hEffective but sedating; AAP cautions in nursing
ProchlorperazineC5-10 mg PO/IV TID-QIDFor refractory NVP; sedating
Ondansetron (Zofran)B4-8 mg IV/PO q6-8hUse for severe/refractory cases; some studies suggest possible cardiac septum defect and cleft palate risk - data inconsistent. Avoid in T1 if possible, use if severely symptomatic
Step-up approach to nausea/vomiting of pregnancy:
  1. Dietary changes + ginger
  2. Pyridoxine alone 25 mg TID
  3. Add doxylamine (Doxylamine/Pyridoxine combination)
  4. Add metoclopramide or promethazine
  5. Ondansetron for refractory cases
  6. IV fluids + IV antiemetics (admit for hyperemesis gravidarum)

📋 CASE 4: Hyperemesis Gravidarum

Patient: Riya, 10 weeks pregnant, 5 kg weight loss, unable to tolerate any oral intake, ketonuria ++, vomiting 12x/day.
Treatment:
ADMIT - IV Access

1. IV Fluids: Normal saline 0.9% + 40 mEq KCl/L @ 125 mL/h
   (correct dehydration + electrolytes)

2. Thiamine 100 mg IV BEFORE glucose infusion
   (prevent Wernicke's encephalopathy)

3. Ondansetron 4 mg IV q8h
   + Metoclopramide 10 mg IV TID

4. Pyridoxine 25 mg IV/PO TID (continue throughout)

5. Once tolerating oral fluids:
   Step down to oral antiemetics
   Doxylamine/Pyridoxine 2 tabs HS

6. Monitor: electrolytes, LFTs (exclude acute fatty liver), TFTs
   (HCG stimulates TSH-R → gestational thyrotoxicosis in 60% of HG)
Clinical Pearls:
  • Always give thiamine BEFORE IV dextrose to prevent Wernicke's encephalopathy
  • Check TFTs: TSH is often suppressed in hyperemesis - transient gestational thyrotoxicosis does NOT need antithyroid treatment, it resolves as HCG falls
  • Ondansetron: Use cautiously in T1 (some data for cleft palate), but risk of dehydration from untreated HG outweighs this theoretical risk

SECTION 5: ANTIEPILEPTIC DRUGS (AEDs) IN PREGNANCY

This is one of the most complex areas - seizures themselves carry risk; so does treating with AEDs.
DrugMalformation RiskSpecific RiskVerdict
LamotrigineLowest among AEDs (~1%)Levels fall precipitously in pregnancy - monitor and adjustPreferred AED in pregnancy
LevetiracetamLow (not associated with increased malformations)Levels may fall; adjust by monitoringPreferred; rapidly gaining favor
Carbamazepine4-5% major malformationsCleft palate, NTD, fetal anticonvulsant syndromeUse only if only effective agent
Phenytoin4-5%Fetal hydantoin syndrome: midface hypoplasia, finger hypoplasia, NTDAvoid if possible
Phenobarbital6-7%NTDs, cardiac defects, cleft palate; neonatal bleedingAvoid if possible
Valproate20% serious adverse outcomesNTD (spina bifida 1-2%), cardiac defects, autism, IQ reduction (9 points), fetal valproate syndromeAVOID - absolute contraindication in women of childbearing age without contraception
Topiramate~4%Cleft palate, IUGRAvoid
General AED rules in pregnancy:
  • NEVER stop AEDs abruptly (risk of GTCS is more dangerous than AED exposure)
  • Use monotherapy at lowest effective dose - polytherapy multiplies risk
  • Folic acid 5 mg/day (high-dose) from pre-conception through T1
  • Monitor drug levels every trimester (clearance increases in pregnancy)
  • Neonates exposed to AEDs - give Vitamin K 1 mg IM at birth (AEDs reduce Vitamin K-dependent clotting factors)

SECTION 6: THYROID DRUGS IN PREGNANCY

DrugSafetyDoseNotes
Levothyroxine (T4)Safe - Category AAdjust to maintain TSH 0.1-2.5 mIU/LHypothyroidism MUST be treated - untreated leads to fetal neurological damage; requirements increase ~25-30% in pregnancy
Propylthiouracil (PTU)Preferred in T1Lowest effective dose; TID dosingDrug of choice for hyperthyroidism in T1 (hepatotoxicity risk but crosses placenta less than methimazole)
Methimazole (MMI/Carbimazole)Use in T2/T3Lowest effective dose; OD or BID dosingAssociated with aplasia cutis and "methimazole embryopathy" in T1 - switch to PTU in T1, back to MMI in T2
Thyroid Clinical Pearl: The classic "switch" strategy:
  • T1: Use PTU (less teratogenic in organogenesis period)
  • T2 onwards: Switch to Methimazole (PTU has more hepatotoxicity with prolonged use)
  • At delivery: Risk of neonatal thyroid disease from maternal antibodies - check neonatal TSH

📋 CASE 5: Hyperthyroidism in Pregnancy

Patient: Nidhi, 8 weeks pregnant. Palpitations, tremor, weight loss despite increased appetite. TSH < 0.01, FT4 elevated 3x normal. Anti-TPO antibodies positive. Thyroid scan shows diffuse uptake.
Diagnosis: Graves' disease in pregnancy
Treatment:
Propylthiouracil (PTU) 100 mg PO TID
   (preferred in T1 - less teratogenic during organogenesis)

Target: FT4 in upper normal range; 
   do NOT normalize TFTs (risk of fetal hypothyroidism)

At 13 weeks: Switch to Methimazole 10-20 mg PO OD

Monitor: TFTs q4 weeks; adjust dose to maintain FT4 high-normal

Check fetal heart rate at each visit - fetal tachycardia suggests 
   fetal hyperthyroidism from maternal antibody transfer

NEVER use: Radioiodine (I-131) - destroys fetal thyroid
NEVER use: Atenolol for prolonged rate control (IUGR risk)
Propranolol: short-term use acceptable for symptomatic tachycardia

SECTION 7: ANTICOAGULANTS IN PREGNANCY

DrugSafetyRouteNotes
Heparin (unfractionated)Safe - does NOT cross placentaIV/SCSafe in all trimesters; drug of choice for anticoagulation in pregnancy
Low-Molecular-Weight Heparin (LMWH) - Enoxaparin, DalteparinSafe - does NOT cross placentaSCPreferred over UFH (once or twice daily SC; more predictable); dose-adjust by anti-Xa levels
WarfarinCategory D/XOralTeratogenic in T1 (warfarin embryopathy: nasal hypoplasia, stippled epiphyses); CNS defects in T2/T3; fetal bleeding
Direct oral anticoagulants (DOACs) - apixaban, rivaroxabanCONTRAINDICATEDOralCross placenta; teratogenic; insufficient safety data
Warfarin exception: Mechanical heart valves - warfarin may still be used after T1 (6-12 weeks) up to 36 weeks due to higher thrombotic risk with LMWH in mechanical valves. Bridge back to heparin at 36 weeks.

SECTION 8: ANTIDEPRESSANTS & PSYCHIATRIC DRUGS

DrugFDA CategoryVerdict
SSRIs - Sertraline, FluoxetineCGenerally preferred if antidepressant needed; sertraline has best safety profile in pregnancy; avoid paroxetine (cardiac septal defects)
SertralineCMost commonly used SSRI in pregnancy; minimal placental transfer
ParoxetineDIncreased cardiac defects (VSD); AVOID
SNRIs - VenlafaxineCLimited data; use if SSRI inadequate
TCAsC/DAvoid if possible; nortriptyline safer than amitriptyline
LithiumDEbstein's anomaly (small but real risk); requires detailed fetal cardiac echo at 20 weeks if used
ValproateDAVOID in pregnancy for psychiatric indications
BenzodiazepinesDNeonatal withdrawal syndrome; cleft palate risk debated; avoid in T1; use minimum effective dose if needed in acute anxiety
Antipsychotics (olanzapine, quetiapine)CRisk of neonatal extrapyramidal symptoms; use lowest effective dose; all carry metabolic risks in mother
Maudsley Guidelines Clinical Pearl: For a woman on psychotropics planning pregnancy:
  1. Review necessity of all drugs
  2. Aim for monotherapy at lowest effective dose
  3. Restart abruptly-discontinued medication if relapse occurs - relapse is more dangerous
  4. Continue throughout pregnancy if condition is severe (depression increases obstetric risk)

SECTION 9: ASTHMA DRUGS IN PREGNANCY

DrugSafetyNotes
Salbutamol/Albuterol (SABA inhaler)B - SafeDrug of choice for acute bronchospasm; use unrestricted
Budesonide (ICS)B - PreferredPreferred inhaled corticosteroid; most safety data
Fluticasone (ICS)C - AcceptableLess data than budesonide but widely used
Salmeterol (LABA)C - Use with ICS onlyAdd-on to ICS for poorly controlled asthma
Montelukast (LTRA)B - SafeCan continue if well controlled on it pre-pregnancy
Oral prednisoloneC - Use for exacerbationsRisk of cleft palate with T1 use (small); risk of uncontrolled asthma far greater - use when needed
TheophyllineC - Use with cautionNarrow therapeutic index; neonatal toxicity; use only if other agents fail
Key principle: Uncontrolled asthma (hypoxia, acidosis) is more dangerous to fetus than treating with appropriate asthma drugs. Never withhold treatment for acute severe asthma.

SECTION 10: ANTIFUNGALS

DrugSafetyNotes
Clotrimazole (topical)B - SafeFirst-line for VVC (vaginal candidiasis) in pregnancy
Miconazole (topical)C - AcceptableTopical use safe
Nystatin (topical/oral)B - SafeOral nystatin for thrush - minimal systemic absorption
Fluconazole oralD - AVOIDSingle dose (150 mg) controversial; repeated doses linked to fetal cardiac defects and craniosynostosis. Avoid especially in T1
Amphotericin BB - AcceptableFor serious systemic fungal infections only

MASTER QUICK-REFERENCE TABLE

ConditionFirst ChoiceAvoid
UTICephalexin, Nitrofurantoin (avoid T3)TMP-SMX (T1, T3), fluoroquinolones
HypertensionLabetalol, Methyldopa, Nifedipine ERACEi, ARBs, atenolol
HTN emergencyLabetalol IV, Hydralazine IV, Nifedipine oralSodium nitroprusside
Eclampsia seizureMagnesium sulfate IVPhenytoin (less effective)
Nausea/vomitingPyridoxine + Doxylamine, MetoclopramideNone first-line
Pain/feverParacetamolNSAIDs (T3), full-dose aspirin
DiabetesInsulin (preferred), Metformin (T2D/GDM)Sulfonylureas (stop 2 wk before delivery)
HypothyroidismLevothyroxine-
HyperthyroidismPTU (T1), Methimazole (T2/T3)Radioiodine (I-131)
EpilepsyLamotrigine, LevetiracetamValproate, Topiramate
DVT/PELMWH (Enoxaparin)Warfarin (T1), DOACs
Asthma (acute)Salbutamol inhaler, Budesonide ICS-
DepressionSertralineParoxetine, Valproate
VVC (candida)Clotrimazole topicalOral fluconazole (T1)
Preeclampsia prophylaxisLow-dose Aspirin 75-150 mg OD from 12 wk-

UNIVERSAL CLINICAL PEARLS FOR PRESCRIBING IN PREGNANCY

  1. "The disease treats the fetus too" - untreated hypertension, seizures, asthma, diabetes, and depression all carry significant fetal risk. Never withhold necessary treatment.
  2. Folic acid 400 mcg/day for all women planning pregnancy (start 1 month before conception); 5 mg/day for high-risk patients (epilepsy, diabetes, BMI >30, previous NTD).
  3. T1 (weeks 1-12) is organogenesis - highest teratogenesis risk. T2/T3 risks are more about fetal growth, function, and neonatal adaptation.
  4. Always give the lowest effective dose and for the shortest needed duration.
  5. Monotherapy over polypharmacy - drug combinations multiply teratogenic risk non-linearly.
  6. Check every drug before prescribing - use TERIS, LactMed, or Drugs@FDA as reference databases.
  7. Neonatal effects to watch: Neonatal abstinence syndrome (opioids, benzodiazepines, SSRIs), neonatal hypoglycemia (sulfonylureas, beta-blockers), neonatal bradycardia (labetalol, atenolol), neonatal hypothyroidism (antithyroid drugs).
  8. Inform the patient - shared decision-making is essential for all drug prescribing in pregnancy.
  9. The 1-month rule: Warfarin embryopathy occurs at weeks 6-12 - risk window overlaps with time before many women know they are pregnant. Women of childbearing age on warfarin MUST use contraception.
  10. Supplementation always needed: Iron (from 12 weeks or earlier if anaemic), folic acid, iodine (in iodine-deficient regions), Vitamin D 400-1000 IU/day.

Sources: Rosen's Emergency Medicine (Tables 175.9/175.10/175.13 - drug safety tables), Creasy & Resnik's Maternal-Fetal Medicine (antihypertensives and AEDs), Tintinalli's Emergency Medicine (HTN in pregnancy, antiemetics), Adams and Victor's Principles of Neurology (teratogenic effects of AEDs), Harrison's Principles of Internal Medicine 22e, Washington Manual of Medical Therapeutics

ortho cases with proper drug dose and frequency with clinical case examples opd,ward & icu

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Here's a summary of the 6 cases covered across all three settings:

What's Covered:

OPD Cases (3)

  1. Acute Gout - Colchicine, NSAIDs, intra-articular steroid; urate-lowering therapy timing rules
  2. OA Knee - Step-up analgesic ladder from paracetamol → topical NSAID → oral COX-2 → IA injection → tramadol
  3. Ankle Sprain - POLICE protocol, Ottawa rules, ibuprofen dosing, grading-based management

Ward Cases (3)

  1. Post-THR Day 1 - Complete multimodal analgesic regimen, 35-day enoxaparin VTE prophylaxis, hip precautions, bowel care, bone health, physio
  2. Open Tibial Fracture Grade IIIB - Emergency resuscitation, Gustilo-graded antibiotic selection with timing, tetanus prophylaxis, fasciotomy monitoring
  3. Septic Arthritis - Gram stain-guided empiric antibiotics (vancomycin + ceftriaxone), mandatory drainage, duration by joint type, de-escalation strategy

ICU Cases (3)

  1. Acute Compartment Syndrome - Fasciotomy threshold (delta pressure < 30 mmHg), rhabdomyolysis IV fluid protocol, CK monitoring targets
  2. Fat Embolism Syndrome - Gurd criteria, methylprednisolone 1.5 mg/kg q8h x3 days, ARDS ventilation principles
  3. Diabetic Foot Osteomyelitis + Septic Shock - Sepsis bundle, polymicrobial broad-spectrum empiric (Vancomycin + Pip-Taz), 6-week duration, oral step-down options, glycaemic control

how to approach to decide insulin dose as oer weight and glucose concentration ,HbA1C value,how to diagnose diabetes,drugs ladder for treatment , treatment plan as per opd,ward and icu in detail manner with conceptual explanation in short becoming master in diabetic management

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Here's what the full master reference covers - structured to make you think like a diabetologist:

What You Just Got - Complete Roadmap:

Part 1 - Concept (Mental Model)

The insulin = key, receptor = lock analogy. Every drug class explained by which defect it fixes.

Part 2 - Diagnosis

The 4 ADA criteria with exact glucose/HbA1c cut-offs. HbA1c-to-average glucose conversion table. When HbA1c is UNRELIABLE (haemolysis, iron deficiency, haemoglobinopathies).

Part 3 - Insulin Mastery

  • TDD formula: 0.4-0.5 u/kg (lower for elderly/CKD; higher for obese/ICU)
  • 50:50 split: Basal vs Bolus
  • Correction dose (ISF) = 1800 ÷ TDD - how much 1 unit drops glucose
  • Titration rules: 3-3-3 method for Glargine
  • Sliding scale with dose table
  • Adjustments for renal failure, fasting, steroids, surgery

Part 4 - Drug Ladder

Full table: Metformin → Sulfonylurea → DPP-4i → SGLT-2i → GLP-1 agonist → Insulin, with HbA1c lowering %, weight effect, hypoglycaemia risk, contraindications, and comorbidity-driven selection (CVD = GLP-1; HF/CKD = SGLT-2).

Parts 5-7 - Cases by Setting

SettingCase
OPDNew T2DM (metformin initiation); T2DM + post-MI (GLP-1/SGLT-2 switch)
WardNew T1DM severe hyperglycaemia (basal-bolus SC protocol); Inpatient T2DM on antibiotics (hold oral meds, temporary insulin)
ICUDKA (fluid → K+ → insulin sequence; transition protocol); HHS (fluids-first concept; osmolality correction rate); Post-cardiac surgery stress hyperglycaemia (IV insulin infusion titration; NICE-SUGAR target 140-180)

Generate a PDF quick-reference card with insulin dosing formulas and sliding scales

Reading File
Running Command

ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or not found"

Running Command

mkdir -p /home/daytona/workspace/insulin-ref && python3 -c "import reportlab; print('reportlab ok')" && python3 -c "from reportlab.lib.pagesizes import A4; print('A4 ok')"

Writing File

~/insulin-ref/build_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
from reportlab.platypus import PageTemplate, Frame
from reportlab.pdfgen import canvas as pdfcanvas

OUTPUT = "/home/daytona/workspace/insulin-ref/Insulin_Quick_Reference.pdf"

# ── colour palette ──────────────────────────────────────────────────────────
C_NAVY   = colors.HexColor("#1a3a5c")
C_TEAL   = colors.HexColor("#0d7377")
C_LTBL   = colors.HexColor("#e8f4f8")
C_AMBER  = colors.HexColor("#f5a623")
C_AMBER2 = colors.HexColor("#fff3cd")
C_RED    = colors.HexColor("#c0392b")
C_LRED   = colors.HexColor("#fde8e8")
C_GREEN  = colors.HexColor("#1a7a4a")
C_LGRN   = colors.HexColor("#e8f8ee")
C_GREY   = colors.HexColor("#f2f4f7")
C_DKGRY  = colors.HexColor("#4a4a4a")
C_WHITE  = colors.white

W, H = A4  # 595 x 842 pt

# ── styles ──────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()

def S(name, **kw):
    return ParagraphStyle(name, **kw)

sTitle = S("sTitle", fontName="Helvetica-Bold", fontSize=20,
           textColor=C_WHITE, alignment=TA_CENTER, spaceAfter=2)
sSub   = S("sSub",   fontName="Helvetica",      fontSize=10,
           textColor=C_WHITE, alignment=TA_CENTER, spaceAfter=0)
sH1    = S("sH1",    fontName="Helvetica-Bold", fontSize=11,
           textColor=C_WHITE, alignment=TA_LEFT, spaceBefore=0, spaceAfter=0)
sH2    = S("sH2",    fontName="Helvetica-Bold", fontSize=9,
           textColor=C_NAVY,  alignment=TA_LEFT, spaceBefore=4, spaceAfter=2)
sBody  = S("sBody",  fontName="Helvetica",      fontSize=8,
           textColor=C_DKGRY, leading=11, spaceBefore=1, spaceAfter=1)
sBold  = S("sBold",  fontName="Helvetica-Bold", fontSize=8,
           textColor=C_DKGRY, leading=11)
sSmall = S("sSmall", fontName="Helvetica",      fontSize=7,
           textColor=C_DKGRY, leading=10)
sNote  = S("sNote",  fontName="Helvetica-Oblique", fontSize=7,
           textColor=colors.HexColor("#666666"), leading=10)
sCtr   = S("sCtr",   fontName="Helvetica-Bold", fontSize=8,
           textColor=C_DKGRY, alignment=TA_CENTER)
sWht   = S("sWht",   fontName="Helvetica-Bold", fontSize=8,
           textColor=C_WHITE, alignment=TA_CENTER)
sFormula = S("sFormula", fontName="Helvetica-Bold", fontSize=9,
             textColor=C_TEAL, alignment=TA_CENTER, spaceBefore=3, spaceAfter=3)
sAlert = S("sAlert", fontName="Helvetica-Bold", fontSize=8,
           textColor=C_RED, alignment=TA_LEFT)
sGreen = S("sGreen", fontName="Helvetica-Bold", fontSize=8,
           textColor=C_GREEN, alignment=TA_LEFT)

# ── helpers ──────────────────────────────────────────────────────────────────
def section_header(title):
    """Teal band with white text."""
    t = Table([[Paragraph(title, sH1)]], colWidths=[W - 30*mm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), C_TEAL),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("RIGHTPADDING",  (0,0), (-1,-1), 8),
        ("ROUNDEDCORNERS", [3, 3, 3, 3]),
    ]))
    return t

def navy_header(title):
    """Navy band."""
    t = Table([[Paragraph(title, sH1)]], colWidths=[W - 30*mm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), C_NAVY),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("RIGHTPADDING",  (0,0), (-1,-1), 8),
    ]))
    return t

def amber_box(text):
    t = Table([[Paragraph(text, sBold)]], colWidths=[W - 30*mm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), C_AMBER2),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("RIGHTPADDING",  (0,0), (-1,-1), 8),
        ("BOX", (0,0), (-1,-1), 1, C_AMBER),
    ]))
    return t

def red_box(text):
    t = Table([[Paragraph(text, sAlert)]], colWidths=[W - 30*mm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), C_LRED),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("RIGHTPADDING",  (0,0), (-1,-1), 8),
        ("BOX", (0,0), (-1,-1), 1, C_RED),
    ]))
    return t

def green_box(text):
    t = Table([[Paragraph(text, sGreen)]], colWidths=[W - 30*mm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), C_LGRN),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("RIGHTPADDING",  (0,0), (-1,-1), 8),
        ("BOX", (0,0), (-1,-1), 1, C_GREEN),
    ]))
    return t

def formula_box(text):
    t = Table([[Paragraph(text, sFormula)]], colWidths=[W - 30*mm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), C_LTBL),
        ("TOPPADDING",    (0,0), (-1,-1), 6),
        ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("RIGHTPADDING",  (0,0), (-1,-1), 8),
        ("BOX", (0,0), (-1,-1), 1.5, C_TEAL),
    ]))
    return t

def std_table(data, col_widths, header_rows=1, zebra=True):
    t = Table(data, colWidths=col_widths, repeatRows=header_rows)
    style = [
        ("BACKGROUND",    (0,0), (-1, header_rows-1), C_NAVY),
        ("TEXTCOLOR",     (0,0), (-1, header_rows-1), C_WHITE),
        ("FONTNAME",      (0,0), (-1, header_rows-1), "Helvetica-Bold"),
        ("FONTSIZE",      (0,0), (-1,-1), 7.5),
        ("TOPPADDING",    (0,0), (-1,-1), 3),
        ("BOTTOMPADDING", (0,0), (-1,-1), 3),
        ("LEFTPADDING",   (0,0), (-1,-1), 5),
        ("RIGHTPADDING",  (0,0), (-1,-1), 5),
        ("GRID",          (0,0), (-1,-1), 0.4, colors.HexColor("#cccccc")),
        ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ]
    if zebra:
        for i in range(header_rows, len(data)):
            if i % 2 == 0:
                style.append(("BACKGROUND", (0,i), (-1,i), C_GREY))
    t.setStyle(TableStyle(style))
    return t

# ── page background callback ─────────────────────────────────────────────────
def page_bg(canvas, doc):
    canvas.saveState()
    # header band
    canvas.setFillColor(C_NAVY)
    canvas.rect(0, H - 28*mm, W, 28*mm, fill=1, stroke=0)
    # footer
    canvas.setFillColor(colors.HexColor("#e8edf2"))
    canvas.rect(0, 0, W, 10*mm, fill=1, stroke=0)
    canvas.setFillColor(C_NAVY)
    canvas.setFont("Helvetica", 7)
    canvas.drawCentredString(W/2, 3.5*mm,
        "Insulin Quick-Reference Card  |  For clinical use by trained healthcare professionals  |  "
        "Always verify doses before administering  |  Page %d" % doc.page)
    canvas.restoreState()

# ── document ─────────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    topMargin=32*mm,
    bottomMargin=14*mm,
    leftMargin=15*mm,
    rightMargin=15*mm,
    title="Insulin Quick-Reference Card",
    author="Orris Medical AI",
)

story = []
sp = lambda n=3: Spacer(1, n)

# ═══════════════════════════════════════════════════════════════════
# PAGE-HEADER OVERLAY (drawn via page_bg; add title content here)
# We place the title as first "story" elements that sit visually
# inside the nav band via top-margin alignment.
# ═══════════════════════════════════════════════════════════════════
# Title block (drawn on top of navy band via negative space trick)
# ReportLab doesn't do overlays easily, so we embed title in the
# first table styled with a navy background that bleeds to margin.
title_data = [[
    Paragraph("INSULIN QUICK-REFERENCE CARD", sTitle),
    Paragraph("Dosing Formulas · Types · Sliding Scale · DKA Protocol", sSub),
]]
# Two-row header block
header_block = Table([
    [Paragraph("INSULIN QUICK-REFERENCE CARD", sTitle)],
    [Paragraph("Dosing Formulas  ·  Insulin Types  ·  Sliding Scales  ·  DKA/HHS Protocol  ·  Glucose Targets", sSub)],
], colWidths=[W - 30*mm])
header_block.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), C_NAVY),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 4),
    ("RIGHTPADDING",  (0,0), (-1,-1), 4),
]))
story.append(header_block)
story.append(sp(6))

# ═══════════════════════════════════════════════════════════════════
# SECTION 1 — DIAGNOSIS & HbA1c
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("1.  DIAGNOSIS OF DIABETES (ADA 2024)"))
story.append(sp(4))

diag_data = [
    [Paragraph("<b>Test</b>", sWht),
     Paragraph("<b>Normal</b>", sWht),
     Paragraph("<b>Prediabetes</b>", sWht),
     Paragraph("<b>DIABETES</b>", sWht)],
    ["Fasting Plasma Glucose (8 h fast)",
     "< 100 mg/dL", "100–125 mg/dL",
     Paragraph("<b>≥ 126 mg/dL</b>", sBold)],
    ["2-h OGTT (75 g glucose)",
     "< 140 mg/dL", "140–199 mg/dL",
     Paragraph("<b>≥ 200 mg/dL</b>", sBold)],
    ["HbA1c",
     "< 5.7%", "5.7–6.4%",
     Paragraph("<b>≥ 6.5%</b>", sBold)],
    ["Random Glucose + symptoms",
     "—", "—",
     Paragraph("<b>≥ 200 mg/dL</b>", sBold)],
]
story.append(std_table(diag_data, [70*mm, 35*mm, 38*mm, 35*mm]))
story.append(sp(4))

story.append(Paragraph(
    "Confirm on a <b>separate day</b> (except symptomatic hyperglycaemic crisis). "
    "HbA1c unreliable in haemolytic anaemia, haemoglobinopathies, or recent transfusion.",
    sNote))
story.append(sp(4))

# HbA1c ↔ Average Glucose
story.append(Paragraph("HbA1c → Estimated Average Glucose (eAG)", sH2))
hba1c_data = [
    [Paragraph("<b>HbA1c %</b>", sWht),
     Paragraph("<b>eAG mg/dL</b>", sWht),
     Paragraph("<b>Interpretation</b>", sWht),
     Paragraph("<b>HbA1c %</b>", sWht),
     Paragraph("<b>eAG mg/dL</b>", sWht),
     Paragraph("<b>Interpretation</b>", sWht)],
    ["5.7",  "117", "Prediabetes threshold",
     "8.0",  "183", "Suboptimal"],
    ["6.0",  "126", "Upper prediabetes",
     "9.0",  "212", "Poor control"],
    ["6.5",  "140", "Diagnosis threshold",
     "10.0", "240", "Very poor"],
    [Paragraph("<b>7.0</b>", sBold), Paragraph("<b>154</b>", sBold),
     Paragraph("<b>Treatment TARGET</b>", sBold),
     "12.0+", "298+", "DKA / HHS risk"],
]
story.append(std_table(hba1c_data,
    [18*mm, 22*mm, 37*mm, 18*mm, 22*mm, 37*mm]))
story.append(sp(6))

# ═══════════════════════════════════════════════════════════════════
# SECTION 2 — INSULIN TYPES
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("2.  INSULIN TYPES AT A GLANCE"))
story.append(sp(4))

ins_data = [
    [Paragraph("<b>Type</b>", sWht),
     Paragraph("<b>Examples</b>", sWht),
     Paragraph("<b>Onset</b>", sWht),
     Paragraph("<b>Peak</b>", sWht),
     Paragraph("<b>Duration</b>", sWht),
     Paragraph("<b>Clinical Use</b>", sWht)],
    [Paragraph("<b>Rapid-acting</b>", sBold),
     "Lispro, Aspart, Glulisine",
     "5–15 min", "30–90 min", "3–5 h",
     "Meal bolus; give with/just before meal"],
    [Paragraph("<b>Short-acting</b>", sBold),
     "Regular (Actrapid)",
     "30–60 min", "2–4 h", "6–8 h",
     "Sliding scale SC; IV infusion DKA/ICU"],
    [Paragraph("<b>Intermediate</b>", sBold),
     "NPH (Insulatard)",
     "1–2 h", "4–8 h", "12–16 h",
     "BD regimen; steroid-induced hyperglycaemia"],
    [Paragraph("<b>Long-acting (Basal)</b>", sBold),
     "Glargine (Lantus), Detemir",
     "2–4 h", "No peak", "20–24 h",
     "Once-daily basal; Glargine → same time daily"],
    [Paragraph("<b>Ultra-long</b>", sBold),
     "Degludec (Tresiba)",
     "2 h", "No peak", "> 42 h",
     "Flexible timing; lowest hypoglycaemia risk"],
    [Paragraph("<b>Pre-mixed</b>", sBold),
     "30/70, Novomix 30",
     "Variable", "Dual", "12–16 h",
     "BD convenience; less flexible; avoid T1DM"],
]
story.append(std_table(ins_data,
    [28*mm, 35*mm, 16*mm, 16*mm, 16*mm, 49*mm]))
story.append(sp(4))
story.append(amber_box(
    "⚠  NEVER mix Glargine with other insulins.  "
    "Rapid-acting analogue is PREFERRED over Regular for meal-time bolus (faster, safer)."))
story.append(sp(8))

# ═══════════════════════════════════════════════════════════════════
# SECTION 3 — DOSING FORMULAS
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("3.  INSULIN DOSING FORMULAS"))
story.append(sp(5))

story.append(Paragraph("Step 1 — Total Daily Dose (TDD)", sH2))
story.append(formula_box(
    "TDD = 0.4–0.5 units/kg/day   "
    "│  Obese/Stress: 0.6–0.8 u/kg   "
    "│  Elderly/CKD/Thin: 0.2–0.3 u/kg"))
story.append(sp(3))

tdd_data = [
    [Paragraph("<b>Weight (kg)</b>", sWht),
     Paragraph("<b>Conservative TDD (0.4)</b>", sWht),
     Paragraph("<b>Standard TDD (0.5)</b>", sWht),
     Paragraph("<b>Aggressive TDD (0.6)</b>", sWht),
     Paragraph("<b>Use case</b>", sWht)],
    ["50 kg", "20 units", "25 units", "30 units", "Elderly / low risk"],
    ["60 kg", "24 units", "30 units", "36 units", "Thin / CKD"],
    ["70 kg", "28 units", "35 units", "42 units", Paragraph("<b>Standard adult</b>", sBold)],
    ["80 kg", "32 units", "40 units", "48 units", "Typical adult"],
    ["90 kg", "36 units", "45 units", "54 units", "Overweight"],
    ["100 kg","40 units", "50 units", "60 units", "Obese / steroids"],
]
story.append(std_table(tdd_data, [28*mm, 38*mm, 38*mm, 38*mm, 33*mm]))
story.append(sp(6))

story.append(Paragraph("Step 2 — Split TDD into Basal + Bolus", sH2))
story.append(formula_box(
    "BASAL = 50% of TDD  → Glargine SC once daily (bedtime)   │   "
    "BOLUS = 50% of TDD ÷ 3  → Rapid-acting SC with each meal"))
story.append(sp(3))

example_data = [
    [Paragraph("<b>Example: 70 kg patient, TDD = 35 units</b>", sWht), "", ""],
    [Paragraph("<b>Component</b>", sWht),
     Paragraph("<b>Dose</b>", sWht),
     Paragraph("<b>Timing</b>", sWht)],
    ["Glargine (Basal)", "17–18 units SC", "10 PM daily (fixed time)"],
    ["Aspart / Lispro (Breakfast)", "5–6 units SC", "Within 15 min before meal"],
    ["Aspart / Lispro (Lunch)",     "5–6 units SC", "Within 15 min before meal"],
    ["Aspart / Lispro (Dinner)",    "5–6 units SC", "Within 15 min before meal"],
]
example_t = Table(example_data, colWidths=[55*mm, 40*mm, 65*mm])
example_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  C_TEAL),
    ("SPAN",          (0,0), (-1,0)),
    ("BACKGROUND",    (0,1), (-1,1),  C_NAVY),
    ("TEXTCOLOR",     (0,0), (-1,1),  C_WHITE),
    ("FONTNAME",      (0,0), (-1,1),  "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 7.5),
    ("BACKGROUND",    (0,3), (-1,3),  C_GREY),
    ("BACKGROUND",    (0,5), (-1,5),  C_GREY),
    ("GRID",          (0,0), (-1,-1), 0.4, colors.HexColor("#cccccc")),
    ("TOPPADDING",    (0,0), (-1,-1), 3),
    ("BOTTOMPADDING", (0,0), (-1,-1), 3),
    ("LEFTPADDING",   (0,0), (-1,-1), 5),
    ("RIGHTPADDING",  (0,0), (-1,-1), 5),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
]))
story.append(example_t)
story.append(sp(6))

story.append(Paragraph("Step 3 — Insulin Sensitivity Factor (ISF) & Correction Dose", sH2))
story.append(formula_box(
    "ISF  =  1800 ÷ TDD   (Regular insulin)     │     1700 ÷ TDD  (Rapid-acting)"))
story.append(sp(3))
story.append(formula_box(
    "CORRECTION DOSE  =  (Actual Glucose  −  Target Glucose)  ÷  ISF"))
story.append(sp(3))

isf_data = [
    [Paragraph("<b>TDD (units)</b>", sWht),
     Paragraph("<b>ISF (mg/dL per unit)</b>", sWht),
     Paragraph("<b>Example: Glucose 280, Target 120</b>", sWht),
     Paragraph("<b>Correction Dose</b>", sWht)],
    ["20", "90", "(280-120) ÷ 90 = 1.8", "→ 2 units"],
    ["28", "64", "(280-120) ÷ 64 = 2.5", "→ 2–3 units"],
    ["35", "51", "(280-120) ÷ 51 = 3.1", "→ 3 units"],
    ["50", "36", "(280-120) ÷ 36 = 4.4", "→ 4 units"],
    ["70", "26", "(280-120) ÷ 26 = 6.2", "→ 6 units"],
]
story.append(std_table(isf_data, [28*mm, 40*mm, 70*mm, 30*mm]))
story.append(sp(4))

story.append(Paragraph("Step 4 — Insulin-to-Carbohydrate Ratio (ICR)", sH2))
story.append(formula_box(
    "ICR  =  500 ÷ TDD     →     1 unit covers X grams of carbohydrate"))
story.append(sp(3))
story.append(Paragraph(
    "Example: TDD = 35 → ICR = 500 ÷ 35 = 14 g/unit. "
    "If patient eats 56 g carbs: 56 ÷ 14 = <b>4 units pre-meal bolus.</b>", sBody))
story.append(sp(4))

story.append(Paragraph("Glargine Titration — '3-3-3' Rule", sH2))
story.append(green_box(
    "✓  Check fasting glucose for 3 days.  "
    "If fasting > 130 mg/dL on 3 consecutive mornings → INCREASE Glargine by 2 units.  "
    "If fasting < 70 mg/dL → DECREASE Glargine by 10–20%.  "
    "Target fasting: 80–130 mg/dL."))
story.append(sp(8))

# ═══════════════════════════════════════════════════════════════════
# SECTION 4 — SLIDING SCALE
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("4.  INPATIENT SLIDING SCALE  (Supplemental / Correction Insulin)"))
story.append(sp(4))
story.append(Paragraph(
    "Use RAPID-ACTING (Aspart / Lispro) or REGULAR (Actrapid) SC.  "
    "Sliding scale alone is inadequate — always combine with scheduled BASAL insulin.", sNote))
story.append(sp(3))

# Two-column layout: Low scale | High scale
low_scale = [
    [Paragraph("<b>LOW SCALE</b> (Elderly / CKD / Thin / Hypoglycaemia-prone)", sWht), ""],
    [Paragraph("<b>Glucose (mg/dL)</b>", sWht),
     Paragraph("<b>Dose (SC)</b>", sWht)],
    [Paragraph("< 70", sAlert),
     Paragraph("HOLD all insulin → Treat hypoglycaemia", sAlert)],
    ["70–150",  "0 units"],
    ["151–200", "1 unit"],
    ["201–250", "2 units"],
    ["251–300", "3 units"],
    ["301–350", "4 units"],
    ["351–400", "5 units"],
    [Paragraph("> 400", sAlert), Paragraph("6 units + CALL DOCTOR", sAlert)],
]
high_scale = [
    [Paragraph("<b>HIGH SCALE</b> (Obese / Steroids / ICU / High insulin resistance)", sWht), ""],
    [Paragraph("<b>Glucose (mg/dL)</b>", sWht),
     Paragraph("<b>Dose (SC)</b>", sWht)],
    [Paragraph("< 70", sAlert),
     Paragraph("HOLD all insulin → Treat hypoglycaemia", sAlert)],
    ["70–150",  "0 units"],
    ["151–200", "4 units"],
    ["201–250", "6 units"],
    ["251–300", "8 units"],
    ["301–350", "10 units"],
    ["351–400", "12 units"],
    [Paragraph("> 400", sAlert), Paragraph("14 units + CALL DOCTOR", sAlert)],
]

def scale_table(data):
    t = Table(data, colWidths=[38*mm, 42*mm])
    style = [
        ("BACKGROUND",    (0,0), (-1,0), C_TEAL),
        ("SPAN",          (0,0), (-1,0)),
        ("BACKGROUND",    (0,1), (-1,1), C_NAVY),
        ("TEXTCOLOR",     (0,0), (-1,1), C_WHITE),
        ("FONTNAME",      (0,0), (-1,1), "Helvetica-Bold"),
        ("FONTSIZE",      (0,0), (-1,-1), 7.5),
        ("BACKGROUND",    (0,2), (-1,2), C_LRED),
        ("BACKGROUND",    (0,-1),(-1,-1),C_LRED),
        ("GRID",          (0,0), (-1,-1), 0.4, colors.HexColor("#cccccc")),
        ("TOPPADDING",    (0,0), (-1,-1), 3),
        ("BOTTOMPADDING", (0,0), (-1,-1), 3),
        ("LEFTPADDING",   (0,0), (-1,-1), 5),
        ("RIGHTPADDING",  (0,0), (-1,-1), 5),
        ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
        ("ROWBACKGROUNDS", (0,3), (-1,-2), [C_WHITE, C_GREY]),
    ]
    t.setStyle(TableStyle(style))
    return t

dual_scales = Table(
    [[scale_table(low_scale), Spacer(6, 1), scale_table(high_scale)]],
    colWidths=[82*mm, 6*mm, 82*mm]
)
story.append(dual_scales)
story.append(sp(4))
story.append(amber_box(
    "STANDARD SCALE (General Ward): Add 2 units to Low Scale values above for most adult patients.  "
    "Reassess scale intensity daily. Goal: 70–180 mg/dL."))
story.append(sp(8))

# ═══════════════════════════════════════════════════════════════════
# SECTION 5 — GLUCOSE TARGETS
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("5.  GLUCOSE TARGETS BY CLINICAL SETTING"))
story.append(sp(4))

tgt_data = [
    [Paragraph("<b>Setting</b>", sWht),
     Paragraph("<b>Pre-meal Target</b>", sWht),
     Paragraph("<b>Post-meal / Random</b>", sWht),
     Paragraph("<b>HbA1c Target</b>", sWht),
     Paragraph("<b>Key Notes</b>", sWht)],
    ["OPD — Young/Healthy T2DM",
     "80–130 mg/dL", "< 180 mg/dL", Paragraph("<b>< 7.0%</b>", sBold),
     "Strict; no hypoglycaemia"],
    ["OPD — Elderly / Frail / CVD",
     "100–150 mg/dL", "< 200 mg/dL", "< 8.0–8.5%",
     "Avoid hypoglycaemia (fall risk)"],
    [Paragraph("<b>Pregnancy (GDM)</b>", sBold),
     "< 95 mg/dL", "1 h: < 140  /  2 h: < 120", "< 6.0–6.5%",
     "Tightest targets; monitor closely"],
    ["Non-ICU Ward",
     "100–140 mg/dL", "140–180 mg/dL", "Per pre-admission",
     "Hold metformin during acute illness"],
    [Paragraph("<b>ICU (General / Post-op)</b>", sBold),
     "—", Paragraph("<b>140–180 mg/dL</b>", sBold), "—",
     "NICE-SUGAR: tight control (80-110) → ↑ mortality"],
    ["ICU — Cardiac Surgery",
     "—", "140–180 mg/dL", "—",
     "Insulin infusion preferred; avoid < 110"],
    ["DKA — Active phase",
     "—", "250–300 (don't drop fast)", "—",
     "When < 250 → add D5 to IVF; keep insulin running"],
]
story.append(std_table(tgt_data, [38*mm, 28*mm, 36*mm, 22*mm, 46*mm]))
story.append(sp(8))

# ═══════════════════════════════════════════════════════════════════
# SECTION 6 — DKA PROTOCOL
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("6.  DKA / HHS EMERGENCY PROTOCOL"))
story.append(sp(4))

# DKA vs HHS comparison
comp_data = [
    [Paragraph("<b>Feature</b>", sWht),
     Paragraph("<b>DKA</b>", sWht),
     Paragraph("<b>HHS</b>", sWht)],
    ["Typical patient", "T1DM (any age)", "T2DM — elderly"],
    ["Glucose",
     Paragraph("<b>250–600 mg/dL</b>", sBold),
     Paragraph("<b>> 600 mg/dL</b>", sBold)],
    ["pH",
     Paragraph("<b>< 7.3 (acidotic)</b>", sAlert),
     "> 7.3 (near normal)"],
    ["HCO3", "< 18 mEq/L", "Normal (> 18)"],
    ["Ketones", "+++ (blood > 3 mmol/L)", "Absent / trace"],
    ["Osmolality", "< 320 mOsm/kg", Paragraph("<b>> 320 mOsm/kg</b>", sBold)],
    ["Anion gap", "> 12 (HAGMA)", "Normal"],
    ["Primary Rx",
     Paragraph("<b>Insulin + Fluids</b>", sBold),
     Paragraph("<b>FLUIDS first, then insulin</b>", sBold)],
    ["Mortality", "< 5%", Paragraph("<b>8–25%</b>", sAlert)],
]
story.append(std_table(comp_data, [38*mm, 62*mm, 62*mm]))
story.append(sp(5))

story.append(Paragraph("DKA Management — Phase Sequence", sH2))

phases_data = [
    [Paragraph("<b>Phase</b>", sWht),
     Paragraph("<b>Action</b>", sWht),
     Paragraph("<b>Detail / Dose</b>", sWht)],
    [Paragraph("<b>1 — FLUIDS</b>\n(start immediately)", sBold),
     "0.9% Normal Saline IV",
     "Hour 1–2: 1 L/h  →  Hours 3–4: 500 mL/h  →  Hours 5–12: 250 mL/h\n"
     "Total 24 h: 5–8 L.  When glucose < 250: switch to D5% in 0.45% NaCl"],
    [Paragraph("<b>2 — POTASSIUM</b>\n(before insulin!)", sBold),
     "KCl replacement",
     "K+ < 3.5: Give KCl 20–40 mEq/h IV for 1–2 h BEFORE starting insulin\n"
     "K+ 3.5–5.5: Add KCl 20 mEq/L to each IV bag\n"
     "K+ > 5.5: Start insulin; recheck K+ in 1 h.  Target K+: 3.5–5.0"],
    [Paragraph("<b>3 — INSULIN</b>\n(after 1 L fluid + K+>3.5)", sBold),
     "Regular Insulin IV infusion",
     "Bolus: 0.1 u/kg IV push, THEN\n"
     "Infusion: 0.1 u/kg/h (50 units in 50 mL NS = 1 u/mL via syringe pump)\n"
     "Target: glucose falls 50–75 mg/dL/h\n"
     "When glucose < 250: reduce to 0.02–0.05 u/kg/h; add dextrose to IVF"],
    [Paragraph("<b>4 — BICARBONATE</b>\n(only if severe)", sBold),
     "NaHCO3 100 mEq in 400 mL\nsterile water over 2 h",
     "ONLY if pH < 7.1.  Risk: hypokalaemia, cerebral oedema.\n"
     "Do NOT give routinely.  Recheck pH after 2 h."],
    [Paragraph("<b>5 — TRANSITION\nto SC Insulin</b>", sBold),
     "Resolution criteria (ALL 3):",
     "Glucose < 200  AND  HCO3 ≥ 18  AND  pH > 7.3  AND  Anion gap ≤ 12\n"
     "Give Glargine SC (80% prior TDD) AT LEAST 2–4 h BEFORE stopping IV insulin"],
]
phases_t = Table(phases_data, colWidths=[33*mm, 45*mm, 88*mm])
phases_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), C_NAVY),
    ("TEXTCOLOR",     (0,0), (-1,0), C_WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 7.5),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("TOPPADDING",    (0,0), (-1,-1), 4),
    ("BOTTOMPADDING", (0,0), (-1,-1), 4),
    ("LEFTPADDING",   (0,0), (-1,-1), 5),
    ("RIGHTPADDING",  (0,0), (-1,-1), 5),
    ("GRID",          (0,0), (-1,-1), 0.4, colors.HexColor("#cccccc")),
    ("BACKGROUND",    (0,1), (0,1), C_LTBL),
    ("BACKGROUND",    (0,2), (0,2), C_AMBER2),
    ("BACKGROUND",    (0,3), (0,3), C_LRED),
    ("BACKGROUND",    (0,4), (0,4), C_AMBER2),
    ("BACKGROUND",    (0,5), (0,5), C_LGRN),
]))
story.append(phases_t)
story.append(sp(5))

# DKA monitoring table
story.append(Paragraph("DKA Monitoring Frequency", sH2))
mon_data = [
    [Paragraph("<b>Parameter</b>", sWht),
     Paragraph("<b>Frequency</b>", sWht),
     Paragraph("<b>Target</b>", sWht)],
    ["Capillary glucose", "Every 1 h", "Fall 50–75 mg/dL/h; < 200 for transition"],
    ["Serum K+",          "Every 2 h", "3.5–5.0 mEq/L (CRITICAL)"],
    ["VBG / ABG",         "Every 2 h", "pH > 7.3; HCO3 > 18"],
    ["Anion gap",         "Every 4 h", "≤ 12 mEq/L (DKA resolved)"],
    ["Urine output",      "Continuous (IDC)", "> 0.5 mL/kg/h"],
    ["ECG",               "Continuous", "Watch for hypokalaemia changes (flat T, U waves)"],
    ["Neuro / GCS",       "Every 1 h", "GCS improving; watch for cerebral oedema"],
]
story.append(std_table(mon_data, [40*mm, 38*mm, 88*mm]))
story.append(sp(4))
story.append(red_box(
    "⚠  CRITICAL RULE: Check K+ BEFORE starting insulin.  "
    "If K+ < 3.5 → HOLD insulin → replace K+ first.  "
    "Insulin drives K+ into cells → fatal hypokalaemia if not corrected first."))
story.append(sp(8))

# ═══════════════════════════════════════════════════════════════════
# SECTION 7 — SPECIAL SITUATIONS
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("7.  SPECIAL CLINICAL SITUATIONS"))
story.append(sp(4))

spec_data = [
    [Paragraph("<b>Situation</b>", sWht),
     Paragraph("<b>Insulin Adjustment</b>", sWht),
     Paragraph("<b>Key Caution</b>", sWht)],
    ["NPO / Fasting (pre-op)",
     "Give 50–75% of basal only; HOLD all bolus insulin",
     "Resume bolus only when patient eating"],
    ["Renal failure (eGFR < 30)",
     "Reduce TDD by 25–50%; monitor closely q4 h",
     "Insulin cleared more slowly → accumulates → hypoglycaemia"],
    ["Liver failure",
     "Reduce TDD by 25%; hypoglycaemia common",
     "Reduced gluconeogenesis → unpredictable glucose"],
    ["Steroid-induced (prednisolone OD)",
     "NPH morning or ↑ afternoon bolus; peak 4–8 h post-dose",
     "Glucose rises in afternoon; fasting glucose may be normal"],
    ["Sick day (T1DM)",
     "NEVER stop insulin; check ketones q4 h if glucose > 300",
     "Even if not eating: reduce bolus; maintain basal fully"],
    ["ICU → SC transition",
     "80% of 24 h IV insulin used = SC TDD; basal 50% + bolus 50%",
     "Give SC 2–4 h BEFORE stopping IV infusion (lag time!)"],
    ["Pregnancy (GDM/T1DM)",
     "Insulin requirements ↑ 2–3× in T3; monitor more frequently",
     "Avoid oral agents except Metformin (insulin preferred)"],
    ["Post-bariatric surgery",
     "Significant reduction often possible; may need to ↓ TDD 50–80%",
     "Risk of late dumping / reactive hypoglycaemia; check glucose 1 h post-meal"],
]
story.append(std_table(spec_data, [40*mm, 65*mm, 60*mm]))
story.append(sp(8))

# ═══════════════════════════════════════════════════════════════════
# SECTION 8 — T2DM DRUG LADDER
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("8.  T2DM ORAL DRUG LADDER  (ADA 2024 Algorithm)"))
story.append(sp(4))

ladder_data = [
    [Paragraph("<b>Step</b>", sWht),
     Paragraph("<b>Drug / Class</b>", sWht),
     Paragraph("<b>Dose</b>", sWht),
     Paragraph("<b>HbA1c ↓</b>", sWht),
     Paragraph("<b>Weight</b>", sWht),
     Paragraph("<b>Hypo Risk</b>", sWht),
     Paragraph("<b>Key Indication / Caution</b>", sWht)],
    [Paragraph("<b>1</b>", sBold), "Metformin",
     "500–2000 mg BID", "1.0–1.5%", "Neutral", "None",
     "First-line always; avoid eGFR < 30, contrast, acute illness"],
    [Paragraph("<b>2A</b>\n(CVD)", sBold),
     "GLP-1 RA (Semaglutide, Liraglutide)",
     "Sema: 0.25→1 mg SC/wk", "1.5–2.0%",
     Paragraph("<b>↓↓ 5–15 kg</b>", sGreen), "None",
     "CV mortality ↓ (LEADER, SUSTAIN-6); avoid MEN2/thyroid Ca"],
    [Paragraph("<b>2B</b>\n(HF/CKD)", sBold),
     "SGLT-2i (Empagliflozin, Dapagliflozin)",
     "Empa 10–25 mg OD", "0.7–1.0%",
     Paragraph("<b>↓ 2–3 kg</b>", sGreen), "None",
     "HF hospitalisation ↓, CKD progression ↓; avoid eGFR < 30"],
    [Paragraph("<b>2C</b>\n(Cost)", sBold),
     "Sulfonylurea (Gliclazide MR)",
     "30–120 mg OD morning", "1.5–2.0%",
     Paragraph("<b>↑ 2 kg</b>", sAlert), Paragraph("<b>HIGH</b>", sAlert),
     "Cheapest; avoid glibenclamide in elderly/CKD"],
    [Paragraph("<b>2D</b>\n(Safe)", sBold),
     "DPP-4i (Sitagliptin, Vildagliptin)",
     "Sita 100 mg OD", "0.5–0.8%", "Neutral", "None",
     "Well tolerated; dose-reduce in CKD; avoid saxagliptin in HF"],
    [Paragraph("<b>3</b>", sBold),
     "Add 3rd agent or Basal Insulin",
     "Glargine 0.1–0.2 u/kg hs", "3–4%+",
     Paragraph("<b>↑</b>", sAlert), Paragraph("<b>YES</b>", sAlert),
     "If HbA1c > 9%: start basal insulin + continue Metformin"],
]
story.append(std_table(ladder_data,
    [14*mm, 36*mm, 28*mm, 16*mm, 16*mm, 16*mm, 50*mm]))
story.append(sp(4))
story.append(amber_box(
    "STOP Sulfonylurea when starting insulin (double hypoglycaemia risk).  "
    "CONTINUE Metformin with insulin (reduces insulin dose by ~30%).  "
    "HOLD SGLT-2i 3–4 days before major surgery (euglycaemic DKA risk)."))
story.append(sp(8))

# ═══════════════════════════════════════════════════════════════════
# SECTION 9 — HYPOGLYCAEMIA MANAGEMENT
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("9.  HYPOGLYCAEMIA RECOGNITION & MANAGEMENT"))
story.append(sp(4))

hypo_data = [
    [Paragraph("<b>Severity</b>", sWht),
     Paragraph("<b>Glucose</b>", sWht),
     Paragraph("<b>Symptoms</b>", sWht),
     Paragraph("<b>Treatment</b>", sWht)],
    [Paragraph("<b>Level 1 (Alert)</b>", sBold),
     "54–70 mg/dL",
     "Sweating, tremor, anxiety, palpitations, hunger",
     "15–20 g fast carbs PO (4 glucose tabs / 150 mL juice / 3 tsp sugar)\n"
     "Recheck in 15 min; repeat if still < 70"],
    [Paragraph("<b>Level 2 (Significant)</b>", sBold),
     "< 54 mg/dL",
     "Confusion, slurred speech, altered behaviour",
     "Same as Level 1 if conscious\n"
     "If impaired: Glucagon 1 mg IM/SC or D50W 25 mL IV"],
    [Paragraph("<b>Level 3 (Severe)</b>", sBold),
     "Any (with unconsciousness)",
     "Seizure, unresponsive, coma",
     "D50W 50 mL IV push IMMEDIATELY\n"
     "Then D10% 100 mL/h infusion until glucose > 100 mg/dL\n"
     "Glucagon 1 mg IM if no IV access\n"
     "Recheck glucose q15 min × 4"],
]
hypo_t = Table(hypo_data, colWidths=[28*mm, 22*mm, 52*mm, 66*mm])
hypo_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), C_NAVY),
    ("TEXTCOLOR",     (0,0), (-1,0), C_WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 7.5),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("TOPPADDING",    (0,0), (-1,-1), 4),
    ("BOTTOMPADDING", (0,0), (-1,-1), 4),
    ("LEFTPADDING",   (0,0), (-1,-1), 5),
    ("RIGHTPADDING",  (0,0), (-1,-1), 5),
    ("GRID",          (0,0), (-1,-1), 0.4, colors.HexColor("#cccccc")),
    ("BACKGROUND",    (0,1), (-1,1), C_AMBER2),
    ("BACKGROUND",    (0,2), (-1,2), colors.HexColor("#ffe4cc")),
    ("BACKGROUND",    (0,3), (-1,3), C_LRED),
]))
story.append(hypo_t)
story.append(sp(4))
story.append(green_box(
    "RULE OF 15: 15 g carbs → wait 15 min → recheck.  If still < 70 → repeat.  "
    "After recovery: give 15–20 g long-acting carbs (bread / biscuits / milk).  "
    "Identify and address cause: excess insulin dose, missed meal, exercise, alcohol, renal failure."))
story.append(sp(8))

# ═══════════════════════════════════════════════════════════════════
# SECTION 10 — CLINICAL PEARLS
# ═══════════════════════════════════════════════════════════════════
story.append(section_header("10.  CLINICAL PEARLS — MASTER LIST"))
story.append(sp(4))

pearls = [
    ("TDD Starting Dose",
     "0.4 u/kg (conservative)  to  0.5 u/kg (standard)  to  0.6–0.8 u/kg (obese/ICU). "
     "ALWAYS start low → titrate up every 3 days based on fasting glucose."),
    ("HbA1c & Anaemia",
     "HbA1c is UNRELIABLE in haemolytic anaemia, iron-deficiency, haemoglobinopathies, "
     "and after recent blood transfusion. Use fructosamine or eAG instead."),
    ("DKA: K+ before Insulin",
     "ALWAYS check K+ before starting insulin. If K+ < 3.5 → replace first. "
     "Insulin shifts K+ intracellularly → fatal arrhythmia if uncorrected."),
    ("DKA: Insulin Stops Ketogenesis",
     "Goal of insulin in DKA is to STOP ketone production, NOT primarily to drop glucose. "
     "When glucose < 250: add dextrose and KEEP insulin running until anion gap closes."),
    ("IV → SC Insulin Transition",
     "Give SC Glargine (0.3–0.5 u/kg) at least 2–4 hours BEFORE stopping IV infusion. "
     "SC insulin takes 2–4 h to become active. Skipping overlap = rebound DKA."),
    ("Metformin Rules",
     "HOLD metformin: eGFR < 30, acute illness, contrast CT (hold 48 h before and after), "
     "major surgery, heart failure (class III–IV), hepatic failure."),
    ("SGLT-2i Safety",
     "HOLD 3–4 days before major surgery (euglycaemic DKA risk). Causes genital infections (~10%): "
     "counsel hygiene. Contraindicated eGFR < 30. Benefits: HF hospitalisation ↓, CKD progression ↓."),
    ("ICU Glucose Target",
     "Target 140–180 mg/dL in ICU (NICE-SUGAR trial, 2009). Tight control (80–110 mg/dL) "
     "significantly INCREASES mortality in ICU patients. Avoid hypoglycaemia at all costs."),
    ("Steroid-Induced Hyperglycaemia",
     "Glucose peaks 4–8 h post-dose. If on once-daily prednisolone in morning: "
     "use NPH (Insulatard) in morning OR increase afternoon/dinner bolus. Fasting glucose may appear normal."),
    ("Never Stop Insulin — T1DM Sick Day",
     "Even if T1DM patient is vomiting and not eating: NEVER stop insulin (may reduce to 50–75%). "
     "Absence of insulin → DKA even without eating. Check ketones q4 h if glucose > 300."),
    ("GLP-1 Agonist Initiation",
     "Start semaglutide SC at 0.25 mg/week × 4 weeks, then 0.5 mg/week. "
     "Slow titration prevents nausea. Oral semaglutide: take 30 min before first food/drink of day "
     "with ≤ 120 mL plain water ONLY."),
    ("Glargine Administration",
     "Give at the SAME time each day (bedtime preferred). Cannot be mixed with any other insulin. "
     "Clear solution (NOT milky — milky = NPH). Inject SC; do not inject IV."),
]

pearl_rows = []
for title, text in pearls:
    pearl_rows.append([
        Paragraph(f"<b>{title}</b>", sBold),
        Paragraph(text, sBody)
    ])

pearl_t = Table(pearl_rows, colWidths=[40*mm, 125*mm])
pearl_style = [
    ("FONTSIZE",      (0,0), (-1,-1), 7.5),
    ("TOPPADDING",    (0,0), (-1,-1), 4),
    ("BOTTOMPADDING", (0,0), (-1,-1), 4),
    ("LEFTPADDING",   (0,0), (-1,-1), 5),
    ("RIGHTPADDING",  (0,0), (-1,-1), 5),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("GRID",          (0,0), (-1,-1), 0.3, colors.HexColor("#dddddd")),
    ("BACKGROUND",    (0,0), (0,-1), C_LTBL),
]
for i in range(0, len(pearl_rows), 2):
    pearl_style.append(("BACKGROUND", (1,i), (1,i), C_WHITE))
    if i+1 < len(pearl_rows):
        pearl_style.append(("BACKGROUND", (1,i+1), (1,i+1), C_GREY))
pearl_t.setStyle(TableStyle(pearl_style))
story.append(pearl_t)
story.append(sp(6))

story.append(Paragraph(
    "Sources: Rosen's Emergency Medicine · Miller's Anesthesia 10e · Harrison's Principles of "
    "Internal Medicine 22e · Creasy & Resnik's Maternal-Fetal Medicine · "
    "ADA Standards of Care 2024 · NICE-SUGAR Trial (NEJM 2009)",
    sNote))

# ── build ────────────────────────────────────────────────────────────────────
doc.build(story, onFirstPage=page_bg, onLaterPages=page_bg)
print(f"PDF written to {OUTPUT}")
Running Command

cd /home/daytona/workspace/insulin-ref && python3 build_pdf.py 2>&1

Running Command

ls -lh /home/daytona/workspace/insulin-ref/Insulin_Quick_Reference.pdf

Your PDF is ready:

Insulin Quick Reference

PDF Document · PDF


What's inside the 10-section quick-reference card:

SectionContent
1. DiagnosisADA 2024 criteria table (FPG / OGTT / HbA1c / Random); HbA1c → eAG conversion table with interpretation
2. Insulin TypesAll 6 types with onset, peak, duration, and clinical use
3. Dosing FormulasTDD by weight table (50–100 kg); Basal/Bolus 50:50 split; ISF formula + worked example; ICR formula; Glargine 3-3-3 titration rule
4. Sliding ScaleTwo side-by-side scales - Low Scale (elderly/CKD) and High Scale (obese/steroids/ICU), both colour-coded with red alert rows
5. Glucose TargetsOPD, elderly, pregnancy, non-ICU ward, ICU, cardiac surgery, DKA active phase
6. DKA / HHS ProtocolDKA vs HHS comparison table; 5-phase DKA sequence (Fluids → K+ → Insulin → Bicarb → Transition); monitoring frequency table; red alert K+ rule
7. Special SituationsNPO, renal failure, liver failure, steroids, sick-day rules, ICU transition, pregnancy, post-bariatric
8. T2DM Drug LadderStep-by-step with doses, HbA1c reduction %, weight effect, hypoglycaemia risk, indications
9. Hypoglycaemia3-level severity table with treatment for each; Rule of 15
10. Clinical Pearls12 key pearls covering TDD, DKA K+, ICU targets, metformin rules, SGLT-2i safety, glargine tips

Create clinical case scenarios with dosing answers

Asking for Preferences
Running Command

mkdir -p /home/daytona/workspace/clinical-cases && python3 -c "from reportlab.lib.pagesizes import A4; print('ok')"

Create clinical case scenarios with dosing answers

Running Command

mkdir -p /home/daytona/workspace/clinical-cases && ls /home/daytona/workspace/

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.