목록으로
생활 속 AI 활용
독거노인 AI 약사 — DUR 실데이터 기반 다제약물 안전 스크리너
👤 cjw0076 📅 2026-06-13 👁 조회 33
한국의약품안전관리원 DUR 실데이터로 독거노인 복약목록의 효능군중복·노인주의·용량초과를 자동 탐지하고, AI가 쉬운말 복약안내와 보건소·보호자 알림을 생성하는 복약안전 사회안전망입니다.
# AI 활용 사례 공모전 — 기획서
## 작품명: 독거노인 AI 약사 — DUR 실데이터 기반 다제약물 안전 스크리너

---

### 1) 제품·서비스 소개 및 목적 (요약)
독거노인은 여러 만성질환으로 다제약물(폴리파머시)을 복용하지만, 약사·보호자의 상시 점검이 어려운 복약안전 사각지대다. 본 서비스는 **한국의약품안전관리원 DUR(의약품안전사용서비스) 실데이터**로 독거노인의 복약목록을 자동 점검해 **효능군 중복·노인주의 약물·용량초과**를 탐지하고, AI가 **어르신용 쉬운말 음성안내**와 **보건소·보호자 알림**을 생성하는 복약안전 사회안전망이다. "AI가 스스로 위험을 판단해 행정·돌봄을 수행"하는 실증 사례를 공개 의약 데이터로 구현한다.

### 2) 문제 정의 (날카롭게, 실통계)
- 75세 이상 5종이상 약물 처방률 **64.2%** (OECD 평균 50.1% 크게 상회, 2021).
- 65세 이상 5종이상 처방 **46.6%**, 10종+ 복용자 **136만명**(2020 대비 46%↑, 2024).
- 다제약물 노인 **사망위험 +25%**. 효능군 중복·노인주의 약물은 인지저하·섬망·낙상·골절·입원을 유발한다.
- 핵심 결핍: 독거노인은 이 위험을 **상시 점검해줄 사람이 없다**. 처방은 여러 병원에서 분절적으로 이뤄져 중복이 보이지 않는다.

### 3) 솔루션·구성·핵심 기술
- **3계층**: (데이터) DUR 효능군중복·노인주의·용량주의 → (AI) 룰 스크리닝 엔진 + 위험점수 + LLM 안내생성 → (서비스) 약사/보건소용 React 대시보드.
- **스크리닝 엔진**(실 DUR 규칙, 사용규칙 23,485건):
① 효능군 중복 — 같은 효능군 2종+ 복용 탐지(중복처방, 폴리파머시 핵심 위험)
② 동일성분 가산 — 같은 성분이 2개+ 제품에 중복 시 용량 가산 위험. 특히 **아세트아미노펜은 제품별 포함여부를 실제 집계해 1일 4,000mg 합산 초과를 계산**(LLM 단정이 아니라 엔진이 산출).
③ 노인주의 + **Beers Criteria 교차매핑** — 고령 부적절 약물 + 임상사유(예: 벤조다이아제핀 = 인지저하·낙상·골절) + 국제표준 Beers 카테고리(벤조디아제핀·항콜린·NSAIDs·설포닐우레아 등) 태깅.
→ 위험점수 0~100 (투명 산식: 고위험 플래그×26, 산식 공개).
- **AI 역할(정직)**: 위험탐지는 **투명·감사가능한 DUR 룰엔진**(복약안전은 블랙박스가 아니라 약사 검증가능해야 한다는 설계 원칙). AI(LLM)는 탐지된 플래그를 입력받아 **어르신용 쉬운말 음성안내 + 보건소·보호자 알림을 자동 생성**한다. (프롬프트·모델·원응답 = `app/guidance_prompts.json` 첨부)

**표준 DUR 대비 차별 탐지(실데이터 정량, 재현 `app/build_coverage.py`)**: 표준 DUR 처방단계 알림은 '같은 효능군 중복'(제품 12,127·9효능군)만 본다. 본 엔진은 그 위에 ① **노인주의 성분을 국제표준 Beers 카테고리로 격상**(고위험 8성분: 벤조·항콜린·NSAIDs 등), ② **동일성분 cross-product 합산** — 핵심: **아세트아미노펜은 1,008개 제품·3개 효능군에 분산**돼 있어, 감기약+진통제처럼 효능군이 다르면 표준 효능군중복 알림이 합산초과를 놓친다. 본 엔진은 mg를 가산해 이 **분절처방 사각지대**(독거노인 다약제의 핵심 위험)를 탐지한다. → 차별점이 "독거노인 도메인"뿐 아니라 **표준 알림이 못 잡는 cross-class 합산·국제표준 격상**으로 수치 증명됨.
- **시제품**: Vite+React 대시보드(컴포넌트·상태관리·반응형), 환자 선택 시 복약목록·위험플래그·AI안내가 실시간 갱신.

