The new query widgets to query patients by genetic variants comes with auto-complete functionality. This functionality assists the users in selecting either rsIDs or gene names while querying. As the users types in, the auto complete function looks up rsIDs or gene names beginning with the characters in real time. The list of matching strings is then returned and offered as suggestions from which the user can pick.
The following figure is an example of auto-complete feature for rsID concept :
The auto-complete feature is based on 2 main parts
- The actual data stored in database, and
- A method to query the data from database and present it to the web-client.
Data for auto-complete
A list of identifiers and gene names – that are present only in the dataset – needs to be stored in a backend i2b2 metadata table where the actual value will be located in the c_name field of the table. For the example given above to work the data in metadata table (metadata_genomics in our example) may look like following:
rs12640778 | C to T
Above the change from reference to alternate allele has been appended to the dbSNP rs identifier and stored in c_name field and c_basecode is the concept code for SNP.
Sample scripts can be found inside the package in “Scripts for Sample Data” folder that loads auto-complete sample data in metadata_genomics table.
Method to query auto-complete data
In our example we have implemented a php method to query the auto-complete data and present it to the query widgets as a user types in rs identifier or gene name. The php file may be placed on the web server inside i2b2 web-client code and configured to work in user’s specific database environment or user may come up with their own auto-complete query process. Example php code can be found inside the package. To make the example autocomplete work, take the “genomicsAutoComplete.php” file from “Script for Genomic Autocomplete” folder inside the package and drop it inside local “i2b2-webclient” folder on the webserver.