Tab Separated Value survey structure/pt-br

=Importação de Valores Separados por Tabulação e Exportação de Estrutura de Questionário=

Esse recurso foi projetado para facilitar o uso de um software de planilhas como o LibreOffice, o Excel ou o Google Docs para criar e editar questionários. Elimina completamente a dependência dos códigos do SGQA.

Esse recurso oferece suporte à importação de arquivos TSV (Tab Separated Value) codificados em ASCII ou UTF-8 que possuem uma extensão .txt.

=Começando=

A maneira mais fácil é tomar um questionário existente e exportá-lo no formato Valores Separados por Tabulação. Use o botão utilizado normalmente para exportação de questionário e, em vez de selecionar o formato .Iss, selecione Formato "Valores Separados por Tabulação (*.txt)". Ele será salvo como um arquivo de Valores Separados por Tabulação no formato adequado (arquivo unicode delimitado por tabulações), com todos os cabeçalhos de colunas corretos.

Qualquer software de planilhas que suporte valores separados por tabulações será bom (por exemplo, OpenOffice ou LibreOffice). O LimeSurvey ignora qualquer formatação na planilha, mas fique à vontade para adicionar algumas se isso te ajudar.

Observe que o arquivo exportado está em formato UTF-8 com a Marca de Ordem de Byte (BOM) como os três primeiros caracteres (ocultos). Se você clicar duas vezes no arquivo .txt e tentar abri-lo diretamente com o Excel, ele não será aberto corretamente, porque o Excel não detecta que ele está formatado em UTF-8. Para abrir esses arquivos, primeiro abra o Excel, selecione Arquivo: Abrir, selecione o arquivo .txt e informe ao programa que ele está usando a codificação UTF-8.

Haverá uma linha para cada grupo, pergunta, subquestão e resposta. Há também linhas para variáveis globais do questionário e para variáveis do questionário específicas do idioma. O idioma principal será listado primeiro, seguido por quaisquer idiomas secundários. Portanto, se houver vários idiomas, todo o conteúdo do idioma base aparecerá primeiro (por exemplo, todos os grupos, perguntas, subquestões e respostas). Isto será seguido por uma cópia traduzida para cada idioma secundário (com exatamente o mesmo número e ordem ou linhas para o conjunto traduzido).

Relacionamentos são inferidos pela proximidade. Então, as perguntas que seguem um grupo fazem parte desse grupo; subquestões após uma pergunta fazem parte dessa questão e as respostas após uma pergunta fazem parte dessa questão. Assim, você não precisa saber os IDs (gid, qid, sqid) para qualquer pergunta. Aqueles serão computados automaticamente na importação. Na verdade, esse formato não usa gid, qid ou sqid (nem códigos SGQA).

=Dicas=

O objetivo da importação/exportação em formato de Valores Separados por Tabulações é permitir que você crie rapidamente seu questionário usando uma planilha. Esperamos que você importe a planilha com frequência, verifique sua validade usando o recurso "Mostrar lógica do questionário" e teste-o. Cada vez que você importá-la, você terá um novo questionário. Então, você pode acabar com muitos questionários parcialmente desenvolvidos, mas tudo bem. Adquira o hábito de acompanhar qual é o mais recente ou exclua o antigo depois de importar os novos. Como você nunca usa códigos do SGQA no formato de Valores Separados por Tabulações, nunca precisa se preocupar com os códigos que o LimeSurvey atribui às chaves de questionário, grupo, pergunta e resposta principais. Portanto, sinta-se à vontade para importar e exportar quantas vezes quiser.

