참여자 응답

일정·응답 기한·재알림

응답 가능한 시간과 알림을 연구별로 정의합니다.

기준일
이 페이지에서

설문 일정 필드

필드의미
measurementTime고정 시각·시간 구간 등 설문 시간 표현
measurementInterval반복 간격 표현. 예: DAILY
activeTimeMinutes시작 이후 응답 가능한 기간(분)
reminderOffsetsMinutes최초 요청이 전달된 뒤의 누적 재알림 오프셋(분)
notificationsEnabled연구 설정에서 정한 알림 사용 여부

화면 수준 시간 설정이 있으면 설문 수준 기본값보다 우선하는 호환 동작이 있습니다. 같은 문항을 다른 시간에 제시할 때는 회차와 화면 수준 설정을 함께 확인해야 합니다.

일정 설정 예제

다음은 설문 정의에 넣는 부분 예제입니다. 재알림은 요청 이후 15·30·45분의 누적 시점을 뜻합니다.

CODE
{
  "measurementTime": "09:00",
  "measurementInterval": "DAILY",
  "activeTimeMinutes": 60,
  "reminderOffsetsMinutes": [15, 30, 45],
  "notificationsEnabled": true
}

빈 재알림 목록은 재알림을 사용하지 않는다는 명시적 설정입니다. 필드 생략은 과거 설정의 호환 경로와 다를 수 있습니다.

기상 시각 등 동적 기준

study_config.json에는 참여자별 응답 가능 구간과 시간 기준 정책이 들어갈 수 있습니다. 현재 구현은 기상 기준(wakeAt), 참여자 프로필 시각, 지원되는 건강 수면 종료 기록 등을 해석하는 경로를 포함합니다. 기준 값이 없거나 제공 기능이 불가능한 상태와 정상적인 시각을 구별해야 합니다.

동적 정책은 설정 전체와 연결된 수집 항목이 필요합니다. 문자열 하나를 변경하는 것만으로 임의의 이벤트 기반 일정을 만들 수 있다고 가정하지 마세요.

운영 시 확인할 사항

자정을 넘는 구간, 응답 기한 종료, 완료 후 재알림, 재부팅, 참여자 변경, 시간대 변경을 확인합니다. 알림 표시와 설문 제출 허용은 서로 다른 상태이며 제출 시점에 다시 검사됩니다.

INSPIRE 발표자료의 하루 4회·60분 기한·15분 간격 재알림은 해당 연구 프로토콜입니다. 현재 저장소의 설문 파일 값과 같다고 가정하지 않습니다.

문서 근거

현재 작업 트리 기준 · 소스 경로 · HEAD 8213e6b7

  • plugins/survey/src/main/java/com/hdil/datacollection/survey/SurveyModels.kt
  • app/src/main/java/com/hdil/datacollection/notification/NotificationScheduler.kt
  • app/src/main/java/com/hdil/datacollection/availability/SurveyAvailabilityRuntimeService.kt
  • app/src/main/java/com/hdil/datacollection/StudyConfig.kt
  • app/src/main/java/com/hdil/datacollection/ingest/SurveyResponseSubmitterImpl.kt
DTRAC Android연세대학교 · 이봉신 연구팀