Integration

We have successfully connected Limesurvey to various other applications and developed interfaces to share data between different applications and Limesurvey.

1. Use Limesurvey for driver licence theory test

For a customer in Sweden, we created a special survey which is used for driver licence theory tests. Data validation is done during the survey, the embedded JavaScript validates all answers, and the background sums up points for each user to create scores for certain test sections.
There are several different tests, and based on these we created an application to list test results and create user overviews and printable certificates. Test results are read directly from Limesurvey’s database, and the generated overviews are custom coded.
Screenshots:

2. Load product comparison data from external DB into Limesurvey

Loading data from an external database into a Limesurvey survey can be quite a pain. There are two different approaches: You can either use an Ajax call within the survey to dynamically call a PHP script which queries an external database and returns the results to the survey, or you can add a hook to the Limesurvey core files to load data from an external database when generating the HTML for a certain question inside Limesurvey.
Using the first option, we customized a Limesurvey shipped template to make an Ajax call at certain pages of a survey. The called PHP script gets passed some IDs, generates a table of product comparison data, and passes it back into Limesurvey where the user can vote for a product:

Embed product comparison data from external database in Limesurvey

3. Add a garage sale feature in Limesurvey

A feature Limesurvey is currently missing is a “garage sale” option. Say you have X items to give away for free or Y time slots available (or any other items of limited quantity) and you want to disable answer options in a survey if the available amount of items/time slots was chosen. This isn’t currently possible in Limesurvey, so we changed some of the Limesurvey core files to assign a quantity for all answer options. On page generation, our code then checks how often a certain item has been chosen and either disables the answer option or shows the remaining quantity in brackets:
Limesurvey garage sale feature

4. Interactive dashboard showing statistics and charts based on Limesurvey survey data

For praxilux.de we have coded an interactive dashboard which generates statistics and charts based on Limesurvey survey data. The data is based on patient satisfaction surveys and each doctor has his/her own login data to access data of their surveys only.

These statistics help the doctors to identify strengths and weaknesses based on the Net Promoter Score and they learn a lot about their patients.

The statistic data is directly loaded from the Limesurvey database and charts are created using “Highcharts” interactive JavaScript charts. This project included different chart types as well as developing the general dashboard structure and coding complex data filters for a more detailed data analysis.

Have a look at the (German) dashboard here: