On this page
code
Read-only
rtSurvey의 읽기 전용 필드는 응답자가 편집할 수 없는 정보를 표시할 수 있게 합니다. 이 기능은 미리 채워진 데이터, 계산된 결과 또는 설문 전체에서 일정하게 유지되어야 하는 정보를 표시할 때 특히 유용합니다.
기본 사용
필드를 읽기 전용으로 만들려면 XLSForm의 read_only 열을 사용합니다:
| type | name | label | read_only | default |
|---------|------|----------------------|-----------|---------|
| integer | num | 환자 번호: | yes | 5 |
이 예시에서는 환자 번호가 5로 설정되고 응답자가 변경할 수 없습니다.
기본값과 읽기 전용 결합
읽기 전용 필드는 미리 결정되거나 계산된 정보를 표시하기 위해 종종 기본값과 함께 사용됩니다:
| type | name | label | read_only | default |
|---------|----------|---------------------|-----------|----------------|
| text | username | 로그인한 사용자: | yes | ${current_user}|
| date | today | 오늘 날짜: | yes | today() |
여기서는 사용자 이름과 현재 날짜가 표시되지만 편집할 수 없습니다.
rtSurvey 특정 기능
조건부 읽기 전용
rtSurvey는 조건부 로직으로 읽기 전용 기능을 확장합니다:
| type | name | label | read_only |
|---------|----------|-----------------|--------------------------|
| integer | age | 나이: | ${role} = 'viewer' |
| text | comments | 의견: | selected(${status}, 'closed') |
이 예시에서:
- 사용자의 역할이 ‘viewer’인 경우에만 ‘age’ 필드가 읽기 전용입니다.
- 상태가 ‘closed’이면 ‘comments’ 필드가 읽기 전용이 됩니다.
동적 읽기 전용 상태
rtSurvey는 읽기 전용 상태를 동적으로 변경할 수 있게 합니다:
| type | name | label | read_only |
|-----------|----------|----------| ----------------------|
| text | address | 주소: | ${edit_mode} = 'false' |
이를 통해 특정 조건이나 사용자 작업에 따라 편집 가능 모드와 읽기 전용 모드 사이를 전환할 수 있습니다.
읽기 전용 필드 사용 모범 사례
- 명확성: 시각적 단서 또는 레이블을 통해 어떤 필드가 읽기 전용인지 명확하게 표시합니다.
- 일관성: 설문 전체에서 일관되게 읽기 전용 필드를 사용합니다.
- 유효성 검사: 읽기 전용 필드는 편집할 수 없지만 데이터 유효성 검사 프로세스에 포함시킵니다.
- 성능: 읽기 전용 필드의 복잡한 계산에 주의합니다; 양식 로딩 시간에 영향을 줄 수 있습니다.
- 접근성: 스크린 리더를 위해 읽기 전용 필드가 적절히 표시되어 있는지 확인합니다.
고급 기법
계산된 읽기 전용 필드
읽기 전용 필드를 사용하여 다른 응답을 기반으로 계산을 표시합니다:
| type | name | label | read_only | calculation |
|-----------|----------|-----------------|-----------|------------------------|
| calculate | bmi | BMI: | yes | ${weight} / (${height} * ${height}) |
이전 데이터 표시
읽기 전용 필드는 이전 설문 또는 외부 소스의 데이터를 표시할 수 있습니다:
| type | name | label | read_only | default |
|---------|----------------|------------------------|-----------|----------------------------|
| text | last_visit_date| 마지막 방문 날짜: | yes | ${pulldata('visits', 'date', 'id', ${patient_id})} |
데이터 관리 고려 사항
- 읽기 전용 필드는 읽기 전용 상태를 나타내는 플래그와 함께 데이터 내보내기에 포함됩니다.
- 기존 레코드를 업데이트할 때 읽기 전용 필드는 백엔드를 통해 명시적으로 덮어쓰지 않는 한 원래 값을 유지합니다.
모바일 앱 동작
- rtSurvey 모바일 앱은 조건부 읽기 전용 로직을 포함한 읽기 전용 설정을 준수합니다.
- 오프라인 모드는 동적 및 계산된 읽기 전용 필드를 포함한 읽기 전용 기능을 완전히 지원합니다.
알려진 제한 사항
- 일부 복잡한 동적 읽기 전용 조건은 저사양 기기에서 약간의 성능 영향을 줄 수 있습니다.
- 읽기 전용 필드는 내보낸 데이터 파일에서 모든 형태의 데이터 조작을 방지하지 않을 수 있으므로, 중요한 데이터에는 서버 측 유효성 검사를 권장합니다.
읽기 전용 필드 문제 해결
- 필드가 예상치 않게 편집 가능:
read_only열 또는 조건부 로직의 구문 오류를 확인합니다. - 계산된 값이 업데이트되지 않음: 계산 로직을 확인하고 참조된 모든 필드가 올바르게 명명되어 있는지 확인합니다.
- 성능 문제: 복잡한 계산을 최적화하거나 읽기 전용 데이터를 표시하기 위한 대안적 접근 방식을 고려합니다.
이 페이지가 도움이 되었나요?