Aqui estão algumas coisas convenientes que você pode fazer com este formato para instrumentos de autoria:
 * 1) Use as mesmas respostas para muitas perguntas. Apenas copie as linhas 'A' (para respostas) e cole após cada pergunta que deve ter o mesmo conjunto.
 * 2) Use as mesmas subquestões para muitas perguntas. Basta copiar as linhas 'SQ' (para subquestões) e colá-las após cada pergunta que precisar.
 * 3) "Looping" - use o mesmo grupo várias vezes. Depois que o grupo estiver do jeito que você deseja, copie-o quantas vezes forem necessárias. Use a filtragem do Excel para exibir apenas as linhas "G" (para grupos) e use o recurso de arrastar colunas do Excel para atualizar as equações de relevância de cada grupo (por exemplo, para um censo, a primeira relevância pode ser "numPeople> 1"). O próximo deve ser "numPeople> 2". O recurso de arrastar atualizará automaticamente o número). Filtre por linhas 'Q' (para questões) e assegure-se de que cada pergunta tenha um valor único (por exemplo, nomeie suas variáveis g1_q1, g1_q2, g1_qN, use localizar/substituir para converter g1 em g2 o segundo grupo; g3 para o terceiro, etc.)
 * 4) Reordenar perguntas/grupos. Simplesmente reordene as linhas do arquivo de planilha.
 * 5) Testando módulos do questionário. Para questionários longos, você pode querer dividir o teste em módulos. Basta criar novos arquivos de planilhas para cada módulo, excluindo as linhas que você não precisa. Isso evita a necessidade de inserir muitos dados para testar seções posteriores do questionário.
 * 6) Testando questões obrigatórias. Uma queixa comum não é a necessidade de tornar muitas perguntas obrigatórias, mas a necessidade de desativar o recurso obrigatório para testes. Basta criar a planilha principal com o conjunto obrigatório para os valores finais desejados. Em seguida, para testá-lo, basta excluir a coluna "obrigatória" e salvar a versão de teste da planilha. Quando você importa essa versão, nenhuma das perguntas será obrigatória. Depois de concluir o teste, importe a cópia principal.
 * 7) Configurando padrões. Em vez de usar a GUI, você pode inserir os padrões desejados na coluna padrão. Isso é especialmente útil para casos em que a GUI não permite inserir o valor desejado, como expressões, para definir o padrão para itens da lista (como preencher uma lista de um atributo participante do questionário).
 * 8) Tradução. Você pode criar cópias de sua planilha - uma por idioma. Inclua todas as linhas do idioma principal, copie e cole-as abaixo e use o recurso de arrastar para alterar o campo de idioma para o idioma de destino. Estes podem ser distribuídos aos seus tradutores e reintegrados em um único arquivo de planilha quando eles forem concluídos.
 * 9) Configuração em massa de atributos de perguntas avançadas. Você pode querer que todas as suas equações se tornem visíveis (para que você possa ver os valores delas ao coletar dados), mas depois ocultá-las antes de ir para a produção. Simplesmente filtre a planilha em class = 'Q' e tipo de pergunta = '*' (equação) e defina always_hide como 1 para cada uma dessas perguntas. Da mesma forma, depois de criar o questionário, você decide quais perguntas devem aparecer nas estatísticas públicas. Em vez de editar cada questão através da GUI, filtre em class = 'Q' e defina public_statistics = 1 para todas as questões que devem estar visíveis nas estatísticas.
 * 10) Localizar e substituir. Digamos que você decida alterar algumas frases em todas as suas perguntas. Você pode usar o Excel para encontrar e substituir para fazer essas alterações. Da mesma forma, digamos que você decida fazer uma renomeação em massa de suas variáveis, localizar e substituir pode vir ao resgate. Se você precisar localizar e substituir com base na expressão regular, poderá selecionar a coluna desejada, copiar para um editor de texto, localizar e substituir e colar a coluna de volta na planilha.
 * 11) Ganhando aprovações. Se você está fazendo um questionário, você pode ter um Conselho de Revisão Institucional que insiste em ver o texto das perguntas. Esta pode ser uma maneira conveniente de compartilhá-lo. Da mesma forma para discussões com um cliente.
 * 12) Consenso da equipe. Se você estiver tentando fazer com que um grupo concorde com a redação ou a aparência de uma pergunta ou grupo, você poderá rapidamente criar um protótipo/editar a planilha, importá-la e mostrar à equipe exatamente por meio da pergunta ou da visualização do grupo . Dessa forma, você pode obter aprovação da equipe antes de sair da sala, em vez de precisar documentar os requisitos, montá-los e obter aprovação em reuniões futuras.
 * 13) Atualizando de outros formatos de questionário. Se seu questionário estiver em formato XML, Word ou outro formato, você poderá criar um processo de tradução para mapeá-los para esse formato. Embora você também possa tentar mapear para o formato .lss, a vantagem desse formato é que ele não exige que você acompanhe os relacionamentos de chaves estrangeiras entre grupos, perguntas, subquestões, respostas e padrões.

=Limitações=
 * 1) Por design, esse recurso só funciona corretamente para questionários que usam nomeação de qcode (em vez de SGQA). Esse recurso pressupõe que os nomes de variáveis (identificadores de pergunta) sejam exclusivos em toda a pesquisa. Os nomes das subquestões podem ser repetidos, desde que sejam exclusivos dentro do escopo de uma questão específica.

=Formato de Arquivo=

Geral
Usamos o mesmo conjunto de cabeçalhos de coluna para várias finalidades. As primeiras 14 colunas servem diferentes propósitos, dependendo do tipo de entidade (por exemplo, grupo, pergunta, resposta). As colunas restantes são uma lista alfabética dos nomes dos campos do banco de dados para os códigos de perguntas avançadas. Abaixo está a sintaxe para cada tipo de entidade

As primeiras 14 colunas são:
 * id
 * 1) related_id
 * 2) class
 * 3) type/scale
 * 4) name
 * 5) relevance
 * 6) text
 * 7) help
 * 8) language
 * 9) validation
 * 10) mandatory
 * 11) other
 * 12) default
 * 13) same_default

Parâmetros Globais de Questionário
Há uma linha por parâmetro na tabela de questionários.
 * 1) classe => 'S'
 * 2) nome => database field name
 * 3) texto => value

Idioma do Questionário-Parâmetros Específicos
Há uma linha por campo por idioma na tabela surveys_languagesettings. Todas as entradas para um determinado idioma são coletadas antes de serem inseridas nessa tabela.
 * 1) classe => 'SL'
 * 2) nome => database field name
 * 3) texto => value
 * 4) idioma => language

Grupos
Uma linha de grupo por idioma de questionário (por exemplo, haveria 3 linhas de grupo se a pesquisa tiver 3 idiomas).
 * 1) id => identificador numérico exclusivo para o grupo, começando com o número 1, use o mesmo ID para idiomas adicionais pertencentes ao mesmo grupo
 * 2) classe => 'G'
 * 3) nome => group_name -- o identificador único para o grupo
 * 4) relevância => grelevance -- a equação de relevância no nível do grupo, sem chaves
 * 5) texto => description -- a descrição específica do idioma do grupo
 * 6) idoma => language -- o idioma do grupo (por exemplo, 'en')

Questões
Uma linha de pergunta por idioma do questionário (por exemplo, haverá 3 linhas de questão se o questionário tiver 3 idiomas). Presume-se que as questões pertençam ao grupo que as precede.
 * 1) Id => identificador numérico exclusivo para a questão, começando com o número 1, use o mesmo ID para idiomas adicionais pertencentes à mesma questão
 * 2) Classe => 'Q'
 * 3) Tipo/escala => type - o (geralmente uma letra) tipo de pergunta (por exemplo, 'M' é múltipla escolha)
 * 4) Nome => title - o nome da questão única (a raiz do sistema de nomenclatura qcode)
 * 5) relevância => relevance - a relevância para a questão
 * 6) texto => question - o texto-idioma específico da pergunta
 * 7) ajuda => help - o texto de ajuda específico do idioma
 * 8) idioma => language - o idioma do grupo (por exemplo, 'en')
 * 9) validação => preg - os critérios opcionais de validação de expressões regulares para a questão
 * 10) obrigatório => mandatory - 'Y' se obrigatório
 * 11) outros => other - 'Y' se a opção "Outros" estiver disponível (apenas para alguns tipos de perguntas)
 * 12) padrão => default - se definido, esse valor é inserido na tabela de valores por omissão para esta questão
 * 13) mesmo_padrão => same_default - 'Y' para verdadeiro, caso em que qualquer valor de default definido para o idioma principal se aplica a outros idiomas

Subquestões
Uma subquestão por linha por idioma do questionário. Supõe-se que as subquestões pertençam à questão que as precede.
 * 1) id => mesmo identificador numérico exclusivo que é usado para as questões. As subquestões devem usar o próximo valor disponível, IDs de questões e subquestões devem ser diferentes (por exemplo, usar ID 1 para a questão e ID 2, 3 e 4 para as subquestões pertencentes à questão 1. A próxima questão deve ser 5, e assim por diante). Use o mesmo ID de subquestão para idiomas adicionais pertencentes às mesmas subquestões.
 * 2) classe => 'SQ'
 * 3) tipo/escala => scale_id -- 0 ou 1, dependendo do tipo de pergunta (por exemplo, o texto da matriz terá duas escalas)
 * 4) nome => title -- o "nome da subquestão, por exemplo, o usado para excluir_todos_os_outros
 * 5) relevância => relevance -- (em breve) para suportar a relevância no nível da subquestão
 * 6) texto => question -- o texto da subquestão específico para o idioma
 * 7) ajuda => help -- (em breve) para apoiar ajuda no nível da subquestão
 * 8) idioma => language -- o idioma para a subquestão
 * 9) validação => preg -- (em breve) para suportar validação de expressão regular em nível de subquestão (por exemplo, para partes de endereço)
 * 10) obrigatório => mandatory -- (em breve) para suportar obrigatoriedade no nível de subquestão (por exemplo, fazer apenas algumas subquestões obrigatórias)
 * 11) padrão => default -- se configurado, então este é o valor padrão para a subquestão (inserido na tabela defaultvalues)
 * 12) mesmo_padrão => same_default -- se configurado, então o padrão para o idioma primário é usado para todos os outros idiomas

