이메일 중심의 농촌 지역 의료 보고 시스템 개발
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 의료 종사자: 이메일 기반의 간단한 의료 보고 시스템 활용
- 프론트엔드/백엔드 개발자: Node.js, React, Supabase 기반의 실무 프로젝트 참고
- 저소득층 지역 주민: 스마트폰 앱 없이도 의료 정보를 쉽게 전달할 수 있음
- 난이도: 중급 (API 연동, 데이터베이스 설계, 지도 처리 기술 필요)
핵심 요약
- 이메일 기반 의료 데이터 수집 시스템:
Postmark
의 inbound webhook으로 이메일을 자동 파싱하여Supabase
에 저장 - 자동응답 기능:
Haversine Formula
로 위치 기반 병원 추천,Postmark
의 transactional stream으로 사용자에게 응답 전달 - 의료 관리 대시보드:
React
기반의 간단한 UI로 의료 담당자에게 환자 정보 및 대응 상태 실시간 제공
섹션별 세부 요약
1. 시스템 개요
- 이메일을 통해 의료 신고를 수집, 처리, 대응하는 3단계 프로세스
- Postmark의 inbound email stream을 활용한 이메일 수집
- Supabase를 중심으로 데이터 저장 및 관리
- React 기반의 대시보드로 의료 담당자에게 실시간 정보 제공
2. 기술 스택
- 백엔드:
Node.js + Express
- 이메일 처리:
Postmark
(Inbound Webhook + Transactional Stream) - 데이터베이스:
Supabase
(PostgreSQL + RLS) - 프론트엔드:
React
- 지오로케이션:
OpenStreetMap
+Haversine Formula
3. 이메일 처리 및 파싱
- 사용자가 지정된 이메일 주소로 증상 및 위치 정보를 이메일로 전송
Node.js
백엔드에서 증상 키워드 추출 및 주소 패턴 인식 처리- 파싱된 데이터는
medical_reports
테이블에 저장
4. 위치 처리 및 병원 추천
- geocoding API로 주소를 좌표로 변환
OpenStreetMap
을 통해 병원/의료 시설 정보 검색- Haversine Formula로 환자와 병원 간 거리 계산
- 가장 가까운 3개 병원 정보를 자동응답에 포함
5. 자동응답 시스템
- Postmark의 transactional stream으로 사용자에게 응답 이메일 전송
- 응답 내용:
- ✅ 감지된 증상
- 🩺 즉각적인 대처 조언
- 🏥 가장 가까운 의료 시설 정보
- ⚠️ 긴급 상황 시 전문 상담 권장
6. 의료 대시보드 UI
- React 기반의 간단한 테이블 UI로 환자 정보 관리
- 테이블 기능:
- 👤 환자 이름, 📧 이메일, 📝 증상, 📍 위치, 🕒 타임스탬프, 📚 대응 내역
- Dropdown 메뉴로 의료 담당자 할당 가능
- 경고 아이콘으로 긴급 상황을 표시
7. Supabase 데이터베이스 구조
medical_reports
– 수집된 이메일 데이터 저장responders
– 의료 담당자 및 관리자 정보 저장auto_reply_emails
– 자동응답 이메일 기록
8. 개발 과정에서의 주요 문제점
- Row-Level Security (RLS)로 인한 INSERT/UPDATE 실패
- Service Role 기반의 정책 정의로 해결
결론
- 실무 적용 팁: 이메일 기반의 간단한 의료 보고 시스템은 스마트폰 앱이 없는 농촌 지역에 적합
- 기술 스택:
Postmark
+Supabase
+React
를 활용한 최소한의 기술적 구현 - 오픈소스: GitHub 링크를 통해 누구나 프로젝트 참조 가능 (
🔗 https://github.com/Dishebh/postmark-rural-health
)