본문으로 건너뛰기

User Management 도메인 바운디드 컨텍스트

1. 컨텍스트 개요

User Management Bounded Context는 운영자가 App-User 정보를 조회하고 치료 진행 상황을 파악할 수 있도록 지원합니다. 사이트별 권한 제어를 통해 운영자는 본인 사이트의 App-User만 접근할 수 있으며, 외부 시스템은 토큰 기반으로 제한적인 리포트 조회가 가능합니다.

비즈니스 목적: 운영자와 외부 시스템이 App-User의 치료 진행 상황과 데이터를 안전하게 조회하고, 수면 일기·목표·설문 응답을 통합한 리포트를 생성하여 치료 효과 분석을 지원

포함:

  • App-User 목록 조회 및 검색 (사이트별 권한 제어)
  • App-User 리포트 생성 (수면 일기, 목표 로그, 설문 응답 통합)
  • 치료 일차 계산 및 통계 집계 (LOT/AET 일관성, 수면 기록률)
  • 외부 액세스 토큰 기반 리포트 조회

제외:

  • 인증 및 토큰 발급 (Auth-Ops Domain 소관)
  • 권한 및 그룹 관리 (IAM Domain 소관)
  • 수면 일기·목표 데이터 관리 (Sleep Domain 소관)
  • 설문 응답 데이터 관리 (Questionnaire Domain 소관)

2. 유비쿼터스 언어

TermDefinition
App-User디지털 치료제를 이용하는 app-user. 사용자 주기(UserCycle) 단위로 치료를 진행
사용자 주기 (UserCycle)App-User의 치료 기간 단위. StartAt부터 EndAt까지의 기간으로 정의되며, 하나의 치료 과정을 의미
리포트 (Report)App-User의 치료 진행 상황을 요약한 문서. 수면 일기, 목표 달성, 설문 응답 등을 포함
운영자 (OperationUser)사이트를 관리하는 의료진. operators.site.admin 또는 operators.site.member 그룹 소속
플랫폼 관리자모든 사이트에 접근 가능한 관리자. operators.medi-dashboard.admin 그룹 소속
사이트 (Site)의료기관 또는 기관. 각 사이트는 독립적으로 App-User를 관리
치료 일차 (Day)사용자 주기 시작일부터 현재(또는 종료일)까지의 일수 + 1
LOT (Lights Off Time)취침 시각. App-User가 잠들려고 누운 시각
AET (Actual End Time)기상 시각. App-User가 아침에 일어난 실제 시각
일관성 퍼센티지목표 달성률. LOT/AET 목표를 지킨 비율 (%)
rTIB 알고리즘권장 침대 시간 계산 알고리즘. 수면 효율 기반으로 최적 수면 시간 제안
외부 액세스 토큰외부 시스템이 특정 App-User 리포트에 접근하기 위한 TokenTypeMdAccess 타입 토큰
마지막 로그인 시간 (LastLogin)App-User가 가장 최근에 로그인한 시각

3. 컨텍스트 맵

3.1 관계 개요

용어 설명:

  • 의존 (Depends on): 다른 Context의 데이터나 API를 호출하여 사용. 상대 Context가 없으면 동작 불가.
  • 발행 (Publishes to): 이벤트를 다른 Context로 발행. 상대 Context의 처리 결과는 관심 없음.
  • 구독 (Subscribes from): 다른 Context에서 발행한 이벤트를 받아서 처리.

3.2 App-User List Context

책임:

  • App-User 목록 조회 및 필터링 (검색, 상태, 사이트, 담당자)
  • 사이트별 권한 검증 (operators.site.admin/member는 본인 사이트만)
  • 페이징 및 정렬 처리 (마지막 로그인 시간 포함)
  • 그룹 정보 표시 플래그 설정 (Welt 사이트 소속 계정)

포함 Aggregate:

  • AppUser

관계:

  • 의존: Auth-Ops Context (운영자 정보 조회, 사이트 검증)
  • 의존: IAM Context (운영자 그룹 및 권한 확인)
  • 의존: Sleep Context (마지막 로그인 시간 조회)

3.3 App-User Report Context

책임:

  • App-User 리포트 생성 (사용자 주기 기반)
  • 치료 일차 계산 (StartAt~EndAt 또는 현재 시간)
  • 수면 일기·목표·설문 데이터 통합 조회
  • 통계 계산 (성공 횟수, 일관성 퍼센티지, 수면 기록률)
  • 리포트 요약 정보 생성

포함 Aggregate:

  • AppUserReport

관계:

  • 의존: Sleep Context (수면 일기, 수면 목표 로그, 목표 성공 기록 조회)
  • 의존: Questionnaire Context (설문 응답 조회)

3.4 External Access Context

책임:

  • 외부 액세스 토큰 검증 (TokenTypeMdAccess)
  • 토큰 클레임 추출 및 userCycleId 일치 검증
  • 외부 시스템의 제한적 리포트 접근 제어

포함 Aggregate:

  • ExternalAccess

관계:

  • 의존: Auth-Ops Context (토큰 검증 및 클레임 추출)
  • 의존: App-User Report Context (검증 성공 후 리포트 조회)

(작성 가이드 참고)

변경 이력

버전날짜작성자변경 내용
0.1.02025-12-31dalia@weltcorp.com문서 최초 작성 - GetAppUsers, GetAppUserReport, GetAppUserReportWithExternalAccessToken 기반