문제
- 전화 예약만 가능한 구조라 진료 시간에 통화가 몰리고, 원하는 날짜·시간을 바로 잡기 어렵다.
- 접수 창구에서 증상, 복용 중인 약, 알레르기, 과거 병력을 구두로 다시 설명해야 해서 누락과 오해가 생기기 쉽다.
- 고령 환자와 보호자는 작은 글씨와 복잡한 화면 때문에 온라인 예약을 시도하다 포기한다.
- 의원은 전화 응대와 현장 접수에 인력이 묶이고, 진료 전 확인할 정보가 정리되지 않아 진료 흐름이 끊긴다.
목표
- 어르신과 보호자가 큰 글씨·단순한 화면으로 온라인 예약과 사전 문진을 끝낼 수 있게 한다.
- 예약·문진 접수 결과를 문자/알림톡으로 자동 발송해 확인 전화와 안내 업무를 줄인다.
- 진료 전 환자 정보(증상, 복용 중인 약, 알레르기, 과거 병력, 방문 목적)가 정리된 상태로 진료를 시작하게 한다.
- 지표는 온라인 예약 건수 대비 전화 예약 건수 비율, 사전 문진 작성 완료율, 예약 후 실제 방문율(노쇼 비율), 알림 발송 성공률, 고령 사용자(보호자 포함) 예약 완료율로 재며, 목표 수치는 확정 필요.
출시 범위
- 포함: 홈페이지 정보 메뉴(진료 안내, 의료진 소개, 진료 시간표, 오시는 길, 공지사항, 건강 칼럼, 비급여 안내), 온라인 예약(날짜·시간 선택, 증상/진료 항목 선택), 사전 문진(기본 인적사항, 주요 증상, 복용 중인 약, 알레르기, 과거 병력, 방문 목적), 예약·문진 접수 결과 문자/알림톡 자동 발송, 관리자 화면(예약·문진 접수 목록·상세·처리, 콘텐츠 관리, 회원 관리).
- 포함: 개인정보 수집 동의, 보관·파기 기준, 마케팅 수신 동의와 수신거부 절차. (구체적 보관 기간과 문구는 확정 필요)
- 병행: 기존 전화 예약은 그대로 운영하고, 온라인 예약이 어려운 환자는 전화로 안내한다.
- 제외(범위 밖·다음 단계): 진료비 결제, 전자차트 연동, 건강검진 결과 조회.
역할과 권한
- 비회원 방문자: 정보 메뉴 열람, 온라인 예약 신청, 사전 문진 제출, 문의 폼 제출.
- 회원(환자·보호자): 회원가입·로그인 후 예약 내역과 문진 내역 조회, 예약 변경·취소, 마케팅 수신 동의·수신거부 설정.
- 관리자(운영자): 예약·문진 접수 목록·상세 조회와 처리(확정·변경·취소·완료), 회원 관리(목록·상세·상태), 콘텐츠 관리(공지사항·건강 칼럼·비급여 안내·배너), 문의 관리(목록·상세·답변), 알림 발송 이력 조회와 재발송.
- 관리자 계정·권한 관리와 연동 규격 관리, 차단 정책은 이번 출시 범위에 포함하지 않는다.
사용자 시나리오
- 김정순(고령 환자): 홈페이지에 접속해 큰 글씨 화면에서 날짜·시간을 고르고 증상/진료 항목을 선택해 예약한 뒤, 사전 문진을 작성해 제출하고 문자/알림톡으로 접수 결과를 확인한다.
- 박서준(보호자): 어르신을 대신해 회원가입·로그인 후 예약과 문진을 대신 처리하고, 예약 내역에서 변경·취소한다.
- 이수현(일반 환자): 감기 증상으로 진료 항목을 선택해 예약하고, 진료 안내·진료 시간표·오시는 길을 확인한다.
- 관리자: 예약·문진 접수 목록에서 신규 접수를 확인하고 상세에서 문진 내용을 검토한 뒤 확정 처리하고, 필요하면 알림을 재발송한다.
핵심 기능
- 온라인 예약: 날짜·시간 선택, 증상/진료 항목 선택, 예약 확정·변경·취소.
- 사전 문진: 기본 인적사항, 주요 증상, 복용 중인 약, 알레르기, 과거 병력, 방문 목적 입력과 제출.
- 알림: 예약·문진 접수 결과를 문자/알림톡으로 자동 발송, 발송 이력 조회와 재발송.
- 정보 안내: 진료 안내, 의료진 소개, 진료 시간표, 오시는 길, 공지사항, 건강 칼럼, 비급여 안내.
- 회원: 회원가입·로그인, 예약·문진 내역 조회, 마케팅 수신 동의·수신거부.
- 관리자: 예약·문진 접수 목록·상세·처리, 회원 관리, 콘텐츠 관리, 문의 관리, 알림 이력 관리.
기술 스택과 아키텍처
- PHP 8(프레임워크 없이), MySQL/MariaDB(utf8mb4, mysqli·prepared statement), Apache, 카페24 VPS(또는 카페24 웹호스팅) 배포.
- 서버 렌더링 기반 화면과 관리자 화면을 같은 코드베이스에서 분리된 경로로 운영한다.
- 문자/알림톡 발송은 외부 발송 API를 서버에서 호출하는 구조로 두고, 발송 결과를 이력으로 저장한다.
- 접근성 우선 화면(큰 글씨, 단순 흐름)을 기본 템플릿으로 두고 모든 사용자 화면에 적용한다.
전체 IA와 화면 흐름
- 사용자 화면: 홈 / 진료 안내 / 의료진 소개 / 진료 시간표 / 오시는 길 / 공지사항(목록·상세) / 건강 칼럼(목록·상세) / 비급여 안내 / 예약(날짜·시간 선택 → 증상/진료 항목 선택 → 인적사항 입력 → 확인·제출) / 사전 문진(작성 → 제출) / 문의(작성 → 제출) / 회원가입·로그인 / 마이페이지(예약 내역, 문진 내역, 수신 동의 설정).
- 관리자 화면(사용자 화면의 짝): 예약 관리(목록·상세·처리) / 문진 관리(목록·상세·처리) / 회원 관리(목록·상세·상태) / 콘텐츠 관리(공지사항·건강 칼럼·비급여 안내·배너) / 문의 관리(목록·상세·답변) / 알림 발송 이력(조회·재발송).
- 흐름: 예약·문진 제출 → 접수 저장 → 문자/알림톡 자동 발송 → 관리자 목록 확인 → 상세 검토 → 확정·변경·취소 처리 → 처리 결과 알림.
- 정보 메뉴는 관리자 화면 없음이 아니라 콘텐츠 관리 화면에서 운영자가 직접 올리고 수정한다.
데이터 모델
- 회원: 아이디, 이름, 연락처, 비밀번호(해시), 마케팅 수신 동의 여부, 가입일, 상태.
- 예약: 회원/비회원 구분, 환자 이름, 연락처, 예약 날짜, 예약 시간, 증상/진료 항목, 상태(접수·확정·변경·취소·완료), 접수일.
- 문진: 예약 연결 키, 기본 인적사항, 주요 증상, 복용 중인 약, 알레르기, 과거 병력, 방문 목적, 제출일.
- 콘텐츠: 공지사항, 건강 칼럼, 비급여 안내, 배너(제목, 본문, 게시 여부, 게시일).
- 문의: 이름, 연락처, 내용, 답변, 상태, 접수일.
- 알림 이력: 수신 연락처, 발송 유형(문자/알림톡), 발송 결과, 발송일, 재발송 여부.
API와 외부 연동
- 문자/알림톡 발송 API: 예약·문진 접수 결과와 처리 결과를 발송하고, 발송 결과를 알림 이력에 저장한다.
- 알림톡 발송을 위해 발신 프로필 등록과 템플릿 승인이 필요하며, 구체적 연동 규격과 발신 정보는 확정 필요.
- 문자 발송 실패 시 재발송 처리 흐름을 두고, 재발송 요청 건수를 지표로 기록한다.
- 진료비 결제, 전자차트 연동, 건강검진 결과 조회 API는 이번 범위에 포함하지 않는다.
UI·UX 요구사항
- 큰 글씨와 충분한 터치 영역을 기본으로 하고, 화면 흐름을 단순하게 유지한다.
- 예약과 문진은 단계별로 나누고, 각 단계에서 현재 위치와 다음 동작을 명확히 안내한다.
- 입력 항목에는 쉬운 말 라벨과 예시를 붙이고, 오류 메시지는 원인과 수정 방법을 함께 보여 준다.
- 보호자가 대신 예약·문진할 수 있음을 화면에서 안내하고, 전화 예약 병행 안내 문구를 노출한다.
보안과 개인정보
- 인적사항·병력 등 민감 정보를 받으므로 수집 동의, 보관·파기 기준, 마케팅 수신 동의와 수신거부 절차를 마련한다. (구체적 보관 기간과 문구는 확정 필요)
- 비밀번호는 해시로 저장하고, 모든 DB 접근은 mysqli prepared statement로 처리한다.
- 관리자 화면은 로그인한 관리자만 접근하도록 하고, 개인정보 조회·처리 이력을 남긴다.
- 통신 구간 암호화(HTTPS)를 적용하고, 개인정보 처리방침과 수신거부 안내를 화면에 게시한다.
비기능 요구사항
- 어르신 사용자를 기준으로 주요 화면의 글자 크기와 대비를 확보해 가독성을 유지한다.
- 예약·문진 제출과 관리자 목록 조회가 일반적인 동시 접속 환경에서 지연 없이 동작하도록 한다. (구체적 응답 시간 목표는 확정 필요)
- 문자/알림톡 발송 실패가 발생해도 접수 데이터는 유실되지 않도록 저장과 발송을 분리한다.
- 모바일과 데스크톱에서 동일한 흐름으로 동작하도록 반응형으로 구현한다.
구현 계획
- 1단계: 정보 메뉴(진료 안내, 의료진 소개, 진료 시간표, 오시는 길, 공지사항, 건강 칼럼, 비급여 안내)와 관리자 콘텐츠 관리 화면.
- 2단계: 회원가입·로그인, 마이페이지(예약·문진 내역, 수신 동의 설정).
- 3단계: 온라인 예약(날짜·시간 선택, 증상/진료 항목 선택)과 관리자 예약 관리 화면.
- 4단계: 사전 문진과 관리자 문진 관리 화면, 문의 폼과 관리자 문의 관리 화면.
- 5단계: 문자/알림톡 자동 발송과 알림 이력 관리, 접근성 점검과 QA.
수용 기준과 QA
- 어르신 사용자가 도움 없이 예약과 문진을 끝낼 수 있는지 확인한다.
- 예약·문진 제출 후 문자/알림톡이 발송되고 알림 이력에 기록되는지 확인한다.
- 관리자가 예약·문진 접수 목록·상세에서 확인하고 확정·변경·취소 처리할 수 있는지 확인한다.
- 회원가입·로그인, 예약·문진 내역 조회, 마케팅 수신 동의·수신거부가 정상 동작하는지 확인한다.
- 개인정보 수집 동의와 처리방침, 수신거부 안내가 화면에 노출되는지 확인한다.
배포와 운영
- 카페24 VPS(또는 카페24 웹호스팅)에 Apache·PHP 8·MySQL/MariaDB 환경으로 배포한다.
- 운영자가 공지사항, 건강 칼럼, 비급여 안내, 배너를 직접 올리고 수정할 수 있게 한다.
- 예약·문진 접수와 알림 발송 이력을 관리자 화면에서 확인하고, 실패 건은 재발송한다.
- 개인정보 보관·파기 기준에 따라 정기적으로 파기하고, 처리방침 변경 시 화면에 반영한다. (구체적 주기와 문구는 확정 필요)