Public Search · React 19 · MUI · Emotion · Tailwind

헌혈 조건 검색

약물·질병·예방접종·방문 지역 등 헌혈 조건을 키워드 하나로 검색하고, 기준 날짜를 넣으면 헌혈 가능일을 자동으로 계산해 주는 검색 도구. 데이터는 대한적십자사 혈액관리본부의 공지/안내를 JSON으로 정리한 것이다.

용도
헌혈 참가자의 사전 조건 확인 (공개 서비스)
스택
React 19 · Material-UI v5 + Emotion · Tailwind CSS · React Context (테마)
백엔드
Firebase Hosting (정적 JSON 데이터셋)
라이선스
GPL-2.0

1. 화면

헌혈 조건 검색 — 카테고리 필터(전체/질병/지역/약물/백신/시술/기타), 결과 리스트
초기 화면 — 7개 카테고리 필터, 결과 리스트(질병/지역/약물/백신/시술/기타). Web Worker로 정적 JSON 색인
헌혈 조건 검색 — 검색어 입력 후 필터링된 결과
검색 활성화 — 키워드(예: "간") 입력 시 매칭 결과만 표시. 카테고리 필터와 동시 적용
헌혈 조건 검색 — 결과 카드 확장 상세
상세 확장 — 결과 카드의 액션 영역 클릭으로 가능 여부 / 제한 기간 / 조건 설명 펼침

2. 핵심 기능

3. 데이터 스키마

조건 데이터를 표준 JSON으로 관리한다. 항목은 다음 필드를 가진다.

{
  id: "medication-002",
  category: "medication",          // medication / disease / vaccination / region*
  name: "비스테로이드성 소염진통제 (NSAIDs)",
  keywords: ["소염진통제", "이부프로펜", "나프록센"],
  description: "...",
  allowable: false,                 // true면 즉시 헌혈 가능
  restriction: {
    type: "period",                 // period / permanent / after_recovery / condition_check / period_multi
    periodValue: 1,
    periodUnit: "day",
    condition: "복용 당일 헌혈 불가"
  }
}

지역 데이터는 별도 필드를 가진다 — 대륙, 위험/예외 지역, 국가별 규칙(countryName·ruleType·note·areas). 예를 들어 네팔은 수도·고지대를 제외하면 3년 제한이지만 카트만두·히말라야 트레킹은 예외다.

4. 검색 / 필터링 로직

5. 면책

본 서비스는 대한적십자사 혈액관리본부의 자료를 기반으로 한 일반 참고용이다. 법적·의학적 효력이 없으며, 가장 정확한 판단은 헌혈의 집 현장 문진에서 이루어진다.

6. 레포지토리