--- id: wiki-2026-0508-geriatric-medicine title: Geriatric Medicine category: 10_Wiki/Topics status: verified canonical_id: self aliases: [geriatrics, aging, elderly care, frailty, polypharmacy, CGA] duplicate_of: none source_trust_level: A confidence_score: 0.85 verification_status: applied tags: [medicine, geriatrics, aging, frailty, healthcare, ai-medicine] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: Medical / Clinical applicable_to: [Healthcare AI, Elderly Care, Risk Stratification] --- # Geriatric Medicine ## 매 한 줄 > **"매 elderly (65+) 의 specific medical care"**. 매 frailty + multimorbidity + polypharmacy + cognitive decline + functional decline. 매 modern: 매 ML risk stratification + 매 fall detection + 매 dementia screening. ## 매 핵심 ### 매 syndromes (Geriatric Giants) - **Frailty**. - **Falls**. - **Cognitive decline / dementia**. - **Incontinence**. - **Iatrogenic** (medication-related). ### 매 framework - **CGA** (Comprehensive Geriatric Assessment): 매 medical + functional + psychological + social. - **Frailty index** (Rockwood). - **ADL / IADL**: 매 activities of daily living. - **MMSE / MoCA**: 매 cognitive screen. ### 매 modern AI - **Risk stratification**: 매 readmission, fall, mortality. - **Wearable monitoring**: 매 fall detection. - **Dementia screening**: 매 voice / writing. - **Polypharmacy**: 매 drug interaction LLM. - **Telehealth**. ### 매 응용 1. **Hospital readmission predict**. 2. **Fall risk score**. 3. **Frailty progression**. 4. **Medication review**. 5. **Cognitive assessment**. 6. **End-of-life planning**. ## 💻 패턴 ### Frailty index ```python def frailty_index(deficits, max_deficits=70): """매 Rockwood frailty: count of deficits / total.""" n_deficit = sum(1 for d in deficits if d.present) return n_deficit / max_deficits # 매 > 0.25 = frail ``` ### Charlson Comorbidity Index ```python CCI_WEIGHTS = { 'mi': 1, 'chf': 1, 'pvd': 1, 'cvd': 1, 'dementia': 1, 'copd': 1, 'connective': 1, 'ulcer': 1, 'liver_mild': 1, 'diabetes': 1, 'hemiplegia': 2, 'renal_mod_severe': 2, 'diabetes_complications': 2, 'tumor': 2, 'leukemia': 2, 'lymphoma': 2, 'liver_mod_severe': 3, 'metastatic_tumor': 6, 'aids': 6, } def cci_score(conditions, age): score = sum(CCI_WEIGHTS.get(c, 0) for c in conditions) if age >= 50: score += (age - 40) // 10 return score ``` ### Fall risk (Morse Fall Scale) ```python def morse_fall_scale(history_falls, secondary_diagnosis, ambulatory_aid, iv_therapy, gait, mental_status): score = 0 if history_falls: score += 25 if secondary_diagnosis: score += 15 score += {'none': 0, 'crutch_cane_walker': 15, 'furniture': 30}[ambulatory_aid] if iv_therapy: score += 20 score += {'normal': 0, 'weak': 10, 'impaired': 20}[gait] score += {'oriented': 0, 'forgets_limit': 15}[mental_status] risk = 'low' if score < 25 else 'medium' if score < 45 else 'high' return score, risk ``` ### Polypharmacy detection (Beers / STOPP) ```python BEERS_INAPPROPRIATE = {'diphenhydramine': 'anticholinergic load', 'amitriptyline': 'TCA elderly', ...} def beers_check(medications): flagged = [] for med in medications: if med.name in BEERS_INAPPROPRIATE: flagged.append({'med': med.name, 'reason': BEERS_INAPPROPRIATE[med.name]}) return flagged ``` ### Drug interaction (LLM-aided) ```python def drug_interaction_check(medications, llm): prompt = f"""Check drug interactions for elderly patient. Medications: {medications} Output JSON list: - pair: [drug1, drug2] - severity: minor / moderate / severe - mechanism - recommendation""" return json.loads(llm.generate(prompt)) ``` ### Cognitive screen (MoCA) ```python def moca_total(scores): """매 30-point — 26+ normal, 18-25 mild, < 18 mod-severe.""" return sum(scores.values()) # 매 visuospatial + naming + memory + attention + language + abstraction + delayed recall + orientation ``` ### Readmission risk (LACE) ```python def lace_index(length_of_stay, acuity_admission, charlson, ed_visits_6mo): """매 30-day readmission risk.""" los_score = {1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 5, 7: 6, 8: 6, 9: 7}.get(min(length_of_stay, 9), 7) acuity = 3 if acuity_admission else 0 charlson_score = min(charlson, 5) ed_score = min(ed_visits_6mo, 4) return los_score + acuity + charlson_score + ed_score ``` ### Fall detection (wearable) ```python def detect_fall(accelerometer_data, threshold_g=2.5): """매 spike + post-impact stillness.""" magnitudes = np.linalg.norm(accelerometer_data, axis=1) spikes = np.where(magnitudes > threshold_g)[0] for spike in spikes: if spike + 50 < len(magnitudes): post = magnitudes[spike+10:spike+50] if post.std() < 0.1: # 매 still return {'fall_detected': True, 'time': spike} return {'fall_detected': False} ``` ### Sarcopenia (SARC-F) ```python def sarc_f_questionnaire(): return { 'strength': 'how much difficulty lifting 10lb', 'walking': 'how much difficulty walking across room', 'rising': 'how much difficulty rising from chair', 'climbing': 'how much difficulty climbing 10 stairs', 'falls': 'how many falls in last year', } # 매 score >= 4 → sarcopenia screen positive ``` ### CGA (comprehensive) ```python def comprehensive_geriatric_assessment(patient): return { 'medical': cci_score(patient.conditions, patient.age), 'functional': adl_score(patient.adls), 'cognitive': moca_total(patient.moca), 'mood': geriatric_depression_scale(patient.gds), 'social': social_isolation_score(patient), 'frailty': frailty_index(patient.deficits), 'medications': beers_check(patient.medications), } ``` ### LLM clinical assistant ```python def geriatric_consult(patient, llm): prompt = f"""You are a geriatrics expert. For this patient: {patient} Output: 1. Top 3 medical priorities 2. Medication review (Beers / STOPP) 3. Functional intervention recommendations 4. Goals of care discussion points DO NOT diagnose without confirmation. Always defer to attending.""" return llm.generate(prompt) ``` ### End-of-life (POLST) ```python @dataclass class POLST: cpr_preference: str # 매 attempt / DNR medical_intervention: str # 매 full / selective / comfort artificial_nutrition: str def is_complete(self): return all([self.cpr_preference, self.medical_intervention, self.artificial_nutrition]) ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | Hospital admission | CGA + LACE | | Fall risk | Morse + ambient sensor | | Multi-medication | Beers / STOPP + LLM check | | Cognitive concern | MoCA + DEM screen | | Frailty | Rockwood index | | End-of-life | POLST + family meeting | **기본값**: 매 CGA + 매 risk stratification + 매 multi-disciplinary team + 매 wearable monitoring + 매 LLM medication check. ## 🔗 Graph - 부모: [[Aging]] - 변형: [[Frailty]] · [[Polypharmacy]] ## 🤖 LLM 활용 **언제**: 매 risk stratification. 매 medication review. 매 documentation. **언제 X**: 매 final diagnosis (clinician-only). ## ❌ 안티패턴 - **Generic adult protocol**: 매 elderly different. - **Polypharmacy ignore**: 매 cascade. - **No functional assessment**: 매 hospitalization missing. - **AI without clinician**: 매 liability. ## 🧪 검증 / 중복 - Verified (Beers Criteria 2023, AGS, MoCA, Rockwood frailty). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-04-26 | Auto | | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — geriatric giants + 매 Frailty / Beers / Morse / MoCA / fall code |