# BariERASRecov-Kor (바리이라스리커브코어)

비만수술 시행 병원의 preop·intraop·POD0~30 perioperative metabolic recovery raw를
받아 **ERAS Society bariatric protocol · MBSAQIP · ASMBS · KASMBS 호환 KPI**
(VTE · anastomotic leak · marginal ulcer · dumping · post-bariatric hypoglycemia ·
protein/vitamin/iron deficiency · early weight loss · LOS · 30-day readmission ·
30-day mortality)를 **5+ 술식 stratification** (RYGB / SG / OAGB / SADI / DJB)으로
추적하고 **POD0-90 outpatient transition** 까지 한 화면에서 perioperative QI로
다루는 standalone Streamlit / Plotly Dash bariatric perioperative ERAS recovery
cohort dashboard.

- **도메인**: 비만대사질환 (Obesity)
- **카테고리**: 웹기반 대시보드 (코호트 모니터링 · KPI 추적)
- **slug**: `bari-eras-recov-kor`
- **idx**: 2 (2026-05-27)

> **본 도구는 합성 데이터 기반 참고용 · 연구용 KPI 대시보드입니다.
> 임상 의사결정에 직접 사용하지 마십시오. (Not for clinical decision making.)**

---

## 5개 핵심 기능

1. **preop · intraop · POD0~30 perioperative metric ingest + 술식 stratification**
   환자 ID · 연령 · 성별 · BMI · 동반질환(T2DM · HTN · OSA · MASLD) · preop VTE
   prophylaxis · 금연 · 영양 평가 · OSA screening · 술식(RYGB/SG/OAGB/SADI/DJB) ·
   anesthesia · perioperative glycemia · intraop lap/robot · conversion ·
   POD0-3/POD4-30 complication · LOS · 재수술 · 30-day readmission · 30-day
   mortality CSV/REDCap import → SHA-256 hashed ID + date-shift de-identification
   → 술식 stratification · ward attribution.

2. **ERAS Society 비만수술 protocol 부합률 KPI (radar)**
   preop(VTE · 금연 · 영양 · OSA · carb loading · 환자교육) + intraop(lap/robot ·
   glycemia<180 · PPV · normothermia · antiemetic) + POD0-3(early mobilization ·
   early oral intake · VTE prophylaxis · multimodal analgesia · no routine NGT) +
   POD4-30(protein 60g · multivitamin · iron/B12 panel · weight FU · EWL ≥ 5%)
   ward별 radar + MBSAQIP/ASMBS analog 한국어 quality measure.

3. **5+ 술식별 complication stratification + risk-adjusted O/E**
   RYGB(anastomotic leak · marginal ulcer · dumping · delayed hypoglycemia
   POD30+) · SG(staple leak · stricture · GERD · delayed hypo) · OAGB(leak ·
   bile reflux) · SADI(leak · malabsorption) · DJB. 30-day readmission /
   mortality + NSQIP/MBSAQIP-analog Observed/Expected ratio (vs. 문헌 anchor).

4. **post-bariatric hypoglycemia + dumping syndrome 시간 분포**
   immediate(POD0-3) vs. delayed(POD30+ post-prandial hyperinsulinemic)
   hypoglycemia 분포 + dumping early vs. late + KDA 저혈당 가이드 통합 (L2
   이상 자동 flag).

5. **POD0-90 outpatient transition + KASMBS 학술대회 호환 리포트**
   POD7 · POD30 · POD60 · POD90 외래 부합률 + 체중 · HbA1c · BP · 지질 · OSA
   recovery · PHQ-9 · 외래 GLP-1RA 추가 처방 · 재수술 trigger + KASMBS / KSSO /
   KOSSO / KSPED 호환 quality improvement 리포트(국문 + 영문) Markdown / docx,
   술식별 · ward별 · 외과 PI별 ranking · KM survival chart export.

---

## 기술 스택

- **Python** 3.9+
- **CLI / 분석 modules**: **표준 라이브러리만** (csv, hashlib, dataclasses,
  random, os, sys) — 가상환경 없이도 `python3 main.py --all` 실행 가능
- **Streamlit app**: `streamlit`, `plotly`, `pandas`, `numpy`
- **High-end analytics (optional)**: `scikit-learn`, `lifelines`, `statsmodels`,
  `matplotlib`
- **Report**: `python-docx` (없으면 markdown 폴백)

오프라인 standalone — 외부 API 호출 0, EMR 실시간 연동 0 (nightly/weekly export
ingest 가정).

---

## 데이터 소스

- 사이트의 **REDCap / CSV / EDW export** (환자 ID · 연령 · BMI · 동반질환 ·
  preop / intraop / POD0-30 metric · 술식 · complication · LOS · readmission ·
  mortality · POD90 outpatient)
- 내장 reference: **ERAS Society bariatric protocol · MBSAQIP standards · ASMBS
  guidelines · KASMBS standards · KDA 저혈당 가이드 · post-bariatric
  hypoglycemia evidence**
