Questionnaire 도메인 요구사항 명세서
1. 기능 요구사항
1.1 설문 관리
백엔드 요구사항
- QST-FR-BE-001: 사용자는 앱을 사용하는 여정 중 총 4회의 수면건강조사(설문)를 시행하여 수면과 관련한 본인의 건강 상태를 점검할 수 있다.
- QST-FR-BE-002: 사용자는 2회차와 3회차 설문에 대해 '나중에 하기'를 선택할 수 있다.
- QST-FR-BE-003: 설문은 다음과 같은 종류와 진행 주에 따라 제공되어야 한다:
| 순서 | 진행 시점 | 포함 설문 및 순서(SDM-23) | 스킵 가능 여부 |
|---|---|---|---|
| 1 | 회원 가입 시 | 1. ISI 2. DBAS-16 3. WIS 4. PSS 5. GAD-7 6. PHQ-9 | 불가능 |
| 2 | 5주차 (29-35일 접속 중 최초 1회) | 1. ISI 2. DBAS-16 3. WIS 4. PSS 5. GAD-7 6. PHQ-9 | 가능 |
| 3 | 9주차 (57-63일 접속 중 최초 1회) | 1. ISI 2. DBAS-16 3. WIS 4. PSS 5. GAD-7 6. PHQ-9 | 가능 |
| 4 | 사용 종료 후 (91일차 이후 접속 중 최초 1회) | 1. ISI 2. DBAS-16 3. WIS 4. PSS 5. GAD-7 6. PHQ-9 | 불가능 |
1.2 설문 버전 관리
백엔드 요구사항
- QST-FR-BE-004: 시스템은 설문의 버전을 관리(생성/수정/삭제)할 수 있어야 한다.
- QST-FR-BE-005: 시스템은 설문의 버전 히스토리를 관리해야 한다.
- QST-FR-BE-006: 시스템은 설문의 다국어 지원을 위해 언어별 문항과 선택지를 관리해야 한다.
- QST-FR-BE-007: 시스템은 활성화된 설문 버전이 항상 유일하도록 관리해야 한다.
- QST-FR-BE-008: 시스템은 설문 메타데이터 변경 이력을 불변하게 저장해야 한다.
- QST-FR-BE-009: 시스템은 설문 버전이 변경되어도 이전 버전 응답 데이터의 분석 결과를 일관되게 보존해야 한다.
모바일 요구사항
TBD
1.3 설문 진행 순서 및 조건
백엔드 요구사항
- QST-FR-BE-010: 사용자는 아래 순서에 따라 설문을 진행해야 한다:
- ISI (불면증 심각도 지수)
- DBAS-16 (수면에 대한 비합리적 신념)
- WIS (WELT Insomnia Scale)
- PSS (지각된 스트레스 척도)
- GAD-7 (불안 척도)
- PHQ-9 (우울 척도)
- QST-FR-BE-011: 이전 설문을 모두 완료해야 다음 설문으로 진행할 수 있다.
- QST-FR-BE-012: 설문 순서는 사용자에 의해 임의로 바뀔 수 없다.
1.4 설문 이탈 후 재진입
백엔드 요구사항
- QST-FR-BE-013: 사용자가 설문 중 앱을 백그라운드로 보내거나 종료해도 데이터는 유지되어야 한다.
- 단, Backend로 제출된 설문만 유지된다.
- 예를 들어, ISI를 제출하고 DBAS-16을 진행 하던 중에 종료를 하면 ISI의 데이터만 유지되고 DBAS-16은 새롭게 진행해야 한다.
- QST-FR-BE-014: 사용자의 설문 응답 데이터는 설문 단위로 저장되어야 한다. 즉, 하나의 설문을 모두 마쳤을 때 저장되도록 해야 한다.
- QST-FR-BE-015: 설문 도중의 중간 단계 응답은 저장되지 않아야 한다.
모바일 요구사항
TBD
1.5 설문 나중에 하기
백엔드 요구사항
- QST-FR-BE-016: '나중에 하기' 기능은 2회차(5주차), 3회차(9주차) 설문에만 제공되어야 한다.
- QST-FR-BE-017: 1회차(가입 시) 및 4회차(종료 후) 설문에는 해당 기능이 제공되지 않아야 한다.
- QST-FR-BE-018: 나중에 하기 가능 시점:
- 2회차 설문: 29일~35일 기간 중 언제든지 '나중에 하기' 선택 가능
- 3회차 설문: 57일~63일 기간 중 언제든지 '나중에 하기' 선택 가능
- QST-FR-BE-019: 사용자가 '나중에 하기'를 선택하면, 해당 설문은 설문이 앱에 노출된 시점을 Day 1로 하여 Day 7의 23시59분59초까지 유효해야 한다.
- QST-FR-BE-020: 이 기간 내 앱에 다시 접속하면, 연기했던 설문을 다시 시작할 수 있어야 한다.
- QST-FR-BE-021: 7일이 지나면 해당 설문은 더 이상 참여할 수 없으며, 설문 기회는 소멸되어야 한다.
- QST-FR-BE-022: 해당 기한을 넘어섰다면 7일이 지나지 않았더라도 더 이상 미룬 설문을 나중에 시행할 수 없어야 한다.
1.6 설문 응답 관리
백엔드 요구사항
- QST-FR-BE-023: 다음 유형의 설문 응답 데이터를 처리할 수 있어야 한다:
- 선형 척도(Linear scale) 응답: 0-10 범위의 숫자 값
- 범주형 척도(Categorical scale) 응답: 문자열 또는 코드화된 응답 값
- 시간 정보(Time) 응답: 시간/분 형태의 데이터
- 단일 라인 텍스트(SingleLine Text) 응답: 최대 50자 길이의 문자열
- 다중 라인 텍스트(MultiLine Text) 응답: 최대 500자 길이의 문자열
- QST-FR-BE-024: 각 응답 유형에 대한 기본값이 설정되어야 한다:
- 선형 척도 기본값: 5
- 시간 정보 기본값: 0시간 0분
모바일 요구사항
TBD
1.7 설문 진행 시각화
백엔드 요구사항
- QST-FR-BE-025: 클라이언트에 제공해야 한다. (제출된 응답 기준)
모바일 요구사항
TBD
1.8 설문 소개 정보
백엔드 요구사항
- QST-FR-BE-026: 설문에 대한 메타데이터를 제공해야 한다:
- 예상 소요 시간(예: 약 3~5분)
- 설문 목적 및 데이터 활용 방법
- 권장 환경 및 진행 방법
- 응답 시 유의사항
- QST-FR-BE-027: 각 설문마다 위 정보가 다국어로 제공되어야 한다.
모바일 요구사항
TBD
1.9 설문 답변 제출
백엔드 요구사항
- QST-FR-BE-028: 제출된 전체 설문 응답 데이터의 유효성을 검사해야 한다.
- QST-FR-BE-029: 유효하지 않은 응답이 있을 경우, 해당 항목에 대한 오류 정보를 반환해야 한다.
- QST-FR-BE-030: 유효한 설문 응답 데이터를 저장하고 성공 응답을 반환해야 한다.
- QST-FR-BE-031: 제출 완료된 설문은 다시 수정하거나 재응답할 수 없도록 해야 한다.
모바일 요구사항
TBD
1.10 설문 결과 피드백
백엔드 요구사항
- QST-FR-BE-032: 사용자가 제출한 설문 결과를 분석하고 점수를 계산해야 한다.
- QST-FR-BE-033: 각 설문 유형별로 정의된 규칙에 따라 결과 점수와 분석 내용을 생성해야 한다.
- QST-FR-BE-034: 사용자의 설문 결과 이력을 관리하고 회차별 데이터를 제공해야 한다.
- QST-FR-BE-035: 해당 회차의 모든 설문 결과를 PDF로 변환할 수 있는 API를 제공해야 한다. (개발 후순위)
- QST-FR-BE-036: 설문 결과 조회 응답에는 각 설문의 Score 값이 어떤 종류(Sum, Average 등)인지 포함되어야 한다.
- QST-FR-BE-037: 사용자가 특정 설문 회차의 모든 설문을 완료했음을 알리는 API를 제공해야 한다.
- QST-FR-BE-038: 해당 API는 완료된 회차의 상태를 변경하고, 해당 회차의 각 설문 결과 요약(점수, 점수 레벨 및 번역된 설명 포함)과 함께 이전 회차들을 포함한 누적 점수 추이 차트 데이터를 반환해야 한다.
- 차트 데이터에는 각 설문 유형별 점수와 함께
ScoreLevel및ScoreLevelTranslation정보가 포함되어야 한다.
- 차트 데이터에는 각 설문 유형별 점수와 함께
- QST-FR-BE-039: 사용자가 특정 회차까지의 누적 설문 결과를 조회할 수 있는 API를 제공해야 한다.
- 누적 결과 조회 시 요청한 회차까지 완료된 모든 설문 결과가 반환되어야 한다.
- 예: 3회차 누적 결과 요청 시 1회차, 2회차, 3회차의 완료된 설문 결과를 모두 포함해야 한다.
모바일 요구사항
TBD
1.11 최종 보고서
백엔드 요구사항
- QST-FR-BE-040: 사용자가 치료 주기(91일 이상)를 완료하면 최종 보고서 데이터를 생성해야 한다.
- QST-FR-BE-041: 최종 보고서에는 모든 회차의 설문 결과 및 요약 정보가 포함되어야 한다.
- QST-FR-BE-042: 모든 회차의 모든 설문 결과를 PDF로 변환할 수 있는 API를 제공해야 한다.
모바일 요구사항
TBD
1.12 설문 결과 차트
백엔드 요구사항
- QST-FR-BE-043: 각 설문의 회차별 결과 데이터를 제공해야 한다.
- QST-FR-BE-044: 미완료된 회차(나중에 하기를 선택한 회차)를 식별할 수 있는 정보를 제공해야 한다.
- QST-FR-BE-045: 특정 회차에만 제공되는 설문(예: DBAS-16은 1,4회차에만 제공)에 대한 메타데이터를 제공해야 한다.
모바일 요구사항
TBD
1.13 설문 스케쥴링
백엔드 요구사항
- QST-FR-BE-046: 사용자별 설문 일정을 관리하고, 현재 진행해야 할 설문 회차와 설문 종류에 대한 정보를 API로 제공해야 한다.
- QST-FR-BE-047: 특정 사용자의 설문 진행 상태를 조회할 수 있는 API를 제공해야 한다.
- QST-FR-BE-048: 설문 완료 상태를 추적하고 다음 설문 시점을 계산해야 한다.
데이터 일관성 보장
- QST-FR-BE-049: 번들에 연결된 라운드 정의에서 roundNumber와 설문 종류의 매핑은 시스템 운영 중 변경되지 않아야 한다.
- QST-FR-BE-050: 이는 캐싱 로직과 사용자 진행 상태 추적의 정확성을 보장하기 위함이다.
다음 진행할 설문 라운드 조회 로직
- 성능 최적화를 위해 사용자별 결과를 캐시에서 우선 조회해야 한다.
- 지정된 번들에 연결된 모든 라운드 정의를 roundNumber 순서대로 조회해야 한다.
- 해당 사용자의 현재 사이클에서의 모든 응답 데이터를 조회해야 한다.
- 라운드별 완료 상태와 미완료 설문 목록을 매핑하여 현재 진행 상황을 파악해야 한다.
- 사용자의 현재 Day Index와 라운드 정의를 기반으로 다음 진행할 라운드를 결정해야 한다.
- 조회 결과를 캐시에 저장하여 후속 요청 시 성능을 향상시켜야 한다.
모바일 요구사항
TBD
1.14 개인정보 및 GDPR 데이터 처리
백엔드 요구사항
- QST-FR-BE-051: 시스템은 GDPR 및 국내 개인정보보호법을 준수하는 설문 데이터 처리 메커니즘을 구현해야 한다.
- QST-FR-BE-052: 데이터 아카이빙 처리:
- 시스템은 비활성 사용자의 데이터를 자동으로 식별하고 아카이빙하는 배치 작업을 구현해야 한다.
- 비활성 사용자 기준: 최근 6개월간 앱에 로그인하지 않았거나, 서비스 이용 종료 후 6개월이 경과한 사용자.
- 아카이빙 대상 데이터: 설문 응답, 설문 결과 분석 내용, 설문 메타데이터 등 모든 설문 관련 데이터.
- 아카이빙은 다음과 같은 단계로 진행된다:
- 비활성 사용자 식별 및 'inactive' 플래그 설정 (6개월 경과 시점)
- 주 데이터베이스에서 데이터 추출 및 콜드 스토리지로 이전 (비활성 상태 1년 경과 시점)
- 콜드 스토리지 데이터 압축 및 암호화
- 주 데이터베이스에서 데이터 삭제 (단, 사용자 식별 정보 및 최소한의 메타데이터는 유지)
- QST-FR-BE-053: 데이터 복원 메커니즘:
- 시스템은 아카이빙된 사용자가 다시 서비스를 이용할 경우 자동 복원 프로세스를 구현해야 한다.
- 복원 프로세스는 다음 단계로 이루어진다:
- 사용자 로그인 시 아카이빙 상태 확인
- 아카이빙된 데이터가 있는 경우 콜드 스토리지에서 데이터 추출
- 데이터 복호화 및 압축 해제
- 주 데이터베이스로 데이터 복원
- 사용자에게 데이터 복원 알림 제공
- 복원된 데이터는 이전 설문 참여 이력과 현재 참여 이력을 명확히 구분할 수 있도록 메타데이터를 포함해야 한다.
- QST-FR-BE-054: 개인정보 파기 및 익명화:
- 사용자 탈퇴 또는 데이터 삭제 요청 시 시스템은 다음과 같은 프로세스를 수행해야 한다:
- 주 데이터베이스와 콜드 스토리지에서 해당 사용자의 개인 식별 정보 삭제
- 설문 데이터는 익명화하여 통계 및 연구 목적으로 보관 (사용자가 완전 삭제를 요청한 경우 제외)
- 삭제 작업 수행 기록을 감사 로그에 저장
- 데이터 보관 기간(5년) 경과 후 자동 삭제 프로세스를 구현해야 한다.
- 사용자 탈퇴 또는 데이터 삭제 요청 시 시스템은 다음과 같은 프로세스를 수행해야 한다:
- QST-FR-BE-055: 데이터 추출 및 이동성:
- 시스템은 사용자가 요청할 경우 자신의 모든 설문 데이터를 표준 형식(JSON, CSV)으로 추출할 수 있는 API를 제공해야 한다.
- 데이터 추출 요청은 적절한 인증을 거친 후에만 처리되어야 한다.
- 추출된 데이터는 압축 및 암호화하여 안전하게 전송되어야 한다.
- QST-FR-BE-056: 관리자 도구:
- 시스템은 데이터 보관 정책을 관리하고 모니터링할 수 있는 관리자 도구를 제공해야 한다.
- 관리자 도구는 다음 기능을 포함해야 한다:
- 아카이빙 대상 사용자 목록 조회 및 수동 아카이빙 실행
- 아카이빙 작업 로그 및 상태 모니터링
- 데이터 복원 내역 조회 및 수동 복원 실행
- 데이터 보관 정책 설정 (보관 기간, 비활성 기준 등)
모바일 요구사항
TBD
1.15 부가 정보 표시
백엔드 요구사항
- QST-FR-BE-057: 특정 문항에서 사용자가 특정 답변을 선택했을 때 추가 정보를 표시할 수 있어야 한다.
- QST-FR-BE-058: 설문 전체 점수가 특정 기준 이상일 때 추가 정보를 표시할 수 있어야 한다.
모바일 요구사항
- QST-FR-FE-001: 특정 질문에서 사용자가 특정 답변을 선택했을 때 팝업(BottomSheet 등) UI로 부가 정보를 제공할 수 있어야 한다.
- QST-FR-FE-002: 설문 전체 점수가 기준 이하 혹은 이상일 때에도 부가 정보를 제공할 수 있어야 한다.
2. 비기능 요구사항
2.1 다국어 지원
백엔드 요구사항
- QST-NFR-001: 간지, 설문 제목, 설문 설명, 설문 문항은 모두 독일어/영어/한국어로 Backend에서 제공해야 한다.
- QST-NFR-002: 각 설문에 대한 결과 문구는 한국어와 독일어로 제공해야 한다:
| 설문 | 한국어 결과 문구 | 독일어 결과 문구 |
|---|---|---|
| DBAS-16 | 수면 태도 검사를 완료했어요! | Deine Einstellungen und Überzeugungen zum Schlaf wurden untersucht! |
| GAD-7 | 불안 증상 점검을 완료했어요! | Dein aktuelles Angstniveau wurde erfasst! |
| ISI | 수면 문제 점검을 완료했어요! | Dein Schweregrad der Schlaflosigkeit wurde ermittelt! |
| PHQ-9 | 우울증 점검을 완료했어요! | Das zeigt dein Ergebnis zu deiner Stimmung. |
| PSS | - | Dein aktuelles Stresslevel wurde ermittelt! |
| WIS | - | Dein Schweregrad der Schlaflosigkeit (WIS) wurde ermittelt! |
2.2 설문 점수 및 분석 기준
백엔드 요구사항
ISI (Insomnia Severity Index)
- QST-NFR-003: 그래프명: Schweregrad der Schlaflosigkeit
- QST-NFR-004: 총점: 28점 (문항당 0~4점 부여)
- QST-NFR-005: 다음 기준으로 사용자 결과를 분류하고 해당 피드백을 제공해야 한다:
| 점수 범위 | 라벨 - 결과 페이지 | 라벨 - 내 차트 | 내 차트 > 지표 설명 | 피드백 |
|---|---|---|---|---|
| 0~7점 | 불면 증상이 거의 없음 Keine klinisch relevante Schlaflosigkeit | 수면 상태 좋음 Gesunder und erholsamer Schlaf | 해당 범위는 불면의 증상이 거의 없거나 매우 적은 경우를 나타냅니다. 일반적으로 수면에 대한 걱정이 낮은 수준입니다. Dieser Bereich zeigt, dass du aktuell einen stabilen und erholsamen Schlaf hast. Es gibt keine oder nur sehr geringe Anzeichen von Schlafproblemen. | 수면에 거의 문제가 없는 편입니다. 그러나 일상적인 수면 습관을 유지하고 스트레스를 관리하는 것이 중요합니다. 다만 이 점검 결과가 절대적인 것은 아니며 자세한 사항은 의료진과 상의하세요. Super! Dein Schlaf ist aktuell stabil. Falls du trotzdem gelegentlich Probleme hast, kannst du mit einer guten Schlafhygiene vorbeugen – zum Beispiel mit regelmäßigen Schlafenszeiten und einer entspannten Abendroutine. |
| 8~14점 | 불면 증상이 가볍게 있음 Leichte Schlaflosigkeit | 경도 불면증 의심 Es gibt Hinweise auf leichte Schlafprobleme. | 해당 범위는 경미한 불면 증상이 있는 경우를 나타냅니다. 잠을 자는 데 어려움을 겪을 수 있으며, 수면에 대한 걱정이 다소 높을 수 있습니다. Gelegentliche Ein- oder Durchschlafprobleme mit nur geringer Beeinträchtigung im Alltag. | 경미한 불면 증상이 나타날 수 있습니다. 정기적인 수면 습관 유지와 스트레스 관리가 필요합니다. 만약 문제가 계속된다면 의료 전문가에게 상담해 보세요. Es gibt Anzeichen für leichte Schlafprobleme. Dein Schlaf ist leicht beeinträchtigt, aber mit kleinen Veränderungen kannst du ihn spürbar verbessern. Ein fester Schlafrhythmus und entspannende Abendroutinen helfen dabei. |
| 15~21점 | 불면 증상이 중간 정도 있음 Mittelgradige Schlaflosigkeit | 중등도 불면증 의심 Mittelgradige Schlaflosigkeit | 해당 범위는 중등도 불면 증상이 있는 경우를 나타냅니다. 수면에 대한 심각한 걱정이 있을 수 있습니다. Regelmäßige Schlafprobleme, oft mit spürbarer Tagesmüdigkeit oder verminderter Erholung. | 중등도의 불면 증상이 나타날 수 있습니다. 의료 전문가의 도움이 필요한 상황입니다. 정기적인 수면 습관 조절과 스트레스 관리가 필수입니다. Dein Ergebnis zeigt, dass du unter anhaltenden Schlafproblemen leidest. Wahrscheinlich merkst du schon Auswirkungen im Alltag. Bleib dran – durch regelmäßige Schlafenszeiten, schlaffördernde Gewohnheiten und gezielte Strategien wirst du Veränderungen bemerken. |
| 22~28점 | 불면 증상이 심하게 있음 Schwere Schlaflosigkeit | 심각한 불면증 의심 Schwere Schlaflosigkeit | 해당 범위는 심각한 불면 증상이 있는 경우를 나타냅니다. 일상생활에 상당한 영향을 미칠 수 있습니다. Ausgeprägte Schlafstörung mit deutlicher Beeinträchtigung von Schlafqualität und Wohlbefinden. | 심각한 불면 문제가 나타난 것으로 보입니다. 빠른 시일 내에 의료 전문가와 상담하여 전문적인 치료를 받는 것이 중요합니다. Dein Schlaf ist stark beeinträchtigt. SleepQ kann dich dabei unterstützen, deinen Schlaf zu verbessern. Doch bei anhaltenden oder stark belastenden Schlafproblemen empfehlen wir dir mit einem Arzt oder einer Ärztin zu sprechen. |
PHQ-9 (우울증 선별 도구)
- QST-NFR-006: 그래프명: Stimmungslage / Depressionssymptome
- QST-NFR-007: 총점: 27점 (문항당 0~3점 부여)
- QST-NFR-008: 다음 기준으로 사용자 결과를 분류하고 해당 피드백을 제공해야 한다:
| 점수 범위 | 라벨 - 결과 페이지 | 라벨 - 내 차트 | 내 차트 > 지표 설명 | 피드백 |
|---|---|---|---|---|
| 0~4점 | 우울 증상이 거의 없음 Keine oder minimale depressive Symptome | 정상 범위 Kein Hinweis auf depressive Symptome | 해당 범위는 우울 증상이 거의 없거나 매우 적은 경우를 나타냅니다. Dein Ergebnis zeigt, dass deine Stimmung aktuell ausgeglichen ist. Es gibt keine oder nur minimale Anzeichen für depressive Symptome. | 현재는 우울 증상이 거의 나타나지 않는 것으로 보입니다. 정기적으로 감정 상태를 점검하며 건강한 생활 습관과 스트레스 관리에 신경쓰는 것이 중요합니다. Super! Deine Stimmung scheint stabil zu sein. Achte weiterhin auf Dinge, die dir guttun, und nimm dir bewusst Zeit für kleine Momente der Freude im Alltag. |
| 5~9점 | 우울 증상이 가볍게 있음 Leichte depressive Symptome | 가벼운 우울 Leichte depressive Symptome | 해당 범위는 경미한 우울 증상이 있는 경우를 나타냅니다. 일상생활에 지장을 크게 줄 정도는 아닙니다. Dein Ergebnis zeigt eine leicht gedrückte Stimmung. Diese Symptome sind meist vorübergehend, sollten aber beobachtet werden. | 경미한 우울감이 있을 수 있으나 일상생활에 지장을 크게 줄 정도는 아닙니다. 정기적인 감정 상태 점검과 생활 습관 개선을 통해 조절해 보세요. 만약 지속된다면 의료 전문가에게 상담을 고려해 보세요. Es gibt Anzeichen für eine leicht gedrückte Stimmung. Falls du dich gelegentlich niedergeschlagen fühlst, kann es helfen, auf ausreichend Bewegung, soziale Kontakte und eine entspannende Abendroutine zu achten. |
| 10~14점 | 우울 증상이 중간 정도 있음 mittelgradige depressive Symptome | 중간 정도 우울 Mittelgradige Sitmmungsbeeinträchtigung | 해당 범위는 중간 정도 우울 증상이 있는 경우를 나타냅니다. 이 범위에 속하는 경우 일상생활에 어려움을 겪을 수 있습니다. Dein Ergebnis zeigt eine merkliche Beeinträchtigung der Stimmung, die sich auf dein Wohlbefinden auswirken kann. | 중등도의 우울감이 나타날 수 있습니다. 이러한 수준의 우울은 개인의 일상생활을 어렵게 만들 수 있습니다. 의료 전문가와 상담하여 적절한 치료 방안을 모색해 보세요. Deine Stimmung ist spürbar beeinträchtigt. Vielleicht fällt es dir schwer, Freude an Dingen zu finden, oder du fühlst dich oft erschöpft. Es kann hilfreich sein, bewusst auf Selbstfürsorge zu achten und mit jemandem darüber zu sprechen. |
| 15~19점 | 우울 증상이 약간 심하게 있음 Ausgeprägte depressive Symptome | 약간 심각한 우울 Deutlich beeinträchtigte Stimmung | 해당 범위는 약간 심각한 우울 증상이 있는 경우를 나타냅니다. 일상생활에 상당한 영향을 미칠 수 있습니다. Dein Ergebnis zeigt ausgeprägte depressive Symptome, die sich auf dein alltägliches Leben auswirken können. | 약간 심각한 우울감을 자주 경험하는 것으로 보이며 의료 전문가의 도움이 필요한 상황입니다. 의료 전문가와 상담하여 전문적인 치료를 받는 것이 필요합니다. Deine Stimmung ist deutlich beeinträchtigt. Falls diese Symptome anhalten oder dich stark belasten, könnte es hilfreich sein, mit einer Vertrauensperson zu sprechen oder professionelle Hilfe zu suchen - du musst da nicht allein durch. |
| 20~27점 | 우울 증상이 심하게 있음 Schwere depressive Symptome | 심각한 우울 Schwere depressive Symptome | 해당 범위는 심각한 우울 증상이 있는 경우를 나타냅니다. 일상생활에 상당한 영향을 미칠 수 있습니다. Dein Ergebnis zeigt eine deutliche depressive Symptomatik. | 심각한 우울 증상이 나타난 것으로 보입니다. 빠른 시일 내에 의료 전문가와 상담하여 전문적인 치료를 받는 것이 필요합니다. Deine Symptome sind stark ausgeprägt und können sich erheblich auf dein tägliches Leben auswirken. Du bist nicht allein – es gibt wirksame Unterstützungsmöglichkeiten. Wir empfehlen dir mit professionelle Hilfe aufzusuchen. |
GAD-7 (불안 선별 도구)
- QST-NFR-009: 그래프명: Angstnivaeu
- QST-NFR-010: 총점: 21점 (문항당 0~3점 부여)
- QST-NFR-011: 다음 기준으로 사용자 결과를 분류하고 해당 피드백을 제공해야 한다:
| 점수 범위 | 라벨 - 결과 페이지 | 라벨 - 내 차트 | 내 차트 > 지표 설명 | 피드백 |
|---|---|---|---|---|
| 0~4점 | 불안 증상이 거의 없음 Keine oder minimale Angstsymptome | 정상 범위 Kein Hinweis auf Angstsymptome | 해당 범위는 불안장애 증상이 거의 없거나 매우 적은 경우를 나타냅니다. Dein Ergebnis zeigt keine oder nur minimale Anzeichen von Angst oder Anspannung. | 일상적인 긴장감을 느낄 수 있습니다. 운동 및 휴식을 통해 불안과 스트레스를 조절해 보세요. Super! Dein Ergebnis zeigt, dass du dich aktuell nicht oder nur selten ängstlich oder angespannt fühlst. Falls doch mal stressige Momente auftreten, kann es helfen, bewusst Pausen einzulegen und auf ausreichend Erholung zu achten. |
| 5~9점 | 불안 증상이 약하게 있음 Leichte Angstsymptome | 가벼운 불안 Leichte innere Unruhe | 해당 범위는 경미한 불안 증상이 있는 경우를 나타냅니다. 일상생활에 지장을 크게 줄 정도는 아닙니다. Es gibt Anzeichen für eine leicht erhöhte Anspannung oder Sorgen. | 경미한 불안감이 있을 수 있습니다. 정기적인 감정 상태 점검과 생활 습관 개선을 통해 조절해 보세요. 만약 지속된다면 의료 전문가에게 상담을 고려해 보세요. Du hast gelegentlich mit Sorgen oder innerer Unruhe zu tun. Achte darauf, wie sich deine Anspannung über die Zeit verändert, und plane bewusst Momente der Entspannung in deinen Alltag ein. |
| 10~14점 | 불안 증상이 중간 정도 있음 Mittlegradige Angstsymptome | 중간 정도 불안 Mittlegradige Angstsymptome | 해당 범위는 중등도의 불안 증상이 있는 경우를 나타냅니다. 이 범위에 속하는 경우 일상생활에 어려움을 겪을 수 있습니다. Dein Ergebnis zeigt eine deutliche Anspannung, die sich auf dein Wohlbefinden auswirken kann. | 중등도의 불안감이 나타날 수 있습니다. 주의가 필요한 수준의 과도한 불안과 걱정을 보입니다. 의료 전문가와 상담하여 적절한 치료 방안을 모색해 보세요. Deine Symptome deuten darauf hin, dass du dich häufiger angespannt oder besorgt fühlst. Vielleicht fällt es dir schwer, abzuschalten oder dich zu entspannen. Es kann helfen, bewusst auf deine Bedürfnisse zu achten und Strategien zur Stressbewältigung zu nutzen. |
| 15~21점 | 불안 증상이 심하게 있음 Ausgeprägte Angstsymptome | 심각한 불안 Ausgeprägte Angstsymptome | 해당 범위는 심각한 불안 증상이 있는 경우를 나타냅니다. 일상생활에 상당한 영향을 미칠 수 있습니다. Dein Ergebnis zeigt ausgeprägte Angstsymptome, die sich auf dein tägliches Leben auswirken können. | 심각한 불안 증상이 나타난 것으로 보입니다. 빠른 시일 내에 의료 전문가와 상담하여 전문적인 치료를 받는 것이 필요합니다. Du hast starke Symptome von Angst oder Anspannung, die deinen Alltag beeinträchtigen können. Falls du merkst, dass Sorgen oder innere Unruhe dich belasten, könnte es hilfreich sein, mit einer Fachperson zu sprechen. Du bist nicht allein, und es gibt gute Unterstützungsmöglichkeiten. |
PSS (지각된 스트레스 척도)
- QST-NFR-012: 그래프명: Stresslevel
- QST-NFR-013: 다음 기준으로 사용자 결과를 분류하고 해당 피드백을 제공해야 한다:
| 점수 범위 | 라벨 - 결과 페이지 | 라벨 - 내 차트 | 내 차트 > 지표 설명 | 피드백 |
|---|---|---|---|---|
| 0~13점 | - | Geringes Stresslevel | Dein Ergebnis zeigt ein niedriges Stresslevel. Du scheinst gut mit Belastungen umgehen zu können und über hilfreiche Ressourcen zur Stressbewältigung zu verfügen. | Dein Ergebnis zeigt, dass du dich aktuell wenig gestresst fühlst. Du scheinst mit Belastungen gut umgehen zu können. Falls stressige Phasen auftreten, kann es hilfreich sein, bewährte Strategien zur Entspannung beizubehalten. |
| 14~26점 | - | Mäßiges Stresslevel | Es gibt Hinweise auf eine moderate Stressbelastung. | Du erlebst momentan eine moderate Stressbelastung. Vielleicht fühlst du dich häufiger unter Druck oder hast das Gefühl, nicht genug Zeit für Erholung zu haben. Achte darauf, wie sich dein Stresslevel entwickelt, und plane gezielt Pausen ein. |
| 27~40점 | - | Hohes Stresslevel | Dein Ergebnis zeigt eine hohe Stressbelastung. | Dein Ergebnis zeigt eine starke Stressbelastung. Vielleicht fühlst du dich häufig angespannt oder überfordert. Anhaltender Stress kann sich auf dein Wohlbefinden auswirken. Falls du dich stark belastet fühlst, kann es hilfreich sein, mit einer Fachperson über mögliche Bewältigungsstrategien zu sprechen. |
DBAS-16 (수면에 대한 비합리적 신념)
- QST-NFR-014: 그래프명: Einstellungen und Überzeugungen zum Schlaf
- QST-NFR-015: 총점: 평균 점수 계산 (문항당 0~10점 부여)
- QST-NFR-016: 다음 기준으로 사용자 결과를 분류하고 해당 피드백을 제공해야 한다:
| 점수 범위 | 라벨 - 결과 페이지 | 라벨 - 내 차트 | 내 차트 > 지표 설명 | 피드백 |
|---|---|---|---|---|
| 0~≤3.8점 | 수면 부족으로 인한 영향을 적게 느낌 Realistische Schlafüberzeugungen | 정상 범위 Gesunde Einstellungen zum Schlaf | 해당 범위는 수면 부족으로 생긴 불편함이나 불안을 적게 느끼고 있는 경우를 나타냅니다. Deine Überzeugungen über Schlaf sind ausgeglichen und nicht übermäßig von Sorgen geprägt. | 수면 부족으로 생기는 여러 문제에 대해 긍정적인 인식을 가지고 있습니다. 규칙적인 수면 습관을 유지하고 불안과 스트레스를 관리하는 것이 중요합니다. Dein Ergebnis zeigt, dass du überwiegend hilfreiche und realistische Überzeugungen über Schlaf hast. Dies kann dich dabei unterstützen, mit Schlafproblemen besser umzugehen. |
| >3.8~10점 | 수면 부족에 대해 불편함을 느낌 Dysfunktionale Schlafüberzeugungen | 수면 부족에 대해 불편함을 느낌 Dysfunktionale Schlafüberzeugungen | 해당 범위는 수면 부족으로 생긴 불편함이나 불안을 많이 느끼고 있는 경우를 나타냅니다. Dein Ergebnis zeigt eine erhöhte Belastung durch schlafbezogene Überzeugungen, die sich auf dein Schlafverhalten auswirken können. | 수면 부족으로 생긴 불편함이나 불안을 크게 느끼고 있습니다. 이러한 생각이 수면에 어떤 영향을 미치는지 파악할 필요가 있습니다. 의료 전문가와 상담하여 적절한 치료 방안을 모색해 보세요. Dein Ergebnis zeigt, dass du möglicherweise Sorgen oder Überzeugungen über Schlaf hast, die deine Schlafprobleme verstärken können. In der Therapie wirst du Strategien kennenlernen, um diese Denkmuster besser zu verstehen und langfristig zu verändern. |
2.3 성능 요구사항
백엔드 요구사항
- QST-NFR-017: 설문 결과 계산 및 저장은 3초 이내에 완료되어야 한다.
- QST-NFR-018: 설문 데이터 조회 API는 1초 이내에 응답해야 한다.
- QST-NFR-019: 시스템은 동시에 최소 100명의 사용자가 설문을 진행할 수 있도록 처리해야 한다.
2.4 운영 품질 속성(Platform 연계)
- (공통 정책 참조) 가용성/재해복구/백업/무중단 배포는
Platform도메인의 기준을 따른다: PLT-NFR-004, PLT-NFR-005, PLT-NFR-006, PLT-NFR-007
2.5 규제 준수(감사 추적)
- (교차참조) 도메인 데이터 및 설정의 중요 변경은 Audit 기준을 준수한다: AUD-NFR-023, AUD-NFR-024, AUD-NFR-026
3. 제약사항
3.1 설문 데이터 제약사항
- QST-CR-001: 한 번 완료된 설문은 수정할 수 없다.
- QST-CR-002: 각 설문의 응답은 완료 후 즉시 Backend로 제출되어야 한다.
- QST-CR-003: 사용자는 정해진 시점에만 각 회차의 설문을 진행할 수 있다.
- QST-CR-004: 라운드 정의 일관성: 번들에 연결된 라운드 정의에서 roundNumber와 설문 종류의 매핑은 시스템 운영 중 변경되지 않아야 한다.
3.2 설문 시점 제약사항
- QST-CR-005: 1회차 설문은 회원 가입 시 반드시 완료해야 한다.
- QST-CR-006: 2회차 설문은 29-35일 기간(5주차) 중 접속 시 1회 노출된다.
- QST-CR-007: 3회차 설문은 57-63일 기간(9주차) 중 접속 시 1회 노출된다.
- QST-CR-008: 4회차 설문은 91일 이후 접속 시 1회 노출된다.
3.3 '나중에 하기' 기능 제약사항
- QST-CR-009: 2회차 설문 '나중에 하기'는 최대 35일까지만 유효하다.
- QST-CR-010: 3회차 설문 '나중에 하기'는 최대 63일까지만 유효하다.
- QST-CR-011: '나중에 하기' 선택 후 7일이 경과하면 해당 회차 설문 참여 기회는 소멸된다.
3.4 GDPR 준수 및 데이터 보관 정책
- QST-CR-012: 시스템은 GDPR 및 관련 개인정보 보호 법률을 준수하는 설문 데이터 처리 메커니즘을 구현해야 한다.
- QST-CR-013: 데이터 보관 기간:
- 설문 데이터 및 관련 분석 데이터는 개인정보 처리방침에 명시된 대로 5년간 보관한다.
- 회원 탈퇴 시 사용자 식별 정보는 즉시 삭제하되, 익명화된 형태로 설문 데이터는 통계 및 연구 목적으로 보관할 수 있다.
- QST-CR-014: 비활성 사용자 데이터 처리:
- 서비스 이용 종료 또는 마지막 활동으로부터 6개월이 경과한 사용자의 데이터는 '비활성(inactive)' 상태로 표시한다.
- 비활성 상태로 1년이 경과한 사용자 데이터는 주 서비스 데이터베이스에서 '콜드 스토리지'로 이전한다.
- 콜드 스토리지로 이전된 데이터는 압축 및 암호화되어 저장되며, 필요시 복원 가능한 형태로 유지한다.
- QST-CR-015: 데이터 복원 메커니즘:
- 비활성 사용자가 서비스에 재접속하거나 새로운 설문 주기를 시작할 경우, 콜드 스토리지에서 해당 사용자의 과거 데이터를 자동으로 복원한다.
- 복원 과정은 사용자에게 투명하게 이루어져야 하며, 복원 완료 후 사용자에게 과거 데이터가 복원되었음을 알린다.
- 복원된 데이터는 사용자의 새로운 설문 참여 이력과 연결되어야 하며, 이전 참여 이력과 구분할 수 있는 메타데이터를 포함해야 한다.
- QST-CR-016: 데이터 삭제 요청 처리:
- 사용자는 언제든지 자신의 모든 설문 데이터 삭제를 요청할 수 있으며, 시스템은 이를 지체 없이 처리해야 한다.
- 삭제 요청 시 주 데이터베이스와 콜드 스토리지에서 해당 사용자의 데이터를 영구적으로 삭제한다.
- 데이터 삭제 처리는 감사 로그에 기록하여 삭제 증명이 가능해야 한다.
- QST-CR-017: 데이터 이동성:
- 사용자가 요청할 경우, 설문 데이터를 표준 형식(JSON, CSV)으로 추출하여 제공할 수 있어야 한다.
- 다른 서비스에서 데이터를 가져올 수 있는 가능성도 고려해야 한다.
- QST-CR-018: 관리자 및 시스템 관리 도구:
- 시스템은 데이터 보관 정책을 관리하고 모니터링할 수 있는 관리자 도구를 제공해야 한다.
- 관리자 도구는 다음 기능을 포함해야 한다:
- 아카이빙 대상 사용자 목록 조회 및 수동 아카이빙 실행
- 아카이빙 작업 로그 및 상태 모니터링
- 데이터 복원 내역 조회 및 수동 복원 실행
- 데이터 보관 정책 설정 (보관 기간, 비활성 기준 등)
모바일 요구사항
TBD
1.15 부가 정보 표시
백엔드 요구사항
- QST-CR-019: 특정 문항에서 사용자가 특정 답변을 선택했을 때 추가 정보를 표시할 수 있어야 한다.
- QST-CR-020: 설문 전체 점수가 특정 기준 이상일 때 추가 정보를 표시할 수 있어야 한다.
모바일 요구사항
- QST-CR-021: 특정 질문에서 사용자가 특정 답변을 선택했을 때 팝업(BottomSheet 등) UI로 부가 정보를 제공할 수 있어야 한다.
- QST-CR-022: 설문 전체 점수가 기준 이하 혹은 이상일 때에도 부가 정보를 제공할 수 있어야 한다.
4. 가정사항
4.1 시스템 환경
- QST-AR-001: 시스템은 마이크로서비스 아키텍처 기반으로 구축된다. (공통 정책 참조: PLT-NFR-002)
- QST-AR-002: 설문 결과는 사용자의 치료 과정과 연계되어 활용된다.
4.2 사용자 환경
- QST-AR-003: 사용자는 모바일 앱을 통해 설문에 참여한다.
- QST-AR-004: 사용자의 앱 사용 주기는 최소 91일(13주) 이상으로 가정한다.
4.3 데이터 일관성
- QST-AR-005: 번들에 연결된 라운드 정의에서 roundNumber와 설문 종류의 매핑은 시스템 운영 중 변경되지 않는다.
- QST-AR-006: 이는 설문 진행 상태 추적과 캐싱 메커니즘의 정확성을 보장하기 위한 전제조건이다.
5. 의존성
5.1 내부 의존성
- QST-DR-001: User 도메인: 사용자 정보 및 앱 사용 기간 참조
- QST-DR-002: Authentication 도메인: 사용자 인증 및 권한 확인
- QST-DR-003: Notification 도메인: 설문 참여 알림 전송
- QST-DR-004: Report 도메인: 설문 결과를 바탕으로 한 보고서 생성
5.2 외부 의존성
- QST-DR-005: PDF 생성 서비스: 설문 결과 보고서 PDF 생성 (후순위)
6. GDPR 컴플라이언스 (개인정보 보호)
6.1 건강 데이터 처리
백엔드 요구사항
- QST-FR-BE-058: 시스템은 건강 데이터 처리 목적을 명확히 정의하고 문서화해야 한다.
- 임상 평가 목적의 설문 데이터 수집 및 분석
- 치료 효과 측정 및 개인화된 치료 계획 수립
- 연구 목적 데이터 활용 (별도 동의 필요)
- 통계 분석 및 서비스 품질 개선
- QST-FR-BE-059: (공통 정책 참조) 민감 정보 보호는 Platform 도메인 표준을 따른다:
- PLT-SEC-001, PLT-SEC-003 건강 데이터 암호화
- 접근 권한 세분화 및 역할 기반 제어
- 데이터 익명화/가명화 처리 메커니즘
- 재식별 위험 평가 및 방지 (k-익명성, l-다양성)
- QST-FR-BE-060: 시스템은 설문 데이터 보관 기간을 체계적으로 관리해야 한다.
- 임상 데이터: 연구 종료 후 15년 (임상시험 규제 준수)
- 일반 설문: 서비스 종료 후 3년
- 익명화된 통계 데이터: 무기한 보관 가능
- 보관 기간 만료 시 자동 삭제/익명화 프로세스
6.2 데이터 주체 권리
백엔드 요구사항
- QST-FR-BE-061: 시스템은 설문 데이터 열람권을 보장해야 한다.
- 수집된 모든 설문 응답 조회 API
- 점수 및 평가 결과 조회 기능
- 데이터 처리 목적 및 법적 근거 제공
- 제3자 공유 현황 정보 제공
- QST-FR-BE-062: 시스템은 데이터 이동권을 구현해야 한다.
- 구조화된 형식(JSON/CSV)으로 데이터 내보내기
- 기계 판독 가능한 형식 제공
- 제3자 시스템으로 직접 전송 지원
- API를 통한 자동화된 데이터 이동
- QST-FR-BE-063: 시스템은 처리 제한권을 보장해야 한다.
- 특정 설문 데이터 처리 일시 중지
- 연구 목적 사용 제한 설정
- 데이터 정확성 확인 중 처리 제한
- 법적 분쟁 시 데이터 보존
- QST-FR-BE-064: 시스템은 데이터 정정/삭제권을 보장해야 한다.
- 설문 응답 수정 기능 (임상 규제 준수하 변경 이력 유지)
- 선택적 데이터 삭제 (연구 필수 데이터 제외)
- 삭제 요청 이력 관리 및 규제 보고
- 21 CFR Part 11 준수 감사 추적
7. ISO27001 정보보호 관리
7.1 임상 데이터 무결성
백엔드 요구사항
- QST-FR-BE-065: 시스템은 임상 데이터 무결성을 보장해야 한다.
- 21 CFR Part 11 및 EU Annex 11 완전 준수
- 전자서명 구현 (시간, 사용자, 의미 포함)
- 변경 이력 완전 추적 (이전/이후 값, 변경 사유)
- 데이터 입력 시점 기록 (타임스탬프)
- ALCOA+ 원칙 준수 (Attributable, Legible, Contemporaneous, Original, Accurate)
- QST-FR-BE-066: 시스템은 데이터 검증 체계를 구축해야 한다.
- 입력 데이터 실시간 유효성 검증
- 범위 체크 및 논리적 일관성 검증
- 이상치 자동 탐지 및 플래그 설정
- 데이터 품질 지표 모니터링
- 검증 규칙 버전 관리
7.2 접근 통제 및 보안
백엔드 요구사항
- QST-FR-BE-067: 시스템은 접근 통제를 강화해야 한다.
- 설문별/연구별 접근 권한 세분화
- 민감도 수준별 데이터 분류 (공개/내부/기밀/극비)
- 최소 권한 원칙 적용
- 정기적 권한 검토 (분기별)
- 권한 매트릭스 문서화
- QST-FR-BE-068: (공통 정책 참조) 설문 데이터 보안은 Platform 도메인 표준을 따른다:
- PLT-SEC-001 저장 시 암호화
- PLT-SEC-002 전송 중 암호화
- PLT-SEC-004 키 관리 (연 1회 이상 로테이션)
7.3 감사 및 모니터링
백엔드 요구사항
- QST-FR-BE-069: 시스템은 포괄적인 감사 로그를 생성해야 한다.
- 모든 설문 데이터 접근 기록
- 데이터 수정/삭제 상세 로그
- 권한 변경 이력 추적
- 로그 무결성 보장 (해시 체인)
- 로그 보관 기간: 5년
- QST-FR-BE-070: 시스템은 이상 행동을 탐지해야 한다.
- 비정상적 데이터 접근 패턴 감지
- 대량 데이터 추출 시도 탐지
- 반복된 접근 실패 모니터링
- 실시간 알림 시스템
- 위협 인텔리전스 통합
7.4 데이터 품질 및 거버넌스
백엔드 요구사항
- QST-FR-BE-071: 시스템은 데이터 품질을 보장해야 한다.
- 데이터 완전성 검증 (필수 항목 체크)
- 일관성 검증 (교차 검증)
- 정확성 검증 (참조 데이터 대조)
- 시의성 검증 (응답 시간 체크)
- 품질 메트릭 대시보드
- QST-FR-BE-072: 시스템은 데이터 거버넌스를 구현해야 한다.
- 데이터 소유자/관리자 지정
- 데이터 라이프사이클 관리
- 데이터 사전 유지 관리
- 메타데이터 관리 체계
- 데이터 계보(Lineage) 추적
7.5 사고 대응 및 복구
백엔드 요구사항
- QST-FR-BE-073: 시스템은 보안 사고 대응 체계를 구축해야 한다.
- 데이터 유출 탐지 메커니즘
- 72시간 내 감독기관 신고 프로세스
- 영향받은 사용자 통지 자동화
- 사고 타임라인 재구성
- 포렌식 분석 지원
- QST-FR-BE-074: 시스템은 복구 절차를 구현해야 한다.
- 데이터 백업 및 복원 절차
- RTO(Recovery Time Objective): 4시간
- RPO(Recovery Point Objective): 1시간
- 복구 테스트 (분기별)
- 복구 절차 문서화
변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.1.0 | 2025-05-07 | bok@weltcorp.com | 최초 작성 |
| 0.2.0 | 2025-05-13 | bok@weltcorp.com | GDPR 준수 및 데이터 보관 정책 요구사항 추가 |
| 0.3.0 | 2025-05-19 | elizabeth@weltcorp.com | 설문 스케쥴링 로직 상세화 및 라운드 정의 일관성 제약사항 추가 |
| 0.4.0 | 2025-08-07 | bok@weltcorp.com | 요구사항 ID 체계 적용 - QST 도메인 코드 적용 (QST-FR-BE-xxx, QST-FR-FE-xxx, QST-NFR-xxx, QST-CR-xxx, QST-AR-xxx, QST-DR-xxx) |
| 0.4.1 | 2025-08-08 | bok@weltcorp.com | Platform 연계 명시: 가용성/DR/백업/무중단 배포는 PLT-NFR-004~007 준수, MSA는 PLT-NFR-002 참조 |
| 0.5.0 | 2025-08-12 | bok@weltcorp.com | GDPR 및 ISO27001 컴플라이언스 요구사항 추가 (섹션 6, 7) - 건강 데이터 처리, 데이터 주체 권리, 임상 데이터 무결성, 보안 강화 |