Plans
1. 개요
이 문서는 시스템 내에서 사용되는 모든 서비스 플랜(Plan) 목록을 정의하고 관리합니다. 플랜은 사용자가 이용할 수 있는 서비스의 범위, 기능 세트, 또는 프로그램 수준을 정의하며, 특정 역할(Role)들의 집합으로 구성됩니다. 사용자는 자신이 속한 그룹(Group)에 연결된 플랜을 통해 해당 플랜에 포함된 역할들을 부여받게 됩니다.
2. 플랜 목록
2.1 게스트 플랜 (Guest Plan)
- ID:
plan.guest - 설명: 약관 동의만으로 가입한 게스트 사용자를 위한 플랜입니다. 인증 없이 앱의 기본 기능을 체험할 수 있으며, 서비스 정책에 따라 정의된 제한된 기능만 제공됩니다. 이용 기간은 서비스 설정에 따라 결정되며, 이후 자동 만료됩니다.
- 주요 대상 그룹:
guests,guests.kr,guests.de,guests.us,guests.jp - 포함된 역할 (Associated Roles):
roles/guest.user(게스트 기본 역할 - 제한된 권한)
- 기능 범위: 서비스 정책에 따라 제공/제한 기능이 정의됩니다.
- 특이사항:
- 자동 만료: 게스트 계정은 서비스 설정에 따른 일정 기간 후 자동 만료되며, TimeMachine/Cloud Scheduler를 통해 관리됩니다.
- 업그레이드 경로: 인증을 통해 정식 사용자로 업그레이드 시, 서비스 정책에 따라 적절한 플랜과 그룹으로 전환됩니다.
- userId 유지: 업그레이드 시에도 userId(UUID)가 변경되지 않아 게스트 기간 동안 입력한 데이터가 그대로 유지됩니다.
2.2 치료 플랜 (Therapeutic Plan)
- ID (예상):
plan.therapeutic - 설명: 불면증 진단을 받은 사용자를 대상으로 하는 기본 치료 플랜입니다. 앱의 모든 주요 치료 관련 기능을 사용할 수 있도록 설계되었습니다. 일반적으로 90일의 서비스 이용 기간이 적용됩니다.
- 주요 대상 그룹:
patients.general - 포함된 역할 (Associated Roles):
roles/patient.user(환자 기본 역할)- (필요시 추가 역할, 예: 특정 치료 콘텐츠 접근 역할)
2.3 제한 플랜 (Limited Access Plan)
- ID (예상):
plan.limitedAccess - 설명: 치료 플랜 기간(예: 90일)이 만료된 사용자를 위한 플랜입니다. 기능 사용이 제한되며, 주로 과거 기록 열람 등 제한적인 기능만 사용 가능합니다.
- 주요 대상 그룹:
patients.limited-access - 포함된 역할 (Associated Roles):
roles/patient.user(제한된 권한만 가진 버전 또는 별도 역할 필요 - TBD)- 참고:
roles/patient.user역할을 그대로 사용하되, 이 플랜에서는 해당 역할 내 일부 권한(예:sleep:log:create,sleep:log:update)이 비활성화되는 방식으로 구현될 수도 있습니다. 또는roles/patient.readonly같은 별도 역할을 정의할 수도 있습니다.
- 참고:
2.4 샘플 플랜 (Sample Plan)
- ID (예상):
plan.sample - 설명: 불면증 진단을 받지 않은 사용자 또는 특정 관계자가 앱 기능을 체험하기 위한 플랜입니다. 치료 플랜과 유사한 기능을 제공하지만, 이용 기간이나 데이터 관리 정책이 다를 수 있습니다.
- 주요 대상 그룹:
patients.sample,patients.special-affiliate등 - 포함된 역할 (Associated Roles):
roles/patient.user(또는roles/sample.user등 별도 역할 정의 가능)
2.5 의사 플랜 (Clinician Plan)
- ID (예상):
plan.clinician - 설명: 의사 및 임상의를 위한 플랜입니다. 환자 진단, 처방 능력, 치료 계획 수정 등 의학적 의사 결정에 필요한 모든 권한을 제공합니다.
- 주요 대상 그룹:
clinician.providers - 포함된 역할 (Associated Roles):
roles/clinician.provider(의사/임상의 역할)- (필요시 추가 관련 역할)
2.6 의료 서비스 제공자 플랜 (Healthcare Provider Plan)
- ID (예상):
plan.healthcareProvider - 설명: 간호사, 치료사 등 기타 의료 서비스 제공자를 위한 플랜입니다. 의사 결정 권한은 제한되지만 환자 데이터 조회, 기본적인 기록 입력 등의 기능 접근 권한을 제공합니다.
- 주요 대상 그룹:
healthcare.providers - 포함된 역할 (Associated Roles):
roles/healthcare.provider(의료 서비스 제공자 역할)
2.7 임상시험 플랜 (Clinical Trial Plan - 예시)
- ID (예상):
plan.clinicalTrial[TrialID] - 설명: 특정 임상시험 참여자(환자, CRC, CRA, PI 등)를 위한 플랜입니다. 임상시험 프로토콜에 따라 필요한 데이터 접근 및 기능 사용 권한을 정의합니다. 시험별로 다른 플랜이 존재할 수 있습니다.
- 주요 대상 그룹:
trials.[TrialID].*그룹들 - 포함된 역할 (Associated Roles):
roles/patient.user(임상시험용 데이터 입력/조회 권한 조정 가능성 있음)roles/clinical.coordinatorroles/clinical.monitorroles/research.investigator- (시험별 특화 역할)
2.8 내부 운영 플랜 (Internal Default Plan - 예시)
- ID (예상):
plan.admin - 설명: 시스템 관리자, 개발자 등 내부 운영 역할을 위한 기본 플랜입니다. 모든 기능 접근이 가능하거나, 역할 자체에 충분한 권한이 있어 플랜의 영향이 미미할 수 있습니다. 또는 특정 내부 도구 접근 권한 등을 정의할 수 있습니다.
- 주요 대상 그룹:
admin.*,development.engineers,data.analysts등 내부 역할 그룹 - 포함된 역할 (Associated Roles):
- (필요시 내부 운영 관련 역할 정의) - 대부분의 권한은 역할 자체에 직접 할당될 가능성이 높음.
2.9 영업 데모 플랜 (Sales Demo Plan)
- ID (예상):
plan.salesDemo - 설명: 영업 직원이 고객에게 일관된 환경에서 서비스 기능을 시연하기 위한 특수 플랜입니다. 미리 정의된 특정 시점의 데이터셋을 사용하며, 시간은 해당 시점에 고정됩니다 (TimeMachine 기능 연동 필요). 데모 시연에 불필요한 데이터 수정이나 기능은 제한됩니다.
- 주요 대상 그룹:
sales.employees - 포함된 역할 (Associated Roles):
roles/patient.user(또는 데모 시연용 읽기/탐색 권한 위주로 제한된roles/patient.demoviewer역할 신설 고려)- (역할/권한 외) 플랜 자체 속성 또는 TimeMachine 연동을 통해 '고정 시간(Fixed Time)' 기능 활성화 필요
- 특이사항:
- TimeMachine 도메인과의 긴밀한 연동 필요 (특정 시점 고정 기능).
- 데모용 데이터셋 준비 및 관리 방안 필요.
- 데이터 입력/수정 등 데모에 불필요한 기능 관련 권한은 제외해야 함.
2.10 치료 완료 환자 뷰어 (Post-Treatment Plan)
- ID (예상):
plan.postTreatment - 설명: 치료 기간이 완료된 환자가 자신의 과거 데이터를 조회할 수 있도록 하는 아카이브 플랜입니다.
- 포함된 역할 (Associated Roles):
roles/healthcare.postTreatmentViewer
- 특이사항:
- 모든 생성 및 수정 권한은 제외됨
참고: 위 목록은 초기 정의이며, 실제 플랜 ID, 설명, 포함된 역할은 시스템 설계 및 구현 과정에서 구체화됩니다.
3. 변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.1.0 | 2025-04-19 | bok@weltcorp.com | 최초 문서 생성 및 기본 플랜 정의 |
| 0.2.0 | 2025-05-01 | bok@weltcorp.com | 의사(Clinician)와 의료 제공자(Healthcare Provider) 플랜 명확히 구분 |
| 0.3.0 | 2025-10-21 | jeff@weltcorp.com | 치료 완료 환자 뷰어 플랜 정의 |
| 1.0.0 | 2025-12-17 | bok@weltcorp.com | 게스트 플랜(plan.guest) 추가: 약관 동의만으로 가입한 게스트 사용자를 위한 제한된 기능 플랜 정의 |