Respostas
Uma resposta por linha por idioma do questionário (por exemplo, haveria 3 linhas de resposta se o questionário tiver 3 idiomas). Supõe-se que as respostas pertençam à pergunta que as precede e estejam na ordem de classificação desejada.
 * 1) id => use o mesmo ID que o da questão à qual pertence
 * 2) class => 'A'
 * 3) tipo/escala => scale_id -- 0 ou 1 (por exemplo, para escala dupla)
 * 4) nome => code -- o identificador exclusivo de resposta
 * 5) relevância => assessment_value -- se estiver usando a opção de avaliação, este é o valor de avaliação para a resposta
 * 6) texto => answer -- o texto específico do idioma da resposta
 * 7) idioma => language -- o idioma para esta resposta (por exemplo, 'en')

Avaliações
Uma linha de avaliação por idioma do questionário (por exemplo, haveria 3 linhas de avaliação se o questionário tiver 3 idiomas). As avaliações são escritas no final do arquivo.
 * 1) id => identificador numérico exclusivo para a avaliação, começando com o número 1, use o mesmo ID para idiomas adicionais pertencentes à mesma avaliação
 * 2) related_id => identificador do grupo para o qual a avaliação pertença
 * 3) classe => 'AS'
 * 4) tipo/escala => assessment scope: T-Total, G-group
 * 5) nome => nome
 * 6) texto => mensagem
 * 7) min_num_value => Valor mínimo
 * 8) max_num_value => Valor máximo
 * 9) idioma => language -- o idioma para esta resposta (por exemplo, 'en')

Cotas
Uma linha por cota. Cotas são escritas no final do arquivo.
 * 1) id => identificador numérico exclusivo para a cota, começando com o número 1
 * 2) class => 'QTA'
 * 3) nome => nome da cota
 * 4) obrigatório => limite
 * 5) outros => ação de cota
 * 6) padrão => ativo
 * 7) mesmo_padrão => URL de carregamento automático

Configurações de idioma da cota
Uma linha de cota por idioma do questionário. Presume-se que as configurações de idioma de cota pertencem à cota que o precede.
 * 1) id => identificador numérico exclusivo para as configurações de idioma da cota, começando com o número 1. Cada linha para um idioma diferente deve ter um ID diferente
 * 2) related_id => ID da cota para a qual essas configurações pertencem
 * 3) class => 'QTALS'
 * 4) relevância => mensagem
 * 5) texto => URL
 * 6) ajuda => descrição do URL
 * 7) idioma => language -- o idioma para esta cota (por exemplo, 'en')

Membros da cota
Uma linha por membro de cota, sem dependência de idioma. A linha do membro da cota deve ser colocada imediatamente após a pergunta a que se refere. Presume-se que os membros da cota pertençam à questão que os precede.
 * 1) id => identificador numérico exclusivo para os membros da cota, começando com o número 1
 * 2) related_id => identificador da cota para a qual os membros pertençam
 * 3) class => 'QTAM'
 * 4) nome => código da resposta

Condições
Uma linha por condição, sem dependência de idioma. A linha de condição deve ser colocada imediatamente após a questão a que se refere. Presume-se que as condições pertençam à pergunta que as precede.
 * 1) id => identificador numérico exclusivo para a condição, começando com o número 1
 * 2) related_id => identificador da questão relacionada, se aplicável
 * 3) classe => 'C'
 * 4) tipo/escala => cenário
 * 5) nome => nome do campo de resposta
 * 6) relevância => operador de comparação
 * 7) texto => resposta esperada