|
<< Показать Оглавление >> Описание API > Формат описания формы > Классы структуры формы Класс ContainerMetadata |
![]()
|
Элементы на заполняемой форме могут быть сгруппированы различным образом. В общем смысле под группами могут пониматься:
•группы,
•панели,
•вкладки (tab),
•иные подобные элементы.
При описании формы группа описывается классом-контейнером ContainerMetadata
Класс-контейнер для других элементов |
|||
Поле |
Тип поля |
Обязательное |
Описание |
Childs |
Список из FormElementMetadata |
Да |
Коллекция (иерархия) элементов на форме |
Key |
String |
Да |
Идентификатор контейнера в ИС |
Synonyms |
Список строк |
Да |
Набор всех возможных вариантов произнесения названия группы. Коллекция строк, по которым система будет определять, что распознаваемые данные соответствуют данному элементу или полю |
Пример использования контейнера:
{
"Childs":[
{…}
{…}
],
"Synonyms":[
"До нагрузки",
"До"
],
"Key":"ea0ac1b8-d91d-4b98-8d63-4f565048ab77"
}
В разных группах могут содержаться элементы с одинаковыми названиями.
Например, в группах «До нагрузки» и «После нагрузки» может быть одинаковое поле «Пульс». |
Для удобства заполнения подобных элементов была введена концепция «активной группы» (или поля). Изначально активная группа является пустой.
Если рассматривать тот же пример, то при произнесении пользователем фразы «До нагрузки» соответствующая группа будет установлена как активная. Это означает, что если дальше пользователь произнесет фразу «Пульс 68», то в ИС будет отправлено уведомление о заполнении соответствующего поля в данной группе. Поле в соседней группе «После нагрузки» будет проигнорировано.
Чтобы сделать активной другую группу, следует произнести её название (в данном случае: «После нагрузки»).
Чтобы сделать группу неактивной, следует перейти к заполнению поля, находящегося вне группировки (в данном случае это могут быть «Пол» или «Описание»).
Таким образом, для голосового заполнения пользователю доступны все поля его текущей группы и все поля, находящиеся в иерархии выше текущей группы.
Для заполнения полей из соседних или дочерних групп необходимо будет произнести название этих групп, сделав их активными.
Ответ от Voice2Med при фокусе на контейнере
Voice2Med отправляет в ИС сообщение, когда пользователь произносит название какой-либо группы и эта группа становится активной.
{
"MessageType": 2,
"Data": {
"Key": "ea0ac1b8-d91d-4b98-8d63-4f565048ab77"
}
}
Обратное уведомление о фокусе на группе или элементе
ИС должна отправить в Voice2Med уведомление в случае, если пользователь вручную установил фокус на любой элемент или переключился на другую группу (например, если пользователь переключился на другую вкладку на форме).
{
"MessageType": 5,
"Data": {
"Key": "ea0ac1b8-d91d-4b98-8d63-4f565048ab77"
}
}
При необходимости сбросить активную группу нужно в поле Key передать null.
{
"MessageType": 5,
"Data": {
"Key": null
}
}