“Medication Chart Review of Potentially Inappropriate Prescribing in Elderly Inpatients Using Beers Criteria and STOPP/START Criteria” give need for study for this topic
potentially inappropriate prescribing elderly Beers criteria STOPP START
need for study potentially inappropriate prescribing elderly inpatients Beers criteria STOPP START criteria medication chart review
PMID: 34008195
PMID: 40996586
polypharmacy adverse drug events elderly hospital prevalence
| Rationale | Supporting Evidence |
|---|---|
| High burden of polypharmacy and PIP in elderly | Prevalence 12-80%; rising global trend |
| Serious outcomes: ADEs, falls, functional decline, readmission | Meta-analysis: 26-91% increased odds (PMID: 34008195) |
| Rehospitalization risk with PIMs | OR 1.84 by STOPP/START (PMID: 40996586) |
| Prescribing omissions equally important | START detects omissions in up to 44% of elderly |
| STOPP > Beers alone (35% vs 25% detection) | Rosen's Emergency Medicine; PLOS ONE |
| Tools detect different PIP subsets (kappa 0.093) | Need for combined use |
| Gap in inpatient/region-specific data | Local evidence needed for policy |
| Basis for targeted intervention programs | Deprescribing meta-analysis (PMID: 37582482) |
| WHO patient safety mandate | Medication Without Harm Challenge |
Give in brief
Give the link for refered articles
Give introduction for this study,by briefly explaining beers criteria and stop start criteria
Beers criteria potentially inappropriate medications elderly update
STOPP START criteria inappropriate prescribing older people version 3
PMID: 37139824
PMID: 37256475
Give in short
Give the refference used for this and mark them in the answer
Give review literature for this study
potentially inappropriate prescribing elderly inpatients Beers criteria prevalence
STOPP START criteria inappropriate prescribing hospitalized older adults outcomes
medication review elderly polypharmacy adverse drug reactions hospital
PMID: 37531105
PMID: 38822740
PMID: 34257088
PMID: 39350081
| No. | Citation | PMID/Link |
|---|---|---|
| 1 | Delara M et al. Prevalence and factors associated with polypharmacy: a systematic review. BMC Geriatr. 2022 | PMID: 35854209 |
| 2 | Tian F et al. Prevalence of PIM use among older adults worldwide. JAMA Netw Open. 2023 | PMID: 37531105 |
| 3 | Mekonnen AB et al. PIP and associations with outcomes in hospitalized older adults. Br J Clin Pharmacol. 2021 | PMID: 34008195 |
| 4 | Muzzarelli I et al. PIMs with rehospitalization and death in older patients. Int J Clin Pharm. 2026 | PMID: 40996586 |
| 5 | Puig T et al. Prevalence of PIMs in elderly hospitalized patients in Spain. BMC Geriatr. 2024 | PMID: 39350081 |
| 6 | Chen Z et al. Polypharmacy, PIMs, drug-drug interactions in older COVID-19 inpatients. BMC Geriatr. 2023 | PMID: 38001406 |
| 7 | Tintinalli JE et al. Rosen's Emergency Medicine, 9th ed. Chapter 180 | Textbook |
| 8 | Gallagher P et al. STOPP-START vs Beers criteria in Spanish nursing homes. PMC | PMC3780483 |
| 9 | Comparison of Beers and STOPP/START in Indian elderly. Cureus. 2023 | Full PDF |
| 10 | Blum MR et al. OPERAM cluster RCT - STOPP/START in multimorbid older adults. BMJ. 2021 | PMID: 34257088 |
| 11 | Carollo M et al. Clinical impact of medication review and deprescribing in older inpatients. J Am Geriatr Soc. 2024 | PMID: 38822740 |
| 12 | Zhou D et al. Deprescribing interventions for older patients. J Am Med Dir Assoc. 2023 | PMID: 37582482 |
Give the objectives for this study
Give possible inclusion and exclusion criteria
| Criteria | Include | Exclude |
|---|---|---|
| Age | ≥60 years | <60 years |
| Duration of admission | ≥24 hours | <24 hours |
| Medications | ≥2 prescribed | None or only perioperative |
| Records | Complete and legible | Incomplete / illegible |
| Care setting | All wards | Palliative / ICU (optional) |
| Admission type | First admission in study period | Repeat admissions of same patient |
| Transfer patients | Admitted directly | Transferred without prior records |
Give methodology for this study (prospective observational study)
| Parameter | Details Collected |
|---|---|
| Demographic data | Name (coded), age, sex, ward, date of admission |
| Clinical data | Primary diagnosis, co-morbidities, duration of hospital stay |
| Medication data | Name of drug, dose, frequency, route, duration, indication |
| Number of medications | Total drugs prescribed per patient |
| Polypharmacy | ≥5 drugs (yes/no) |
| Lab values | Renal function (serum creatinine, eGFR), liver function, electrolytes - as required by the criteria |
| Statistical Test | Purpose |
|---|---|
| Descriptive statistics | Mean ± SD for continuous variables; frequency and percentage for categorical variables |
| Chi-square test | Association between categorical variables (e.g., gender and PIM occurrence) |
| Independent t-test / Mann-Whitney U test | Comparison of means (e.g., number of PIMs vs. number of drugs) |
| Pearson / Spearman correlation | Correlation between number of drugs and number of PIMs |
| Logistic regression | Identifying independent predictors of PIM occurrence (age, sex, polypharmacy, number of diagnoses) |
| Cohen's Kappa (κ) | Agreement between Beers and STOPP/START criteria |
Elderly inpatients (≥60 years) admitted to hospital wards
↓
Apply Inclusion/Exclusion criteria
↓
Obtain written informed consent
↓
Collect demographic, clinical & medication data
from case records and medication charts
↓
Apply BEERS Criteria (2023)
Apply STOPP/START Criteria (v3)
↓
Identify PIMs (Beers + STOPP)
Identify PPOs (START)
↓
Classify by drug class, organ system,
frequency, criteria type
↓
Compare detection by both tools
(Cohen's Kappa for agreement)
↓
Statistical analysis & interpretation
↓
Results, Discussion & Conclusions
Give in brief
| Test | Purpose |
|---|---|
| Descriptive statistics | Frequency, percentage, mean ± SD |
| Chi-square test | Association between categorical variables |
| Logistic regression | Predictors of PIM (age, polypharmacy, diagnoses) |
| Pearson/Spearman correlation | Number of drugs vs. number of PIMs |
| Cohen's Kappa (κ) | Agreement between Beers and STOPP/START |
Give the Indian and global scenerio for the need of study
potentially inappropriate prescribing elderly India prevalence Beers STOPP
elderly population aging India polypharmacy medication safety
elderly population statistics India 2026 geriatric burden polypharmacy inappropriate prescribing
PMID: 40470955
PMID: 33902417
https://www.frontiersin.org/journals/pharmacology/articles/1…
| Parameter | Global | India |
|---|---|---|
| Elderly population growth | Doubling by 2050 | Expected to double by 2050; currently ~10.1% |
| PIM prevalence | 36.7% globally (meta-analysis, 2023) | 28% pooled (meta-analysis); up to 99% in inpatient studies |
| Polypharmacy prevalence | Rising worldwide | 49% in elderly Indians (meta-analysis) |
| Inpatient PIM consequences | 91% increased ADR admissions; 1.84x rehospitalization | High DDI risk; falls; prolonged stay |
| Criteria applicability | Beers (USA), STOPP/START (Europe) | Limited Indian-specific validation data |
| Clinical pharmacist role | Established in West | Largely absent in most Indian hospitals |
Give new need of study by using above scenario
Give reference including title of the study
Give the refference in Vancouver style
1. Mekonnen et al., 2021 - "Potentially inappropriate prescribing and its associations with health-related and system-related outcomes in hospitalised older adults: A systematic review and meta-analysis." 2. Muzzarelli et al., 2026 - "Association of potentially inappropriate medications with rehospitalisation and death within three months in older patients: a systematic review and meta-analysis." 3. Delara M, Murray L, Jafari B, et al. Prevalence and factors associated with polypharmacy: a systematic review and meta-analysis. BMC Geriatrics. 4. Mulholland and Greenfield's Surgery: Scientific Principles and Practice, 7th ed. Lippincott Williams & Wilkins. 5. Mekonnen AB, Redley B, de Courten B, Manias E. Potentially inappropriate prescribing and its associations with health-related and system-related outcomes in hospitalised older adults: a systematic review and meta-analysis. British Journal of Clinical Pharmacology. 6. By the 2023 American Geriatrics Society Beers Criteria® Update Expert Panel. American Geriatrics Society 2023 updated AGS Beers Criteria® for potentially inappropriate medication use in older adults. Journal of the American Geriatrics Society. 7. O'Mahony D, Cherubini A, Guiteras AR, et al. STOPP/START criteria for potentially inappropriate prescribing in older people: version 3. European Geriatric Medicine. 8. Rosen's Emergency Medicine: Concepts and Clinical Practice, 9th ed. Chapter 180 - Geriatric Trauma. (STOPP vs Beers criteria detection rates in elderly ED patients) 9. Comparison of Beers Criteria and STOPP/START criteria for assessing inappropriate drug use among elderly patients. Cureus. 2023. 10. Tian F, Chen Z, Zeng Y, Feng Q, Chen X. "Prevalence of Use of Potentially Inappropriate Medications Among Older Adults Worldwide: A Systematic Review and Meta-Analysis."JAMA Network Open. 11. Sharma S, Gilhotra R, Bhardwaj S, et al. *"Prevalence of Polypharmacy, Hyperpolypharmacy and Potentially Inappropriate Medication Use in Older Adults in India: A Systematic Review and Meta-Analysis."* Frontiers in Pharmacology. 2021 12. O'Mahony et al., 2023 - "STOPP/START criteria for potentially inappropriate prescribing in older people: version 3." 13. Gallagher et al. (STOPP/START in Spanish nursing homes) - "Potentially inappropriate prescribing in institutionalised older patients: STOPP-START criteria compared with Beers criteria." 14. Delara et al., 2022 - "Prevalence and factors associated with polypharmacy: a systematic review and meta-analysis." 15. Zhou et al., 2023 - "Deprescribing Interventions for Older Patients: A Systematic Review and Meta-Analysis." 16. Comparison of Beers and STOPP/START in Indian elderly (Cureus, 2023)
Note: References 1 and 5 in your original list were duplicates (same study by Mekonnen et al.). References 7 and 12 were also duplicates (same study by O'Mahony et al. 2023). References 3 and 14 were duplicates (same study by Delara et al. 2022). References 9 and 16 referred to the same Cureus 2023 paper. All duplicates have been merged into single entries above, giving a clean list of 12 unique references.
Puig et al. (2024) in a multicenter retrospective study of 4,183 elderly inpatients (aged ≥75) across 16 hospitals in Spain, reported a PIM prevalence of 23.5% using Beers, STOPP-START, EU-PIM and PRISCUS criteria combined. Benzodiazepines accounted for 70% of all PIMs. The study noted that 35% of PIMs were initiated before hospital admission and were not withdrawn during the stay, underlining the need for inpatient medication chart review. 5.Blum et al. (2021) in the landmark OPERAM cluster RCT across four European countries (n=2,008 patients aged ≥70 with multimorbidity and polypharmacy), found that 86.1% of older inpatients had inappropriate prescribing, with a mean of 2.75 STOPP/START recommendations per patient. A pharmacotherapy optimization intervention using STOPP/START reduced PIP in 62.2% of patients. While the primary outcome of drug-related hospital admissions was not significantly reduced, the trial provided robust real-world validation of STOPP/START as an effective inpatient screening tool. 6.Carollo et al. (2024) in a systematic review and meta-analysis of 30 studies found that medication review and deprescribing in older inpatients was associated with a statistically significant 8% reduction in hospital readmissions (HR 0.92, 95% CI 0.85-0.99), with no significant effect on mortality. The review emphasized that integration of thorough medication review protocols in hospital settings can improve post-discharge outcomes and reduce healthcare costs.
Make sure that they are not duplicated in above list
Deduplication note: All 15 references above are unique. The three new references (Puig 2024, Blum/OPERAM 2021, Carollo 2024) did not appear in the previous list of 12 and have been added as references 13, 14, and 15 respectively.
Give link to download all articles
Note: References marked with PMC Free Full Text are freely downloadable without any subscription. References 4 and 7 (textbooks) require institutional library or purchase access. Reference 11 and 15 may require institutional journal subscription via DOI link, but are accessible through platforms like Sci-Hub or your institutional library login.
Give me the pdf for beers criteria 2023 and Stop start criteria version 3
Both articles are open access on PubMed Central (PMC) and can be downloaded freely and legally without any subscription. The PMC links are the most reliable option.
Make a checklist of the top 20 PIMs most commonly found in elderly inpatients
| S.No | Drug / Drug Class | Specific Example(s) | Reason Flagged | Criteria | ✓ Present |
|---|---|---|---|---|---|
| 1 | Benzodiazepines (long-acting) | Diazepam, Clonazepam, Nitrazepam | Increased risk of falls, fractures, cognitive impairment, excessive sedation | Beers + STOPP | ☐ |
| 2 | Benzodiazepines (short-acting) | Alprazolam, Lorazepam, Triazolam | Same as above; risk of dependence | Beers + STOPP | ☐ |
| 3 | NSAIDs (non-selective) | Ibuprofen, Diclofenac, Naproxen, Indomethacin | GI bleed, peptic ulcer, acute kidney injury, fluid retention, worsens hypertension and heart failure | Beers + STOPP | ☐ |
| 4 | First-generation Antihistamines | Diphenhydramine, Hydroxyzine, Chlorpheniramine, Promethazine | Strong anticholinergic effects - confusion, urinary retention, constipation, falls | Beers + STOPP | ☐ |
| 5 | Tricyclic Antidepressants (TCAs) | Amitriptyline, Imipramine, Nortriptyline | Anticholinergic effects, orthostatic hypotension, cardiac arrhythmia, falls | Beers + STOPP | ☐ |
| 6 | Antipsychotics | Haloperidol, Chlorpromazine, Quetiapine, Olanzapine | Risk of stroke, excessive sedation, falls, metabolic effects; avoid in dementia | Beers + STOPP | ☐ |
| 7 | Proton Pump Inhibitors (PPIs) | Omeprazole, Pantoprazole, Rabeprazole | When used at full dose for >8 weeks without indication; risk of C. difficile, hypomagnesemia, fractures | STOPP | ☐ |
| 8 | Long-acting Sulfonylureas | Glibenclamide (Glyburide), Glimepiride | Prolonged hypoglycemia in elderly; safer alternatives available | Beers + STOPP | ☐ |
| 9 | Opioids | Tramadol, Morphine, Codeine | Falls, fractures, constipation, urinary retention, confusion, respiratory depression | Beers + STOPP | ☐ |
| 10 | Muscle Relaxants | Cyclobenzaprine, Methocarbamol, Baclofen | Anticholinergic effects, sedation, falls, limited efficacy in elderly | Beers | ☐ |
| 11 | Digoxin (high dose) | Digoxin >0.125 mg/day | Narrow therapeutic index; toxicity risk increased with reduced renal function in elderly | Beers + STOPP | ☐ |
| 12 | Alpha-1 Blockers | Prazosin, Doxazosin, Terazosin | Orthostatic hypotension, syncope, falls - especially as antihypertensives | Beers + STOPP | ☐ |
| 13 | Centrally Acting Antihypertensives | Clonidine, Methyldopa | Bradycardia, orthostatic hypotension, CNS depression, falls | Beers + STOPP | ☐ |
| 14 | Antimuscarinics / Bladder Antimuscarinics | Oxybutynin, Tolterodine, Solifenacin | Anticholinergic burden - confusion, urinary retention, constipation | Beers + STOPP | ☐ |
| 15 | Sliding Scale Insulin | Regular Insulin (sliding scale alone) | Risk of hypoglycemia; poor glycemic control without basal coverage | Beers | ☐ |
| 16 | Aspirin (without clear indication) | Aspirin >100 mg/day or as primary prevention | Increased GI bleed risk in elderly without clear cardiovascular indication | Beers + STOPP | ☐ |
| 17 | Z-drugs / Non-benzodiazepine hypnotics | Zolpidem, Zaleplon, Zopiclone | Falls, fractures, cognitive impairment, rebound insomnia | Beers + STOPP | ☐ |
| 18 | Thiazide Diuretics (in hyponatremia) | Hydrochlorothiazide, Indapamide | Worsens hyponatremia, hypokalemia, dehydration, falls | STOPP | ☐ |
| 19 | Antidepressants - SSRIs | Fluoxetine, Paroxetine | Risk of hyponatremia (SIADH), falls, GI bleed (especially with NSAIDs/aspirin) | Beers + STOPP | ☐ |
| 20 | Anticoagulants without indication review | Warfarin, Rivaroxaban, Apixaban | Risk of major bleeding in elderly; requires regular review of indication, dose and renal function | STOPP | ☐ |
| Parameter | Record |
|---|---|
| Total number of drugs prescribed | |
| Polypharmacy present (≥5 drugs)? | ☐ Yes ☐ No |
| Number of PIMs identified (Beers) | |
| Number of PIMs identified (STOPP) | |
| Number of PPOs identified (START) | |
| Renal function checked (eGFR)? | ☐ Yes ☐ No |
| Drug-drug interactions noted? | ☐ Yes ☐ No |
| Rank | Drug Class | % Reported in Studies |
|---|---|---|
| 1 | Benzodiazepines | 40-70% of all PIMs |
| 2 | NSAIDs | 15-30% |
| 3 | PPIs (overuse) | 10-25% |
| 4 | Antipsychotics | 10-20% |
| 5 | Long-acting sulfonylureas | 8-15% (especially India) |
This checklist can be used directly as a data collection tool during inpatient medication chart review. Each identified PIM should be documented with the drug name, dose, indication, and the specific Beers/STOPP criterion violated.
Give the list of drugs in stop start criteria
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| A1 | Digoxin >125 mcg/day | Increased toxicity risk with reduced renal function |
| A2 | Amiodarone | High toxicity risk (thyroid, pulmonary, hepatic); use only if other agents failed |
| A3 | Loop diuretic as first-line monotherapy for hypertension | Safer alternatives available |
| A4 | Loop diuretic for dependent ankle oedema without heart failure | Compression stockings preferred |
| A5 | Thiazide diuretic with hypokalaemia, hyponatraemia, or hypercalcaemia | Worsens electrolyte imbalance |
| A6 | Alpha-1 blockers (Doxazosin, Prazosin, Terazosin) as antihypertensives | Orthostatic hypotension, falls |
| A7 | Centrally acting antihypertensives (Methyldopa, Clonidine, Moxonidine) | CNS depression, bradycardia, syncope |
| A8 | ACE inhibitor or ARB with severe bilateral renal artery stenosis | Risk of acute kidney injury |
| A9 | Diltiazem or Verapamil with heart failure (HFrEF) | Worsens cardiac function |
| A10 | Calcium channel blocker with chronic constipation | Worsens constipation |
| A11 | Beta-blocker with COPD (severe) | Risk of bronchospasm |
| A12 | Beta-blocker combined with Verapamil/Diltiazem | Risk of complete heart block |
| A13 | Aspirin + Warfarin/DOAC without PPI | Increased GI bleed risk |
| A14 | Dipyridamole as monotherapy for cardiovascular secondary prevention | No proven benefit |
| A15 | Aspirin for primary prevention | Increased bleed risk outweighs benefit in elderly |
| A16 | Aspirin + Clopidogrel for secondary prevention (unless ACS/stent within 12 months) | Increased bleed risk |
| A17 | Warfarin/DOAC with no clear indication | Bleed risk without benefit |
| A18 | Warfarin/DOAC with risk of major bleed not addressed | Requires reassessment |
| A19 | Thrombolytics in patients with high bleeding risk | Contraindicated |
| A20 | NSAIDs with heart failure | Worsens fluid retention and renal function |
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| B1 | Long-term anticoagulation for atrial fibrillation with very high fall risk | Bleed risk may outweigh benefit |
| B2 | Antiplatelet therapy without documented indication | Increased bleed risk |
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| C1 | Tricyclic antidepressants (Amitriptyline, Imipramine, Nortriptyline) | Anticholinergic toxicity, falls, arrhythmia |
| C2 | Antidepressants with concomitant fall/fracture history in last 3 months | Falls risk |
| C3 | SSRIs with hyponatraemia (Na <130 mmol/L) | Worsens SIADH |
| C4 | Long-acting benzodiazepines (Diazepam, Chlordiazepoxide, Flurazepam, Nitrazepam) | Falls, sedation, fractures |
| C5 | Short/intermediate-acting benzodiazepines (Lorazepam, Alprazolam, Oxazepam) | Same as above |
| C6 | Z-drugs (Zolpidem, Zaleplon, Zopiclone) | Falls, fractures, prolonged sedation |
| C7 | First-generation antihistamines (Diphenhydramine, Hydroxyzine, Promethazine) | Anticholinergic effects, confusion, falls |
| C8 | Antipsychotics in patients with parkinsonism | Worsens extrapyramidal symptoms |
| C9 | Antipsychotics (typical/atypical) in patients with dementia | Increased stroke, mortality risk |
| C10 | Anticholinergic drugs in patients with delirium or dementia | Worsens cognitive function |
| C11 | Antipsychotics as sleep aid | Risk outweighs benefit |
| C12 | Acetylcholinesterase inhibitors (Donepezil, Rivastigmine) with bradycardia | Risk of syncope |
| C13 | Phenothiazines (Chlorpromazine, Prochlorperazine) | Strong anticholinergic effects, sedation |
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| D1 | NSAIDs with eGFR <50 ml/min | Risk of AKI |
| D2 | COX-2 inhibitors (Celecoxib, Etoricoxib) with eGFR <50 ml/min | Risk of AKI |
| D3 | Metformin with eGFR <30 ml/min | Risk of lactic acidosis |
| D4 | SGLT2 inhibitors with eGFR <45 ml/min | Reduced efficacy, risk of DKA |
| D5 | Digoxin with eGFR <30 ml/min | Drug accumulation, toxicity |
| D6 | Direct thrombin inhibitors (Dabigatran) with eGFR <30 ml/min | Drug accumulation, bleed risk |
| D7 | Allopurinol with eGFR <50 ml/min (without dose reduction) | Drug toxicity |
| D8 | ACE inhibitor/ARB with hyperkalaemia (K >6.0) | Worsens hyperkalaemia |
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| E1 | Prochlorperazine or Metoclopramide with parkinsonism | Worsens symptoms |
| E2 | PPI at full dose for >8 weeks without indication | C. difficile risk, fractures, hypomagnesemia |
| E3 | Anticholinergic antispasmodics (Hyoscine, Dicyclomine) with chronic constipation | Worsens constipation |
| E4 | Laxative stimulants (long-term) without opioid | Bowel habit disruption |
| E5 | Metoclopramide in Parkinson's disease | Worsens motor symptoms |
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| F1 | Theophylline as monotherapy for COPD | Safer alternatives; narrow TI |
| F2 | Systemic corticosteroids as long-term maintenance for COPD | Significant steroid side effects |
| F3 | Nebulised ipratropium with urinary retention | Worsens retention |
| F4 | Long-term opioids for breathlessness without palliative intent | Risk of adverse effects |
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| G1 | NSAIDs (oral or topical) with peptic ulcer/GI bleed without PPI | Reactivation risk |
| G2 | NSAIDs with hypertension (moderate-severe) | Worsens BP control |
| G3 | NSAIDs with concurrent anticoagulant without PPI | Increased bleed risk |
| G4 | Oral corticosteroids >3 months for rheumatoid arthritis | Steroid-related adverse effects |
| G5 | Corticosteroids without osteoporosis prevention | Bone loss risk |
| G6 | Long-term NSAIDs or colchicine for chronic gout management | Allopurinol preferred |
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| H1 | Bladder antimuscarinics (Oxybutynin, Tolterodine, Solifenacin) with dementia | Worsens cognition |
| H2 | Bladder antimuscarinics with chronic constipation | Worsens constipation |
| H3 | Bladder antimuscarinics with urinary retention | Worsens retention |
| H4 | Alpha-1 blockers (Tamsulosin) in females | Not indicated |
| H5 | Estrogen (systemic) with history of breast cancer | Contraindicated |
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| I1 | Long-acting sulfonylureas (Glibenclamide, Glimepiride) | Prolonged hypoglycemia risk |
| I2 | Thiazolidinediones (Pioglitazone) with heart failure | Fluid retention, worsens HF |
| I3 | Beta-blocker in diabetes with frequent hypoglycaemia | Masks hypoglycaemia symptoms |
| I4 | Systemic estrogens with history of VTE | Thrombosis risk |
| I5 | Androgens without hypogonadism indication | Cardiovascular risk |
| No. | Drug / Drug Class | Reason to Stop |
|---|---|---|
| J1 | Strong opioids as first-line for mild-moderate pain | Non-opioid analgesics preferred |
| J2 | Regular opioids without concurrent laxative | Risk of severe constipation |
| J3 | Long-term opioids in patients with falls | Falls and fracture risk |
| J4 | Tramadol with seizure disorder | Lowers seizure threshold |
| J5 | Tramadol with SSRIs/SNRIs | Risk of serotonin syndrome |
| No. | Interaction | Risk |
|---|---|---|
| K1 | Warfarin + NSAID | Major GI bleed |
| K2 | Warfarin + Aspirin | Major GI bleed |
| K3 | Anticoagulant + antiplatelet (unless clear indication) | Bleed risk |
| K4 | Two antiplatelet drugs without clear indication | Bleed risk |
| K5 | ACE inhibitor + ARB | Hypotension, AKI, hyperkalemia |
| K6 | Anticholinergic + anticholinergic (two or more) | Cumulative anticholinergic toxicity |
| K7 | Opioid + benzodiazepine | Respiratory depression, death risk |
| K8 | SSRI + NSAID without PPI | GI bleed risk |
| No. | Drug to Start | Indication |
|---|---|---|
| A1 | Anticoagulation (Warfarin/DOAC) | Atrial fibrillation with CHA₂DS₂-VASc ≥2 |
| A2 | Antiplatelet (Aspirin/Clopidogrel) | Established atherosclerotic cardiovascular disease |
| A3 | Statin | Established cardiovascular disease or high CV risk |
| A4 | ACE inhibitor or ARB | Systolic heart failure, diabetic nephropathy, post-MI |
| A5 | Beta-blocker | Stable angina, heart failure with reduced EF, post-MI |
| A6 | Appropriate antihypertensive | Persistent hypertension (BP >160/90 mmHg) |
| A7 | Aldosterone antagonist (Spironolactone) | Systolic heart failure with persistent symptoms |
| No. | Drug to Start | Indication |
|---|---|---|
| B1 | Regular inhaled SABA or SAMA | Mild-moderate COPD or asthma |
| B2 | Regular inhaled LABA + ICS | Moderate-severe COPD or asthma |
| B3 | Long-term oxygen therapy | Severe COPD with PaO₂ <60 mmHg |
| No. | Drug to Start | Indication |
|---|---|---|
| C1 | L-DOPA or dopamine agonist | Parkinson's disease with functional impairment |
| C2 | Antidepressant | Persistent moderate-severe depression |
| C3 | Acetylcholinesterase inhibitor | Mild-moderate Alzheimer's or Lewy body dementia |
| C4 | Bisphosphonate (Alendronate, Risedronate) | Osteoporosis with fracture risk (confirmed by DXA/FRAX) |
| C5 | Calcium + Vitamin D supplement | Osteoporosis, high fracture risk, or housebound |
| C6 | DMARDs (Methotrexate, Hydroxychloroquine) | Active rheumatoid arthritis |
| C7 | Colchicine or Allopurinol | Recurrent gout or hyperuricemia |
| No. | Drug to Start | Indication |
|---|---|---|
| D1 | PPI with high-dose aspirin/NSAID/anticoagulant in elderly | GI protection |
| D2 | Fibre supplement or laxative | Chronic constipation with opioid use |
| No. | Drug to Start | Indication |
|---|---|---|
| E1 | Metformin (if tolerated) | Type 2 diabetes without severe renal impairment |
| E2 | ACE inhibitor or ARB | Diabetic nephropathy with proteinuria |
| E3 | Statin | Diabetes with cardiovascular risk factors |
| E4 | Antidiabetic therapy titration | HbA1c >8% despite current therapy |
| E5 | Thyroid replacement (Levothyroxine) | Confirmed hypothyroidism |
| No. | Drug to Start | Indication |
|---|---|---|
| F1 | Alpha-1 blocker (Tamsulosin) | Symptomatic benign prostatic hyperplasia in men |
| F2 | 5-alpha reductase inhibitor | BPH with enlarged prostate |
| No. | Drug to Start | Indication |
|---|---|---|
| G1 | Regular paracetamol | Persistent moderate pain instead of NSAIDs |
| G2 | Opioid (lowest effective dose) | Severe pain unresponsive to non-opioids |
| No. | Drug/Intervention to Start | Indication |
|---|---|---|
| H1 | Influenza vaccine (annual) | All elderly patients |
| H2 | Pneumococcal vaccine | All elderly, especially with chronic disease |
Source: O'Mahony D, Cherubini A, Guiteras AR et al. STOPP/START criteria for potentially inappropriate prescribing in older people: version 3. Eur Geriatr Med. 2023;14(4):625-32. PMID: 37256475 | Full PDF - PMC
Generate a downloadable PDF data collection form for this study
ls /home/daytona/workspace/ 2>/dev/null && echo "EXISTS" || mkdir -p /home/dayto…
mkdir -p /home/daytona/workspace/pip-study && echo "DIR READY"
~/pip-study/generate_form.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table,
TableStyle, HRFlowable, PageBreak)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import KeepTogether
OUTPUT = "/home/daytona/workspace/pip-study/PIP_Data_Collection_Form.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
topMargin=1.5*cm,
bottomMargin=1.5*cm,
leftMargin=2*cm,
rightMargin=2*cm
)
styles = getSampleStyleSheet()
# Custom styles
title_style = ParagraphStyle('Title', parent=styles['Normal'],
fontSize=13, fontName='Helvetica-Bold', alignment=TA_CENTER,
spaceAfter=4, textColor=colors.HexColor('#1a237e'))
subtitle_style = ParagraphStyle('Sub', parent=styles['Normal'],
fontSize=10, fontName='Helvetica', alignment=TA_CENTER,
spaceAfter=2, textColor=colors.HexColor('#37474f'))
section_style = ParagraphStyle('Section', parent=styles['Normal'],
fontSize=10, fontName='Helvetica-Bold',
spaceAfter=4, spaceBefore=8,
textColor=colors.white,
backColor=colors.HexColor('#1565c0'),
leftIndent=4, borderPad=3)
subsection_style = ParagraphStyle('SubSection', parent=styles['Normal'],
fontSize=9.5, fontName='Helvetica-Bold',
spaceAfter=3, spaceBefore=5,
textColor=colors.HexColor('#0d47a1'))
normal_style = ParagraphStyle('NormalS', parent=styles['Normal'],
fontSize=9, fontName='Helvetica', spaceAfter=2)
small_style = ParagraphStyle('Small', parent=styles['Normal'],
fontSize=8, fontName='Helvetica', spaceAfter=1,
textColor=colors.HexColor('#546e7a'))
footer_style = ParagraphStyle('Footer', parent=styles['Normal'],
fontSize=7.5, fontName='Helvetica-Oblique', alignment=TA_CENTER,
textColor=colors.HexColor('#78909c'))
# Helper: checkbox line
def cb_row(label, cols=1):
if cols == 1:
return [[Paragraph(f"☐ {label}", normal_style), ""]]
return [Paragraph(f"☐ {label}", normal_style)]
# Helper: field row
def field_row(label, width=8):
line = "_" * width
return Paragraph(f"<b>{label}:</b> {line}", normal_style)
# Helper: table with lines
def lined_table(data, col_widths, row_heights=None):
t = Table(data, colWidths=col_widths, rowHeights=row_heights)
t.setStyle(TableStyle([
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e3f2fd')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 5),
]))
return t
def section_header(text):
return Paragraph(f" {text}", section_style)
def subsection_header(text):
return Paragraph(text, subsection_style)
story = []
# ── HEADER ──────────────────────────────────────────────────────────────────
story.append(Paragraph("MEDICATION CHART REVIEW OF POTENTIALLY INAPPROPRIATE", title_style))
story.append(Paragraph("PRESCRIBING IN ELDERLY INPATIENTS", title_style))
story.append(Paragraph("Using Beers Criteria (2023) and STOPP/START Criteria (Version 3, 2023)", subtitle_style))
story.append(Paragraph("Prospective Observational Study | Department of Pharmacology", subtitle_style))
story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1565c0'), spaceAfter=6))
# ── SECTION 1: PATIENT IDENTIFICATION ───────────────────────────────────────
story.append(section_header("SECTION 1: PATIENT IDENTIFICATION"))
story.append(Spacer(1, 0.2*cm))
id_data = [
["Patient Code / Study ID", "_______________", "Date of Enrollment", "_______________"],
["Date of Admission", "_______________", "Date of Review", "_______________"],
["Ward / Unit", "_______________", "IP Number", "_______________"],
]
id_table = Table(id_data, colWidths=[4.5*cm, 4*cm, 4.5*cm, 4*cm])
id_table.setStyle(TableStyle([
('FONTNAME', (0,0), (0,-1), 'Helvetica-Bold'),
('FONTNAME', (2,0), (2,-1), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('GRID', (0,0), (-1,-1), 0.3, colors.HexColor('#cfd8dc')),
('BACKGROUND', (0,0), (-1,-1), colors.HexColor('#fafafa')),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 5),
]))
story.append(id_table)
story.append(Spacer(1, 0.2*cm))
# ── SECTION 2: DEMOGRAPHIC DATA ─────────────────────────────────────────────
story.append(section_header("SECTION 2: DEMOGRAPHIC DATA"))
story.append(Spacer(1, 0.2*cm))
demo_data = [
["Age (years)", "___________", "Gender", "☐ Male ☐ Female ☐ Other"],
["Weight (kg)", "___________", "Height (cm)", "___________"],
["Education", "☐ Illiterate ☐ Primary ☐ Secondary ☐ Graduate", "Occupation", "___________"],
["Residence", "☐ Urban ☐ Rural ☐ Semi-urban", "Socioeconomic Status", "☐ Low ☐ Middle ☐ High"],
]
demo_table = Table(demo_data, colWidths=[3.5*cm, 6*cm, 3.5*cm, 4*cm])
demo_table.setStyle(TableStyle([
('FONTNAME', (0,0), (0,-1), 'Helvetica-Bold'),
('FONTNAME', (2,0), (2,-1), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('GRID', (0,0), (-1,-1), 0.3, colors.HexColor('#cfd8dc')),
('ROWBACKGROUNDS', (0,0), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 5),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
]))
story.append(demo_table)
story.append(Spacer(1, 0.2*cm))
# ── SECTION 3: CLINICAL DATA ─────────────────────────────────────────────────
story.append(section_header("SECTION 3: CLINICAL DATA"))
story.append(Spacer(1, 0.2*cm))
story.append(subsection_header("3.1 Primary Diagnosis"))
story.append(Paragraph("Diagnosis: ____________________________________________________________________", normal_style))
story.append(Spacer(1, 0.15*cm))
story.append(subsection_header("3.2 Co-morbidities (tick all that apply)"))
comorbid_data = [
["Condition", "Present", "Condition", "Present", "Condition", "Present"],
["Hypertension", "☐", "Type 2 Diabetes Mellitus", "☐", "Coronary Artery Disease", "☐"],
["Heart Failure", "☐", "Atrial Fibrillation", "☐", "Stroke / TIA", "☐"],
["COPD / Asthma", "☐", "CKD / Renal Failure", "☐", "Liver Disease", "☐"],
["Hypothyroidism", "☐", "Dyslipidemia", "☐", "Osteoporosis", "☐"],
["Dementia / Cognitive Impairment", "☐", "Parkinson's Disease", "☐", "Depression / Anxiety", "☐"],
["Benign Prostatic Hyperplasia", "☐", "Peptic Ulcer Disease", "☐", "Gout", "☐"],
["Cancer", "☐", "Anaemia", "☐", "Other: ___________", "☐"],
]
comorbid_table = Table(comorbid_data, colWidths=[5.5*cm, 1.2*cm, 5.5*cm, 1.2*cm, 4.5*cm, 1.1*cm])
comorbid_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e3f2fd')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('ALIGN', (1,0), (1,-1), 'CENTER'),
('ALIGN', (3,0), (3,-1), 'CENTER'),
('ALIGN', (5,0), (5,-1), 'CENTER'),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 4),
]))
story.append(comorbid_table)
story.append(Spacer(1, 0.2*cm))
story.append(subsection_header("3.3 Vital Signs at Admission"))
vitals_data = [
["BP (mmHg)", "___________", "Pulse (bpm)", "___________", "SpO₂ (%)", "___________"],
["Temperature (°F)", "___________", "RR (/min)", "___________", "BMI (kg/m²)", "___________"],
]
vitals_table = Table(vitals_data, colWidths=[3.5*cm, 3*cm, 3.5*cm, 3*cm, 3*cm, 3*cm])
vitals_table.setStyle(TableStyle([
('FONTNAME', (0,0), (0,-1), 'Helvetica-Bold'),
('FONTNAME', (2,0), (2,-1), 'Helvetica-Bold'),
('FONTNAME', (4,0), (4,-1), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('GRID', (0,0), (-1,-1), 0.3, colors.HexColor('#cfd8dc')),
('ROWBACKGROUNDS', (0,0), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 5),
]))
story.append(vitals_table)
story.append(Spacer(1, 0.2*cm))
story.append(subsection_header("3.4 Laboratory Parameters"))
lab_data = [
["Parameter", "Value", "Parameter", "Value", "Parameter", "Value"],
["Serum Creatinine (mg/dL)", "__________", "eGFR (mL/min/1.73m²)", "__________", "Blood Urea (mg/dL)", "__________"],
["Serum Na⁺ (mEq/L)", "__________", "Serum K⁺ (mEq/L)", "__________", "Serum Ca²⁺ (mg/dL)", "__________"],
["Fasting Blood Sugar", "__________", "HbA1c (%)", "__________", "Haemoglobin (g/dL)", "__________"],
["ALT/SGPT (U/L)", "__________", "AST/SGOT (U/L)", "__________", "Serum Albumin (g/dL)", "__________"],
["INR / PT", "__________", "TSH (mIU/L)", "__________", "Other: __________", "__________"],
]
lab_table = Table(lab_data, colWidths=[4.5*cm, 2.5*cm, 4.5*cm, 2.5*cm, 4*cm, 2.5*cm])
lab_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e3f2fd')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 4),
]))
story.append(lab_table)
story.append(Paragraph("Duration of Hospital Stay: _________ days ☐ Discharge ☐ LAMA ☐ Expired ☐ Referred", normal_style))
story.append(Spacer(1, 0.3*cm))
# ── PAGE BREAK ───────────────────────────────────────────────────────────────
story.append(PageBreak())
# ── SECTION 4: MEDICATION DATA ───────────────────────────────────────────────
story.append(section_header("SECTION 4: MEDICATION DATA"))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"<b>Total Number of Medications Prescribed:</b> _______ "
"<b>Polypharmacy (≥5 drugs):</b> ☐ Yes ☐ No "
"<b>Hyperpolypharmacy (≥10 drugs):</b> ☐ Yes ☐ No",
normal_style))
story.append(Spacer(1, 0.2*cm))
story.append(subsection_header("4.1 Medication List"))
med_data = [
["S.No", "Drug Name\n(Generic)", "Dose", "Frequency", "Route", "Indication /\nDiagnosis", "Duration\n(days)", "New /\nContinued"],
]
for i in range(1, 21):
med_data.append([str(i), "", "", "", "", "", "", ""])
med_table = Table(med_data, colWidths=[0.8*cm, 4.5*cm, 1.8*cm, 2.2*cm, 1.5*cm, 3.5*cm, 1.7*cm, 1.8*cm])
med_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#1565c0')),
('TEXTCOLOR', (0,0), (-1,0), colors.white),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('ALIGN', (0,0), (0,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 4),
]))
story.append(med_table)
story.append(Paragraph("* If >20 drugs, use additional sheet", small_style))
story.append(Spacer(1, 0.3*cm))
# ── PAGE BREAK ───────────────────────────────────────────────────────────────
story.append(PageBreak())
# ── SECTION 5: BEERS CRITERIA ────────────────────────────────────────────────
story.append(section_header("SECTION 5: BEERS CRITERIA ASSESSMENT (AGS 2023)"))
story.append(Spacer(1, 0.2*cm))
story.append(subsection_header("5A. PIMs to Avoid in Older Adults (Regardless of Diagnosis)"))
beers_a = [
["S.No", "Drug / Drug Class", "Reason", "Present\n(☐)", "Drug Name\nin Chart"],
["1", "Long-acting benzodiazepines (Diazepam, Nitrazepam)", "Falls, fractures, sedation", "☐", ""],
["2", "Short/intermediate benzodiazepines (Lorazepam, Alprazolam)", "Falls, cognitive impairment", "☐", ""],
["3", "Z-drugs (Zolpidem, Zopiclone)", "Falls, cognitive impairment", "☐", ""],
["4", "Tricyclic antidepressants (Amitriptyline, Imipramine)", "Anticholinergic toxicity, arrhythmia", "☐", ""],
["5", "First-gen antihistamines (Diphenhydramine, Hydroxyzine)", "Anticholinergic, confusion", "☐", ""],
["6", "Antipsychotics (Haloperidol, Chlorpromazine, Quetiapine)", "Falls, stroke, mortality in dementia", "☐", ""],
["7", "NSAIDs (Ibuprofen, Diclofenac, Indomethacin)", "GI bleed, AKI, fluid retention", "☐", ""],
["8", "Muscle relaxants (Cyclobenzaprine, Baclofen)", "Anticholinergic, sedation, falls", "☐", ""],
["9", "Long-acting sulfonylureas (Glibenclamide, Glimepiride)", "Prolonged hypoglycaemia", "☐", ""],
["10", "Digoxin >125 mcg/day", "Toxicity with reduced renal function", "☐", ""],
["11", "Alpha-1 blockers (Doxazosin, Prazosin) as antihypertensives", "Orthostatic hypotension, falls", "☐", ""],
["12", "Centrally acting agents (Clonidine, Methyldopa)", "Bradycardia, CNS depression", "☐", ""],
["13", "Proton pump inhibitors (>8 wk, no indication)", "C. difficile, hypomagnesemia", "☐", ""],
["14", "Sliding scale insulin (alone, no basal)", "Hypoglycaemia risk", "☐", ""],
["15", "Aspirin >100 mg/day or primary prevention", "GI bleed, no proven benefit", "☐", ""],
]
beers_a_table = Table(beers_a, colWidths=[0.8*cm, 6*cm, 4.5*cm, 1.2*cm, 4.5*cm])
beers_a_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e3f2fd')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#fff8e1')]),
('ALIGN', (3,0), (3,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 4),
]))
story.append(beers_a_table)
story.append(Spacer(1, 0.3*cm))
story.append(subsection_header("5B. PIMs Based on Drug-Disease / Drug-Syndrome Interactions"))
beers_b = [
["S.No", "Drug Class", "Condition to Avoid In", "Present\n(☐)", "Drug Name"],
["1", "NSAIDs / COX-2 inhibitors", "Peptic ulcer disease / GI bleed history", "☐", ""],
["2", "Antipsychotics", "Parkinson's disease / Lewy body dementia", "☐", ""],
["3", "Anticholinergic drugs", "Dementia / Delirium", "☐", ""],
["4", "Benzodiazepines / Z-drugs", "Falls / Fracture history", "☐", ""],
["5", "Bladder antimuscarinics (Oxybutynin)", "Urinary retention / BPH", "☐", ""],
["6", "Calcium channel blockers", "Chronic constipation", "☐", ""],
["7", "NSAIDs", "Heart failure / CKD / Hypertension", "☐", ""],
["8", "Thiazolidinediones (Pioglitazone)", "Heart failure", "☐", ""],
]
beers_b_table = Table(beers_b, colWidths=[0.8*cm, 4.5*cm, 5*cm, 1.2*cm, 5.5*cm])
beers_b_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e3f2fd')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#fff8e1')]),
('ALIGN', (3,0), (3,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 4),
]))
story.append(beers_b_table)
story.append(Spacer(1, 0.2*cm))
story.append(subsection_header("5C. Drug-Drug Interactions to Avoid (Beers 2023)"))
beers_c = [
["S.No", "Drug Combination", "Risk", "Present (☐)"],
["1", "Opioid + Benzodiazepine", "Respiratory depression, death", "☐"],
["2", "Warfarin + NSAID", "Major GI bleed", "☐"],
["3", "Two or more anticholinergic drugs", "Cumulative anticholinergic toxicity", "☐"],
["4", "ACE inhibitor + ARB", "Hypotension, AKI, hyperkalaemia", "☐"],
["5", "SSRI + NSAID (without PPI)", "GI bleed", "☐"],
["6", "Tramadol + SSRI / SNRI", "Serotonin syndrome", "☐"],
]
beers_c_table = Table(beers_c, colWidths=[0.8*cm, 7*cm, 6*cm, 3.2*cm])
beers_c_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e3f2fd')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#fff8e1')]),
('ALIGN', (3,0), (3,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 4),
]))
story.append(beers_c_table)
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"<b>Total PIMs by Beers Criteria:</b> _______ "
"<b>Beers PIM present:</b> ☐ Yes ☐ No",
normal_style))
# ── PAGE BREAK ───────────────────────────────────────────────────────────────
story.append(PageBreak())
# ── SECTION 6: STOPP CRITERIA ────────────────────────────────────────────────
story.append(section_header("SECTION 6: STOPP CRITERIA ASSESSMENT (Version 3, 2023)"))
story.append(Spacer(1, 0.2*cm))
stopp_data = [
["S.No", "System", "Drug / Criterion", "Reason", "Present\n(☐)", "Drug Name"],
["1", "Cardiovascular", "Alpha-1 blockers (Doxazosin, Prazosin) as antihypertensives", "Orthostatic hypotension, falls", "☐", ""],
["2", "Cardiovascular", "Digoxin >125 mcg/day", "Toxicity - narrow TI", "☐", ""],
["3", "Cardiovascular", "NSAIDs with heart failure", "Fluid retention, worsens HF", "☐", ""],
["4", "Cardiovascular", "Calcium channel blocker with constipation", "Worsens constipation", "☐", ""],
["5", "Cardiovascular", "Beta-blocker + Verapamil/Diltiazem", "Complete heart block risk", "☐", ""],
["6", "Cardiovascular", "Centrallyacting agents (Clonidine, Methyldopa)", "CNS depression, bradycardia", "☐", ""],
["7", "Cardiovascular", "Aspirin for primary prevention without CVD", "Bleed risk > benefit", "☐", ""],
["8", "CNS", "Long-acting benzodiazepines", "Falls, fractures, sedation", "☐", ""],
["9", "CNS", "Short-acting benzodiazepines", "Falls, cognitive impairment", "☐", ""],
["10", "CNS", "Z-drugs (Zolpidem, Zopiclone)", "Falls, cognitive impairment", "☐", ""],
["11", "CNS", "Tricyclic antidepressants", "Anticholinergic, arrhythmia", "☐", ""],
["12", "CNS", "Antipsychotics in dementia", "Stroke, mortality risk", "☐", ""],
["13", "CNS", "First-gen antihistamines (Diphenhydramine)", "Anticholinergic toxicity", "☐", ""],
["14", "CNS", "SSRIs with hyponatraemia (Na <130)", "Worsens SIADH", "☐", ""],
["15", "CNS", "Anticholinergics with dementia / delirium", "Worsens cognition", "☐", ""],
["16", "Renal", "NSAIDs with eGFR <50", "AKI risk", "☐", ""],
["17", "Renal", "Metformin with eGFR <30", "Lactic acidosis", "☐", ""],
["18", "Renal", "SGLT2 inhibitors with eGFR <45", "Reduced efficacy, DKA risk", "☐", ""],
["19", "Renal", "Dabigatran with eGFR <30", "Drug accumulation, bleed", "☐", ""],
["20", "GI", "PPI at full dose >8 wk without indication", "C. difficile, fractures", "☐", ""],
["21", "GI", "Prochlorperazine/Metoclopramide in Parkinsonism", "Worsens symptoms", "☐", ""],
["22", "Musculoskeletal", "NSAIDs with peptic ulcer without PPI", "GI bleed reactivation", "☐", ""],
["23", "Musculoskeletal", "Oral corticosteroids >3 months without osteoporosis Rx", "Bone loss", "☐", ""],
["24", "Musculoskeletal", "NSAIDs with hypertension (moderate-severe)", "Worsens BP control", "☐", ""],
["25", "Endocrine", "Long-acting sulfonylureas (Glibenclamide)", "Prolonged hypoglycaemia", "☐", ""],
["26", "Endocrine", "Pioglitazone with heart failure", "Fluid retention, worsens HF", "☐", ""],
["27", "Urogenital", "Bladder antimuscarinics with dementia", "Worsens cognition", "☐", ""],
["28", "Urogenital", "Bladder antimuscarinics with urinary retention", "Worsens retention", "☐", ""],
["29", "Analgesics", "Opioids as first-line for mild-moderate pain", "Non-opioids preferred", "☐", ""],
["30", "Analgesics", "Opioids without laxative", "Severe constipation risk", "☐", ""],
["31", "Analgesics", "Tramadol with seizure disorder", "Lowers seizure threshold", "☐", ""],
["32", "Respiratory", "Theophylline as monotherapy for COPD", "Narrow TI, safer alternatives", "☐", ""],
["33", "Drug-Drug", "Opioid + Benzodiazepine", "Respiratory depression", "☐", ""],
["34", "Drug-Drug", "Two or more anticholinergic drugs", "Cumulative toxicity", "☐", ""],
["35", "Drug-Drug", "ACE inhibitor + ARB", "Hypotension, AKI, hyperK", "☐", ""],
]
stopp_table = Table(stopp_data, colWidths=[0.8*cm, 2.8*cm, 5.5*cm, 3.5*cm, 1.2*cm, 3.2*cm])
stopp_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e8f5e9')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 7.5),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f1f8e9')]),
('ALIGN', (4,0), (4,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 4),
]))
story.append(stopp_table)
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"<b>Total PIMs by STOPP Criteria:</b> _______ "
"<b>STOPP PIM present:</b> ☐ Yes ☐ No",
normal_style))
# ── PAGE BREAK ───────────────────────────────────────────────────────────────
story.append(PageBreak())
# ── SECTION 7: START CRITERIA ────────────────────────────────────────────────
story.append(section_header("SECTION 7: START CRITERIA ASSESSMENT - Prescribing Omissions (Version 3, 2023)"))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Instructions: Tick ☐ if the drug is INDICATED but NOT prescribed (Prescribing Omission).",
small_style))
story.append(Spacer(1, 0.15*cm))
start_data = [
["S.No", "System", "Drug to be Started", "Indication", "Omission\n(☐)"],
["1", "Cardiovascular", "Anticoagulation (Warfarin / DOAC)", "Atrial fibrillation with CHA₂DS₂-VASc ≥2", "☐"],
["2", "Cardiovascular", "Antiplatelet (Aspirin/Clopidogrel)", "Established atherosclerotic CVD", "☐"],
["3", "Cardiovascular", "Statin", "Established CVD or high CV risk", "☐"],
["4", "Cardiovascular", "ACE inhibitor or ARB", "Systolic HF / diabetic nephropathy / post-MI", "☐"],
["5", "Cardiovascular", "Beta-blocker", "Stable angina / HFrEF / post-MI", "☐"],
["6", "Cardiovascular", "Antihypertensive", "BP persistently >160/90 mmHg", "☐"],
["7", "Cardiovascular", "Aldosterone antagonist (Spironolactone)", "Systolic HF - persistent symptoms on ACEi+BB", "☐"],
["8", "Respiratory", "Regular inhaled SABA / SAMA", "Mild-moderate COPD or asthma", "☐"],
["9", "Respiratory", "Inhaled LABA + ICS", "Moderate-severe COPD / asthma", "☐"],
["10", "Respiratory", "Long-term home oxygen", "Severe COPD with PaO₂ <60 mmHg", "☐"],
["11", "CNS", "L-DOPA or dopamine agonist", "Parkinson's disease with functional impairment", "☐"],
["12", "CNS", "Antidepressant", "Persistent moderate-severe depression", "☐"],
["13", "CNS", "Acetylcholinesterase inhibitor", "Mild-moderate Alzheimer's / Lewy body dementia", "☐"],
["14", "Musculoskeletal", "Bisphosphonate (Alendronate/Risedronate)", "Osteoporosis with fracture risk (DXA/FRAX)", "☐"],
["15", "Musculoskeletal", "Calcium + Vitamin D supplement", "Osteoporosis / housebound / high fracture risk", "☐"],
["16", "Musculoskeletal", "DMARDs (Methotrexate, Hydroxychloroquine)", "Active rheumatoid arthritis", "☐"],
["17", "Musculoskeletal", "Allopurinol / Colchicine", "Recurrent gout / hyperuricaemia", "☐"],
["18", "GI / Renal", "PPI", "On high-dose NSAID/aspirin/anticoagulant + elderly", "☐"],
["19", "GI", "Laxative / Fibre supplement", "Chronic constipation with opioid use", "☐"],
["20", "Endocrine", "Metformin (if tolerated)", "Type 2 DM without severe renal impairment", "☐"],
["21", "Endocrine", "ACE inhibitor / ARB", "Diabetic nephropathy with proteinuria", "☐"],
["22", "Endocrine", "Statin", "DM with cardiovascular risk factors", "☐"],
["23", "Endocrine", "Levothyroxine", "Confirmed clinical hypothyroidism", "☐"],
["24", "Urogenital", "Alpha-1 blocker (Tamsulosin)", "Symptomatic BPH in men", "☐"],
["25", "Preventive", "Influenza vaccine (annual)", "All elderly patients", "☐"],
["26", "Preventive", "Pneumococcal vaccine", "All elderly, especially with chronic disease", "☐"],
]
start_table = Table(start_data, colWidths=[0.8*cm, 3*cm, 5.5*cm, 5.5*cm, 2.2*cm])
start_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#fce4ec')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 7.5),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#fce4ec')]),
('ALIGN', (4,0), (4,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 4),
]))
story.append(start_table)
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"<b>Total Prescribing Omissions (START):</b> _______ "
"<b>PPO present:</b> ☐ Yes ☐ No",
normal_style))
# ── PAGE BREAK ───────────────────────────────────────────────────────────────
story.append(PageBreak())
# ── SECTION 8: SUMMARY ───────────────────────────────────────────────────────
story.append(section_header("SECTION 8: SUMMARY OF FINDINGS"))
story.append(Spacer(1, 0.2*cm))
summary_data = [
["Parameter", "Count", "Drug(s) Involved"],
["Total medications prescribed", "", ""],
["Total PIMs identified (Beers Criteria)", "", ""],
["Total PIMs identified (STOPP Criteria)", "", ""],
["PIMs identified by BOTH criteria", "", ""],
["PIMs identified by Beers ONLY", "", ""],
["PIMs identified by STOPP ONLY", "", ""],
["Total Prescribing Omissions (START)", "", ""],
["Total Drug-Drug Interactions identified", "", ""],
]
summary_table = Table(summary_data, colWidths=[8*cm, 3*cm, 6*cm])
summary_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e3f2fd')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 9),
('GRID', (0,0), (-1,-1), 0.5, colors.HexColor('#90a4ae')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('ALIGN', (1,0), (1,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 6),
]))
story.append(summary_table)
story.append(Spacer(1, 0.3*cm))
story.append(subsection_header("8.1 Most Common Drug Classes Implicated"))
drugclass_data = [
["Drug Class", "Number of PIMs", "Criteria (Beers/STOPP/Both)"],
["Benzodiazepines", "", ""],
["NSAIDs", "", ""],
["Proton Pump Inhibitors (overuse)", "", ""],
["Antipsychotics", "", ""],
["Sulfonylureas (long-acting)", "", ""],
["Anticholinergic drugs", "", ""],
["Opioids", "", ""],
["Other: _______________", "", ""],
]
dc_table = Table(drugclass_data, colWidths=[7*cm, 4*cm, 6*cm])
dc_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e3f2fd')),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#b0bec5')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('ALIGN', (1,0), (1,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 5),
]))
story.append(dc_table)
story.append(Spacer(1, 0.3*cm))
story.append(subsection_header("8.2 Clinical Consequences / Adverse Drug Events Noted"))
story.append(Paragraph("☐ Falls ☐ Hypoglycaemia ☐ AKI ☐ GI Bleed ☐ Confusion/Delirium ☐ Hypotension ☐ Arrhythmia ☐ None", normal_style))
story.append(Paragraph("Other: _______________________________________________________________", normal_style))
story.append(Spacer(1, 0.3*cm))
story.append(subsection_header("8.3 Reviewer's Remarks"))
for _ in range(3):
story.append(Paragraph("_" * 110, normal_style))
story.append(Spacer(1, 0.1*cm))
story.append(Spacer(1, 0.3*cm))
# ── SECTION 9: DECLARATION ───────────────────────────────────────────────────
story.append(section_header("SECTION 9: DECLARATION"))
story.append(Spacer(1, 0.2*cm))
decl_data = [
["Name of Reviewer", "___________________________", "Designation", "___________________________"],
["Date of Review", "___________________________", "Signature", "___________________________"],
["Consent Obtained", "☐ Yes ☐ No", "Consent Form No.", "___________________________"],
]
decl_table = Table(decl_data, colWidths=[4*cm, 4.5*cm, 3.5*cm, 5*cm])
decl_table.setStyle(TableStyle([
('FONTNAME', (0,0), (0,-1), 'Helvetica-Bold'),
('FONTNAME', (2,0), (2,-1), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('GRID', (0,0), (-1,-1), 0.3, colors.HexColor('#cfd8dc')),
('ROWBACKGROUNDS', (0,0), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 5),
]))
story.append(decl_table)
story.append(Spacer(1, 0.4*cm))
# ── FOOTER ───────────────────────────────────────────────────────────────────
story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor('#90a4ae'), spaceAfter=4))
story.append(Paragraph(
"Data Collection Form | Medication Chart Review of PIP in Elderly Inpatients | "
"Beers Criteria 2023 & STOPP/START v3 2023 | Prospective Observational Study | "
"Department of Pharmacology",
footer_style))
story.append(Paragraph(
"References: AGS Beers Criteria 2023 [PMID: 37139824] | STOPP/START v3 [PMID: 37256475]",
footer_style))
# Build PDF
doc.build(story)
print(f"PDF generated: {OUTPUT}")
cd /home/daytona/workspace/pip-study && python generate_form.py
ls -lh /home/daytona/workspace/pip-study/PIP_Data_Collection_Form.pdf
PIP Data Collection Form
PDF Document · PDF
| Section | Content |
|---|---|
| Section 1 | Patient Identification - Study ID, ward, dates |
| Section 2 | Demographic Data - age, sex, weight, education, socioeconomic status |
| Section 3 | Clinical Data - diagnosis, 20 co-morbidities checklist, vitals, lab parameters (renal, hepatic, metabolic) |
| Section 4 | Medication List - 20-drug table with dose, frequency, route, indication, duration |
| Section 5 | Beers Criteria 2023 - Table A (15 PIMs to avoid), Table B (8 drug-disease interactions), Table C (6 drug-drug interactions) |
| Section 6 | STOPP Criteria v3 - 35 criteria across cardiovascular, CNS, renal, GI, musculoskeletal, endocrine, urogenital, analgesic, respiratory, and drug-drug interaction categories |
| Section 7 | START Criteria v3 - 26 prescribing omissions across all organ systems |
| Section 8 | Summary - total PIM counts, drug classes implicated, clinical consequences |
| Section 9 | Reviewer declaration and signature |
Give list of drugs for beers criteria 2023
| Drug / Drug Class | Specific Drugs | Reason to Avoid |
|---|---|---|
| First-generation antihistamines | Brompheniramine, Carbinoxamine, Chlorpheniramine, Clemastine, Cyproheptadine, Dexbrompheniramine, Diphenhydramine (oral), Doxylamine, Hydroxyzine, Promethazine, Triprolidine | Highly anticholinergic; confusion, urinary retention, constipation, dry mouth, falls |
| Antiparkinsonian agents | Benztropine, Trihexyphenidyl | Not recommended for prevention of EPS; safer alternatives |
| Antispasmodics | Belladonna alkaloids, Clidinium-chlordiazepoxide, Dicyclomine, Hyoscyamine, Propantheline, Scopolamine | Highly anticholinergic; uncertain effectiveness |
| Bladder antimuscarinics | Darifenacin, Fesoterodine, Flavoxate, Oxybutynin (oral), Solifenacin, Tolterodine, Trospium | Highly anticholinergic; cognitive decline, delirium, falls |
| Skeletal muscle relaxants | Carisoprodol, Chlorzoxazone, Cyclobenzaprine, Metaxalone, Methocarbamol, Orphenadrine | Poorly tolerated; anticholinergic, sedation, fracture risk |
| Tricyclic antidepressants | Amitriptyline, Amoxapine, Clomipramine, Desipramine, Doxepin >6 mg/day, Imipramine, Nortriptyline, Protriptyline, Trimipramine | Highly anticholinergic; sedation, orthostatic hypotension, cardiac arrhythmias |
| Drug / Drug Class | Specific Drugs | Reason to Avoid |
|---|---|---|
| Alpha-1 blockers (as antihypertensives) | Doxazosin, Prazosin, Terazosin | Orthostatic hypotension, falls; safer alternatives |
| Central alpha-2 agonists | Clonidine, Guanabenz, Guanfacine, Methyldopa, Reserpine (>0.1 mg/day) | High risk of CNS adverse effects; bradycardia; orthostatic hypotension |
| Antiarrhythmics | Amiodarone, Disopyramide, Dronedarone, Flecainide, Procainamide, Quinidine, Sotalol | Disopyramide is highly anticholinergic; proarrhythmic; Amiodarone - toxicity |
| Digoxin | Digoxin >0.125 mg/day | Narrow TI; toxicity risk with reduced renal function; no benefit over safer agents |
| Nitrates (short-acting sublingual) | Nitroglycerin SL | Syncope risk; avoid in hypotensive/dehydrated elderly |
| Nifedipine (immediate release) | Nifedipine IR | Hypotension, MI risk |
| Drug / Drug Class | Specific Drugs | Reason to Avoid |
|---|---|---|
| Antipsychotics (1st generation) | Chlorpromazine, Fluphenazine, Haloperidol, Loxapine, Molindone, Perphenazine, Pimozide, Prochlorperazine, Thioridazine, Thiothixene, Trifluoperazine | Increased risk of stroke, cognitive decline, falls, EPS, mortality in dementia |
| Antipsychotics (2nd generation) | Aripiprazole, Asenapine, Clozapine, Iloperidone, Lurasidone, Olanzapine, Paliperidone, Quetiapine, Risperidone, Ziprasidone | Same as above; avoid unless non-pharmacological options failed |
| Benzodiazepines (short/intermediate acting) | Alprazolam, Estazolam, Lorazepam, Oxazepam, Temazepam, Triazolam | Falls, fractures, MVA, cognitive impairment, delirium |
| Benzodiazepines (long-acting) | Chlordiazepoxide, Clorazepate, Diazepam, Flurazepam, Quazepam | Same as above; prolonged sedation |
| Z-drugs (non-BZD hypnotics) | Eszopiclone, Zaleplon, Zolpidem | Falls, fractures; minimal efficacy improvement over BZDs |
| Barbiturates | Amobarbital, Butabarbital, Butalbital, Mephobarbital, Pentobarbital, Phenobarbital, Secobarbital | High rate of physical dependence; overdose risk |
| Meprobamate | Meprobamate | High rate of physical dependence; sedation |
| Ergot mesylates | Ergoloid mesylates | Lack of efficacy for dementia |
| Drug / Drug Class | Specific Drugs | Reason to Avoid |
|---|---|---|
| Androgens | Methyltestosterone, Testosterone | Cardiac risk; contraindicated in prostate cancer |
| Desiccated thyroid | Desiccated thyroid | Cardiac effects; safer alternatives (levothyroxine) |
| Estrogens (systemic) | Conjugated estrogens, Estradiol | Carcinogenic; cardiovascular and thromboembolic risk |
| Growth hormone | Somatropin | Minimal evidence; risk of edema, arthralgia, carpal tunnel |
| Insulin (sliding scale) | Sliding scale only, without basal insulin | Hypoglycemia; no benefit in hospitalized elderly |
| Long-acting sulfonylureas | Chlorpropamide, Glibenclamide (Glyburide), Glipizide XL | Prolonged hypoglycemia; SIADH with chlorpropamide |
| Megestrol acetate | Megestrol | Increased DVT, VTE risk; minimal benefit in anorexia |
| Thiazolidinediones | Pioglitazone, Rosiglitazone | Fluid retention, HF exacerbation, fracture risk, bladder cancer |
| Drug / Drug Class | Specific Drugs | Reason to Avoid |
|---|---|---|
| Metoclopramide | Metoclopramide | EPS including tardive dyskinesia; avoid unless for gastroparesis |
| Mineral oil (oral) | Mineral oil | Aspiration pneumonia risk |
| Trimethobenzamide | Trimethobenzamide | EPS; one of the least effective antiemetics |
| Proton pump inhibitors | Omeprazole, Pantoprazole, Esomeprazole, Rabeprazole, Lansoprazole | Avoid scheduled use >8 weeks unless for high-risk conditions (GI bleed, Barrett's, steroid/NSAID use) - C. difficile, bone loss, hypomagnesemia |
| Drug / Drug Class | Specific Drugs | Reason to Avoid |
|---|---|---|
| NSAIDs (non-COX-selective) | Aspirin >325 mg/day, Diclofenac, Diflunisal, Etodolac, Fenoprofen, Ibuprofen, Ketoprofen, Ketorolac (oral and parenteral), Meclofenamate, Mefenamic acid, Meloxicam, Nabumetone, Naproxen, Oxaprozin, Piroxicam, Sulindac, Tolmetin | GI bleed, peptic ulcer, AKI, fluid retention, worsens HF and HTN |
| COX-2 selective NSAIDs | Celecoxib | Cardiovascular risk similar to NSAIDs; GI bleed risk |
| Indomethacin | Indomethacin | Highest risk of GI adverse effects among NSAIDs |
| Opioids (in combination with CNS depressants) | Any opioid + BZD or gabapentinoid or pregabalin | Respiratory depression, falls, death |
| Pentazocine | Pentazocine | CNS adverse effects (confusion, hallucinations) more than other opioids |
| Meperidine (Pethidine) | Meperidine | Neurotoxic metabolite; not effective as analgesic at safe doses |
| Drug / Drug Class | Specific Drugs | Reason to Avoid |
|---|---|---|
| Antiemetics | Prochlorperazine (chronic use), Promethazine | Anticholinergic, EPS |
| Antidiarrhoeals | Diphenoxylate-atropine | Anticholinergic |
| Antiinfectives | Nitrofurantoin (long-term) | Pulmonary toxicity, hepatotoxicity; avoid in CrCl <30 |
| Disease / Condition | Drugs to Avoid | Reason |
|---|---|---|
| Heart failure | NSAIDs, COX-2 inhibitors, Pioglitazone, Diltiazem/Verapamil (HFrEF), Dronedarone | Fluid retention, worsen HF |
| Syncope | AChE inhibitors, Peripheral alpha-1 blockers, Tertiary TCAs | Orthostatic hypotension, bradycardia |
| Chronic kidney disease (CrCl <30) | NSAIDs, COX-2 inhibitors, Triamterene | Worsens renal function |
| Delirium | All anticholinergics, BZDs, Chlorpromazine, Corticosteroids, H₂ blockers, Meperidine, Sedative hypnotics, Thioridazine | Precipitate/worsen delirium |
| Dementia / Cognitive impairment | Anticholinergics, BZDs, Z-drugs, H₂ blockers | Worsens cognition |
| Falls / Fracture history | Anticonvulsants, Antipsychotics, BZDs, Non-BZD hypnotics, Opioids, SSRIs, SNRIs, TCAs | Ataxia, impaired psychomotor function, falls |
| Epilepsy / Seizures | Clozapine, Chlorpromazine, Thioridazine, Tramadol | Lower seizure threshold |
| Parkinson's disease | All antipsychotics EXCEPT Quetiapine, Clozapine, Pimavanserin, Metoclopramide, Prochlorperazine, Promethazine | Worsen PD symptoms |
| Peptic ulcer disease | Aspirin >325 mg/day, NSAIDs (unless PPI co-prescribed) | Exacerbate ulcer disease |
| Chronic constipation | Anticholinergics, Calcium channel blockers (oral) | Worsen constipation |
| Lower urinary tract symptoms / BPH | Anticholinergics, Inhaled anticholinergics (strong) | Urinary flow reduction, retention |
| Stress or urge incontinence | Alpha-1 blockers (women), Thiazolidinediones | Worsen incontinence |
| Obesity | Olanzapine | Weight gain |
| SIADH / Hyponatraemia | SSRIs, SNRIs, TCAs, Carbamazepine, Oxcarbazepine | Worsen hyponatraemia |
| Drug / Drug Class | Specific Drugs | Concern |
|---|---|---|
| Aspirin (primary prevention) | Aspirin | Limited evidence of benefit; GI bleed risk |
| Dabigatran | Dabigatran | Higher GI bleed risk vs. Warfarin in >75 yrs |
| Prasugrel | Prasugrel | Higher risk of bleeding in elderly |
| SSRIs | All SSRIs | SIADH, falls, hyponatraemia |
| SNRIs | All SNRIs | Same as SSRIs |
| Mirtazapine | Mirtazapine | Weight gain, sedation |
| Tramadol | Tramadol | SIADH, hyponatraemia, seizures |
| Antipsychotics | All (with falls risk) | Falls, fractures |
| Carbamazepine | Carbamazepine | SIADH, hyponatraemia |
| Vasodilators | Hydralazine/ISDN, Others | Syncope risk in patients with syncope history |
| Diuretics | All diuretics | Dehydration, orthostatic hypotension |
| Gabapentin / Pregabalin | Gabapentin, Pregabalin | Respiratory depression (especially with opioids), falls, fractures |
| Drug Combination | Risk |
|---|---|
| Opioid + Benzodiazepine | Respiratory depression, death |
| Opioid + Gabapentin/Pregabalin | Respiratory depression |
| Corticosteroid + NSAID | GI ulcer, GI bleed |
| Two or more CNS-active drugs | Falls, fractures |
| RAS inhibitor (ACEi/ARB) + K-sparing diuretic + K supplement | Severe hyperkalaemia |
| Warfarin + NSAID | Major GI bleed |
| Warfarin + Amiodarone | Elevated INR, haemorrhage |
| Two or more anticholinergic drugs | Cumulative anticholinergic burden |
| Anticholinergic + AChE inhibitor | Reduced efficacy of AChE inhibitor |
| Drug | CrCl Threshold | Action Required |
|---|---|---|
| Dabigatran | CrCl <30 mL/min | Avoid |
| Edoxaban | CrCl >95 mL/min | Avoid for AF |
| Rivaroxaban | CrCl <30 mL/min | Avoid |
| Apixaban | CrCl <25 mL/min | Avoid |
| Colchicine | CrCl <30 mL/min | Reduce dose; avoid prolonged use |
| Gabapentin | CrCl <30 mL/min | Reduce dose |
| Pregabalin | CrCl <60 mL/min | Reduce dose |
| Ranitidine / H2 blockers | CrCl <50 mL/min | Reduce dose |
| Spironolactone | CrCl <30 mL/min | Avoid |
| Tramadol | CrCl <30 mL/min | Avoid ER form |
| Enoxaparin | CrCl <30 mL/min | Reduce dose |
| Metformin | CrCl <30 mL/min | Avoid |
| SGLT2 inhibitors | CrCl <45 mL/min | Avoid (glucose lowering ineffective) |
| Nitrofurantoin | CrCl <30 mL/min | Avoid |
| Probenecid | CrCl <30 mL/min | Avoid |
Source: By the 2023 American Geriatrics Society Beers Criteria® Update Expert Panel. J Am Geriatr Soc. 2023;71(7):2052-81. Free Full Text: PMC12478568 | PubMed: PMID 37139824
Is beer's criteria updated in 2026
AGS Beers Criteria 2026 update potentially inappropriate medication older adults
AGS Beers Criteria 2026 update American Geriatrics Society
| Version | Year | Status |
|---|---|---|
| Beers Criteria v1 | 1991 | Original (nursing home only) |
| Updated versions | 2003, 2012, 2015, 2019 | Successive updates |
| Beers Criteria 2023 | 2023 | Current and most recent full update |
| Alternative Treatments List | July 2025 | Companion document - NOT a new Beers update |
"Alternative Treatments to Selected Medications in the 2023 AGS Beers Criteria®" Published in J Am Geriatr Soc. 2025. PMID: 40697073
By the 2023 American Geriatrics Society Beers Criteria® Update Expert Panel. American Geriatrics Society 2023 updated AGS Beers Criteria® for potentially inappropriate medication use in older adults. J Am Geriatr Soc. 2023;71(7):2052-81. PMID: 37139824
Can you give sample size for this study
| Parameter | Value | Justification |
|---|---|---|
| Z | 1.96 | 95% Confidence Interval (standard) |
| P | 0.45 (45%) | Based on Chinthalapudi et al. (2022) - Indian tertiary care hospital reported 45% PIM prevalence using Beers Criteria 2019 [PMID: 33902417] |
| d | 0.10 (10%) | Allowable margin of error (±10%) - standard for prevalence studies |
Minimum sample size = 100-110 patients Rounded up to n = 100 (or n = 120 for better precision and to account for incomplete records)
| Reference Study | Country | Prevalence Used (P) | Calculated n (d=10%) |
|---|---|---|---|
| Chinthalapudi et al., 2022 [PMID: 33902417] | India (tertiary care) | 45% | 96 |
| Syed et al., 2026 [PMID: 40470955] | India (hospital) | 99% | 4 (very high P → small n, but not representative) |
| Tian et al., 2023 [PMID: 37531105] | Global meta-analysis | 36.7% | 89 |
| Puig et al., 2024 [PMID: 39350081] | Spain (inpatients) | 23.5% | 72 |
| Recommended (P = 45%) | India - conservative | 45% | 96 → 107 with dropout |
n = 100 patients (minimum) Preferred: n = 150 patients - to allow for:
- Subgroup analysis (by age group, sex, ward, number of drugs)
- Logistic regression analysis (requires ≥10 events per variable)
- Incomplete records and dropout (~10-15%)
- Adequate statistical power for Cohen's Kappa comparison
Need help with inclusion/exclusion criteria refinement based on sample size?
| Criterion | Effect on Enrollment | Recommendation |
|---|---|---|
| Age ≥60 vs ≥65 | ≥60 gives ~20-30% more patients | Use ≥60 for Indian context |
| ≥2 drugs vs ≥5 drugs | ≥2 gives 40-50% more eligible patients | Use ≥2 to protect sample size |
| All wards vs medicine only | All wards doubles eligible pool | Include all wards |
| Exclude ICU entirely | Reduces pool by ~10-15% | Exclude only pure ICU stays; include post-ICU ward transfers |
| Exclude psychiatry | Reduces pool by ~5-10% | Exclude if separate ward |
| Exclude incomplete records | Reduces pool by ~10% | Minimize by training data collectors |
| 24-hour stay cutoff | Excludes <5% of admissions | Keep 24-hour cutoff |
How to calculate the degree of agreement between two tools
| STOPP: PIM Yes | STOPP: PIM No | Total | |
|---|---|---|---|
| Beers: PIM Yes | a (Both agree - Yes) | b (Beers Yes, STOPP No) | a+b |
| Beers: PIM No | c (Beers No, STOPP Yes) | d (Both agree - No) | c+d |
| Total | a+c | b+d | N |
| STOPP: PIM Yes | STOPP: PIM No | Total | |
|---|---|---|---|
| Beers: PIM Yes | 40 (a) | 15 (b) | 55 |
| Beers: PIM No | 20 (c) | 25 (d) | 45 |
| Total | 60 | 40 | 100 |
| Kappa (κ) Value | Strength of Agreement |
|---|---|
| < 0.00 | Poor (less than chance) |
| 0.00 - 0.20 | Slight |
| 0.21 - 0.40 | Fair |
| 0.41 - 0.60 | Moderate |
| 0.61 - 0.80 | Substantial |
| 0.81 - 1.00 | Almost Perfect |
| Measure | Formula |
|---|---|
| Sensitivity | a / (a+c) × 100 |
| Specificity | d / (b+d) × 100 |
| PPV | a / (a+b) × 100 |
| NPV | d / (c+d) × 100 |
Analyze → Descriptive Statistics → Crosstabs
→ Row: Beers_PIM (Yes/No)
→ Column: STOPP_PIM (Yes/No)
→ Statistics → tick "Kappa"
→ OK
Analyze → Descriptive Statistics → Crosstabs
→ Statistics → tick "McNemar"
→ OK
"The degree of agreement between the Beers Criteria (2023) and STOPP criteria (Version 3) in identifying PIMs was assessed using Cohen's Kappa coefficient (κ). A κ value of ______ (95% CI: ______ to ______) was obtained, indicating ______ [slight/fair/moderate] agreement between the two tools (p = ______). The proportion of PIMs detected by Beers criteria alone was ______%, by STOPP criteria alone was ______%, and by both criteria was ______%. McNemar's test revealed a statistically significant / non-significant difference in detection rates between the two tools (χ² = ______, p = ______)."
| Statistical Test | Purpose | Software |
|---|---|---|
| Cohen's Kappa (κ) | Agreement between Beers & STOPP | SPSS, MedCalc, R |
| McNemar's Test | Difference in PIM detection rates | SPSS |
| % Overall Agreement | Simple descriptive agreement | Manual / Excel |
| Sensitivity / Specificity | Performance if one tool is reference | SPSS / MedCalc |
Reference for Kappa Interpretation: Landis JR, Koch GG. The measurement of observer agreement for categorical data. Biometrics. 1977;33(1):159-74. PMID: 843571
Can I write department general medicine including geriatric medicine ward?
"The study will be conducted in the inpatient wards of a tertiary care teaching hospital, primarily in the Department of General Medicine including the Geriatric Medicine Ward, with additional enrollment from allied specialty wards such as Cardiology, Neurology, Nephrology, and Endocrinology, as applicable."
"All elderly patients (aged ≥60 years) admitted to the Department of General Medicine including the Geriatric Medicine Ward and other inpatient wards of [Hospital Name], who fulfill the inclusion criteria, will be enrolled during the study period."
| Reason | Explanation |
|---|---|
| Clinically accurate | General Medicine wards in Indian teaching hospitals typically include or overlap with Geriatric Medicine beds |
| Maximizes enrollment | Geriatric Medicine ward is the highest-yield source of elderly patients with polypharmacy - essential for reaching n=100-150 |
| Study validity | Patients in Geriatric Medicine ward have the highest burden of multi-morbidity and polypharmacy - directly relevant to study objectives |
| Accepted in literature | Most Indian PIP studies (including Chinthalapudi et al., Syed et al.) were conducted in General Medicine / Geriatric wards of tertiary hospitals |
| IEC approval | Ethics committees prefer clearly defined study settings - naming both General Medicine and Geriatric Medicine ward makes the scope precise |
Study Setting: Department of General Medicine including Geriatric Medicine Ward, [Hospital Name]
"This prospective observational study will be conducted in the Department of General Medicine, including the dedicated Geriatric Medicine Ward, at [Hospital Name], a tertiary care teaching hospital. Additional patients will be enrolled from allied specialty wards (Cardiology, Nephrology, Neurology, Endocrinology) where elderly inpatients with multiple co-morbidities and polypharmacy are commonly admitted."
"Patients aged ≥60 years admitted to the Department of General Medicine (including Geriatric Medicine Ward) and allied specialty wards of [Hospital Name]."
"Department of General Medicine (Geriatric patients)"
"Department of General Medicine and allied specialty inpatient wards"
Give the refference used for sample size calculation in Vancouver style
"The sample size was calculated using the formula described by Lwanga and Lemeshow (WHO, 1991) [2], with the expected prevalence of potentially inappropriate prescribing (P = 45%) derived from Chinthalapudi et al. (2022) [1], a study conducted in a South Indian tertiary care hospital using the Beers Criteria 2019. At a 95% confidence interval (Z = 1.96) and 10% allowable error (d = 0.10), the minimum required sample size was calculated as 96 patients. Adding a 10% correction for incomplete records and dropouts, the final sample size was determined to be 107 patients, rounded to 100-150 patients for the study."
Can you calculate sample size by referring this article
Give references to calculate sample size with link
Chinthalapudi SS, Cheeti S, Bajpai A, Deepika S, Thunga G, Rashid M. Prevalence and predictors of potentially inappropriate medication use among elderly patients using updated Beers Criteria 2019: a single centred retrospective analysis. Curr Drug Saf. 2022;17(3):248-55.
Lwanga SK, Lemeshow S. Sample size determination in health studies: a practical manual. Geneva: World Health Organization; 1991.
Cochran WG. Sampling Techniques. 3rd ed. New York: John Wiley & Sons; 1977.
Landis JR, Koch GG. The measurement of observer agreement for categorical data. Biometrics. 1977;33(1):159-74.
| Calculator | Link | Best For |
|---|---|---|
| OpenEpi (Most used in India) | https://www.openepi.com/SampleSize/SSPropor.htm | Proportion / prevalence studies |
| Raosoft Calculator | http://www.raosoft.com/samplesize.html | Simple prevalence calculation |
| MedCalc Sample Size | https://www.medcalc.org/calc/sampling.php | Clinical studies |
| G*Power (Software) | https://www.psychologie.hhu.de/arbeitsgruppen/allgemeine-psychologie-und-arbeitspsychologie/gpower | Advanced statistical power |
| ClinCalc | https://clincalc.com/stats/samplesize.aspx | Clinical research |
Recommended approach: Use OpenEpi (openepi.com) with P = 45%, confidence = 95%, precision = 10% to generate your sample size output - this can be directly cited and screenshot for your IEC submission.
Give more reference for the beers and start Stop criteria study involving observational studies
Beers criteria STOPP START potentially inappropriate prescribing elderly inpatients observational study
potentially inappropriate medications elderly India observational cross-sectional Beers STOPP