Inhaltsverzeichnis

Abfrage eines persönliches Codes

In mehrwelligen Befragungen hat sich für gedruckte Fragebögen (Pen 'n Paper) die Verwendung eines „persönlichen Codes“ bewährt. Dabei soll der Teilnehmer im ersten Fragebogen aus den Fragmenten persönlicher Informationen einen Code erstellen. Das sieht etwa aus wie folgt:

Gibt der Teilnehmer im zweiten Fragebogen denselben Code an, erlaubt das die Zuordnung der beiden Datensätze. Oben sehen Sie nur ein illustrierendes Beispiel – konkrete Ausführungen finden Sie z.B. bei:

Ein Vorteil dieser Lösung ist, dass der Code in Zeiten vor dem Social Web hohe Anonymität gewährleistete und relativ zuverlässig funktionierte. Allerdings hat diese Lösung auch Nachteile:

Alternativen im Online-Fragebogen

Verwendet man einen Online-Fragebogen, stehen für mehrwellige Erhebungen weitere Möglichkeiten zur Verfügung. Jede Lösung ist ein Kompromiss zwischen Datenschutz und Komfort/Zuverlässigkeit. Die folgenden Möglichkeiten sind nach Datenschutz-Level geordnet, wobei schon die erste und damit „schlechteste“ Option ein gutes Datenschutz-Level gewährleistet – aber eben nicht maximalen Datenschutz. Für die meisten Anwendungsfälle ist die Serienmail das Mittel der Wahl.

Abfrage eines persönlichen Codes

Hat man sich gegen die Alternativen für die Abfrage eines persönlichen Codes entschieden, gibt es in SoSci Survey zwei grundsätzliche Möglichkeiten der Umsetzung:

Offene Texteingabe

Die erste Variante liegt auf der Hand, die entspricht dem Vorgehen im gedruckten Fragebogen. Man erklärt dem Teilnehmer, wie er den Code erstellen soll, und verwendet dann eine Frage zur Texteingabe, damit der Teilnehmer den Code eingeben kann.

Um wenigstens das korrekte Format zu überprüfen, kann man für die Texteingabe-Frage einen „regulären Ausdruck“ definieren. Dafür klickt man das Eingabefeld links in der Navigation an und legt unter Einschränkungen für die Texteingabe einen Regulären Ausdruck fest. Reguläre Ausdrücke sind komplexe Suchmuster mit spannenden Möglichkeiten (regular-expressions.info), die auf den ersten Blick aber auch etwas komplex aussehen. Für den persönlichen Code ist es halb so schlimm:

  /[A-Z]{2}[0-9]{3}[A-Z]/

Dieser Reguläre Ausdruck beschreibt einen Code bestehend aus 2 Buchstaben (Großbuchstaben, keine Umlaute), drei Ziffern und dann nochmal einem Buchstaben, also z.B. AB123C.

Tipp: Legen Sie für das offene Eingabefeld in den Details-Einstellungen einen (beliebigen) Code für „Auto-Ausfüllen“ fest. Dadurch merkt sich der Browser (falls im Browser nicht deaktiviert) den persönlichen Code und schlägt diesen beim nächsten Ausfüllen automatisch vor.

Einstellungen für das Texteingabefeld

Getrennte Texteingaben

Einfacher für den Teilnehmer ist es, wenn man die einzelnen Bestandteile des Codes getrennt abfragt. Und auch die Formatprüfung gestaltet sich dann einfacher.

Es ist eigentlich nicht notwendig, dass Sie dem Teilnehmer seinen persönlichen Code nochmal „en block“ anzeigen, aber wenn Sie das machen möchten, verwenden sie ein klein wenig JavaScript. Angenommen Ihre Texteingabe-Frage hat die Kennung „PC01“ und enthält 6 Eingabefelder, dann würden Sie unter der Frage folgenden HTML-/JavaScript-Code platzieren:

<div style="margin: 2em; font-size: 1.2em;">
  Ihr persönlicher Code:
  <span id="personalCode" style="font-weight: bold;">&ndash;</span>
</div>
<script type="text/javascript">
<!--
var pcInputs = ["PC01_01","PC01_02","PC01_03","PC01_04","PC01_05","PC01_06"];
function pcRefresh() {
  var code = "";
  for (var i=0; i<pcInputs.length; i++) {
    code+= document.getElementById(pcInputs[i]).value;
  }
  document.getElementById("personalCode").innerHTML = code;
}
// Init
pcRefresh();
for (var i=0; i<pcInputs.length; i++) {
  document.getElementById(pcInputs[i]).addEventListener("keyup", pcRefresh);
}
// -->
</script>

Für die spätere Analyse ist es hilfreich, den Code auch gleich „en block“ im Datensatz zu speichern. Dafür benötigen Sie eine Interne Variable (z.B. „IV01_01“) und auf der Folgeseite (!) folgenden PHP-Code:

$code = implode(valueList('PC01'));
put('IV01_01', $code);

Falls Sie mit leeren Feldern rechnen, können Sie die Bestandteile des Codes auch mit einem Bindestrich getrennt speichern (abgesehend davon, dass Sie die einzelnen Bestandteile ja ohnehin nochmal einzeln im Datensatz haben):

$code = implode('-', valueList('PC01'));
put('IV01_01', $code);

Tipp: Legen Sie für die offene Texteingabe auf jeden Fall eine Antwortpflicht fest, Lücken im Code können Sie i.d.R. nicht brauchen.


Suchbegriffe: Persönlicher Code, Teilnahmecode, Panel-Erhebung, Längsschnitt, mehrwellige Erhebung