### 4) 개발·구현 내용 (실데이터 PoC)
- **실 DUR 데이터**: 한국의약품안전관리원 공개(공공데이터포털, **인증키 불필요**) — 효능군중복 15,851행(9효능군·1,661성분), 노인주의 593행(57성분·임상사유), 용량주의 7,041행 = **사용규칙 23,485건**. (연령금기 3,006행은 신생아·소아 대상이라 독거노인과 무관 → 제외, 사용규칙에 미포함.)
- **PoC 결과(예시 독거노인 5명, 실제 의약품으로 구성)**:
- 환자 C(85세): 위험 **78(고위험)** — 정신신경용제 2종 중복 + 벤조다이아제핀 노인주의(Beers: 인지저하·낙상·골절).
- 환자 B(78세): 위험 52(주의) — 해열진통소염제 중복 + **아세트아미노펜 3개 제품 중복**(엔진이 실제 집계, 1일 4,000mg 합산 초과 위험).
- 환자 A(82세): 위험 52(주의) — 혈압강하제 3종 중복 + 동일성분(피마사르탄) 중복.
- 환자 D(80세): 26(주의), 환자 E(73세): 0(관찰, 위험없음) — 정상 케이스로 robustness 확인.
- 엔진이 실 DUR 규칙으로 위험을 등급화·근거제시. (재현 `python3 app/build_screen.py`, 결정적)
- **정직성**: 환자 프로파일만 illustrative(개인 처방내역은 비공개라 실제 의약품으로 구성), 규칙·약품·통계·임상사유는 전부 실데이터. 진단·처방변경은 단정하지 않고 약사·의사 상담을 유도.

### 5) 데이터 활용
- 한국의약품안전관리원 DUR 4종(효능군중복·노인주의·용량주의·연령금기) 실연동. 연령금기는 신생아·소아 대상이라 독거노인 스크리닝에서 제외(노이즈 회피 — 정직 처리).
- 실서비스 확장: 건강보험 처방내역·식약처 낱알식별(알약 이미지) 연동으로 멀티모달 입력.

### 6) AI 기술 활용 (역할 정직 구분)
- **DUR 룰 스크리닝 엔진**(투명·감사가능): 효능군 매핑(1,661성분)·동일성분 가산(아세트아미노펜 4,000mg 실집계)·노인주의·Beers Criteria 교차매핑으로 복약목록을 구조적으로 점검. *복약안전 판단은 블랙박스가 아니라 약사가 검증 가능한 규칙이어야 한다는 설계 원칙* — 의도적으로 설명가능한 룰엔진을 채택.
- **LLM 복약안내 생성(AI Agent)**: 엔진 플래그 → 어르신 음성안내(쉬운말) + 보호자/보건소 알림 자동 생성. 프롬프트·모델·원응답 = `app/guidance_prompts.json` 첨부(재현 가능).

### 7) 기대효과·확장
- 독거노인 투약오류·중복처방 조기탐지, 고위험군 우선 선별로 보건소 방문약료·다제약물관리사업 표적화. 사망위험·입원 감소 기여.
- 확장: 음성 스피커(AI돌봄)·낱알식별 카메라·처방내역 API 연동, 전국 보건소 표준 스크리너.

### 8) 제출 산출물 (작동·시각 증명)
- **작동 시제품**(`react/`, 빌드 `react/dist/`): 위험점수 **반원 게이지**(카운트업), 약물=노드·중복=엣지·노인주의=경고링 **상호작용 그래프**, Web Speech API **실제 음성안내 재생**, 임팩트 통계 막대차트, 환자 드릴다운.
- **시연 영상**(`deliverables/시연영상_독거노인AI약사.webm`): 환자 선택→게이지→상호작용 지도→음성안내 플로우.
- **발표 슬라이드 7장**(`deliverables/발표슬라이드_*.png`): 문제→솔루션 3계층→차별점→시연→기대효과.

---
*첨부: 작동 시제품(`react/dist/`)·실행 캡처, 시연영상, 발표슬라이드, 스크리닝 엔진(`app/build_screen.py`)·결과(`app/screen_result.json`), 차별탐지(`app/build_coverage.py`·`coverage.json`), LLM 안내(`app/guidance.json`·프롬프트 `guidance_prompts.json`), 실통계(`app/grounding_stats.json`), DUR 실데이터(`data/`).*
← 목록