Files
2nd/10_Wiki/Topics/AI_and_ML/Geriatric-Medicine.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

7.6 KiB

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-geriatric-medicine Geriatric Medicine 10_Wiki/Topics verified self
geriatrics
aging
elderly care
frailty
polypharmacy
CGA
none A 0.85 applied
medicine
geriatrics
aging
frailty
healthcare
ai-medicine
2026-05-10 pending
language applicable_to
Medical / Clinical
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

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

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)

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)

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)

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)

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)

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)

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)

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)

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

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)

@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

🤖 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