All forms created using queXML should work with queXF.
If you have a customised form, queXF requires the following to operate:
Please note that the author has not tested a form that was not created in queXML, therefore can make no guarantees that it will work (Although it should). If you have any forms that you have trouble with (that comply with the 3 points above), please send in an example for testing.
queXF has only been tested on a LAMP system (Linux, Apache, MySQL and PHP) and this guide assumes the reader is using a similar system.
Currently, forms will be best able to be read in if they are scanned in with the following options on your scanner:
1. Monochrome (1 bit)
2. 300 DPI
queXF needs to know what size your scanned pages are, and the location of the barcode and corner markings on the page. These settings are stored in config.default.php by default, but different printing and scanning processes may lead to these settings needing to be tweaked.
In the queXF administration menu , under System setup is a page called "Page setup". Use this to upload a form that has been printed using your normal printing process, and scanned using your normal scanning process. Preferably, with the settings as above (under Scanning Forms).
Once the form has been loaded, choose a page to work from and a zoom level that is comfortable. Then you can drag, drop and resize the barcode box and corner boxes to overlay them as they are on your form. On the right side of the page, a list of configuration directives will appear. These can be added to the config.inc.php file. Make sure to add them before the last 3 lines of the file.
If the boxes appear to be in the right position, you do not need to modify the config.inc.php file (as the default settings are fine).
Once the config.inc.php file has been saved, you will now be able to begin administering the queXF system.
These tasks are accessible from the /admin directory of the package (eg: /quexf/admin)
It is best to import a form that is scanned in the same way as the completed forms will be scanned in. Therefore if you have used queXML to produce a form like this example, scan it using your scan software to a PDF file like this example.
Go to the page: Import a new form from a PDF file (new.php) and select the pdf file to import. (An example is test_blank.pdf in the doc directory). Enter a description such as 'test questionnaire'.
You should see a result such as:
BARCODE: 00000100
BARCODE: 00000102
BARCODE: 00000103
SUCCESSFULLY INSERTED NEW QUESTIONNAIRE
If you try to import the same form again, or another form that has a page with the same barcode as a previous form, you will get an error like this:
BARCODE: 00000100
BARCODE: 00000102
BARCODE: 00000103
FAILED to insert new questionnaire. Could have conflicting page id's
This is because queXF identifies each page by the barcode, therefore there cannot be a duplicate.
'Banding' a form is the act of telling queXF where the fields are that respondents will fill in. queXF is able to detect single choice and multiple choice check boxes, text and number boxes and also VAS (Visual Analog Scale) question types.
Banding a form works in two stages, firstly identifying the fields, then assigning the fields a name and type. Identifying the field is done by clicking once on the form at the upper left corner of the field, outside the field boxes, then clicking for a second time in the bottom right corner of the field, outside the field boxes.
queXF will then identify the boxes within the field and display them in red. The second task is to click on the boxes to bring up a window to assign the field name and type, or delete the field if it has been detected unsatisfactorily.
Banding using the interactive system is done by clicking and dragging around a field of boxes, then clicking within the selected result. The detected boxes should then be visible on the form. Right clicking on the boxes will bring up a menu allowing you to select what type of box field it is.
Once the form has been banded, go back to the main banding page and select 'reorder variables'. This will automatically order the form from top to bottom, left to right so that when the form is verified, it will go through in a logical order
Users must be added to the system that match the underlying authentication system from the add users page.
Once the users have been added, assign the users you want to work on each form
Once the form has been banded, go to the import a directory page to import PDF forms to the system. Make sure you know the full path to where the files are stored on the web server, and that they are read accessible by the web server process. There are 2 filled example forms in the 'filled' directory of the doc directory.
If queXF is stored on the server here: /var/www/quexf then enter: /var/www/quexf/doc/filled to process the forms in the filled directory.
Please note that processing forms does take some time so please be patient.
The missing pages form allows you to manually tell queXF what page has been scanned where queXF fails to detect it automatically. queXF sometimes fails to detect a page if the barcode has been modified or scanned in poorly.
The page on the left is the 'missing page' and the page on the right is the page that queXF thinks is a match. If queXF does not produce any matches, then the page is probably blank, or has been scanned in twice for that form. In that case, press the 'delete' link to delete the page from the system. If the page on the left has useful information on it, queXF should produce a list of possible pages on the right. If the page matches, press the 'accept' link. If the page does not match, there may be more available using the page numbers on the top of the right hand image. Once you have found the correct one, press the 'accept' link.
The output data form is used to export data from queXF. It will only export the data that a verifier has confirmed, not what has been automatically detected by the system.
The progress page displays the progress of form verification.
Adding clients to the system is similar to adding operators (you will require an underlying authentication system for this to work). Once a client has been added to the system, you can assign forms to them using the "Assign clients to forms" tool.
If you expose the /client subdirectory to the internet, with the authentication system active - clients will be able to review their forms page by page by entering the form id. As the form id is output by default in the data file - the client can view the scanned form that relates to their data.
Verification is where an operator runs through each question in a questionnaire to confirm that queXF has correctly guessed what has been written on the form. If there is
a discrepancy, the operator can correct it.
Each question is run through. The question that the operator is working on will be highlighted orange. The guessed answer will be shown in green. The operator may use the mouse to select/deselect an answer by clicking on the appropriate box, or may use the keyboard as shown below:
Keys for single choice and multiple choice question types:
Keys for text and number question types: