Following is an example of an engagement survey conducted for two employees who were asked five questions:

This represents the minimum information required to build a survey module.

Person ID: the employee's unique identifier.
Survey: the name or ID of the survey that the record represents. If an ID is being used, we will also need a set of data that translates the ID values into their description for use in analysis.
Survey Date: the date the survey was completed.
Question: identifier for each question. The example above has the full, text description for each question. This column could instead contain a question ID. If this is the case, the question ID along with the question text should be provided in another mapping file with one record per question ID. It could also contain any other question specific information such as question category if further question groupings apply.
Answer: the employee's answer to the question. The example above provides a text description but this could also be numerical or open-ended/free-text answer.

The reason this format is important for the transmission of survey data is that it allows us to receive data for any number of surveys for a customer with any number of questions without needing adjustment for each survey, without needing to change the data integration later when more surveys are added to the source.

Any employee specific information which is relevant to the survey but isn't survey data should be sent in a separate file. It will either need to be date delimited such as the following data set, where a person has a period of time that an attribute is valid for:

Or the file should have a single point in time value that links to that specific survey, using whatever the key is for that survey. Whether that is a link on "Person ID" and "Survey Date" or something like "Survey ID" depending on your data set. The following would link to the previous survey data:

Data should be sent in a flat file format such as csv, date formats and delimiters are all configurable, they just need to be consistent through the flat file that is being sent.

Did this answer your question?