콘텐츠로 이동

AllergyInsight

v3.0.0 Active MIT License

SGTi-Allergy Screen PLUS 기반 알러지 진단 및 처방 권고 시스템

AllergyInsight는 알러지 검사 결과를 분석하여 의료진에게는 근거 기반 처방 권고를, 환자에게는 맞춤형 생활 가이드를 제공하는 통합 헬스케어 플랫폼입니다. AI 기반 논문 분석, 알러젠 트렌드 대시보드, 뉴스레터 시스템을 포함합니다.


핵심 기능

기능 설명
진단 입력 SGTi-Allergy Screen PLUS 검사 결과 입력 및 관리
처방 권고 알러젠별 회피 식품, 대체 식품, 주의사항 자동 생성
임상 보고서 GRADE 근거 기반 SOAP Note 형식 보고서, ICD-10 코드
환자 관리 환자 등록, 진단 이력 관리, 동의서 처리
논문 검색 PubMed/Semantic Scholar/Europe PMC/OpenAlex 통합 검색
Q&A 시스템 논문 기반 질의응답 (RAG)
기능 설명
내 진단 결과 검사 결과 조회 및 상세 분석
식품 가이드 회피/대체 식품, 교차반응 정보
응급 대처 아나필락시스 대응, 에피펜 사용법
생활 관리 알러젠별 일상 관리 팁
키트 등록 검사 키트 시리얼/PIN 등록
기능 설명
사용자 관리 사용자 목록, 역할 변경, 통계
알러젠 관리 알러젠 마스터 데이터 CRUD
논문 관리 논문 수집 현황, 알러젠 링크
구독자 관리 뉴스레터 구독자 관리, 통계
분석 관리 트렌드 집계, 키워드/치료법/역학 추출
기능 설명
트렌드 대시보드 논문+뉴스+치료법+역학 종합 트렌드
AI 상담 RAG 기반 알러지 질의응답
AI 인사이트 알러젠별 분석 보고서, 트렌드
임상시험 검색 ClinicalTrials.gov 연동
뉴스레터 이메일 인증 기반 구독/자동 발송

시스템 구조

graph TB
    subgraph Client["Client Layer"]
        PRO["Professional<br/>/pro/*"]
        CON["Consumer<br/>/app/*"]
        ADM["Admin<br/>/admin/*"]
        PUB["Analytics / AI Portal<br/>/analytics/* /ai/*"]
    end

    subgraph Nginx["API Gateway (Nginx :4040)"]
        NG["Reverse Proxy + SPA"]
    end

    subgraph Backend["Backend (FastAPI :9040)"]
        API["REST API<br/>/api/pro, /api/consumer<br/>/api/admin, /api/public<br/>/api/ai, /api/subscribe"]
        SCH["Scheduler<br/>(APScheduler)"]
    end

    subgraph Data["Data Layer"]
        PG["PostgreSQL"]
        CH["ChromaDB<br/>(Vector DB)"]
    end

    subgraph External["External"]
        PM["PubMed"]
        SS["Semantic Scholar"]
        GN["Google/Naver News"]
        GM["Gemini API"]
        LM["Local LLM"]
    end

    PRO & CON & ADM & PUB --> NG
    NG --> API
    API --> PG & CH
    SCH --> PG
    API --> PM & SS & GM & LM
    SCH --> GN & GM

기술 스택

Backend

기술 버전 용도
Python 3.10+ 런타임
FastAPI 0.115 Web Framework
SQLAlchemy 2.0 ORM (asyncpg + psycopg2)
PostgreSQL 15+ Database
ChromaDB 0.5+ Vector DB (RAG)
APScheduler 3.10+ 뉴스/뉴스레터 스케줄러
Gemini API 뉴스 분석, RAG 답변
Local LLM 번역, 알러젠 추출

Frontend

기술 버전 용도
React 18 UI Framework
Vite 5 Build Tool
React Router 6 Routing
Recharts 2.10 차트/시각화

Infrastructure

기술 용도
Docker Compose 3-서비스 오케스트레이션
Nginx 리버스 프록시 + SPA + Wiki
GitHub Actions CI/CD (Self-hosted Runner)

빠른 시작

# 1. 저장소 클론
git clone https://github.com/bluevlad/AllergyInsight.git
cd AllergyInsight

# 2. 환경 변수 설정
cp .env.example .env

# 3. 서비스 시작
docker compose up -d

# 4. 접속
# Frontend: http://localhost:4040
# Wiki: http://localhost:4040/wiki/
# API Docs: http://localhost:9040/docs

개발 현황

알러젠 트렌드 분석

Phase 내용 상태
Phase 1 논문 기반 알러젠 언급률 트렌드 분석 ✅ 완료
Phase 2 치료법 엔티티 추출 및 트렌드 분석 ✅ 완료
Phase 3 뉴스 기반 알러젠 트렌드 + 종합 통합 API ✅ 완료
Phase 4 역학 데이터 추출 (유병률/발병률/환자수) ✅ 완료
Phase 5 알러젠 종합 트렌드 대시보드 ✅ 완료

프로젝트 구조

AllergyInsight/
├── backend/
│   └── app/
│       ├── api/              # FastAPI 라우터 + Public API
│       ├── auth/             # 인증 (JWT, Google OAuth, Email)
│       ├── admin/            # 관리자 콘솔 API
│       ├── core/             # 공통 모듈 (Auth, Allergen)
│       ├── professional/     # 의료진 서비스
│       ├── consumer/         # 환자 서비스
│       ├── scheduler/        # 뉴스/뉴스레터 스케줄러
│       ├── database/         # DB 모델, 시드, 마이그레이션
│       └── services/         # 비즈니스 로직 (39+ 서비스)
├── frontend/
│   └── src/
│       ├── apps/
│       │   ├── admin/        # 관리자 콘솔
│       │   ├── analytics/    # 트렌드 분석 (공개)
│       │   ├── professional/ # 의료진 앱
│       │   └── consumer/     # 환자 앱
│       └── pages/            # 공개 페이지
├── wiki/                     # MkDocs 위키 (이 사이트)
├── e2e/                      # E2E 테스트
└── docker-compose.yml