Метаданные
Типы вопросов meta автоматически захватывают информацию об устройстве, перечислителе и времени без какого-либо ввода от респондента.
Типы вопросов meta — это специальные поля, заполняемые автоматически — респондент их никогда не видит. Они захватывают контекст об отправке: когда данные были собраны, какое устройство использовалось и кто их собрал. Добавляйте их в лист survey как и любой другой тип вопроса; они просто не появляются на экране.
Базовая спецификация XLSForm
| type | name | label |
|---|---|---|
| start | start | |
| end | end | |
| deviceid | deviceid |
Метки для полей meta необязательны, так как они никогда не отображаются.
Поля метаданных времени
start
Записывает дату и время открытия формы. Хранится в формате ISO 8601 (YYYY-MM-DDTHH:MM:SS.sss+HH:MM).
type | name | label
start | start |
end
Записывает дату и время отправки формы. Вместе с start позволяет рассчитать время заполнения формы:
type | name | calculation
calculate | duration_min | (decimal-date-time(${end}) - decimal-date-time(${start})) * 1440
today
Записывает текущую дату (без компонента времени). Хранится в формате YYYY-MM-DD. Полезно, когда нужна только дата без полной временной метки.
type | name | label
today | today |
Поля метаданных устройства
deviceid
Записывает уникальный идентификатор устройства, используемого для сбора данных. На Android это обычно IMEI или Android ID. Полезно для отслеживания, какое устройство отправило каждую форму, и для обнаружения дублирующих отправок с одного устройства.
type | name | label
deviceid | deviceid |
devicephonenum
Записывает номер телефона SIM-карты в устройстве (если доступен). Может быть пустым, если устройство не имеет SIM-карты или номер не хранится на SIM.
type | name | label
devicephonenum | devicephonenum |
simserial
Записывает серийный номер SIM-карты (ICCID). Полезно для идентификации используемой SIM/оператора.
type | name | label
simserial | simserial |
subscriberid
Записывает IMSI (International Mobile Subscriber Identity) — уникальный идентификатор абонента на SIM-карте.
type | name | label
subscriberid | subscriberid |
Поля метаданных перечислителя
username
Записывает имя пользователя вошедшего перечислителя (учётная запись, использованная в приложении rtSurvey). Это наиболее надёжный способ отслеживания, кто собрал каждую отправку.
type | name | label
username | username |
email
Записывает адрес электронной почты вошедшего перечислителя.
type | name | label
email | email |
phonenumber
Записывает номер телефона, связанный с учётной записью перечислителя (если настроено).
type | name | label
phonenumber | phonenumber |
Журнал аудита
audit
Поле метаданных audit включает детальное ведение журнала аудита — записывает журнал с временными метками каждого вопроса, который посетил перечислитель, сколько времени было потрачено на каждый вопрос, и (опционально) местоположение GPS на каждом шаге. Журнал аудита сохраняется в виде отдельного файла audit.csv рядом с каждой отправкой.
type | name | parameters
audit | audit | location-priority=balanced location-min-interval=30 location-max-age=60
Параметры аудита
| Параметр | Описание |
|---|---|
location-priority | Уровень точности GPS: no-gps, low-power, balanced, high-accuracy |
location-min-interval | Минимальный интервал в секундах между захватами местоположения |
location-max-age | Максимальный возраст (в секундах) кэшированного местоположения для принятия |
Журнал аудита захватывает:
- Имя вопроса и тип события (
question,form.start,form.exit,form.save,form.finalize) - Временные метки начала и конца каждого события
- Координаты GPS (если установлен
location-priority)
Поле audit создаёт отдельный файл для каждой отправки. Убедитесь, что ваш конвейер данных обрабатывает как основные данные формы, так и CSV аудита.
Полный пример
Типичный опрос домохозяйства может включать все поля метаданных времени и перечислителя:
| type | name | label |
|---|---|---|
| start | start | |
| end | end | |
| today | today | |
| deviceid | deviceid | |
| username | username | |
| audit | audit | |
| text | household_id | ID домохозяйства |
| … | … | … |
Лучшие практики
- Всегда включайте
startиend— они бесплатны, автоматичны и бесценны для мониторинга качества. - Всегда включайте
usernameдля отслеживания перечислителей. - Включайте
deviceid, если хотите обнаруживать дублирующие отправки или отслеживать полевые устройства. - Используйте
auditв опросах с высокой ответственностью, где нужно проверить, что перечислители действительно посетили каждый вопрос. - Поля SIM (
simserial,subscriberid,devicephonenum) надёжны только на Android-устройствах с активными SIM-картами — пропустите их для развёртываний только на планшетах.
Ограничения
- Все поля meta доступны только для чтения — на них нельзя ссылаться или изменять их в других вычислениях.
usernameиemailтребуют входа перечислителя; они будут пустыми для анонимных отправок.- Поля SIM/телефона могут возвращать пустые значения на планшетах только с Wi-Fi и в некоторых версиях Android из-за ограничений разрешений.