Поля лише для читання в rtSurvey дозволяють відображати інформацію, яку респондент не може редагувати. Ця функція особливо корисна для показу попередньо заповнених даних, обчислених результатів або інформації, яка повинна залишатися постійною протягом усього опитування.

Базове використання

Щоб зробити поле доступним лише для читання, використовуйте стовпець read_only у вашому XLSForm:

  | type    | name | label                 | read_only | default |
|---------|------|----------------------|-----------|---------|
| integer | num  | Patient number is:    | yes       | 5       |
  

У цьому прикладі номер пацієнта встановлено на 5 і не може бути змінений респондентом.

Поєднання лише для читання зі значеннями за замовчуванням

Поля лише для читання часто використовуються у поєднанні зі значеннями за замовчуванням для відображення попередньо визначеної або обчисленої інформації:

  | type    | name     | label               | read_only | default        |
|---------|----------|---------------------|-----------|----------------|
| text    | username | Logged in user:     | yes       | ${current_user}|
| date    | today    | Today's date:       | yes       | today()        |
  

Тут ім’я користувача та поточна дата відображаються, але не можуть бути відредаговані.

Специфічні функції rtSurvey

Умовне лише для читання

rtSurvey розширює функціональність лише для читання умовною логікою:

  | type    | name     | label           | read_only                |
|---------|----------|-----------------|--------------------------|
| integer | age      | Age:            | ${role} = 'viewer'       |
| text    | comments | Comments:       | selected(${status}, 'closed') |
  

У цих прикладах:

  • Поле ‘age’ доступне лише для читання лише якщо роль користувача — ‘viewer’.
  • Поле ‘comments’ стає доступним лише для читання, якщо статус — ‘closed’.

Динамічний статус лише для читання

rtSurvey дозволяє динамічно змінювати статус лише для читання:

  | type      | name     | label    | read_only              |
|-----------|----------|----------| ----------------------|
| text      | address  | Address: | ${edit_mode} = 'false' |
  

Це дозволяє перемикатися між редагованим та режимом лише для читання на основі певних умов або дій користувача.

Найкращі практики використання полів лише для читання

  1. Чіткість: Чітко вказуйте, які поля доступні лише для читання, за допомогою візуальних підказок або міток.
  2. Послідовність: Послідовно використовуйте поля лише для читання у вашому опитуванні.
  3. Валідація: Навіть якщо поля лише для читання не можна редагувати, включайте їх у процес валідації даних.
  4. Продуктивність: Будьте обережні зі складними обчисленнями в полях лише для читання, оскільки вони можуть впливати на час завантаження форми.
  5. Доступність: Переконайтеся, що поля лише для читання належним чином позначені для зчитувачів з екрана.

Розширені техніки

Обчислювані поля лише для читання

Використовуйте поля лише для читання для відображення обчислень на основі інших відповідей:

  | type      | name     | label           | read_only | calculation            |
|-----------|----------|-----------------|-----------|------------------------|
| calculate | bmi      | BMI:            | yes       | ${weight} / (${height} * ${height}) |
  

Відображення історичних даних

Поля лише для читання можуть відображати дані з попередніх опитувань або зовнішніх джерел:

  | type    | name           | label                  | read_only | default                    |
|---------|----------------|------------------------|-----------|----------------------------|
| text    | last_visit_date| Date of last visit:    | yes       | ${pulldata('visits', 'date', 'id', ${patient_id})} |
  

Питання управління даними

  • Поля лише для читання включаються в експорт даних, зазвичай з позначкою, що вони мають статус лише для читання.
  • При оновленні існуючих записів поля лише для читання зберігають свої оригінальні значення, якщо вони явно не перезаписані через бекенд.

Поведінка мобільного додатку

  • Мобільний додаток rtSurvey дотримується налаштувань лише для читання, включаючи умовну логіку лише для читання.
  • Офлайн-режим повністю підтримує функціональність лише для читання, включаючи динамічні та обчислені поля лише для читання.

Відомі обмеження

  • Деякі складні умовні умови лише для читання можуть мати незначний вплив на продуктивність на пристроях нижчого класу.
  • Поля лише для читання можуть не запобігати всім формам маніпуляції даними в експортованих файлах даних, тому для критичних даних рекомендується серверна валідація.

Усунення неполадок з полями лише для читання

  1. Поле несподівано редагується: Перевірте наявність синтаксичних помилок у стовпці read_only або умовній логіці.
  2. Обчислені значення не оновлюються: Перевірте логіку обчислення та переконайтеся, що всі посилані поля правильно названі.
  3. Проблеми з продуктивністю: Оптимізуйте складні обчислення або розгляньте альтернативні підходи для відображення даних лише для читання.
Чи була ця сторінка корисною?