- 외부 유료 API 0, 합성 cohort (n=400, 5개 술식 mix) 포함

---

## 디렉토리 구조

```
2026-05-27-2-bari-eras-recov-kor/
├── README.md                   # 이 문서
├── QA.md                       # 검수 로그
├── CHANGELOG.md                # 변경 기록
├── requirements.txt            # pinned versions
├── main.py                     # CLI (stdlib-only)
├── app.py                      # Streamlit dashboard
├── modules/
│   ├── __init__.py
│   ├── ingest.py               # synthetic gen + CSV load + de-id
│   ├── eras.py                 # ERAS bundle + MBSAQIP analog
│   ├── procedure.py            # 5+ 술식 stratification + O/E
│   ├── hypo.py                 # post-bariatric hypo + dumping 분포
│   ├── outpatient.py           # POD0-90 adherence + KM
│   └── report.py               # md / docx KPI 리포트
├── data/                       # synthetic CSVs (gen-data 로 생성)
│   ├── patients.csv
│   ├── intraop.csv
│   ├── pod0_3.csv
│   ├── pod4_30.csv
│   ├── pod90_outpt.csv
│   └── hypo_events.csv
└── reports/
    ├── bari_eras_recov_kor_ko.md
    ├── bari_eras_recov_kor_ko.docx       (python-docx 설치 시)
    ├── bari_eras_recov_kor_en.md
    └── bari_eras_recov_kor_en.docx       (python-docx 설치 시)
```

---

## 실행법

### CLI (stdlib-only — 가상환경 없이 동작)

```bash
cd "2026-05-27-2-bari-eras-recov-kor"

# 1) help
python3 main.py --help

# 2) synthetic data 생성 (n=400)
python3 main.py --gen-data --n 400 --seed 42

# 3) KPI 분석 출력 (콘솔)
python3 main.py --analyze --top 8

# 4) 리포트 생성 (md + docx; python-docx 없으면 md 폴백)
python3 main.py --report --lang ko --out reports/bari_eras_recov_kor_ko.docx

# 5) 일괄 (gen → analyze → report ko/en)
python3 main.py --all
```

### Streamlit dashboard

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
streamlit run app.py
```

브라우저에서 `http://localhost:8501` 접속.

---

## 검수 체크리스트

- [ ] Python 구문 체크: `python3 -c "import ast; ast.parse(open('main.py').read())"`
      가 main.py / app.py / modules/*.py 모두 통과
- [ ] `python3 main.py --help` 실행 가능 (표준 라이브러리만 import)
- [ ] `python3 main.py --gen-data` 가 6개 CSV 를 `data/` 에 생성
- [ ] CSV 로드 테스트: `python3 main.py --analyze` 가 stdlib만으로 동작
- [ ] `python3 main.py --report --lang ko` 가 `reports/*.md` 출력
- [ ] Streamlit app은 venv + requirements.txt 설치 후 `streamlit run app.py` 로 기동
- [ ] 모든 리포트/대시보드 상단에 "참고용·연구용" 디스클레이머 노출
- [ ] de-identification 명시 (SHA-256 trunc + date-shift)
- [ ] QA.md 에 결과 기록

---

## 출처 (참조 가이드라인)

- **ERAS Society bariatric protocol** (Stenberg E et al., World J Surg 2022)
- **MBSAQIP** (Metabolic and Bariatric Surgery Accreditation and Quality
  Improvement Program — ACS/ASMBS)
- **ASMBS** (American Society for Metabolic and Bariatric Surgery) guidelines
- **KASMBS** (대한비만대사외과학회), KSSO, KOSSO, KSPED 학술대회 호환 양식
- **KDA 2023 저혈당 가이드** (post-bariatric hypoglycemia 평가 분류)
- post-bariatric hypoglycemia evidence: Salehi M, Eisenberg D. (선택 참조)

> 본 도구는 위 가이드라인의 정신을 합성 데이터 데모로 옮긴 것이며, 원문 가이드
> 라인의 정확한 cutoff/criteria 를 모두 반영하지는 않습니다. **임상 적용 전에는
> 반드시 원문과 다학제 review를 거치십시오.**

---

## 의학적 안전성 디스클레이머

본 BariERASRecov-Kor 대시보드는 **합성 데이터 기반 perioperative quality
improvement 시연 / 연구용 도구**입니다. 임상 의사결정, 환자 개별 진료, 보험 청구
검증, 인증/평가 자료 제출에 직접 사용하지 마십시오. 실제 환자 데이터 적용 시에는
IRB 승인 · de-identification · 다학제 review · 외과 PI / 마취과 / 영양팀 / 내분비
내과 / QI 위원회 합의가 선행되어야 합니다. KASMBS / MBSAQIP 인증 자료 제출 형식
호환은 공식 자료 검증과 별개입니다.
